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_withdraw.c | |
| parent | 0d1ab614c06f60f79de75a0f2ec30c33a69820dd (diff) | |
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_withdraw.c')
| -rw-r--r-- | src/exchange/taler-exchange-httpd_withdraw.c | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/src/exchange/taler-exchange-httpd_withdraw.c b/src/exchange/taler-exchange-httpd_withdraw.c index 5833fcf4..d0216c4c 100644 --- a/src/exchange/taler-exchange-httpd_withdraw.c +++ b/src/exchange/taler-exchange-httpd_withdraw.c @@ -391,35 +391,39 @@ TEH_handler_withdraw (const struct TEH_RequestHandler *rh, return mret; } now = GNUNET_TIME_absolute_get (); + (void) GNUNET_TIME_round_abs (&now); if (now.abs_value_us >= dk->meta.expire_withdraw.abs_value_us) { /* This denomination is past the expiration time for withdraws */ GNUNET_JSON_parse_free (spec); - return TALER_MHD_reply_with_error ( + return TEH_RESPONSE_reply_expired_denom_pub_hash ( connection, - MHD_HTTP_GONE, + &wc.denom_pub_hash, + now, TALER_EC_EXCHANGE_GENERIC_DENOMINATION_EXPIRED, - NULL); + "WITHDRAW"); } if (now.abs_value_us < dk->meta.start.abs_value_us) { /* This denomination is not yet valid */ GNUNET_JSON_parse_free (spec); - return TALER_MHD_reply_with_error ( + return TEH_RESPONSE_reply_expired_denom_pub_hash ( connection, - MHD_HTTP_PRECONDITION_FAILED, + &wc.denom_pub_hash, + now, TALER_EC_EXCHANGE_GENERIC_DENOMINATION_VALIDITY_IN_FUTURE, - NULL); + "WITHDRAW"); } if (dk->recoup_possible) { /* This denomination has been revoked */ GNUNET_JSON_parse_free (spec); - return TALER_MHD_reply_with_error ( + return TEH_RESPONSE_reply_expired_denom_pub_hash ( connection, - MHD_HTTP_GONE, + &wc.denom_pub_hash, + now, TALER_EC_EXCHANGE_GENERIC_DENOMINATION_REVOKED, - NULL); + "WITHDRAW"); } } |
