gnunet-svn
[Top][All Lists]
Advanced

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

[taler-exchange] branch master updated: misc purse deletion fixes


From: gnunet
Subject: [taler-exchange] branch master updated: misc purse deletion fixes
Date: Thu, 29 Dec 2022 00:34:39 +0100

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

grothoff pushed a commit to branch master
in repository exchange.

The following commit(s) were added to refs/heads/master by this push:
     new 5df74558 misc purse deletion fixes
5df74558 is described below

commit 5df74558de6e725841c2f5a2ea6f90d0af264c89
Author: Christian Grothoff <christian@grothoff.org>
AuthorDate: Thu Dec 29 00:34:36 2022 +0100

    misc purse deletion fixes
---
 src/exchange/taler-exchange-httpd_purses_delete.c           |  1 +
 ...nge_do_delete_purse.sql => exchange_do_purse_delete.sql} |  8 ++++----
 src/exchangedb/procedures.sql.in                            |  2 +-
 src/lib/exchange_api_purse_delete.c                         |  4 ++++
 src/testing/test_exchange_p2p.c                             | 13 +++++++++++++
 5 files changed, 23 insertions(+), 5 deletions(-)

diff --git a/src/exchange/taler-exchange-httpd_purses_delete.c 
b/src/exchange/taler-exchange-httpd_purses_delete.c
index 58cc7825..d4b74b16 100644
--- a/src/exchange/taler-exchange-httpd_purses_delete.c
+++ b/src/exchange/taler-exchange-httpd_purses_delete.c
@@ -127,6 +127,7 @@ TEH_handler_purses_delete (
   }
   if (decided)
   {
+    GNUNET_break_op (0);
     return TALER_MHD_reply_with_ec (
       connection,
       TALER_EC_EXCHANGE_PURSE_DELETE_ALREADY_DECIDED,
diff --git a/src/exchangedb/exchange_do_delete_purse.sql 
b/src/exchangedb/exchange_do_purse_delete.sql
similarity index 93%
rename from src/exchangedb/exchange_do_delete_purse.sql
rename to src/exchangedb/exchange_do_purse_delete.sql
index a57f2545..096475b4 100644
--- a/src/exchangedb/exchange_do_delete_purse.sql
+++ b/src/exchangedb/exchange_do_purse_delete.sql
@@ -14,7 +14,7 @@
 -- TALER; see the file COPYING.  If not, see <http://www.gnu.org/licenses/>
 --
 
-CREATE OR REPLACE FUNCTION exchange_do_delete_purse(
+CREATE OR REPLACE FUNCTION exchange_do_purse_delete(
   IN in_purse_pub BYTEA,
   IN in_purse_sig BYTEA,
   IN in_now INT8,
@@ -28,7 +28,7 @@ DECLARE
   my_in_reserve_quota BOOLEAN;
 BEGIN
 
-SELECT COUNT(*) FROM purse_decision
+PERFORM refunded FROM purse_decision
   WHERE purse_pub=in_purse_pub;
 IF FOUND
 THEN
@@ -49,7 +49,7 @@ THEN
 END IF;
 
 -- store reserve deletion
-INSERT INTO purse_deletion
+INSERT INTO exchange.purse_deletion
   (purse_pub
   ,purse_sig)
 VALUES
@@ -115,5 +115,5 @@ END LOOP;
 
 END $$;
 
-COMMENT ON FUNCTION exchange_do_delete_purse(BYTEA,BYTEA,INT8)
+COMMENT ON FUNCTION exchange_do_purse_delete(BYTEA,BYTEA,INT8)
   IS 'Delete a previously undecided purse and refund the coins (if any).';
diff --git a/src/exchangedb/procedures.sql.in b/src/exchangedb/procedures.sql.in
index af47bbf6..19483024 100644
--- a/src/exchangedb/procedures.sql.in
+++ b/src/exchangedb/procedures.sql.in
@@ -28,11 +28,11 @@ SET search_path TO exchange;
 #include "exchange_do_recoup_to_reserve.sql"
 #include "exchange_do_recoup_to_coin.sql"
 #include "exchange_do_gc.sql"
+#include "exchange_do_purse_delete.sql"
 #include "exchange_do_purse_deposit.sql"
 #include "exchange_do_purse_merge.sql"
 #include "exchange_do_reserve_purse.sql"
 #include "exchange_do_expire_purse.sql"
-#include "exchange_do_delete_purse.sql"
 #include "exchange_do_history_request.sql"
 #include "exchange_do_reserve_open_deposit.sql"
 #include "exchange_do_reserve_open.sql"
diff --git a/src/lib/exchange_api_purse_delete.c 
b/src/lib/exchange_api_purse_delete.c
index 68035b48..27a9082b 100644
--- a/src/lib/exchange_api_purse_delete.c
+++ b/src/lib/exchange_api_purse_delete.c
@@ -208,6 +208,10 @@ TALER_EXCHANGE_purse_delete (
     GNUNET_free (xhdr);
   }
   eh = TALER_EXCHANGE_curl_easy_get_ (pdh->url);
+  GNUNET_assert (CURLE_OK ==
+                 curl_easy_setopt (eh,
+                                   CURLOPT_CUSTOMREQUEST,
+                                   MHD_HTTP_METHOD_DELETE));
   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
               "URL for purse delete: `%s'\n",
               pdh->url);
diff --git a/src/testing/test_exchange_p2p.c b/src/testing/test_exchange_p2p.c
index f159b2f1..ad95bf63 100644
--- a/src/testing/test_exchange_p2p.c
+++ b/src/testing/test_exchange_p2p.c
@@ -158,6 +158,19 @@ run (void *cls,
     TALER_TESTING_cmd_end ()
   };
   struct TALER_TESTING_Command push[] = {
+    TALER_TESTING_cmd_purse_create_with_deposit (
+      "purse-with-deposit-for-delete",
+      MHD_HTTP_OK,
+      "{\"amount\":\"EUR:1\",\"summary\":\"ice cream\"}",
+      true, /* upload contract */
+      GNUNET_TIME_UNIT_MINUTES, /* expiration */
+      "withdraw-coin-1",
+      "EUR:1.01",
+      NULL),
+    TALER_TESTING_cmd_purse_delete (
+      "purse-with-deposit-delete",
+      MHD_HTTP_NO_CONTENT,
+      "purse-with-deposit-for-delete"),
     TALER_TESTING_cmd_purse_create_with_deposit (
       "purse-with-deposit",
       MHD_HTTP_OK,

-- 
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]