summaryrefslogtreecommitdiff
path: root/src/exchange
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2020-12-01 21:07:56 +0100
committerChristian Grothoff <christian@grothoff.org>2020-12-01 21:07:56 +0100
commit9572337aed3ebc5f0654db11c10babc88560c481 (patch)
treebd03657b4116cbbe53995e5db2c41cbd3be64ba6 /src/exchange
parentd3184e04e2a604673655899989707664736b3468 (diff)
downloadexchange-9572337aed3ebc5f0654db11c10babc88560c481.tar.gz
exchange-9572337aed3ebc5f0654db11c10babc88560c481.tar.bz2
exchange-9572337aed3ebc5f0654db11c10babc88560c481.zip
more management API tests and bugfixes
Diffstat (limited to 'src/exchange')
-rw-r--r--src/exchange/taler-exchange-httpd.c4
-rw-r--r--src/exchange/taler-exchange-httpd_management_wire.c38
-rw-r--r--src/exchange/taler-exchange-httpd_management_wire_disable.c7
-rw-r--r--src/exchange/taler-exchange-httpd_management_wire_fees.c2
4 files changed, 18 insertions, 33 deletions
diff --git a/src/exchange/taler-exchange-httpd.c b/src/exchange/taler-exchange-httpd.c
index 4896c8d46..fe00bf6d4 100644
--- a/src/exchange/taler-exchange-httpd.c
+++ b/src/exchange/taler-exchange-httpd.c
@@ -631,12 +631,12 @@ handle_post_management (const struct TEH_RequestHandler *rh,
root);
}
if (0 == strcmp (args[0],
- "wire-fees"))
+ "wire-fee"))
{
if (NULL != args[1])
{
GNUNET_break_op (0);
- return r404 (connection, "/management/wire-fees/*");
+ return r404 (connection, "/management/wire-fee/*");
}
return TEH_handler_management_post_wire_fees (connection,
root);
diff --git a/src/exchange/taler-exchange-httpd_management_wire.c b/src/exchange/taler-exchange-httpd_management_wire.c
index b684a107e..2ec42c3bc 100644
--- a/src/exchange/taler-exchange-httpd_management_wire.c
+++ b/src/exchange/taler-exchange-httpd_management_wire.c
@@ -175,9 +175,8 @@ TEH_handler_management_denominations_wire (
.start_date = GNUNET_TIME_absolute_hton (awc.validity_start),
};
- GNUNET_CRYPTO_hash (awc.payto_uri,
- strlen (awc.payto_uri) + 1,
- &aw.h_wire);
+ TALER_exchange_wire_signature_hash (awc.payto_uri,
+ &aw.h_wire);
if (GNUNET_OK !=
GNUNET_CRYPTO_eddsa_verify (
TALER_SIGNATURE_MASTER_ADD_WIRE,
@@ -193,30 +192,17 @@ TEH_handler_management_denominations_wire (
NULL);
}
}
+ if (GNUNET_OK !=
+ TALER_exchange_wire_signature_check (awc.payto_uri,
+ &TEH_master_public_key,
+ &awc.master_sig_wire))
{
- struct TALER_MasterWireDetailsPS wd = {
- .purpose.purpose = htonl (
- TALER_SIGNATURE_MASTER_ADD_WIRE),
- .purpose.size = htonl (sizeof (wd)),
- };
-
- GNUNET_CRYPTO_hash (awc.payto_uri,
- strlen (awc.payto_uri) + 1,
- &wd.h_wire_details);
- if (GNUNET_OK !=
- GNUNET_CRYPTO_eddsa_verify (
- TALER_SIGNATURE_MASTER_WIRE_DETAILS,
- &wd,
- &awc.master_sig_wire.eddsa_signature,
- &TEH_master_public_key.eddsa_pub))
- {
- GNUNET_break_op (0);
- return TALER_MHD_reply_with_error (
- connection,
- MHD_HTTP_FORBIDDEN,
- TALER_EC_EXCHANGE_MANAGEMENT_WIRE_DETAILS_SIGNATURE_INVALID,
- NULL);
- }
+ GNUNET_break_op (0);
+ return TALER_MHD_reply_with_error (
+ connection,
+ MHD_HTTP_FORBIDDEN,
+ TALER_EC_EXCHANGE_MANAGEMENT_WIRE_DETAILS_SIGNATURE_INVALID,
+ NULL);
}
qs = TEH_DB_run_transaction (connection,
diff --git a/src/exchange/taler-exchange-httpd_management_wire_disable.c b/src/exchange/taler-exchange-httpd_management_wire_disable.c
index d869d54d4..af5942a1b 100644
--- a/src/exchange/taler-exchange-httpd_management_wire_disable.c
+++ b/src/exchange/taler-exchange-httpd_management_wire_disable.c
@@ -139,7 +139,7 @@ TEH_handler_management_denominations_wire_disable (
{
struct DelWireContext awc;
struct GNUNET_JSON_Specification spec[] = {
- GNUNET_JSON_spec_fixed_auto ("master_sig",
+ GNUNET_JSON_spec_fixed_auto ("master_sig_del",
&awc.master_sig),
GNUNET_JSON_spec_string ("payto_uri",
&awc.payto_uri),
@@ -169,9 +169,8 @@ TEH_handler_management_denominations_wire_disable (
.end_date = GNUNET_TIME_absolute_hton (awc.validity_end),
};
- GNUNET_CRYPTO_hash (awc.payto_uri,
- strlen (awc.payto_uri) + 1,
- &aw.h_wire);
+ TALER_exchange_wire_signature_hash (awc.payto_uri,
+ &aw.h_wire);
if (GNUNET_OK !=
GNUNET_CRYPTO_eddsa_verify (
TALER_SIGNATURE_MASTER_DEL_WIRE,
diff --git a/src/exchange/taler-exchange-httpd_management_wire_fees.c b/src/exchange/taler-exchange-httpd_management_wire_fees.c
index 3ec262cf4..58f2c41d7 100644
--- a/src/exchange/taler-exchange-httpd_management_wire_fees.c
+++ b/src/exchange/taler-exchange-httpd_management_wire_fees.c
@@ -199,7 +199,7 @@ TEH_handler_management_post_wire_fees (
return MHD_YES; /* failure */
}
- if (0 !=
+ if (GNUNET_OK !=
TALER_amount_cmp_currency (&afc.closing_fee,
&afc.wire_fee))
{