exchange

Base system with REST service to issue digital coins, run by the payment service provider
Log | Files | Refs | Submodules | README | LICENSE

commit c7aac576491b4b66eadeb9c60269192115f3b0b7
parent 1eba4f5e6290833a15a1a157eb7d079e08d45a4e
Author: Christian Grothoff <christian@grothoff.org>
Date:   Sat,  7 Aug 2021 19:31:49 +0200

-fix #6986

Diffstat:
Msrc/exchange/taler-exchange-httpd_deposit.c | 31+++++++++++++++++++++++++++++++
1 file changed, 31 insertions(+), 0 deletions(-)

diff --git a/src/exchange/taler-exchange-httpd_deposit.c b/src/exchange/taler-exchange-httpd_deposit.c @@ -376,6 +376,37 @@ TEH_handler_deposit (struct MHD_Connection *connection, return MHD_YES; /* failure */ } } + /* validate merchant's wire details (as far as we can) */ + { + char *payto; + char *emsg; + + payto = TALER_JSON_wire_to_payto (wire); + if (NULL == payto) + { + GNUNET_break_op (0); + GNUNET_JSON_parse_free (spec); + return TALER_MHD_reply_with_error (connection, + MHD_HTTP_BAD_REQUEST, + TALER_EC_GENERIC_PARAMETER_MALFORMED, + "wire"); + } + emsg = TALER_payto_validate (payto); + GNUNET_free (payto); + if (NULL != emsg) + { + MHD_RESULT ret; + + GNUNET_break_op (0); + GNUNET_JSON_parse_free (spec); + ret = TALER_MHD_reply_with_error (connection, + MHD_HTTP_BAD_REQUEST, + TALER_EC_GENERIC_PARAMETER_MALFORMED, + emsg); + GNUNET_free (emsg); + return ret; + } + } deposit.receiver_wire_account = wire; if (deposit.refund_deadline.abs_value_us > deposit.wire_deadline.abs_value_us) {