gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] [taler-merchant] branch master updated: get rid of session_


From: gnunet
Subject: [GNUnet-SVN] [taler-merchant] branch master updated: get rid of session_sig, as it is complex and does not work with mobile payments
Date: Mon, 26 Aug 2019 23:55:54 +0200

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

dold pushed a commit to branch master
in repository merchant.

The following commit(s) were added to refs/heads/master by this push:
     new 62de3f1  get rid of session_sig, as it is complex and does not work 
with mobile payments
62de3f1 is described below

commit 62de3f174c61ade17c132846121e628345876153
Author: Florian Dold <address@hidden>
AuthorDate: Mon Aug 26 23:55:48 2019 +0200

    get rid of session_sig, as it is complex and does not work with mobile 
payments
---
 src/backend/taler-merchant-httpd_check-payment.c   | 109 +++++++++------------
 src/backend/taler-merchant-httpd_pay.c             |  31 +-----
 src/backend/taler-merchant-httpd_proposal.c        |   3 -
 src/backend/taler-merchant-httpd_refund.c          |   8 --
 .../taler-merchant-httpd_track-transaction.c       |   4 -
 src/backenddb/plugin_merchantdb_postgres.c         |  14 +--
 src/backenddb/test_merchantdb.c                    |  33 +------
 src/include/taler_merchant_service.h               |   3 -
 src/include/taler_merchantdb_plugin.h              |   7 +-
 src/lib/merchant_api_check_payment.c               |   4 -
 src/lib/testing_api_cmd_pay.c                      |   1 -
 11 files changed, 51 insertions(+), 166 deletions(-)

diff --git a/src/backend/taler-merchant-httpd_check-payment.c 
b/src/backend/taler-merchant-httpd_check-payment.c
index 7ba784d..c2b2a83 100644
--- a/src/backend/taler-merchant-httpd_check-payment.c
+++ b/src/backend/taler-merchant-httpd_check-payment.c
@@ -303,7 +303,6 @@ MH_handler_check_payment (struct TMH_RequestHandler *rh,
   const char *order_id;
   const char *contract_url;
   const char *session_id;
-  const char *session_sig_str;
   const char *instance_str;
   const char *resource_url;
   char *final_contract_url;
@@ -313,7 +312,6 @@ MH_handler_check_payment (struct TMH_RequestHandler *rh,
   json_t *contract_terms;
   struct GNUNET_HashCode h_contract_terms;
   struct TALER_Amount refund_amount;
-  char *last_session_id;
   int ret;
   int refunded;
 
@@ -362,48 +360,9 @@ MH_handler_check_payment (struct TMH_RequestHandler *rh,
                                                 MHD_GET_ARGUMENT_KIND,
                                                 "session_id");
 
-  session_sig_str = MHD_lookup_connection_value (connection,
-                                                MHD_GET_ARGUMENT_KIND,
-                                                "session_sig");
-  if ((NULL != session_id) && (NULL != session_sig_str))
-  {
-    struct GNUNET_CRYPTO_EddsaSignature sig;
-    struct TALER_MerchantPaySessionSigPS mps;
-
-    if (GNUNET_OK !=
-        GNUNET_STRINGS_string_to_data (session_sig_str,
-                                       strlen (session_sig_str),
-                                       &sig,
-                                       sizeof (struct 
GNUNET_CRYPTO_EddsaSignature)))
-    {
-      GNUNET_break_op (0);
-      GNUNET_free (final_contract_url);
-      return TMH_RESPONSE_reply_bad_request (connection,
-                                             TALER_EC_PARAMETER_MALFORMED,
-                                             "session_sig malformed");
-    }
-    mps.purpose.size = htonl (sizeof (struct TALER_MerchantPaySessionSigPS));
-    mps.purpose.purpose = htonl (TALER_SIGNATURE_MERCHANT_PAY_SESSION);
-    GNUNET_CRYPTO_hash (order_id, strlen (order_id), &mps.h_order_id);
-    GNUNET_CRYPTO_hash (session_id, strlen (session_id), &mps.h_session_id);
-    if (GNUNET_OK != GNUNET_CRYPTO_eddsa_verify 
(TALER_SIGNATURE_MERCHANT_PAY_SESSION,
-                                                 &mps.purpose,
-                                                 &sig,
-                                                 &mi->pubkey.eddsa_pub))
-    {
-      /* pay session signature invalid */
-      GNUNET_break_op (0);
-      GNUNET_free (final_contract_url);
-      return TMH_RESPONSE_reply_bad_request (connection,
-                                             
TALER_EC_CHECK_PAYMENT_SESSION_SIGNATURE_INVALID,
-                                             "session_sig fails to verify");
-    }
-  }
-
   db->preflight (db->cls);
   qs = db->find_contract_terms (db->cls,
                                 &contract_terms,
-                                &last_session_id,
                                 order_id,
                                 &mi->pubkey);
   if (0 > qs)
@@ -432,7 +391,6 @@ MH_handler_check_payment (struct TMH_RequestHandler *rh,
   }
 
   GNUNET_assert (NULL != contract_terms);
-  GNUNET_assert (NULL != last_session_id);
 
   if (GNUNET_OK !=
       TALER_JSON_hash (contract_terms,
@@ -440,7 +398,6 @@ MH_handler_check_payment (struct TMH_RequestHandler *rh,
   {
     GNUNET_break (0);
     json_decref (contract_terms);
-    GNUNET_free (last_session_id);
     GNUNET_free (final_contract_url);
     return TMH_RESPONSE_reply_internal_error (connection,
                                               
TALER_EC_CHECK_PAYMENT_FAILED_COMPUTE_PROPOSAL_HASH,
@@ -450,26 +407,51 @@ MH_handler_check_payment (struct TMH_RequestHandler *rh,
   h_contract_terms_str = GNUNET_STRINGS_data_to_string_alloc 
(&h_contract_terms,
                                                               sizeof (struct 
GNUNET_HashCode));
 
-  if ( (NULL != session_id) && (0 != strcmp (session_id, last_session_id)) )
-  {
 
-    ret = send_pay_request (connection,
-                            order_id,
-                            final_contract_url,
-                            session_id,
-                            resource_url,
-                            h_contract_terms_str,
-                            mi);
 
-    json_decref (contract_terms);
-    GNUNET_free (last_session_id);
-    GNUNET_free (final_contract_url);
-    return ret;
-  }
+  /* Check if the order has been paid for. */
+  if (NULL != session_id)
+  {
+    /* Check if paid within a session. */
 
+    char *already_paid_order_id;
 
-  /* Check if paid */
+    qs = db->find_session_info (db->cls,
+                                &already_paid_order_id,
+                                session_id,
+                                resource_url,
+                                &mi->pubkey);
+    if (qs < 0)
+    {
+      /* single, read-only SQL statements should never cause
+         serialization problems */
+      GNUNET_break (GNUNET_DB_STATUS_SOFT_ERROR != qs);
+      /* Always report on hard error as well to enable diagnostics */
+      GNUNET_break (GNUNET_DB_STATUS_HARD_ERROR == qs);
+      return TMH_RESPONSE_reply_internal_error (connection,
+                                                
TALER_EC_CHECK_PAYMENT_DB_FETCH_ORDER_ERROR,
+                                                "db error fetching pay session 
info");
+    }
+    else if (0 == qs)
+    {
+      ret = send_pay_request (connection,
+                              order_id,
+                              final_contract_url,
+                              session_id,
+                              resource_url,
+                              h_contract_terms_str,
+                              mi);
+      GNUNET_free_non_null (already_paid_order_id);
+      return ret;
+    }
+    GNUNET_break (1 == qs);
+    GNUNET_break (0 == strcmp (order_id, already_paid_order_id));
+    GNUNET_free_non_null (already_paid_order_id);
+  }
+  else
   {
+    /* Check if paid regardless of session. */
+
     json_t *xcontract_terms = NULL;
 
     qs = db->find_paid_contract_terms_from_hash (db->cls,
@@ -500,7 +482,6 @@ MH_handler_check_payment (struct TMH_RequestHandler *rh,
       GNUNET_free_non_null (h_contract_terms_str);
       GNUNET_free (final_contract_url);
       json_decref (contract_terms);
-      GNUNET_free (last_session_id);
       return ret;
 
     }
@@ -509,6 +490,7 @@ MH_handler_check_payment (struct TMH_RequestHandler *rh,
     json_decref (xcontract_terms);
   }
 
+  /* Get the amount from the contract. */
   {
     struct TALER_Amount amount;
     struct GNUNET_JSON_Specification spec[] = {
@@ -521,7 +503,6 @@ MH_handler_check_payment (struct TMH_RequestHandler *rh,
       GNUNET_free_non_null (h_contract_terms_str);
       GNUNET_free (final_contract_url);
       json_decref (contract_terms);
-      GNUNET_free (last_session_id);
       return TMH_RESPONSE_reply_internal_error (connection,
                                                 
TALER_EC_CHECK_PAYMENT_DB_FETCH_CONTRACT_TERMS_ERROR,
                                                 "Merchant database error 
(contract terms corrupted)");
@@ -529,6 +510,7 @@ MH_handler_check_payment (struct TMH_RequestHandler *rh,
     TALER_amount_get_zero (amount.currency, &refund_amount);
   }
 
+  /* Accumulate refunds, if any. */
   for (unsigned int i=0;i<MAX_RETRIES;i++)
   {
     qs = db->get_refunds_from_contract_terms_hash (db->cls,
@@ -547,7 +529,6 @@ MH_handler_check_payment (struct TMH_RequestHandler *rh,
     GNUNET_free_non_null (h_contract_terms_str);
     GNUNET_free (final_contract_url);
     json_decref (contract_terms);
-    GNUNET_free (last_session_id);
     return TMH_RESPONSE_reply_internal_error (connection,
                                               
TALER_EC_PAY_DB_FETCH_TRANSACTION_ERROR,
                                               "Merchant database error");
@@ -558,13 +539,11 @@ MH_handler_check_payment (struct TMH_RequestHandler *rh,
 
   ret = TMH_RESPONSE_reply_json_pack (connection,
                                       MHD_HTTP_OK,
-                                      "{s:o, s:b, s:b, s:o, s:s}",
+                                      "{s:o, s:b, s:b, s:o}",
                                       "contract_terms", contract_terms,
                                       "paid", 1,
                                       "refunded", refunded,
-                                      "refund_amount", TALER_JSON_from_amount 
(&refund_amount),
-                                      "last_session_id", last_session_id);
+                                      "refund_amount", TALER_JSON_from_amount 
(&refund_amount));
   GNUNET_free (final_contract_url);
-  GNUNET_free (last_session_id);
   return ret;
 }
diff --git a/src/backend/taler-merchant-httpd_pay.c 
b/src/backend/taler-merchant-httpd_pay.c
index bf9b544..7ebc579 100644
--- a/src/backend/taler-merchant-httpd_pay.c
+++ b/src/backend/taler-merchant-httpd_pay.c
@@ -510,30 +510,6 @@ sign_success_response (struct PayContext *pc)
                     "refund_permissions",
                     refunds);
 
-  if (NULL != pc->session_id)
-  {
-    struct GNUNET_CRYPTO_EddsaSignature session_sig;
-    struct TALER_MerchantPaySessionSigPS mps = {
-      .purpose.size = htonl (sizeof (struct TALER_MerchantPaySessionSigPS)),
-      .purpose.purpose = htonl (TALER_SIGNATURE_MERCHANT_PAY_SESSION)
-    };
-
-    GNUNET_assert (NULL != pc->order_id);
-    GNUNET_CRYPTO_hash (pc->order_id,
-                        strlen (pc->order_id),
-                        &mps.h_order_id);
-    GNUNET_CRYPTO_hash (pc->session_id,
-                        strlen (pc->session_id),
-                        &mps.h_session_id);
-
-    GNUNET_CRYPTO_eddsa_sign (&pc->mi->privkey.eddsa_priv,
-                              &mps.purpose,
-                              &session_sig);
-    json_object_set_new (resp,
-                         "session_sig",
-                         GNUNET_JSON_from_data_auto (&session_sig));
-  }
-
   mret = TMH_RESPONSE_make_json (resp);
   json_decref (resp);
   return mret;
@@ -1386,7 +1362,6 @@ parse_pay (struct MHD_Connection *connection,
   const char *mode;
   struct TALER_MerchantPublicKeyP merchant_pub;
   int res;
-  char *last_session_id;
   struct GNUNET_JSON_Specification spec[] = {
     GNUNET_JSON_spec_string ("mode",
                              &mode),
@@ -1419,7 +1394,6 @@ parse_pay (struct MHD_Connection *connection,
   GNUNET_assert (NULL == pc->contract_terms);
   qs = db->find_contract_terms (db->cls,
                                 &pc->contract_terms,
-                                &last_session_id,
                                 order_id,
                                 &merchant_pub);
   if (0 > qs)
@@ -1448,8 +1422,6 @@ parse_pay (struct MHD_Connection *connection,
     return GNUNET_NO;
   }
 
-  GNUNET_free (last_session_id);
-
   if (GNUNET_OK !=
       TALER_JSON_hash (pc->contract_terms,
                        &pc->h_contract_terms))
@@ -2036,8 +2008,7 @@ begin_transaction (struct PayContext *pc)
     /* Payment succeeded, save in database */
     qs = db->mark_proposal_paid (db->cls,
                                  &pc->h_contract_terms,
-                                 &pc->mi->pubkey,
-                                 pc->session_id);
+                                 &pc->mi->pubkey);
 
     if (qs < 0)
     {
diff --git a/src/backend/taler-merchant-httpd_proposal.c 
b/src/backend/taler-merchant-httpd_proposal.c
index f522786..a93d6f1 100644
--- a/src/backend/taler-merchant-httpd_proposal.c
+++ b/src/backend/taler-merchant-httpd_proposal.c
@@ -707,7 +707,6 @@ MH_handler_proposal_lookup (struct TMH_RequestHandler *rh,
   enum GNUNET_DB_QueryStatus qs;
   json_t *contract_terms;
   struct MerchantInstance *mi;
-  char *last_session_id = NULL;
   struct GNUNET_CRYPTO_EddsaSignature merchant_sig;
   const char *stored_nonce;
 
@@ -740,7 +739,6 @@ MH_handler_proposal_lookup (struct TMH_RequestHandler *rh,
   db->preflight (db->cls);
   qs = db->find_contract_terms (db->cls,
                                 &contract_terms,
-                                &last_session_id,
                                 order_id,
                                 &mi->pubkey);
   if (0 > qs)
@@ -818,7 +816,6 @@ MH_handler_proposal_lookup (struct TMH_RequestHandler *rh,
   }
 
   GNUNET_assert (NULL != contract_terms);
-  GNUNET_free_non_null (last_session_id);
 
   stored_nonce
     = json_string_value (json_object_get (contract_terms,
diff --git a/src/backend/taler-merchant-httpd_refund.c 
b/src/backend/taler-merchant-httpd_refund.c
index 7ed7795..0aa2359 100644
--- a/src/backend/taler-merchant-httpd_refund.c
+++ b/src/backend/taler-merchant-httpd_refund.c
@@ -117,7 +117,6 @@ MH_handler_refund_increase (struct TMH_RequestHandler *rh,
   const char *order_id;
   const char *reason;
   const char *merchant;
-  char *last_session_id;
   struct MerchantInstance *mi;
   struct GNUNET_HashCode h_contract_terms;
   struct TALER_MerchantRefundConfirmationPS confirmation;
@@ -188,7 +187,6 @@ MH_handler_refund_increase (struct TMH_RequestHandler *rh,
   /* Convert order id to h_contract_terms */
   qs = db->find_contract_terms (db->cls,
                                 &contract_terms,
-                                &last_session_id,
                                 order_id,
                                 &mi->pubkey);
   if (0 > qs)
@@ -214,8 +212,6 @@ MH_handler_refund_increase (struct TMH_RequestHandler *rh,
                                          "Order id not found in database");
   }
 
-  GNUNET_free (last_session_id);
-
   if (GNUNET_OK !=
       TALER_JSON_hash (contract_terms,
                        &h_contract_terms))
@@ -470,7 +466,6 @@ MH_handler_refund_lookup (struct TMH_RequestHandler *rh,
   json_t *contract_terms;
   struct MerchantInstance *mi;
   enum GNUNET_DB_QueryStatus qs;
-  char *last_session_id;
 
   instance = MHD_lookup_connection_value (connection,
                                           MHD_GET_ARGUMENT_KIND,
@@ -513,7 +508,6 @@ MH_handler_refund_lookup (struct TMH_RequestHandler *rh,
   db->preflight (db->cls);
   qs = db->find_contract_terms (db->cls,
                                 &contract_terms,
-                                &last_session_id,
                                 order_id,
                                 &mi->pubkey);
   if (0 > qs)
@@ -538,8 +532,6 @@ MH_handler_refund_lookup (struct TMH_RequestHandler *rh,
                                          "Order id not found in database");
   }
 
-  GNUNET_free (last_session_id);
-
   if (GNUNET_OK !=
       TALER_JSON_hash (contract_terms,
                        &h_contract_terms))
diff --git a/src/backend/taler-merchant-httpd_track-transaction.c 
b/src/backend/taler-merchant-httpd_track-transaction.c
index 14ac127..6879612 100644
--- a/src/backend/taler-merchant-httpd_track-transaction.c
+++ b/src/backend/taler-merchant-httpd_track-transaction.c
@@ -1052,7 +1052,6 @@ MH_handler_track_transaction (struct TMH_RequestHandler 
*rh,
   enum GNUNET_DB_QueryStatus qs;
   struct GNUNET_HashCode h_instance;
   struct json_t *contract_terms;
-  char *last_session_id;
 
   if (NULL == *connection_cls)
   {
@@ -1133,7 +1132,6 @@ MH_handler_track_transaction (struct TMH_RequestHandler 
*rh,
   db->preflight (db->cls);
   qs = db->find_contract_terms (db->cls,
                                 &contract_terms,
-                                &last_session_id,
                                 order_id,
                                 &tctx->mi->pubkey);
   if (0 > qs)
@@ -1148,8 +1146,6 @@ MH_handler_track_transaction (struct TMH_RequestHandler 
*rh,
                                          TALER_EC_PROPOSAL_LOOKUP_NOT_FOUND,
                                          "Given order_id doesn't map to any 
proposal");
 
-  GNUNET_free (last_session_id);
-
   if (GNUNET_OK !=
       TALER_JSON_hash (contract_terms,
                        &tctx->h_contract_terms))
diff --git a/src/backenddb/plugin_merchantdb_postgres.c 
b/src/backenddb/plugin_merchantdb_postgres.c
index 01ce78e..1d3cb8c 100644
--- a/src/backenddb/plugin_merchantdb_postgres.c
+++ b/src/backenddb/plugin_merchantdb_postgres.c
@@ -153,7 +153,6 @@ postgres_initialize (void *cls)
                             ",timestamp INT8 NOT NULL"
                             ",row_id BIGSERIAL UNIQUE"
                             ",paid boolean DEFAULT FALSE NOT NULL"
-                            ",last_session_id VARCHAR DEFAULT '' NOT NULL"
                             ",PRIMARY KEY (order_id, merchant_pub)"
                             ",UNIQUE (h_contract_terms, merchant_pub)"
                             ");"),
@@ -349,7 +348,7 @@ postgres_initialize (void *cls)
                             5),
     GNUNET_PQ_make_prepare ("mark_proposal_paid",
                             "UPDATE merchant_contract_terms SET"
-                            " paid=TRUE, last_session_id=$3"
+                            " paid=TRUE"
                             " WHERE h_contract_terms=$1"
                             " AND merchant_pub=$2",
                             2),
@@ -420,7 +419,6 @@ postgres_initialize (void *cls)
     GNUNET_PQ_make_prepare ("find_contract_terms",
                             "SELECT"
                             " contract_terms"
-                            ",last_session_id"
                             " FROM merchant_contract_terms"
                             " WHERE"
                             " order_id=$1"
@@ -937,14 +935,12 @@ postgres_find_paid_contract_terms_from_hash (void *cls,
  *
  * @param cls closure
  * @param[out] contract_terms where to store the retrieved contract terms
- * @param[out] last_session_id where to store the result
  * @param order id order id used to perform the lookup
  * @return transaction status
  */
 static enum GNUNET_DB_QueryStatus
 postgres_find_contract_terms (void *cls,
                               json_t **contract_terms,
-                              char **last_session_id,
                               const char *order_id,
                               const struct TALER_MerchantPublicKeyP 
*merchant_pub)
 {
@@ -957,8 +953,6 @@ postgres_find_contract_terms (void *cls,
   struct GNUNET_PQ_ResultSpec rs[] = {
     TALER_PQ_result_spec_json ("contract_terms",
                                contract_terms),
-    GNUNET_PQ_result_spec_string ("last_session_id",
-                                  last_session_id),
     GNUNET_PQ_result_spec_end
   };
 
@@ -1112,21 +1106,17 @@ postgres_insert_order (void *cls,
  * @param cls closure
  * @param h_contract_terms hash of the contract that is now paid
  * @param merchant_pub merchant's public key
- * @param last_session_id session id used for the payment, NULL
- *        if payment was not session-bound
  * @return transaction status
  */
 static enum GNUNET_DB_QueryStatus
 postgres_mark_proposal_paid (void *cls,
                              const struct GNUNET_HashCode *h_contract_terms,
-                             const struct TALER_MerchantPublicKeyP 
*merchant_pub,
-                             const char *last_session_id)
+                             const struct TALER_MerchantPublicKeyP 
*merchant_pub)
 {
   struct PostgresClosure *pg = cls;
   struct GNUNET_PQ_QueryParam params[] = {
     GNUNET_PQ_query_param_auto_from_type (h_contract_terms),
     GNUNET_PQ_query_param_auto_from_type (merchant_pub),
-    GNUNET_PQ_query_param_string ((last_session_id == NULL) ? "" : 
last_session_id),
     GNUNET_PQ_query_param_end
   };
 
diff --git a/src/backenddb/test_merchantdb.c b/src/backenddb/test_merchantdb.c
index 0ecc5b4..b63cddc 100644
--- a/src/backenddb/test_merchantdb.c
+++ b/src/backenddb/test_merchantdb.c
@@ -837,41 +837,15 @@ run (void *cls)
   FAILIF (GNUNET_DB_STATUS_SUCCESS_ONE_RESULT !=
           plugin->mark_proposal_paid (plugin->cls,
                                       &h_contract_terms,
-                                      &merchant_pub,
-                                      "my-session-123"));
+                                      &merchant_pub));
 
 
-  {
-    char *last_session_id;
-    FAILIF (GNUNET_DB_STATUS_SUCCESS_ONE_RESULT !=
-            plugin->find_contract_terms (plugin->cls,
-                                         &out,
-                                         &last_session_id,
-                                         order_id,
-                                         &merchant_pub));
-    FAILIF (0 != strcmp (last_session_id, "my-session-123"));
-    GNUNET_free (last_session_id);
-  }
-
   FAILIF (GNUNET_DB_STATUS_SUCCESS_ONE_RESULT !=
           plugin->mark_proposal_paid (plugin->cls,
                                       &h_contract_terms,
-                                      &merchant_pub,
-                                      NULL));
+                                      &merchant_pub));
 
 
-  {
-    char *last_session_id;
-    FAILIF (GNUNET_DB_STATUS_SUCCESS_ONE_RESULT !=
-            plugin->find_contract_terms (plugin->cls,
-                                         &out,
-                                         &last_session_id,
-                                         order_id,
-                                         &merchant_pub));
-    FAILIF (0 != strcmp (last_session_id, ""));
-    GNUNET_free (last_session_id);
-  }
-
   FAILIF (GNUNET_DB_STATUS_SUCCESS_ONE_RESULT !=
          plugin->find_contract_terms_history (plugin->cls,
                                               order_id,
@@ -918,8 +892,7 @@ run (void *cls)
   FAILIF (GNUNET_DB_STATUS_SUCCESS_ONE_RESULT !=
           plugin->mark_proposal_paid (plugin->cls,
                                       &h_contract_terms_future,
-                                      &merchant_pub,
-                                      "hello"));
+                                      &merchant_pub));
   FAILIF (2 !=
           plugin->find_contract_terms_by_date_and_range (plugin->cls,
                                                         fake_now,
diff --git a/src/include/taler_merchant_service.h 
b/src/include/taler_merchant_service.h
index 9cca90a..5bbad14 100644
--- a/src/include/taler_merchant_service.h
+++ b/src/include/taler_merchant_service.h
@@ -986,8 +986,6 @@ typedef void
  * @param order_id order id to identify the payment
  * @parem resource_url resource URL to identify duplicate payments (can be 
NULL)
  * @parem session_id sesion id for the payment (or NULL if the payment is not 
bound to a session) 
- * @parem session_id sesion signature for the payment (or NULL if the payment
- *        is not bound to a session or the session is not signed yet) 
  * @param check_payment_cb callback which will work the response gotten from 
the backend
  * @param check_payment_cb_cls closure to pass to @a check_payment_cb
  * @return handle for this operation, NULL upon errors
@@ -999,7 +997,6 @@ TALER_MERCHANT_check_payment (struct GNUNET_CURL_Context 
*ctx,
                               const char *order_id,
                               const char *resource_url,
                               const char *session_id,
-                              const char *session_sig,
                               TALER_MERCHANT_CheckPaymentCallback 
check_payment_cb,
                               void *check_payment_cls);
 
diff --git a/src/include/taler_merchantdb_plugin.h 
b/src/include/taler_merchantdb_plugin.h
index 7d4948e..44cd068 100644
--- a/src/include/taler_merchantdb_plugin.h
+++ b/src/include/taler_merchantdb_plugin.h
@@ -239,15 +239,12 @@ struct TALER_MERCHANTDB_Plugin
    * @param cls closure
    * @param h_contract_terms hash of the contract that is now paid
    * @param merchant_pub merchant's public key
-   * @param last_session_id session id used for the payment, NULL
-   *        if payment was not session-bound
    * @return transaction status
    */
   enum GNUNET_DB_QueryStatus
   (*mark_proposal_paid) (void *cls,
                          const struct GNUNET_HashCode *h_contract_terms,
-                         const struct TALER_MerchantPublicKeyP *merchant_pub,
-                         const char *last_session_id);
+                         const struct TALER_MerchantPublicKeyP *merchant_pub);
 
   /**
    * Store the order ID that was used to pay for a resource within a session.
@@ -291,7 +288,6 @@ struct TALER_MERCHANTDB_Plugin
    *
    * @param cls closure
    * @param[out] contract_terms where to store the result
-   * @param[out] last_session_id where to store the result
    * @param order_id order_id used to lookup.
    * @param merchant_pub instance's public key.
    * @return transaction status
@@ -299,7 +295,6 @@ struct TALER_MERCHANTDB_Plugin
   enum GNUNET_DB_QueryStatus
   (*find_contract_terms) (void *cls,
                          json_t **contract_terms,
-                         char **last_session_id,
                          const char *order_id,
                          const struct TALER_MerchantPublicKeyP *merchant_pub);
 
diff --git a/src/lib/merchant_api_check_payment.c 
b/src/lib/merchant_api_check_payment.c
index 87a74ea..213f1ba 100644
--- a/src/lib/merchant_api_check_payment.c
+++ b/src/lib/merchant_api_check_payment.c
@@ -178,8 +178,6 @@ handle_check_payment_finished (void *cls,
  * @param order_id order id to identify the payment
  * @parem resource_url resource URL to identify duplicate payments (can be 
NULL)
  * @parem session_id sesion id for the payment (or NULL if the payment is not 
bound to a session) 
- * @parem session_id sesion signature for the payment (or NULL if the payment
- *        is not bound to a session or the session is not signed yet) 
  * @param check_payment_cb callback which will work the response gotten from 
the backend
  * @param check_payment_cb_cls closure to pass to @a check_payment_cb
  * @return handle for this operation, NULL upon errors
@@ -191,7 +189,6 @@ TALER_MERCHANT_check_payment (struct GNUNET_CURL_Context 
*ctx,
                               const char *order_id,
                               const char *resource_url,
                               const char *session_id,
-                              const char *session_sig,
                               TALER_MERCHANT_CheckPaymentCallback 
check_payment_cb,
                               void *check_payment_cb_cls)
 {
@@ -211,7 +208,6 @@ TALER_MERCHANT_check_payment (struct GNUNET_CURL_Context 
*ctx,
                              "order_id", order_id,
                              "resource_url", resource_url,
                              "session_id", session_id,
-                             "session_sig", session_sig,
                              NULL);
   eh = curl_easy_init ();
   if (CURLE_OK != curl_easy_setopt (eh,
diff --git a/src/lib/testing_api_cmd_pay.c b/src/lib/testing_api_cmd_pay.c
index aafcf25..252fc81 100644
--- a/src/lib/testing_api_cmd_pay.c
+++ b/src/lib/testing_api_cmd_pay.c
@@ -390,7 +390,6 @@ check_payment_run (void *cls,
      order_id,
      NULL,
      NULL,
-     NULL,
      check_payment_cb,
      cps);
 

-- 
To stop receiving notification emails like this one, please contact
address@hidden.



reply via email to

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