summaryrefslogtreecommitdiff
path: root/src/exchange/taler-exchange-httpd_keys.c
diff options
context:
space:
mode:
authorÖzgür Kesim <oec-taler@kesim.org>2022-11-20 12:36:54 +0100
committerÖzgür Kesim <oec-taler@kesim.org>2022-11-20 12:36:54 +0100
commit8250d830b6facc3cd51ba9cecf109566ec346013 (patch)
tree531bfc61baf8ab924b472c72137fb453fbc11828 /src/exchange/taler-exchange-httpd_keys.c
parentbf97de5472b703abe3c554c6d388196f9f76290e (diff)
downloadexchange-8250d830b6facc3cd51ba9cecf109566ec346013.tar.gz
exchange-8250d830b6facc3cd51ba9cecf109566ec346013.tar.bz2
exchange-8250d830b6facc3cd51ba9cecf109566ec346013.zip
Call TEH_keys_update_state on extension config change
Fixes #7266 Also better API: - TEH_keys_get_state and - TEH_keys_get_state_for_management_only
Diffstat (limited to 'src/exchange/taler-exchange-httpd_keys.c')
-rw-r--r--src/exchange/taler-exchange-httpd_keys.c20
1 files changed, 15 insertions, 5 deletions
diff --git a/src/exchange/taler-exchange-httpd_keys.c b/src/exchange/taler-exchange-httpd_keys.c
index edfe50e58..b37c68d95 100644
--- a/src/exchange/taler-exchange-httpd_keys.c
+++ b/src/exchange/taler-exchange-httpd_keys.c
@@ -2623,8 +2623,8 @@ TEH_keys_update_states ()
}
-struct TEH_KeyStateHandle *
-TEH_keys_get_state2 (bool management_only)
+static struct TEH_KeyStateHandle *
+keys_get_state (bool management_only)
{
struct TEH_KeyStateHandle *old_ksh;
struct TEH_KeyStateHandle *ksh;
@@ -2660,19 +2660,28 @@ TEH_keys_get_state2 (bool management_only)
struct TEH_KeyStateHandle *
+TEH_keys_get_state_for_management_only (void)
+{
+ return keys_get_state (true);
+}
+
+
+struct TEH_KeyStateHandle *
TEH_keys_get_state (void)
{
struct TEH_KeyStateHandle *ksh;
- ksh = TEH_keys_get_state2 (false);
+ ksh = keys_get_state (false);
if (NULL == ksh)
return NULL;
+
if (ksh->management_only)
{
if (GNUNET_OK !=
finish_keys_response (ksh))
return NULL;
}
+
return ksh;
}
@@ -2715,6 +2724,7 @@ TEH_keys_denomination_by_hash (
NULL);
return NULL;
}
+
return TEH_keys_denomination_by_hash2 (ksh,
h_denom_pub,
conn,
@@ -3410,7 +3420,7 @@ TEH_keys_get_timing (const struct TALER_ExchangePublicKeyP *exchange_pub,
struct HelperSignkey *hsk;
struct GNUNET_PeerIdentity pid;
- ksh = TEH_keys_get_state2 (true);
+ ksh = TEH_keys_get_state_for_management_only ();
if (NULL == ksh)
{
GNUNET_break (0);
@@ -3580,7 +3590,7 @@ TEH_keys_management_get_keys_handler (const struct TEH_RequestHandler *rh,
json_t *reply;
(void) rh;
- ksh = TEH_keys_get_state2 (true);
+ ksh = TEH_keys_get_state_for_management_only ();
if (NULL == ksh)
{
return TALER_MHD_reply_with_error (connection,