diff options
author | Christian Grothoff <christian@grothoff.org> | 2021-05-25 21:34:18 +0200 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2021-05-25 21:34:18 +0200 |
commit | 068068f40fc97f09525aaccf560a1be352abd159 (patch) | |
tree | b4331505e2c538d591a755352aaeee912d6cac6f /src/exchange/taler-exchange-httpd_refreshes_reveal.c | |
parent | 0d1ab614c06f60f79de75a0f2ec30c33a69820dd (diff) | |
download | exchange-068068f40fc97f09525aaccf560a1be352abd159.tar.gz exchange-068068f40fc97f09525aaccf560a1be352abd159.tar.bz2 exchange-068068f40fc97f09525aaccf560a1be352abd159.zip |
return signed error message with HTTP_GONE status if denomination is not currently valid for specified operation (#6889)
Diffstat (limited to 'src/exchange/taler-exchange-httpd_refreshes_reveal.c')
-rw-r--r-- | src/exchange/taler-exchange-httpd_refreshes_reveal.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/exchange/taler-exchange-httpd_refreshes_reveal.c b/src/exchange/taler-exchange-httpd_refreshes_reveal.c index b6b1849c7..d915aefce 100644 --- a/src/exchange/taler-exchange-httpd_refreshes_reveal.c +++ b/src/exchange/taler-exchange-httpd_refreshes_reveal.c @@ -558,6 +558,7 @@ resolve_refreshes_reveal_denominations (struct MHD_Connection *connection, } /* Parse denomination key hashes */ now = GNUNET_TIME_absolute_get (); + (void) GNUNET_TIME_round_abs (&now); for (unsigned int i = 0; i<num_fresh_coins; i++) { struct GNUNET_JSON_Specification spec[] = { @@ -586,20 +587,22 @@ resolve_refreshes_reveal_denominations (struct MHD_Connection *connection, if (now.abs_value_us >= dks[i]->meta.expire_withdraw.abs_value_us) { /* This denomination is past the expiration time for withdraws */ - return TALER_MHD_reply_with_error ( + return TEH_RESPONSE_reply_expired_denom_pub_hash ( connection, - MHD_HTTP_GONE, + &dk_h[i], + now, TALER_EC_EXCHANGE_GENERIC_DENOMINATION_EXPIRED, - NULL); + "REVEAL"); } if (now.abs_value_us < dks[i]->meta.start.abs_value_us) { /* This denomination is not yet valid */ - return TALER_MHD_reply_with_error ( + return TEH_RESPONSE_reply_expired_denom_pub_hash ( connection, - MHD_HTTP_PRECONDITION_FAILED, + &dk_h[i], + now, TALER_EC_EXCHANGE_GENERIC_DENOMINATION_VALIDITY_IN_FUTURE, - NULL); + "REVEAL"); } if (dks[i]->recoup_possible) { |