exchange

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

commit 269c059a0cea265fbcbf0199b5e3ea931c8d5038
parent a6f364d3f2b3f7902b8dea23808a543d7fa75e6f
Author: Christian Grothoff <christian@grothoff.org>
Date:   Mon,  9 Sep 2024 23:20:09 +0200

if we are waiting for AUTH_TRANSFER, ignore access_ok when suspending

Diffstat:
Msrc/exchange/taler-exchange-httpd_kyc-check.c | 16++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/src/exchange/taler-exchange-httpd_kyc-check.c b/src/exchange/taler-exchange-httpd_kyc-check.c @@ -245,6 +245,13 @@ TEH_handler_kyc_check ( val = TALER_EXCHANGE_KLPT_NONE; } kyp->lpt = (enum TALER_EXCHANGE_KycLongPollTarget) val; + GNUNET_log (GNUNET_ERROR_TYPE_INFO, + "Long polling for target %d with timeout %s\n", + val, + GNUNET_TIME_relative2s ( + GNUNET_TIME_absolute_get_remaining ( + kyp->timeout), + true)); } /* long polling needed? */ if (GNUNET_TIME_absolute_is_future (kyp->timeout)) @@ -327,7 +334,6 @@ TEH_handler_kyc_check ( (GNUNET_OK == TALER_account_kyc_auth_verify (&reserve_pub, &kyp->account_sig)) ) ); - if (GNUNET_TIME_absolute_is_future (kyp->timeout)) { switch (kyp->lpt) @@ -350,7 +356,9 @@ TEH_handler_kyc_check ( } } - if (do_suspend && access_ok) + if (do_suspend && + (access_ok || + (TALER_EXCHANGE_KLPT_KYC_AUTH_TRANSFER == kyp->lpt) ) ) { GNUNET_log (GNUNET_ERROR_TYPE_INFO, "Suspending HTTP request on timeout (%s) for %d\n", @@ -368,6 +376,8 @@ TEH_handler_kyc_check ( } if (GNUNET_DB_STATUS_SUCCESS_NO_RESULTS == qs) { + GNUNET_log (GNUNET_ERROR_TYPE_INFO, + "Returning account unknown\n"); return TALER_MHD_reply_with_error ( rc->connection, MHD_HTTP_NOT_FOUND, @@ -389,6 +399,8 @@ TEH_handler_kyc_check ( TALER_EC_EXCHANGE_KYC_CHECK_AUTHORIZATION_KEY_UNKNOWN, NULL); } + GNUNET_log (GNUNET_ERROR_TYPE_INFO, + "Returning authorization failed\n"); return TALER_MHD_REPLY_JSON_PACK ( rc->connection, MHD_HTTP_FORBIDDEN,