gnunet-svn
[Top][All Lists]
Advanced

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

[taler-exchange] branch master updated: remove /wire endpoint, add walle


From: gnunet
Subject: [taler-exchange] branch master updated: remove /wire endpoint, add wallet_data_hash to deposit, bump protocol version to v17
Date: Tue, 29 Aug 2023 13:53:31 +0200

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 3e9a1fc6 remove /wire endpoint, add wallet_data_hash to deposit, bump 
protocol version to v17
3e9a1fc6 is described below

commit 3e9a1fc66e4c8317a7d9012d36c5685682ec3c10
Author: Christian Grothoff <grothoff@gnunet.org>
AuthorDate: Tue Aug 29 13:53:23 2023 +0200

    remove /wire endpoint, add wallet_data_hash to deposit, bump protocol 
version to v17
---
 src/exchange/taler-exchange-httpd.c            |  6 --
 src/exchange/taler-exchange-httpd_config.h     |  2 +-
 src/exchange/taler-exchange-httpd_keys.c       | 99 --------------------------
 src/exchange/taler-exchange-httpd_keys.h       | 12 ----
 src/exchange/taler-exchange-httpd_purses_get.c |  5 ++
 src/lib/exchange_api_handle.c                  |  2 +-
 src/util/wallet_signatures.c                   |  6 ++
 7 files changed, 13 insertions(+), 119 deletions(-)

diff --git a/src/exchange/taler-exchange-httpd.c 
b/src/exchange/taler-exchange-httpd.c
index 194ec6da..acda91f5 100644
--- a/src/exchange/taler-exchange-httpd.c
+++ b/src/exchange/taler-exchange-httpd.c
@@ -1482,12 +1482,6 @@ handle_mhd_request (void *cls,
       .method = MHD_HTTP_METHOD_GET,
       .handler.get = &TEH_keys_get_handler,
     },
-    /* Requests for wiring information */
-    {
-      .url = "wire",
-      .method = MHD_HTTP_METHOD_GET,
-      .handler.get = &TEH_handler_wire
-    },
     {
       .url = "batch-deposit",
       .method = MHD_HTTP_METHOD_POST,
diff --git a/src/exchange/taler-exchange-httpd_config.h 
b/src/exchange/taler-exchange-httpd_config.h
index 596765b2..ea455172 100644
--- a/src/exchange/taler-exchange-httpd_config.h
+++ b/src/exchange/taler-exchange-httpd_config.h
@@ -41,7 +41,7 @@
  *
  * Returned via both /config and /keys endpoints.
  */
-#define EXCHANGE_PROTOCOL_VERSION "16:0:1"
+#define EXCHANGE_PROTOCOL_VERSION "17:0:0"
 
 
 /**
diff --git a/src/exchange/taler-exchange-httpd_keys.c 
b/src/exchange/taler-exchange-httpd_keys.c
index a6a1340d..a4e7ace8 100644
--- a/src/exchange/taler-exchange-httpd_keys.c
+++ b/src/exchange/taler-exchange-httpd_keys.c
@@ -1054,60 +1054,6 @@ get_wire_state (void)
 }
 
 
-MHD_RESULT
-TEH_handler_wire (struct TEH_RequestContext *rc,
-                  const char *const args[])
-{
-  struct WireStateHandle *wsh;
-
-  (void) args;
-  wsh = get_wire_state ();
-  if (NULL == wsh)
-    return TALER_MHD_reply_with_error (rc->connection,
-                                       MHD_HTTP_INTERNAL_SERVER_ERROR,
-                                       
TALER_EC_EXCHANGE_GENERIC_BAD_CONFIGURATION,
-                                       NULL);
-  {
-    const char *etag;
-
-    etag = MHD_lookup_connection_value (rc->connection,
-                                        MHD_HEADER_KIND,
-                                        MHD_HTTP_HEADER_IF_NONE_MATCH);
-    if ( (NULL != etag) &&
-         (MHD_HTTP_OK == wsh->http_status) &&
-         (NULL != wsh->etag) &&
-         (0 == strcmp (etag,
-                       wsh->etag)) )
-    {
-      MHD_RESULT ret;
-      struct MHD_Response *resp;
-
-      resp = MHD_create_response_from_buffer (0,
-                                              NULL,
-                                              MHD_RESPMEM_PERSISTENT);
-      TALER_MHD_add_global_headers (resp);
-      GNUNET_break (MHD_YES ==
-                    MHD_add_response_header (resp,
-                                             MHD_HTTP_HEADER_EXPIRES,
-                                             wsh->dat));
-      GNUNET_break (MHD_YES ==
-                    MHD_add_response_header (resp,
-                                             MHD_HTTP_HEADER_ETAG,
-                                             wsh->etag));
-      ret = MHD_queue_response (rc->connection,
-                                MHD_HTTP_NOT_MODIFIED,
-                                resp);
-      GNUNET_break (MHD_YES == ret);
-      MHD_destroy_response (resp);
-      return ret;
-    }
-  }
-  return MHD_queue_response (rc->connection,
-                             wsh->http_status,
-                             wsh->wire_reply);
-}
-
-
 const struct TALER_WireFeeSet *
 TEH_wire_fees_by_time (
   struct GNUNET_TIME_Timestamp ts,
@@ -2479,7 +2425,6 @@ create_krd (struct TEH_KeyStateHandle *ksh,
             struct GNUNET_TIME_Timestamp last_cherry_pick_date,
             json_t *signkeys,
             json_t *recoup,
-            json_t *denoms,
             json_t *grouped_denominations,
             const struct GNUNET_HashCode *h_grouped)
 {
@@ -2501,7 +2446,6 @@ create_krd (struct TEH_KeyStateHandle *ksh,
                    last_cherry_pick_date.abs_time));
   GNUNET_assert (NULL != signkeys);
   GNUNET_assert (NULL != recoup);
-  GNUNET_assert (NULL != denoms);
   GNUNET_assert (NULL != grouped_denominations);
   GNUNET_assert (NULL != h_grouped);
   GNUNET_assert (NULL != ksh->auditors);
@@ -2602,8 +2546,6 @@ create_krd (struct TEH_KeyStateHandle *ksh,
                                    signkeys),
     GNUNET_JSON_pack_array_incref ("recoup",
                                    recoup),
-    GNUNET_JSON_pack_array_incref ("denoms",
-                                   denoms),
     GNUNET_JSON_pack_array_incref ("wads",
                                    json_object_get (wsh->json_reply,
                                                     "wads")),
@@ -2813,7 +2755,6 @@ finish_keys_response (struct TEH_KeyStateHandle *ksh)
   enum GNUNET_GenericReturnValue ret = GNUNET_SYSERR;
   json_t *recoup;
   struct SignKeyCtx sctx;
-  json_t *denoms = NULL;
   json_t *grouped_denominations = NULL;
   struct GNUNET_TIME_Timestamp last_cherry_pick_date;
   struct GNUNET_CONTAINER_Heap *heap;
@@ -2846,8 +2787,6 @@ finish_keys_response (struct TEH_KeyStateHandle *ksh)
                                   sctx.min_sk_frequency);
   }
 
-  denoms = json_array ();
-  GNUNET_assert (NULL != denoms);
   hash_context = GNUNET_CRYPTO_hash_context_start ();
 
   grouped_denominations = json_array ();
@@ -2905,7 +2844,6 @@ finish_keys_response (struct TEH_KeyStateHandle *ksh)
                         last_cherry_pick_date,
                         sctx.signkeys,
                         recoup,
-                        denoms,
                         grouped_denominations,
                         &grouped_hash_xor))
         {
@@ -2922,41 +2860,6 @@ finish_keys_response (struct TEH_KeyStateHandle *ksh)
       }
 
       last_cherry_pick_date = dk->meta.start;
-
-      {
-        json_t *denom;
-
-        denom =
-          GNUNET_JSON_PACK (
-            GNUNET_JSON_pack_data_auto ("master_sig",
-                                        &dk->master_sig),
-            GNUNET_JSON_pack_timestamp ("stamp_start",
-                                        dk->meta.start),
-            GNUNET_JSON_pack_timestamp ("stamp_expire_withdraw",
-                                        dk->meta.expire_withdraw),
-            GNUNET_JSON_pack_timestamp ("stamp_expire_deposit",
-                                        dk->meta.expire_deposit),
-            GNUNET_JSON_pack_timestamp ("stamp_expire_legal",
-                                        dk->meta.expire_legal),
-            TALER_JSON_pack_denom_pub ("denom_pub",
-                                       &dk->denom_pub),
-            TALER_JSON_pack_amount ("value",
-                                    &dk->meta.value),
-            TALER_JSON_PACK_DENOM_FEES ("fee",
-                                        &dk->meta.fees));
-
-        GNUNET_CRYPTO_hash_context_read (hash_context,
-                                         &dk->h_denom_pub,
-                                         sizeof (struct GNUNET_HashCode));
-
-        GNUNET_assert (
-          0 ==
-          json_array_append_new (
-            denoms,
-            denom));
-
-      }
-
       /*
        * Group the denominations by {cipher, value, fees, age_mask}.
        *
@@ -3166,7 +3069,6 @@ finish_keys_response (struct TEH_KeyStateHandle *ksh)
                     last_cherry_pick_date,
                     sctx.signkeys,
                     recoup,
-                    denoms,
                     grouped_denominations,
                     &grouped_hash_xor))
     {
@@ -3205,7 +3107,6 @@ CLEANUP:
   json_decref (grouped_denominations);
   json_decref (sctx.signkeys);
   json_decref (recoup);
-  json_decref (denoms);
   return ret;
 }
 
diff --git a/src/exchange/taler-exchange-httpd_keys.h 
b/src/exchange/taler-exchange-httpd_keys.h
index f30eeb62..61096de9 100644
--- a/src/exchange/taler-exchange-httpd_keys.h
+++ b/src/exchange/taler-exchange-httpd_keys.h
@@ -197,18 +197,6 @@ void
 TEH_wire_update_state (void);
 
 
-/**
- * Handle a "/wire" request.
- *
- * @param rc request context
- * @param args array of additional options (must be empty for this function)
- * @return MHD result code
- */
-MHD_RESULT
-TEH_handler_wire (struct TEH_RequestContext *rc,
-                  const char *const args[]);
-
-
 /**
  * Return the current key state for this thread.  Possibly re-builds the key
  * state if we have reason to believe that something changed.
diff --git a/src/exchange/taler-exchange-httpd_purses_get.c 
b/src/exchange/taler-exchange-httpd_purses_get.c
index 5e4e0619..0701fc45 100644
--- a/src/exchange/taler-exchange-httpd_purses_get.c
+++ b/src/exchange/taler-exchange-httpd_purses_get.c
@@ -401,6 +401,10 @@ TEH_handler_purses_get (struct TEH_RequestContext *rc,
                                      ec,
                                      NULL);
     else
+    {
+      /* Make sure merge_timestamp is omitted if not yet merged */
+      if (GNUNET_TIME_absolute_is_never (gc->merge_timestamp.abs_time))
+        gc->merge_timestamp = GNUNET_TIME_UNIT_ZERO_TS;
       res = TALER_MHD_REPLY_JSON_PACK (
         rc->connection,
         MHD_HTTP_OK,
@@ -419,6 +423,7 @@ TEH_handler_purses_get (struct TEH_RequestContext *rc,
           GNUNET_JSON_pack_timestamp ("deposit_timestamp",
                                       dt))
         );
+    }
   }
   return res;
 }
diff --git a/src/lib/exchange_api_handle.c b/src/lib/exchange_api_handle.c
index def2c38f..5562936f 100644
--- a/src/lib/exchange_api_handle.c
+++ b/src/lib/exchange_api_handle.c
@@ -40,7 +40,7 @@
  * Which version of the Taler protocol is implemented
  * by this library?  Used to determine compatibility.
  */
-#define EXCHANGE_PROTOCOL_CURRENT 16
+#define EXCHANGE_PROTOCOL_CURRENT 17
 
 /**
  * How many versions are we backwards compatible with?
diff --git a/src/util/wallet_signatures.c b/src/util/wallet_signatures.c
index 823641ed..89acecb3 100644
--- a/src/util/wallet_signatures.c
+++ b/src/util/wallet_signatures.c
@@ -111,6 +111,12 @@ struct TALER_DepositRequestPS
    */
   struct TALER_MerchantPublicKeyP merchant;
 
+  /**
+   * Hash over a JSON containing data provided by the
+   * wallet to complete the contract upon payment.
+   */
+  struct GNUNET_HashCode wallet_data_hash;
+
 };
 
 GNUNET_NETWORK_STRUCT_END

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