commit d919743e62a669be9edfe4eccda56f62020aa517
parent 4d98c64f27ac18a7fca646a687446e246faa1bd4
Author: Christian Grothoff <christian@grothoff.org>
Date: Thu, 26 Feb 2026 18:01:42 +0100
acknowledge progress also when rule generation or HTTP status changed (#11152)
Diffstat:
1 file changed, 13 insertions(+), 6 deletions(-)
diff --git a/src/backend/taler-merchant-kyccheck.c b/src/backend/taler-merchant-kyccheck.c
@@ -531,12 +531,14 @@ exchange_check_cb (
if (! i->not_first_time)
progress = true;
+ if (i->last_http_status != ks->hr.http_status)
+ progress = true;
i->kyc = NULL;
i->last_http_status = ks->hr.http_status;
i->last_ec = ks->hr.ec;
i->rule_gen = 0;
GNUNET_log (GNUNET_ERROR_TYPE_INFO,
- "Checking KYC status of `%s' at `%s' is %u\n",
+ "KYC status of `%s' at `%s' is %u\n",
i->a->merchant_account_uri.full_payto,
i->e->keys->exchange_url,
ks->hr.http_status);
@@ -545,6 +547,8 @@ exchange_check_cb (
case MHD_HTTP_OK:
if (! i->kyc_ok)
progress = true;
+ if (i->rule_gen != ks->details.ok.rule_gen)
+ progress = true;
i->rule_gen = ks->details.ok.rule_gen;
i->last_kyc_check = GNUNET_TIME_timestamp_get ();
/* exchange says KYC is OK, gives status information */
@@ -561,14 +565,17 @@ exchange_check_cb (
else
{
/* KYC is OK, only check again if triggered */
- i->due = GNUNET_TIME_relative_to_absolute (
- GNUNET_TIME_randomize (GNUNET_TIME_relative_max (aml_low_freq,
- i->backoff)));
+ if (! progress)
+ i->due = GNUNET_TIME_relative_to_absolute (
+ GNUNET_TIME_randomize (GNUNET_TIME_relative_max (aml_low_freq,
+ i->backoff)));
}
break;
case MHD_HTTP_ACCEPTED:
progress = ! i->auth_ok;
- i->rule_gen = ks->details.ok.rule_gen;
+ if (i->rule_gen != ks->details.accepted.rule_gen)
+ progress = true;
+ i->rule_gen = ks->details.accepted.rule_gen;
i->last_kyc_check = GNUNET_TIME_timestamp_get ();
/* exchange says KYC is required */
@@ -727,7 +734,7 @@ inquiry_work (void *cls)
}
at_limit = false;
GNUNET_log (GNUNET_ERROR_TYPE_INFO,
- "Checking KYC status of `%s' at `%s'\n",
+ "Starting KYC status of `%s' at `%s'\n",
i->a->merchant_account_uri.full_payto,
i->e->keys->exchange_url);
i->timeout