From 5df378f17de3a6a71fd33567c17b8560ca4ae41e Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Fri, 29 Nov 2019 20:54:12 +0100 Subject: wire_transfer_deadline must be absolute --- src/backend/taler-merchant-httpd_order.c | 14 ++++++-------- src/lib/test_merchant_api_twisted.c | 2 +- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/src/backend/taler-merchant-httpd_order.c b/src/backend/taler-merchant-httpd_order.c index 06f03878..779f836e 100644 --- a/src/backend/taler-merchant-httpd_order.c +++ b/src/backend/taler-merchant-httpd_order.c @@ -220,7 +220,6 @@ proposal_put (struct MHD_Connection *connection, struct GNUNET_TIME_Absolute timestamp; struct GNUNET_TIME_Absolute refund_deadline; struct GNUNET_TIME_Absolute wire_transfer_deadline; - struct GNUNET_TIME_Relative wire_transfer_deadline_rel; struct GNUNET_TIME_Absolute pay_deadline; struct GNUNET_JSON_Specification spec[] = { TALER_JSON_spec_amount ("amount", &total), @@ -239,8 +238,8 @@ proposal_put (struct MHD_Connection *connection, &refund_deadline), GNUNET_JSON_spec_absolute_time ("pay_deadline", &pay_deadline), - GNUNET_JSON_spec_relative_time ("wire_transfer_deadline", - &wire_transfer_deadline_rel), + GNUNET_JSON_spec_absolute_time ("wire_transfer_deadline", + &wire_transfer_deadline), GNUNET_JSON_spec_end () }; enum GNUNET_DB_QueryStatus qs; @@ -323,10 +322,12 @@ proposal_put (struct MHD_Connection *connection, if (NULL == json_object_get (order, "wire_transfer_deadline")) { + struct GNUNET_TIME_Absolute t; + t = GNUNET_TIME_relative_to_absolute (default_wire_transfer_delay); + (void) GNUNET_TIME_round_abs (&t); json_object_set_new (order, "wire_transfer_deadline", - GNUNET_JSON_from_time_rel ( - default_wire_transfer_delay)); + GNUNET_JSON_from_time_abs (t)); } if (NULL == json_object_get (order, @@ -473,9 +474,6 @@ proposal_put (struct MHD_Connection *connection, "Impossible to parse the order"); } - wire_transfer_deadline = GNUNET_TIME_relative_to_absolute ( - wire_transfer_deadline_rel); - if (wire_transfer_deadline.abs_value_us < refund_deadline.abs_value_us) { diff --git a/src/lib/test_merchant_api_twisted.c b/src/lib/test_merchant_api_twisted.c index aceb8424..25bd5705 100644 --- a/src/lib/test_merchant_api_twisted.c +++ b/src/lib/test_merchant_api_twisted.c @@ -579,7 +579,7 @@ run (void *cls, \"fraction\":50000000},\ \"refund_deadline\":\"\\/Date(2)\\/\",\ \"pay_deadline\":\"\\/Date(1)\\/\",\ - \"wire_transfer_deadline\":\"\\/Delay(30000)\\/\",\ + \"wire_transfer_deadline\":\"\\/Date(2366841600)\\/\",\ \"amount\":\ {\"currency\":\"EUR\",\ \"value\":5,\ -- cgit v1.2.3