commit c11ddaa003fd043e2f18216923cbbe1c0da09b39
parent db832779fab541abe13183885632a370242fdda9
Author: Christian Grothoff <christian@grothoff.org>
Date: Fri, 9 Oct 2026 23:05:49 +0200
fix instance handling in GET /management/instances//kyc
Diffstat:
1 file changed, 20 insertions(+), 1 deletion(-)
diff --git a/src/backend/taler-merchant-httpd_get-private-kyc.c b/src/backend/taler-merchant-httpd_get-private-kyc.c
@@ -566,7 +566,7 @@ TMH_kyc_keys_changed (const char *exchange_url)
json_array_foreach (kc->kycs_data, off, entry)
{
const char *url = json_string_value (json_object_get (entry,
- "exchange_url"));
+ "exchange_url"));
if ( (NULL != url) &&
(0 == strcmp (url, exchange_url)) )
@@ -1448,6 +1448,25 @@ phase_database_kyc_check (struct KycContext *kc)
from previous runs first */
GNUNET_break (0 ==
json_array_clear (kc->kycs_data));
+ /* On the /management/ path, the request was dispatched to the
+ admin instance, but we must query the instance in @e mi. */
+ qs = TALER_MERCHANTDB_set_instance (TMH_db,
+ kc->mi->settings.id);
+ if (GNUNET_DB_STATUS_SUCCESS_ONE_RESULT != qs)
+ {
+ GNUNET_break (0);
+ finish_request (kc,
+ TALER_MHD_reply_with_error (
+ kc->connection,
+ (GNUNET_DB_STATUS_SUCCESS_NO_RESULTS == qs)
+ ? MHD_HTTP_NOT_FOUND
+ : MHD_HTTP_INTERNAL_SERVER_ERROR,
+ (GNUNET_DB_STATUS_SUCCESS_NO_RESULTS == qs)
+ ? TALER_EC_MERCHANT_GENERIC_INSTANCE_UNKNOWN
+ : TALER_EC_GENERIC_DB_SETUP_FAILED,
+ kc->mi->settings.id));
+ return;
+ }
kc->in_db = true;
qs = TALER_MERCHANTDB_iterate_kyc_statuses (
TMH_db,