merchant

Merchant backend to process payments, run by merchants
Log | Files | Refs | Submodules | README | LICENSE

commit eefbf80ccfeb22e51ed14939f5eac48063900a3f
parent 01a2db3aa7d2e31344fe26705df58849646320ab
Author: Florian Dold <dold@taler.net>
Date:   Wed, 29 Jul 2026 20:08:19 +0200

fix currency cmp

Diffstat:
Msrc/backend/taler-merchant-exchangekeyupdate.c | 8++++----
Msrc/backend/taler-merchant-httpd_exchanges.c | 8++++----
Msrc/backend/taler-merchant-httpd_get-private-statistics-report-transactions.c | 8++++----
Msrc/backenddb/do_increase_refund.c | 5+++--
4 files changed, 15 insertions(+), 14 deletions(-)

diff --git a/src/backend/taler-merchant-exchangekeyupdate.c b/src/backend/taler-merchant-exchangekeyupdate.c @@ -575,8 +575,8 @@ cert_cb ( case MHD_HTTP_OK: TALER_EXCHANGE_keys_decref (e->keys); e->keys = NULL; - if (0 != strcmp (e->currency, - keys->currency)) + if (0 != strcasecmp (e->currency, + keys->currency)) { GNUNET_log (GNUNET_ERROR_TYPE_WARNING, "/keys response from `%s' is for currency `%s', but we expected `%s'. Ignoring response.\n", @@ -921,8 +921,8 @@ accept_exchanges (void *cls, return; } if ( (NULL != keys) && - (0 != strcmp (keys->currency, - e->currency)) ) + (0 != strcasecmp (keys->currency, + e->currency)) ) { GNUNET_log (GNUNET_ERROR_TYPE_WARNING, "/keys cached in our database were for currency `%s', but we expected `%s'. Fetching /keys again.\n", diff --git a/src/backend/taler-merchant-httpd_exchanges.c b/src/backend/taler-merchant-httpd_exchanges.c @@ -900,8 +900,8 @@ TMH_test_exchange_configured_for_currency ( continue; if (NULL == exchange->currency) continue; - if (0 == strcmp (currency, - exchange->currency)) + if (0 == strcasecmp (currency, + exchange->currency)) return true; } return false; @@ -944,8 +944,8 @@ reload_exchange_keys (struct TMH_Exchange *exchange) exchange->first_retry = first_retry; if (NULL == exchange->currency) exchange->currency = GNUNET_strdup (keys->currency); - if (0 != strcmp (keys->currency, - exchange->currency)) + if (0 != strcasecmp (keys->currency, + exchange->currency)) { GNUNET_log (GNUNET_ERROR_TYPE_WARNING, "/keys cached in our database are for currency `%s', but we expected `%s'\n", diff --git a/src/backend/taler-merchant-httpd_get-private-statistics-report-transactions.c b/src/backend/taler-merchant-httpd_get-private-statistics-report-transactions.c @@ -237,8 +237,8 @@ amount_by_bucket (void *cls, for (unsigned int j = 0; j<rctx->labels_cnt; j++) { - if (0 == strcmp (amounts[i].currency, - rctx->labels[j])) + if (0 == strcasecmp (amounts[i].currency, + rctx->labels[j])) { found = true; break; @@ -263,8 +263,8 @@ amount_by_bucket (void *cls, { const struct TALER_Amount *a = &amounts[j]; - if (0 != strcmp (amounts[j].currency, - label)) + if (0 != strcasecmp (amounts[j].currency, + label)) continue; d = a->value * 1.0 + (a->fraction * 1.0 / TALER_AMOUNT_FRAC_BASE); diff --git a/src/backenddb/do_increase_refund.c b/src/backenddb/do_increase_refund.c @@ -416,8 +416,9 @@ process_deposits_for_refund_cb (void *cls, } el = setup_exchange (ctx, rcdi->exchange_url); - if (0 != strcmp (rcdi->deposited_with_fee.currency, - ctx->refund->currency)) + if (GNUNET_YES != + TALER_amount_cmp_currency (&rcdi->deposited_with_fee, + ctx->refund)) { GNUNET_break_op (0); ctx->rs = TALER_MERCHANTDB_RS_BAD_CURRENCY;