summaryrefslogtreecommitdiff
path: root/src/exchange/taler-exchange-httpd_refreshes_reveal.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2021-05-25 21:34:18 +0200
committerChristian Grothoff <christian@grothoff.org>2021-05-25 21:34:18 +0200
commit068068f40fc97f09525aaccf560a1be352abd159 (patch)
treeb4331505e2c538d591a755352aaeee912d6cac6f /src/exchange/taler-exchange-httpd_refreshes_reveal.c
parent0d1ab614c06f60f79de75a0f2ec30c33a69820dd (diff)
downloadexchange-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.c15
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)
{