diff options
-rw-r--r-- | src/exchange-tools/taler-exchange-keyup.c | 30 | ||||
-rw-r--r-- | src/lib/testing_api_cmd_check_keys.c | 2 |
2 files changed, 27 insertions, 5 deletions
diff --git a/src/exchange-tools/taler-exchange-keyup.c b/src/exchange-tools/taler-exchange-keyup.c index dbbcb0c0c..397355ee7 100644 --- a/src/exchange-tools/taler-exchange-keyup.c +++ b/src/exchange-tools/taler-exchange-keyup.c @@ -195,12 +195,18 @@ static char *feedir; static const struct GNUNET_CONFIGURATION_Handle *kcfg; /** - * Time when the key update is executed. Either the actual current time, or a - * pretended time. + * Time when the key update is executed. + * Either the actual current time, or a pretended time. */ static struct GNUNET_TIME_Absolute now; /** + * The time for the key update, as passed by the user + * on the command line. + */ +static struct GNUNET_TIME_Absolute now_tmp; + +/** * Master private key of the exchange. */ static struct TALER_MasterPrivateKeyP master_priv; @@ -726,6 +732,12 @@ get_cointype_params (const char *ct, params->duration_withdraw, params->duration_overlap, ¶ms->anchor); + + /** + * The "anchor" is merely the latest denom key filename + * converted to a GNUnet absolute date. + */ + return GNUNET_OK; } @@ -809,6 +821,7 @@ exchange_keys_update_cointype (void *cls, *ret = GNUNET_SYSERR; return; } + /* p has the right anchor now = latest denom filename converted to time. */ if (GNUNET_OK != GNUNET_DISK_directory_create (get_cointype_dir (&p))) { @@ -1179,6 +1192,15 @@ run (void *cls, struct GNUNET_CRYPTO_EddsaPrivateKey *eddsa_priv; kcfg = cfg; + + if (now.abs_value_us != now_tmp.abs_value_us) + { + /* The user gave "--now", use it */ + now = now_tmp; + } + /* The user _might_ have given "--now" but it matched + * exactly the normal now, so no change required. */ + if (NULL == feedir) { if (GNUNET_OK != @@ -1387,7 +1409,7 @@ main (int argc, "time", "TIMESTAMP", "pretend it is a different time for the update", - &now), + &now_tmp), GNUNET_GETOPT_OPTION_END }; @@ -1395,7 +1417,7 @@ main (int argc, GNUNET_log_setup ("taler-exchange-keyup", "WARNING", NULL)); - now = GNUNET_TIME_absolute_get (); + now = now_tmp = GNUNET_TIME_absolute_get (); if (GNUNET_OK != GNUNET_PROGRAM_run (argc, argv, "taler-exchange-keyup", diff --git a/src/lib/testing_api_cmd_check_keys.c b/src/lib/testing_api_cmd_check_keys.c index 45aaeb55d..375a35c4f 100644 --- a/src/lib/testing_api_cmd_check_keys.c +++ b/src/lib/testing_api_cmd_check_keys.c @@ -58,7 +58,7 @@ struct CheckKeysState /** * If GNUNET_YES, then the user must specify the * last_denom_issue_date manually. This way, it is possible - * to force whatever X value here: /keys?last_denom_issue=X. + * to force whatever X value here (including 0): /keys?last_denom_issue=X. */ unsigned int set_last_denom; |