merchant

Merchant backend to process payments, run by merchants
Log | Files | Refs | Submodules | README | LICENSE

commit 80c83d164699ae05f2837275b3a99cb963f00e7a
parent 36f1c9b91bcb1e5916b06aca632d189cc7c657ea
Author: Christian Grothoff <christian@grothoff.org>
Date:   Sun,  5 Jul 2026 23:17:57 +0200

handle special case of donau without signing keys nicely

Diffstat:
Msrc/backend/taler-merchant-donaukeyupdate.c | 18++++++++++++------
1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/src/backend/taler-merchant-donaukeyupdate.c b/src/backend/taler-merchant-donaukeyupdate.c @@ -485,15 +485,18 @@ donau_cert_cb ( break; } + DONAU_keys_decref (d->keys); d->keys = keys; /* Reset back-off */ d->retry_delay = DONAU_MAXFREQ; /* limit retry */ d->first_retry = first_retry; - /* FIXME: Might be good to reference some key_data_expiration and not first sign_key*/ - n = GNUNET_TIME_absolute_max (d->first_retry, - keys->sign_keys[0].expire_sign.abs_time); + if (0 < keys->num_sign_keys) + n = GNUNET_TIME_absolute_max (d->first_retry, + keys->sign_keys[0].expire_sign.abs_time); + else + n = d->first_retry; if (NULL != d->retry_task) GNUNET_SCHEDULER_cancel (d->retry_task); d->retry_task = GNUNET_SCHEDULER_add_at (n, @@ -979,9 +982,12 @@ accept_donau ( { struct GNUNET_TIME_Absolute n; - n = GNUNET_TIME_absolute_min ( - d->first_retry, - d->keys->sign_keys[0].expire_sign.abs_time); + if (0 < d->keys->num_sign_keys) + n = GNUNET_TIME_absolute_min ( + d->first_retry, + d->keys->sign_keys[0].expire_sign.abs_time); + else + n = d->first_retry; GNUNET_log (GNUNET_ERROR_TYPE_INFO, "Will download %skeys in %s\n", donau_url,