From 068068f40fc97f09525aaccf560a1be352abd159 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Tue, 25 May 2021 21:34:18 +0200 Subject: return signed error message with HTTP_GONE status if denomination is not currently valid for specified operation (#6889) --- src/exchange/taler-exchange-httpd_melt.c | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) (limited to 'src/exchange/taler-exchange-httpd_melt.c') diff --git a/src/exchange/taler-exchange-httpd_melt.c b/src/exchange/taler-exchange-httpd_melt.c index 5e9ae7f0d..7276f9a65 100644 --- a/src/exchange/taler-exchange-httpd_melt.c +++ b/src/exchange/taler-exchange-httpd_melt.c @@ -476,23 +476,26 @@ check_for_denomination_key (struct MHD_Connection *connection, if (NULL == dk) return mret; now = GNUNET_TIME_absolute_get (); + (void) GNUNET_TIME_round_abs (&now); if (now.abs_value_us >= dk->meta.expire_legal.abs_value_us) { /* Way too late now, even zombies have expired */ - return TALER_MHD_reply_with_error ( + return TEH_RESPONSE_reply_expired_denom_pub_hash ( connection, - MHD_HTTP_GONE, + &rmc->refresh_session.coin.denom_pub_hash, + now, TALER_EC_EXCHANGE_GENERIC_DENOMINATION_EXPIRED, - NULL); + "MELT"); } if (now.abs_value_us < dk->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, + &rmc->refresh_session.coin.denom_pub_hash, + now, TALER_EC_EXCHANGE_GENERIC_DENOMINATION_VALIDITY_IN_FUTURE, - NULL); + "MELT"); } if (now.abs_value_us >= dk->meta.expire_deposit.abs_value_us) { @@ -524,11 +527,12 @@ check_for_denomination_key (struct MHD_Connection *connection, if (GNUNET_DB_STATUS_SUCCESS_ONE_RESULT != qs) { /* We never saw this coin before, so _this_ justification is not OK */ - return TALER_MHD_reply_with_error ( + return TEH_RESPONSE_reply_expired_denom_pub_hash ( connection, - MHD_HTTP_GONE, + &rmc->refresh_session.coin.denom_pub_hash, + now, TALER_EC_EXCHANGE_GENERIC_DENOMINATION_EXPIRED, - NULL); + "MELT"); } else { -- cgit v1.2.3