From 6d2b01d1645a1520099aae9c59ce3b7da99310f4 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Mon, 26 Feb 2024 20:35:50 +0100 Subject: -improve error handling --- src/exchange/taler-exchange-httpd_kyc-check.c | 36 +++++++++++++++------------ src/kyclogic/plugin_kyclogic_oauth2.c | 11 ++++++++ 2 files changed, 31 insertions(+), 16 deletions(-) (limited to 'src') diff --git a/src/exchange/taler-exchange-httpd_kyc-check.c b/src/exchange/taler-exchange-httpd_kyc-check.c index 513b60b7f..fe45cd5b3 100644 --- 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 index 4225f45c0..3a1f50bcf 100644 --- 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; -- cgit v1.2.3