gnunet-svn
[Top][All Lists]
Advanced

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

[taler-exchange] branch master updated: -resolve minor FIXMEs


From: gnunet
Subject: [taler-exchange] branch master updated: -resolve minor FIXMEs
Date: Tue, 05 Jul 2022 11:17:49 +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 3453126e -resolve minor FIXMEs
3453126e is described below

commit 3453126eb7985c6f311597bf4acf3682f3a3dc9b
Author: Christian Grothoff <christian@grothoff.org>
AuthorDate: Tue Jul 5 11:17:47 2022 +0200

    -resolve minor FIXMEs
---
 src/lib/exchange_api_deposits_get.c | 90 +++++++++----------------------------
 1 file changed, 21 insertions(+), 69 deletions(-)

diff --git a/src/lib/exchange_api_deposits_get.c 
b/src/lib/exchange_api_deposits_get.c
index 660323bc..baa254a8 100644
--- a/src/lib/exchange_api_deposits_get.c
+++ b/src/lib/exchange_api_deposits_get.c
@@ -79,77 +79,15 @@ struct TALER_EXCHANGE_DepositGetHandle
    */
   struct TALER_PrivateContractHashP h_contract_terms;
 
-  /**
-   * Raw value (binary encoding) of the wire transfer subject.
-   */
-  struct TALER_WireTransferIdentifierRawP wtid;
-
   /**
    * The coin's public key.  This is the value that must have been
    * signed (blindly) by the Exchange.
    */
   struct TALER_CoinSpendPublicKeyP coin_pub;
 
-  /**
-   * When did the exchange execute this transfer? Note that the
-   * timestamp may not be exactly the same on the wire, i.e.
-   * because the wire has a different timezone or resolution.
-   */
-  struct GNUNET_TIME_Timestamp execution_time;
-
-  /**
-   * The contribution of @e coin_pub to the total transfer volume.
-   * This is the value of the deposit minus the fee.
-   */
-  struct TALER_Amount coin_contribution;
-
 };
 
 
-/**
- * Verify that the signature on the "200 OK" response
- * from the exchange is valid.
- *
- * @param dwh deposit wtid handle
- * @param exchange_pub the exchange's public key
- * @param exchange_sig the exchange's signature
- * @return #GNUNET_OK if the signature is valid, #GNUNET_SYSERR if not
- */
-// FIXME: inline...
-static enum GNUNET_GenericReturnValue
-verify_deposit_wtid_signature_ok (
-  const struct TALER_EXCHANGE_DepositGetHandle *dwh,
-  const struct TALER_ExchangePublicKeyP *exchange_pub,
-  const struct TALER_ExchangeSignatureP *exchange_sig)
-{
-  const struct TALER_EXCHANGE_Keys *key_state;
-
-  key_state = TALER_EXCHANGE_get_keys (dwh->exchange);
-  if (GNUNET_OK !=
-      TALER_EXCHANGE_test_signing_key (key_state,
-                                       exchange_pub))
-  {
-    GNUNET_break_op (0);
-    return GNUNET_SYSERR;
-  }
-  if (GNUNET_OK !=
-      TALER_exchange_online_confirm_wire_verify (
-        &dwh->h_wire,
-        &dwh->h_contract_terms,
-        &dwh->wtid,
-        &dwh->coin_pub,
-        dwh->execution_time,
-        &dwh->coin_contribution,
-        exchange_pub,
-        exchange_sig))
-  {
-    GNUNET_break_op (0);
-    return GNUNET_SYSERR;
-  }
-  return GNUNET_OK;
-}
-
-
 /**
  * Function called when we're done processing the
  * HTTP /track/transaction request.
@@ -191,7 +129,10 @@ handle_deposit_wtid_finished (void *cls,
                                      &dr.details.success.exchange_pub),
         GNUNET_JSON_spec_end ()
       };
+      const struct TALER_EXCHANGE_Keys *key_state;
 
+      key_state = TALER_EXCHANGE_get_keys (dwh->exchange);
+      GNUNET_assert (NULL != key_state);
       if (GNUNET_OK !=
           GNUNET_JSON_parse (j,
                              spec,
@@ -202,14 +143,25 @@ handle_deposit_wtid_finished (void *cls,
         dr.hr.ec = TALER_EC_GENERIC_REPLY_MALFORMED;
         break;
       }
-      // FIXME: remove once we inline function below...
-      dwh->execution_time = dr.details.success.execution_time;
-      dwh->wtid = dr.details.success.wtid;
-      dwh->coin_contribution = dr.details.success.coin_contribution;
       if (GNUNET_OK !=
-          verify_deposit_wtid_signature_ok (dwh,
-                                            &dr.details.success.exchange_pub,
-                                            &dr.details.success.exchange_sig))
+          TALER_EXCHANGE_test_signing_key (key_state,
+                                           &dr.details.success.exchange_pub))
+      {
+        GNUNET_break_op (0);
+        dr.hr.http_status = 0;
+        dr.hr.ec = 
TALER_EC_EXCHANGE_DEPOSITS_GET_INVALID_SIGNATURE_BY_EXCHANGE;
+        break;
+      }
+      if (GNUNET_OK !=
+          TALER_exchange_online_confirm_wire_verify (
+            &dwh->h_wire,
+            &dwh->h_contract_terms,
+            &dr.details.success.wtid,
+            &dwh->coin_pub,
+            dr.details.success.execution_time,
+            &dr.details.success.coin_contribution,
+            &dr.details.success.exchange_pub,
+            &dr.details.success.exchange_sig))
       {
         GNUNET_break_op (0);
         dr.hr.http_status = 0;

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