diff options
author | Christian Grothoff <christian@grothoff.org> | 2016-11-18 18:29:18 +0100 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2016-11-18 18:29:18 +0100 |
commit | 7d6b8d53d5a6ee6ca1545fb5d458199c6249edc5 (patch) | |
tree | f44f7afb792184ef46e6d4882cb20de0e2d8b519 /src/exchange/taler-exchange-httpd_admin.c | |
parent | de68a7b301fd78a89c4f5e6f34791c8debab36e0 (diff) | |
download | exchange-7d6b8d53d5a6ee6ca1545fb5d458199c6249edc5.tar.gz exchange-7d6b8d53d5a6ee6ca1545fb5d458199c6249edc5.tar.bz2 exchange-7d6b8d53d5a6ee6ca1545fb5d458199c6249edc5.zip |
addressing #4803: nicer error messages for invalid wire formats
Diffstat (limited to 'src/exchange/taler-exchange-httpd_admin.c')
-rw-r--r-- | src/exchange/taler-exchange-httpd_admin.c | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/src/exchange/taler-exchange-httpd_admin.c b/src/exchange/taler-exchange-httpd_admin.c index 72cdcb7d6..8bb4b4988 100644 --- a/src/exchange/taler-exchange-httpd_admin.c +++ b/src/exchange/taler-exchange-httpd_admin.c @@ -50,6 +50,8 @@ TEH_ADMIN_handler_admin_add_incoming (struct TEH_RequestHandler *rh, struct TALER_ReservePublicKeyP reserve_pub; struct TALER_Amount amount; struct GNUNET_TIME_Absolute at; + enum TALER_ErrorCode ec; + char *emsg; json_t *sender_account_details; json_t *transfer_details; json_t *root; @@ -82,15 +84,17 @@ TEH_ADMIN_handler_admin_add_incoming (struct TEH_RequestHandler *rh, json_decref (root); return (GNUNET_SYSERR == res) ? MHD_NO : MHD_YES; } - if (GNUNET_YES != - TEH_json_validate_wireformat (sender_account_details, - GNUNET_NO)) + if (TALER_EC_NONE != + (ec = TEH_json_validate_wireformat (sender_account_details, + GNUNET_NO, + &emsg))) { - GNUNET_break_op (0); GNUNET_JSON_parse_free (spec); - return TEH_RESPONSE_reply_arg_unknown (connection, - TALER_EC_ADMIN_ADD_INCOMING_WIREFORMAT_UNSUPPORTED, - "sender_account_details"); + res = TEH_RESPONSE_reply_external_error (connection, + ec, + emsg); + GNUNET_free (emsg); + return res; } if (0 != strcasecmp (amount.currency, TEH_exchange_currency_string)) |