exchange

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

commit 6d2b01d1645a1520099aae9c59ce3b7da99310f4
parent 1c6d04f519a130f67ea6ef7c98ed4cbcfcee7611
Author: Christian Grothoff <christian@grothoff.org>
Date:   Mon, 26 Feb 2024 20:35:50 +0100

-improve error handling

Diffstat:
Msrc/exchange/taler-exchange-httpd_kyc-check.c | 36++++++++++++++++++++----------------
Msrc/kyclogic/plugin_kyclogic_oauth2.c | 11+++++++++++
2 files changed, 31 insertions(+), 16 deletions(-)

diff --git a/src/exchange/taler-exchange-httpd_kyc-check.c b/src/exchange/taler-exchange-httpd_kyc-check.c @@ -253,22 +253,26 @@ initiate_cb ( { kyp->hint = GNUNET_strdup (error_msg_hint); } - qs = TEH_plugin->update_kyc_process_by_row ( - TEH_plugin->cls, - kyp->process_row, - kyp->section_name, - &kyp->h_payto, - provider_user_id, - provider_legitimization_id, - redirect_url, - GNUNET_TIME_UNIT_ZERO_ABS); - if (qs <= 0) - GNUNET_log (GNUNET_ERROR_TYPE_ERROR, - "KYC requirement update failed for %s with status %d at %s:%u\n", - TALER_B2S (&kyp->h_payto), - qs, - __FILE__, - __LINE__); + if ( (TALER_EC_NONE != ec) && + (NULL != redirect_url) ) + { + qs = TEH_plugin->update_kyc_process_by_row ( + TEH_plugin->cls, + kyp->process_row, + kyp->section_name, + &kyp->h_payto, + provider_user_id, + provider_legitimization_id, + redirect_url, + GNUNET_TIME_UNIT_ZERO_ABS); + if (qs <= 0) + GNUNET_log (GNUNET_ERROR_TYPE_ERROR, + "KYC requirement update failed for %s with status %d at %s:%u\n", + TALER_B2S (&kyp->h_payto), + qs, + __FILE__, + __LINE__); + } GNUNET_assert (kyp->suspended); kyp->suspended = false; GNUNET_CONTAINER_DLL_remove (kyp_head, diff --git a/src/kyclogic/plugin_kyclogic_oauth2.c b/src/kyclogic/plugin_kyclogic_oauth2.c @@ -611,6 +611,17 @@ handle_curl_setup_finished (void *cls, ih->job = NULL; switch (response_code) { + case 0: + GNUNET_log (GNUNET_ERROR_TYPE_WARNING, + "/setup URL failed to return HTTP response\n"); + ih->cb (ih->cb_cls, + TALER_EC_EXCHANGE_KYC_PROOF_BACKEND_INVALID_RESPONSE, + NULL, + NULL, + NULL, + "/setup request to OAuth 2.0 backend returned no response"); + GNUNET_free (ih); + return; case MHD_HTTP_OK: { const char *nonce;