diff options
author | Christian Grothoff <christian@grothoff.org> | 2018-01-18 16:55:16 +0100 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2018-01-18 16:55:16 +0100 |
commit | 5c3d25eb29ec9b36dfd09eb65abcad5fd2421142 (patch) | |
tree | d079f1ad1cb2596601c0da94e71e1bb9c20b28e1 /src/exchange/taler-exchange-httpd_keystate.c | |
parent | 63c96a1903c22263cf299f3e944decd91c6773bf (diff) | |
download | exchange-5c3d25eb29ec9b36dfd09eb65abcad5fd2421142.tar.gz exchange-5c3d25eb29ec9b36dfd09eb65abcad5fd2421142.tar.bz2 exchange-5c3d25eb29ec9b36dfd09eb65abcad5fd2421142.zip |
implement #5254
Diffstat (limited to 'src/exchange/taler-exchange-httpd_keystate.c')
-rw-r--r-- | src/exchange/taler-exchange-httpd_keystate.c | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/src/exchange/taler-exchange-httpd_keystate.c b/src/exchange/taler-exchange-httpd_keystate.c index 801d6fee6..f57451a70 100644 --- a/src/exchange/taler-exchange-httpd_keystate.c +++ b/src/exchange/taler-exchange-httpd_keystate.c @@ -1183,6 +1183,7 @@ build_keys_response (const struct ResponseFactoryContext *rfc, struct TALER_ExchangeKeySetPS ks; struct TALER_ExchangeSignatureP sig; char *keys_json; + struct GNUNET_TIME_Relative reserve_closing_delay; void *keys_jsonz; size_t keys_jsonz_size; int comp; @@ -1287,13 +1288,29 @@ build_keys_response (const struct ResponseFactoryContext *rfc, GNUNET_CRYPTO_eddsa_sign (&rfc->key_state->current_sign_key_issue.signkey_priv.eddsa_priv, &ks.purpose, &sig.eddsa_signature)); - + if (GNUNET_OK != + GNUNET_CONFIGURATION_get_value_time (cfg, + "exchangedb", + "IDLE_RESERVE_EXPIRATION_TIME", + &reserve_closing_delay)) + { + GNUNET_log_config_missing (GNUNET_ERROR_TYPE_ERROR, + "exchangedb", + "IDLE_RESERVE_EXPIRATION_TIME"); + /* use default */ + reserve_closing_delay = GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_WEEKS, + 4); + } /* Build /keys response */ - keys = json_pack ("{s:s, s:o, s:O, s:O, s:o, s:o, s:o, s:o, s:o}", + keys = json_pack ("{s:s, s:o, s:o, s:O, s:O," + " s:o, s:o, s:o, s:o, s:o}", + /* 1-5 */ "version", TALER_PROTOCOL_VERSION, "master_public_key", GNUNET_JSON_from_data_auto (&TEH_master_public_key), + "reserve_closing_delay", GNUNET_JSON_from_time_rel (reserve_closing_delay), "signkeys", rfc->sign_keys_array, "payback", rfc->payback_array, + /* 6-10 */ "denoms", rbc.denom_keys_array, "auditors", rbc.auditors_array, "list_issue_date", GNUNET_JSON_from_time_abs (rfc->key_state->reload_time), |