summaryrefslogtreecommitdiff
path: root/src/backend
diff options
context:
space:
mode:
authorJonathan Buchanan <jonathan.russ.buchanan@gmail.com>2020-08-14 02:38:56 -0400
committerJonathan Buchanan <jonathan.russ.buchanan@gmail.com>2020-08-14 02:38:56 -0400
commit5e9a041c084f70c7bb80d13b960402d30cd5e6fe (patch)
tree90d64c29f6929469f609b32238d0ec15001f18cb /src/backend
parent968b356e271ac67685dc5df2018e1750076f5a5e (diff)
downloadmerchant-5e9a041c084f70c7bb80d13b960402d30cd5e6fe.tar.gz
merchant-5e9a041c084f70c7bb80d13b960402d30cd5e6fe.tar.bz2
merchant-5e9a041c084f70c7bb80d13b960402d30cd5e6fe.zip
check instance currency matches config
Diffstat (limited to 'src/backend')
-rw-r--r--src/backend/taler-merchant-httpd_private-patch-instances-ID.c18
-rw-r--r--src/backend/taler-merchant-httpd_private-post-instances.c13
2 files changed, 29 insertions, 2 deletions
diff --git a/src/backend/taler-merchant-httpd_private-patch-instances-ID.c b/src/backend/taler-merchant-httpd_private-patch-instances-ID.c
index d6fbb50d..86348156 100644
--- a/src/backend/taler-merchant-httpd_private-patch-instances-ID.c
+++ b/src/backend/taler-merchant-httpd_private-patch-instances-ID.c
@@ -120,6 +120,19 @@ TMH_private_patch_instances_ID (const struct TMH_RequestHandler *rh,
free_wm (wm);
}
}
+ if ((0 != strcasecmp (is.default_max_deposit_fee.currency,
+ TMH_currency)) ||
+ (0 != strcasecmp (is.default_max_wire_fee.currency,
+ TMH_currency)))
+ {
+ GNUNET_break (0);
+ GNUNET_JSON_parse_free (spec);
+ return TALER_MHD_reply_with_error (connection,
+ MHD_HTTP_BAD_REQUEST,
+ TALER_EC_POST_INSTANCES_BAD_CURRENCY,
+ "Max deposit fee or max wire fee currency incompatible with config");
+ break;
+ }
if (GNUNET_OK !=
TMH_db->start (TMH_db->cls,
"PATCH /instances"))
@@ -142,8 +155,9 @@ TMH_private_patch_instances_ID (const struct TMH_RequestHandler *rh,
&is.default_max_deposit_fee)) &&
(0 == TALER_amount_cmp (&mi->settings.default_max_deposit_fee,
&is.default_max_deposit_fee)) &&
- (GNUNET_YES == TALER_amount_cmp_currency (&mi->settings.default_max_wire_fee,
- &is.default_max_wire_fee)) &&
+ (GNUNET_YES == TALER_amount_cmp_currency (
+ &mi->settings.default_max_wire_fee,
+ &is.default_max_wire_fee)) &&
(0 == TALER_amount_cmp (&mi->settings.default_max_wire_fee,
&is.default_max_wire_fee)) &&
(mi->settings.default_wire_fee_amortization ==
diff --git a/src/backend/taler-merchant-httpd_private-post-instances.c b/src/backend/taler-merchant-httpd_private-post-instances.c
index c89b28ff..0fec4494 100644
--- a/src/backend/taler-merchant-httpd_private-post-instances.c
+++ b/src/backend/taler-merchant-httpd_private-post-instances.c
@@ -180,6 +180,19 @@ TMH_private_post_instances (const struct TMH_RequestHandler *rh,
: MHD_NO;
}
+ if ((0 != strcasecmp (is.default_max_deposit_fee.currency,
+ TMH_currency)) ||
+ (0 != strcasecmp (is.default_max_wire_fee.currency,
+ TMH_currency)))
+ {
+ GNUNET_break (0);
+ GNUNET_JSON_parse_free (spec);
+ return TALER_MHD_reply_with_error (connection,
+ MHD_HTTP_BAD_REQUEST,
+ TALER_EC_POST_INSTANCES_BAD_CURRENCY,
+ "Max deposit fee or max wire fee currency incompatible with config");
+ }
+
{
/* Test if an instance of this id is known */
struct TMH_MerchantInstance *mi;