gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-merchant] branch master updated: prevent orders with an infinite


From: gnunet
Subject: [taler-merchant] branch master updated: prevent orders with an infinite (never) wire_deadline from being created; fixes #7158
Date: Sat, 19 Feb 2022 21:10:23 +0100

This is an automated email from the git hooks/post-receive script.

grothoff pushed a commit to branch master
in repository merchant.

The following commit(s) were added to refs/heads/master by this push:
     new 74c7c7aa prevent orders with an infinite (never) wire_deadline from 
being created; fixes #7158
74c7c7aa is described below

commit 74c7c7aa00cb6d30908a59bc00104d819017edaa
Author: Christian Grothoff <christian@grothoff.org>
AuthorDate: Sat Feb 19 21:10:20 2022 +0100

    prevent orders with an infinite (never) wire_deadline from being created; 
fixes #7158
---
 .../taler-merchant-httpd_private-patch-instances-ID.c      | 10 ++++++----
 src/backend/taler-merchant-httpd_private-post-instances.c  | 10 ++++++----
 src/backend/taler-merchant-httpd_private-post-orders.c     | 14 ++++++++++++--
 3 files changed, 24 insertions(+), 10 deletions(-)

diff --git a/src/backend/taler-merchant-httpd_private-patch-instances-ID.c 
b/src/backend/taler-merchant-httpd_private-patch-instances-ID.c
index 2ea0508b..727a641e 100644
--- a/src/backend/taler-merchant-httpd_private-patch-instances-ID.c
+++ b/src/backend/taler-merchant-httpd_private-patch-instances-ID.c
@@ -175,10 +175,12 @@ patch_instances_ID (struct TMH_MerchantInstance *mi,
                                     &is.default_max_wire_fee)) &&
             (mi->settings.default_wire_fee_amortization ==
              is.default_wire_fee_amortization) &&
-            (mi->settings.default_wire_transfer_delay.rel_value_us ==
-             is.default_wire_transfer_delay.rel_value_us) &&
-            (mi->settings.default_pay_delay.rel_value_us ==
-             is.default_pay_delay.rel_value_us) ) )
+            (GNUNET_TIME_relative_cmp 
(mi->settings.default_wire_transfer_delay,
+                                       ==,
+                                       is.default_wire_transfer_delay)) &&
+            (GNUNET_TIME_relative_cmp (mi->settings.default_pay_delay,
+                                       ==,
+                                       is.default_pay_delay)) ) )
     {
       is.id = mi->settings.id;
       is.name = GNUNET_strdup (name);
diff --git a/src/backend/taler-merchant-httpd_private-post-instances.c 
b/src/backend/taler-merchant-httpd_private-post-instances.c
index d512d439..e760d8e5 100644
--- a/src/backend/taler-merchant-httpd_private-post-instances.c
+++ b/src/backend/taler-merchant-httpd_private-post-instances.c
@@ -295,10 +295,12 @@ TMH_private_post_instances (const struct 
TMH_RequestHandler *rh,
                                    &is.default_max_wire_fee)) &&
            (mi->settings.default_wire_fee_amortization ==
             is.default_wire_fee_amortization) &&
-           (mi->settings.default_wire_transfer_delay.rel_value_us ==
-            is.default_wire_transfer_delay.rel_value_us) &&
-           (mi->settings.default_pay_delay.rel_value_us ==
-            is.default_pay_delay.rel_value_us) &&
+           (GNUNET_TIME_relative_cmp (mi->settings.default_wire_transfer_delay,
+                                      ==,
+                                      is.default_wire_transfer_delay)) &&
+           (GNUNET_TIME_relative_cmp (mi->settings.default_pay_delay,
+                                      ==,
+                                      is.default_pay_delay)) &&
            (accounts_equal (mi,
                             payto_uris)) )
       {
diff --git a/src/backend/taler-merchant-httpd_private-post-orders.c 
b/src/backend/taler-merchant-httpd_private-post-orders.c
index 666505f9..d144c53c 100644
--- a/src/backend/taler-merchant-httpd_private-post-orders.c
+++ b/src/backend/taler-merchant-httpd_private-post-orders.c
@@ -893,6 +893,16 @@ patch_order (struct MHD_Connection *connection,
                                 refund_delay));
     wire_deadline = GNUNET_TIME_timestamp_max (refund_deadline,
                                                t);
+    if (GNUNET_TIME_absolute_is_never (wire_deadline.abs_time))
+    {
+      GNUNET_break_op (0);
+      return TALER_MHD_reply_with_error (
+        connection,
+        MHD_HTTP_BAD_REQUEST,
+        TALER_EC_MERCHANT_PRIVATE_POST_ORDERS_WIRE_DEADLINE_IS_NEVER,
+        "order:wire_transfer_deadline");
+
+    }
     GNUNET_assert (0 ==
                    json_object_set_new (order,
                                         "wire_transfer_deadline",
@@ -930,8 +940,8 @@ patch_order (struct MHD_Connection *connection,
                    json_object_set_new (
                      order,
                      "max_fee",
-                     TALER_JSON_from_amount
-                       (&settings->default_max_deposit_fee)));
+                     TALER_JSON_from_amount (
+                       &settings->default_max_deposit_fee)));
   }
   if (0 == wire_fee_amortization)
   {

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]