gnunet-svn
[Top][All Lists]
Advanced

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

[taler-exchange] branch master updated: fakebank: remove unspecified, u


From: gnunet
Subject: [taler-exchange] branch master updated: fakebank: remove unspecified, unused POST /withdrawals/* endpoints
Date: Thu, 23 May 2024 23:15:11 +0200

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

dold pushed a commit to branch master
in repository exchange.

The following commit(s) were added to refs/heads/master by this push:
     new 5804da72e fakebank: remove unspecified, unused POST /withdrawals/* 
endpoints
5804da72e is described below

commit 5804da72ed30b3cea5212bb6e09ebf508f84b311
Author: Florian Dold <florian@dold.me>
AuthorDate: Thu May 23 23:14:07 2024 +0200

    fakebank: remove unspecified, unused POST /withdrawals/* endpoints
    
    Only the unauthenticated GET endpoint for withdrawal operations is used
    and specified.
    
    Aborting and confirmation requires authentication and is part of the
    /accounts/*/withdrawals/* corebank API.
---
 src/bank-lib/Makefile.am                           |   2 -
 src/bank-lib/fakebank_bank.c                       |  51 ---------
 .../fakebank_bank_post_withdrawals_abort.c         |  74 -------------
 .../fakebank_bank_post_withdrawals_abort.h         |  48 ---------
 .../fakebank_bank_post_withdrawals_confirm.c       | 116 ---------------------
 .../fakebank_bank_post_withdrawals_confirm.h       |  48 ---------
 6 files changed, 339 deletions(-)

diff --git a/src/bank-lib/Makefile.am b/src/bank-lib/Makefile.am
index a292dcece..ef7704684 100644
--- a/src/bank-lib/Makefile.am
+++ b/src/bank-lib/Makefile.am
@@ -72,8 +72,6 @@ libtalerfakebank_la_SOURCES = \
   fakebank_bank_get_withdrawals.c fakebank_bank_get_withdrawals.h \
   fakebank_bank_get_root.c fakebank_bank_get_root.h \
   fakebank_bank_post_accounts_withdrawals.c 
fakebank_bank_post_accounts_withdrawals.h \
-  fakebank_bank_post_withdrawals_abort.c 
fakebank_bank_post_withdrawals_abort.h \
-  fakebank_bank_post_withdrawals_confirm.c 
fakebank_bank_post_withdrawals_confirm.h \
   fakebank_bank_post_withdrawals_id_op.c 
fakebank_bank_post_withdrawals_id_op.h \
   fakebank_bank_testing_register.c fakebank_bank_testing_register.h \
   fakebank_tbr.c fakebank_tbr.h \
diff --git a/src/bank-lib/fakebank_bank.c b/src/bank-lib/fakebank_bank.c
index 7c2d39ab4..e9a437e21 100644
--- a/src/bank-lib/fakebank_bank.c
+++ b/src/bank-lib/fakebank_bank.c
@@ -34,8 +34,6 @@
 #include "fakebank_bank_get_withdrawals.h"
 #include "fakebank_bank_get_root.h"
 #include "fakebank_bank_post_accounts_withdrawals.h"
-#include "fakebank_bank_post_withdrawals_abort.h"
-#include "fakebank_bank_post_withdrawals_confirm.h"
 #include "fakebank_bank_post_withdrawals_id_op.h"
 #include "fakebank_bank_testing_register.h"
 
@@ -167,55 +165,6 @@ TALER_FAKEBANK_bank_main_ (
                                                  wid);
   }
 
-  if ( (0 == strncmp (url,
-                      "/withdrawals/",
-                      strlen ("/withdrawals/"))) &&
-       (0 == strcasecmp (method,
-                         MHD_HTTP_METHOD_POST)) )
-  {
-    /* POST /withdrawals/$WID* */
-    const char *wid = url + strlen ("/withdrawals/");
-    const char *opid = strchr (wid,
-                               '/');
-    char *wi;
-
-    if (NULL == opid)
-    {
-      /* POST /withdrawals/$WID (not defined) */
-      GNUNET_break_op (0);
-      return TALER_MHD_reply_with_error (connection,
-                                         MHD_HTTP_NOT_FOUND,
-                                         TALER_EC_GENERIC_ENDPOINT_UNKNOWN,
-                                         url);
-    }
-    wi = GNUNET_strndup (wid,
-                         opid - wid);
-    if (0 == strcmp (opid,
-                     "/abort"))
-    {
-      /* POST /withdrawals/$WID/abort */
-      MHD_RESULT ret;
-
-      ret = TALER_FAKEBANK_bank_withdrawals_abort_ (h,
-                                                    connection,
-                                                    wi);
-      GNUNET_free (wi);
-      return ret;
-    }
-    if (0 == strcmp (opid,
-                     "/confirm"))
-    {
-      /* POST /withdrawals/$WID/confirm */
-      MHD_RESULT ret;
-
-      ret = TALER_FAKEBANK_bank_withdrawals_confirm_ (h,
-                                                      connection,
-                                                      wi);
-      GNUNET_free (wi);
-      return ret;
-    }
-  }
-
   if (0 == strncmp (url,
                     "/accounts/",
                     strlen ("/accounts/")))
diff --git a/src/bank-lib/fakebank_bank_post_withdrawals_abort.c 
b/src/bank-lib/fakebank_bank_post_withdrawals_abort.c
deleted file mode 100644
index f8ebf1b93..000000000
--- a/src/bank-lib/fakebank_bank_post_withdrawals_abort.c
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
-  This file is part of TALER
-  (C) 2016-2023 Taler Systems SA
-
-  TALER is free software; you can redistribute it and/or
-  modify it under the terms of the GNU General Public License
-  as published by the Free Software Foundation; either version 3,
-  or (at your option) any later version.
-
-  TALER is distributed in the hope that it will be useful,
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
-
-  You should have received a copy of the GNU General Public
-  License along with TALER; see the file COPYING.  If not,
-  see <http://www.gnu.org/licenses/>
-*/
-/**
- * @file bank-lib/fakebank_bank_post_withdrawals_abort.c
- * @brief implement bank API withdrawals /abort endpoint
- * @author Christian Grothoff <christian@grothoff.org>
- */
-#include "platform.h"
-#include <pthread.h>
-#include "taler_fakebank_lib.h"
-#include "taler_bank_service.h"
-#include "taler_mhd_lib.h"
-#include <gnunet/gnunet_mhd_compat.h>
-#include "fakebank.h"
-#include "fakebank_bank_post_withdrawals_abort.h"
-#include "fakebank_common_lookup.h"
-#include "fakebank_common_lp.h"
-
-
-MHD_RESULT
-TALER_FAKEBANK_bank_withdrawals_abort_ (
-  struct TALER_FAKEBANK_Handle *h,
-  struct MHD_Connection *connection,
-  const char *withdrawal_id)
-{
-  struct WithdrawalOperation *wo;
-
-  GNUNET_assert (0 ==
-                 pthread_mutex_lock (&h->big_lock));
-  wo = TALER_FAKEBANK_lookup_withdrawal_operation_ (h,
-                                                    withdrawal_id);
-  if (NULL == wo)
-  {
-    GNUNET_assert (0 ==
-                   pthread_mutex_unlock (&h->big_lock));
-    return TALER_MHD_reply_with_error (connection,
-                                       MHD_HTTP_NOT_FOUND,
-                                       TALER_EC_BANK_TRANSACTION_NOT_FOUND,
-                                       withdrawal_id);
-  }
-  if (wo->confirmation_done)
-  {
-    GNUNET_assert (0 ==
-                   pthread_mutex_unlock (&h->big_lock));
-    return TALER_MHD_reply_with_error (connection,
-                                       MHD_HTTP_CONFLICT,
-                                       TALER_EC_BANK_ABORT_CONFIRM_CONFLICT,
-                                       withdrawal_id);
-  }
-  wo->aborted = true;
-  TALER_FAKEBANK_notify_withdrawal_ (h,
-                                     wo);
-  GNUNET_assert (0 ==
-                 pthread_mutex_unlock (&h->big_lock));
-  return TALER_MHD_reply_json (connection,
-                               json_object (), /* FIXME: #7301 */
-                               MHD_HTTP_OK);
-}
diff --git a/src/bank-lib/fakebank_bank_post_withdrawals_abort.h 
b/src/bank-lib/fakebank_bank_post_withdrawals_abort.h
deleted file mode 100644
index 920b0b802..000000000
--- a/src/bank-lib/fakebank_bank_post_withdrawals_abort.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
-  This file is part of TALER
-  (C) 2016-2023 Taler Systems SA
-
-  TALER is free software; you can redistribute it and/or
-  modify it under the terms of the GNU General Public License
-  as published by the Free Software Foundation; either version 3,
-  or (at your option) any later version.
-
-  TALER is distributed in the hope that it will be useful,
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
-
-  You should have received a copy of the GNU General Public
-  License along with TALER; see the file COPYING.  If not,
-  see <http://www.gnu.org/licenses/>
-*/
-/**
- * @file bank-lib/fakebank_bank_post_withdrawals_abort.h
- * @brief implement bank API withdrawals /abort endpoint
- * @author Christian Grothoff <christian@grothoff.org>
- */
-#ifndef FAKEBANK_BANK_POST_WITHDRAWALS_ABORT_H
-#define FAKEBANK_BANK_POST_WITHDRAWALS_ABORT_H
-
-#include "taler_fakebank_lib.h"
-#include "taler_bank_service.h"
-#include "taler_mhd_lib.h"
-#include <gnunet/gnunet_mhd_compat.h>
-#include "fakebank.h"
-
-
-/**
- * Handle POST /withdrawals/{withdrawal_id}/abort request.
- *
- * @param h our fakebank handle
- * @param connection the connection
- * @param withdrawal_id the withdrawal operation identifier
- * @return MHD result code
- */
-MHD_RESULT
-TALER_FAKEBANK_bank_withdrawals_abort_ (
-  struct TALER_FAKEBANK_Handle *h,
-  struct MHD_Connection *connection,
-  const char *withdrawal_id);
-
-#endif
diff --git a/src/bank-lib/fakebank_bank_post_withdrawals_confirm.c 
b/src/bank-lib/fakebank_bank_post_withdrawals_confirm.c
deleted file mode 100644
index b6fcc3152..000000000
--- a/src/bank-lib/fakebank_bank_post_withdrawals_confirm.c
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
-  This file is part of TALER
-  (C) 2016-2023 Taler Systems SA
-
-  TALER is free software; you can redistribute it and/or
-  modify it under the terms of the GNU General Public License
-  as published by the Free Software Foundation; either version 3,
-  or (at your option) any later version.
-
-  TALER is distributed in the hope that it will be useful,
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
-
-  You should have received a copy of the GNU General Public
-  License along with TALER; see the file COPYING.  If not,
-  see <http://www.gnu.org/licenses/>
-*/
-/**
- * @file bank-lib/fakebank_bank_post_withdrawals_confirm.c
- * @brief implement bank API withdrawals /confirm endpoint
- * @author Christian Grothoff <christian@grothoff.org>
- */
-#include "platform.h"
-#include <pthread.h>
-#include "taler_fakebank_lib.h"
-#include "taler_bank_service.h"
-#include "taler_mhd_lib.h"
-#include <gnunet/gnunet_mhd_compat.h>
-#include "fakebank.h"
-#include "fakebank_bank_post_withdrawals_confirm.h"
-#include "fakebank_common_lookup.h"
-#include "fakebank_common_lp.h"
-#include "fakebank_common_make_admin_transfer.h"
-
-
-MHD_RESULT
-TALER_FAKEBANK_bank_withdrawals_confirm_ (
-  struct TALER_FAKEBANK_Handle *h,
-  struct MHD_Connection *connection,
-  const char *withdrawal_id)
-{
-  struct WithdrawalOperation *wo;
-
-  GNUNET_assert (0 ==
-                 pthread_mutex_lock (&h->big_lock));
-  wo = TALER_FAKEBANK_lookup_withdrawal_operation_ (h,
-                                                    withdrawal_id);
-  if (NULL == wo)
-  {
-    GNUNET_assert (0 ==
-                   pthread_mutex_unlock (&h->big_lock));
-    return TALER_MHD_reply_with_error (connection,
-                                       MHD_HTTP_NOT_FOUND,
-                                       TALER_EC_BANK_TRANSACTION_NOT_FOUND,
-                                       withdrawal_id);
-  }
-  if (NULL == wo->amount)
-  {
-    GNUNET_assert (0 ==
-                   pthread_mutex_unlock (&h->big_lock));
-    return TALER_MHD_reply_with_error (connection,
-                                       MHD_HTTP_BAD_REQUEST,
-                                       
TALER_EC_BANK_POST_WITHDRAWAL_OPERATION_REQUIRED,
-                                       NULL);
-  }
-  if (NULL == wo->exchange_account)
-  {
-    GNUNET_assert (0 ==
-                   pthread_mutex_unlock (&h->big_lock));
-    return TALER_MHD_reply_with_error (connection,
-                                       MHD_HTTP_BAD_REQUEST,
-                                       
TALER_EC_BANK_POST_WITHDRAWAL_OPERATION_REQUIRED,
-                                       NULL);
-  }
-  if (wo->aborted)
-  {
-    GNUNET_assert (0 ==
-                   pthread_mutex_unlock (&h->big_lock));
-    return TALER_MHD_reply_with_error (connection,
-                                       MHD_HTTP_CONFLICT,
-                                       TALER_EC_BANK_CONFIRM_ABORT_CONFLICT,
-                                       withdrawal_id);
-  }
-  GNUNET_assert (0 ==
-                 pthread_mutex_unlock (&h->big_lock));
-  if (GNUNET_OK !=
-      TALER_FAKEBANK_make_admin_transfer_ (
-        h,
-        wo->debit_account->account_name,
-        wo->exchange_account->account_name,
-        wo->amount,
-        &wo->reserve_pub,
-        &wo->row_id,
-        &wo->timestamp))
-  {
-    return TALER_MHD_reply_with_error (connection,
-                                       MHD_HTTP_CONFLICT,
-                                       
TALER_EC_BANK_DUPLICATE_RESERVE_PUB_SUBJECT,
-                                       NULL);
-  }
-  /* Re-acquiring the lock and continuing to operate on 'wo'
-     is currently (!) acceptable because we NEVER free 'wo'
-     until shutdown. We may want to revise this if keeping
-     all withdraw operations in RAM becomes an issue... */
-  GNUNET_assert (0 ==
-                 pthread_mutex_lock (&h->big_lock));
-  wo->confirmation_done = true;
-  TALER_FAKEBANK_notify_withdrawal_ (h,
-                                     wo);
-  GNUNET_assert (0 ==
-                 pthread_mutex_unlock (&h->big_lock));
-  return TALER_MHD_reply_json (connection,
-                               json_object (),
-                               MHD_HTTP_OK);
-}
diff --git a/src/bank-lib/fakebank_bank_post_withdrawals_confirm.h 
b/src/bank-lib/fakebank_bank_post_withdrawals_confirm.h
deleted file mode 100644
index 56cd2deda..000000000
--- a/src/bank-lib/fakebank_bank_post_withdrawals_confirm.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
-  This file is part of TALER
-  (C) 2016-2023 Taler Systems SA
-
-  TALER is free software; you can redistribute it and/or
-  modify it under the terms of the GNU General Public License
-  as published by the Free Software Foundation; either version 3,
-  or (at your option) any later version.
-
-  TALER is distributed in the hope that it will be useful,
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-  GNU General Public License for more details.
-
-  You should have received a copy of the GNU General Public
-  License along with TALER; see the file COPYING.  If not,
-  see <http://www.gnu.org/licenses/>
-*/
-/**
- * @file bank-lib/fakebank_bank_post_withdrawals_confirm.h
- * @brief implement bank API withdrawals /confirm endpoint
- * @author Christian Grothoff <christian@grothoff.org>
- */
-#ifndef FAKEBANK_BANK_POST_WITHDRAWALS_CONFIRM_H
-#define FAKEBANK_BANK_POST_WITHDRAWALS_CONFIRM_H
-
-#include "taler_fakebank_lib.h"
-#include "taler_bank_service.h"
-#include "taler_mhd_lib.h"
-#include <gnunet/gnunet_mhd_compat.h>
-#include "fakebank.h"
-
-
-/**
- * Handle POST /accounts/{account_name}/withdrawals/{withdrawal_id}/confirm 
request.
- *
- * @param h our fakebank handle
- * @param connection the connection
- * @param withdrawal_id the withdrawal operation identifier
- * @return MHD result code
- */
-MHD_RESULT
-TALER_FAKEBANK_bank_withdrawals_confirm_ (
-  struct TALER_FAKEBANK_Handle *h,
-  struct MHD_Connection *connection,
-  const char *withdrawal_id);
-
-#endif

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