merchant

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

commit 18fcc8b16e8d9117e4b1da70fdccaad6c886f4e2
parent fa90d0f0e5eb0ddff7a3720bf450c8c861244a31
Author: Christian Grothoff <christian@grothoff.org>
Date:   Sun, 26 Oct 2025 13:53:25 +0100

fix #10480

Diffstat:
Msrc/backend/taler-merchant-httpd_post-orders-ID-pay.c | 26+++++++++++---------------
Msrc/merchant-tools/taler-merchant-passwd.c | 4++--
2 files changed, 13 insertions(+), 17 deletions(-)

diff --git a/src/backend/taler-merchant-httpd_post-orders-ID-pay.c b/src/backend/taler-merchant-httpd_post-orders-ID-pay.c @@ -4440,15 +4440,6 @@ phase_parse_wallet_data (struct PayContext *pc) return; } - if (0 == json_array_size (budikeypairs)) - { - GNUNET_break_op (0); - resume_pay_with_error (pc, - TALER_EC_GENERIC_PARAMETER_MALFORMED, - "Empty 'budikeypairs' array"); - return; - } - /* Check if the needed data is present for the given donau URL */ { enum GNUNET_DB_QueryStatus qs; @@ -4499,14 +4490,17 @@ phase_parse_wallet_data (struct PayContext *pc) if (NULL == pc->parse_wallet_data.donau_keys) { GNUNET_break_op (0); - resume_pay_with_error (pc, - TALER_EC_GENERIC_PARAMETER_MALFORMED, - "Invalid donau_keys"); + pay_end (pc, + TALER_MHD_reply_with_error (pc->connection, + MHD_HTTP_BAD_REQUEST, + TALER_EC_GENERIC_PARAMETER_MALFORMED, + "Invalid donau_keys")); return; } } /* Stage to parse the budikeypairs from json to struct */ + if (0 != json_array_size (budikeypairs)) { size_t num_bkps = json_array_size (budikeypairs); struct DONAU_BlindedUniqueDonorIdentifierKeyPair *bkps = @@ -4527,9 +4521,11 @@ phase_parse_wallet_data (struct PayContext *pc) GNUNET_CRYPTO_blinded_message_decref ( bkps[j].blinded_udi.blinded_message); GNUNET_free (bkps); - resume_pay_with_error (pc, - TALER_EC_GENERIC_PARAMETER_MALFORMED, - "Failed to parse budikeypairs"); + pay_end (pc, + TALER_MHD_reply_with_error (pc->connection, + MHD_HTTP_BAD_REQUEST, + TALER_EC_GENERIC_PARAMETER_MALFORMED, + "Failed to parse budikeypairs")); return; } } diff --git a/src/merchant-tools/taler-merchant-passwd.c b/src/merchant-tools/taler-merchant-passwd.c @@ -120,8 +120,8 @@ run (void *cls, struct TALER_MerchantPrivateKeyP merchant_priv; struct TALER_MerchantPublicKeyP merchant_pub; struct TALER_MERCHANTDB_InstanceSettings is = { - .id = "admin", - .name = "Administrator", + .id = (char *) "admin", + .name = (char *) "Administrator", .use_stefan = true, .address = json_object (), .jurisdiction = json_object (),