gnunet-svn
[Top][All Lists]
Advanced

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

[taler-exchange] branch master updated (03fd154a -> 30c92a9b)


From: gnunet
Subject: [taler-exchange] branch master updated (03fd154a -> 30c92a9b)
Date: Fri, 04 Feb 2022 19:50:50 +0100

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

gian-demarmels pushed a change to branch master
in repository exchange.

    from 03fd154a messing with CS/RSA fixes
     new 37f54d3e exchangedb fix
     new 752c0aca uncrustify
     new 30c92a9b Merge branch 'master' of ssh://git.taler.net/exchange

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 src/exchangedb/test_exchangedb.c | 287 ++++-----------------------------------
 1 file changed, 29 insertions(+), 258 deletions(-)

diff --git a/src/exchangedb/test_exchangedb.c b/src/exchangedb/test_exchangedb.c
index 7895aaca..d09e38fd 100644
--- a/src/exchangedb/test_exchangedb.c
+++ b/src/exchangedb/test_exchangedb.c
@@ -531,231 +531,11 @@ handle_link_data_cb (void *cls,
         break;
       }
     }
-    // FIXME:
     GNUNET_assert (GNUNET_NO != found);
   }
 }
 
 
-/**
- * Function to test melting of coins as part of a refresh session
- *
- * @return #GNUNET_OK if everything went well; #GNUNET_SYSERR if not
- */
-static enum GNUNET_GenericReturnValue
-test_melting (void)
-{
-  struct TALER_EXCHANGEDB_Refresh refresh_session;
-  struct TALER_EXCHANGEDB_Melt ret_refresh_session;
-  struct DenomKeyPair *dkp;
-  struct TALER_DenominationPublicKey *new_denom_pubs;
-  enum GNUNET_GenericReturnValue ret;
-  enum GNUNET_DB_QueryStatus qs;
-  struct GNUNET_TIME_Timestamp now;
-
-  ret = GNUNET_SYSERR;
-  RND_BLK (&refresh_session);
-  dkp = NULL;
-  new_dkp = NULL;
-  new_denom_pubs = NULL;
-  /* create and test a refresh session */
-  refresh_session.noreveal_index = MELT_NOREVEAL_INDEX;
-  /* create a denomination (value: 1; fraction: 100) */
-  now = GNUNET_TIME_timestamp_get ();
-  dkp = create_denom_key_pair (512,
-                               now,
-                               &value,
-                               &fee_withdraw,
-                               &fee_deposit,
-                               &fee_refresh,
-                               &fee_refund);
-  GNUNET_assert (NULL != dkp);
-  /* initialize refresh session melt data */
-  {
-    struct TALER_CoinPubHash c_hash;
-    struct TALER_PlanchetDetail pd;
-    struct TALER_BlindedDenominationSignature bds;
-    struct TALER_PlanchetSecretsP ps;
-    struct TALER_ExchangeWithdrawValues alg_values;
-
-    RND_BLK (&refresh_session.coin.coin_pub);
-    alg_values.cipher = TALER_DENOMINATION_RSA;
-    TALER_planchet_blinding_secret_create (&ps,
-                                           &alg_values);
-    GNUNET_assert (GNUNET_OK ==
-                   TALER_denom_blind (&dkp->pub,
-                                      &ps.blinding_key,
-                                      NULL, /* FIXME-Oec */
-                                      &refresh_session.coin.coin_pub,
-                                      &alg_values,
-                                      &c_hash,
-                                      &pd.blinded_planchet));
-    GNUNET_assert (GNUNET_OK ==
-                   TALER_denom_sign_blinded (&bds,
-                                             &dkp->priv,
-                                             &pd.blinded_planchet));
-    TALER_blinded_planchet_free (&pd.blinded_planchet);
-    GNUNET_assert (GNUNET_OK ==
-                   TALER_denom_sig_unblind (&refresh_session.coin.denom_sig,
-                                            &bds,
-                                            &ps.blinding_key,
-                                            &dkp->pub));
-    TALER_blinded_denom_sig_free (&bds);
-    TALER_denom_pub_hash (&dkp->pub,
-                          &refresh_session.coin.denom_pub_hash);
-    refresh_session.amount_with_fee = amount_with_fee;
-  }
-
-  /* test insert_melt & get_melt */
-  FAILIF (GNUNET_DB_STATUS_SUCCESS_NO_RESULTS !=
-          plugin->get_melt (plugin->cls,
-                            &refresh_session.rc,
-                            &ret_refresh_session));
-  FAILIF (TALER_EXCHANGEDB_CKS_ADDED !=
-          plugin->ensure_coin_known (plugin->cls,
-                                     &refresh_session.coin));
-  FAILIF (GNUNET_DB_STATUS_SUCCESS_ONE_RESULT !=
-          plugin->insert_melt (plugin->cls,
-                               &refresh_session));
-  FAILIF (GNUNET_DB_STATUS_SUCCESS_ONE_RESULT !=
-          plugin->get_melt (plugin->cls,
-                            &refresh_session.rc,
-                            &ret_refresh_session));
-  FAILIF (refresh_session.noreveal_index !=
-          ret_refresh_session.session.noreveal_index);
-  FAILIF (0 !=
-          TALER_amount_cmp (&refresh_session.amount_with_fee,
-                            &ret_refresh_session.session.amount_with_fee));
-  FAILIF (0 !=
-          TALER_amount_cmp (&fee_refresh,
-                            &ret_refresh_session.melt_fee));
-  FAILIF (0 !=
-          GNUNET_memcmp (&refresh_session.rc,
-                         &ret_refresh_session.session.rc));
-  FAILIF (0 != GNUNET_memcmp (&refresh_session.coin_sig,
-                              &ret_refresh_session.session.coin_sig));
-  FAILIF (0 != memcmp (&refresh_session.coin.coin_pub,
-                       &ret_refresh_session.session.coin.coin_pub,
-                       sizeof (refresh_session.coin.coin_pub)));
-  FAILIF (0 !=
-          GNUNET_memcmp (&refresh_session.coin.denom_pub_hash,
-                         &ret_refresh_session.session.coin.denom_pub_hash));
-
-  /* test 'select_refreshes_above_serial_id' */
-  auditor_row_cnt = 0;
-  FAILIF (GNUNET_DB_STATUS_SUCCESS_ONE_RESULT !=
-          plugin->select_refreshes_above_serial_id (plugin->cls,
-                                                    0,
-                                                    &audit_refresh_session_cb,
-                                                    NULL));
-  FAILIF (1 != auditor_row_cnt);
-
-  new_dkp = GNUNET_new_array (MELT_NEW_COINS,
-                              struct DenomKeyPair *);
-  new_denom_pubs = GNUNET_new_array (MELT_NEW_COINS,
-                                     struct TALER_DenominationPublicKey);
-  revealed_coins
-    = GNUNET_new_array (MELT_NEW_COINS,
-                        struct TALER_EXCHANGEDB_RefreshRevealedCoin);
-  for (unsigned int cnt = 0; cnt < MELT_NEW_COINS; cnt++)
-  {
-    struct TALER_EXCHANGEDB_RefreshRevealedCoin *ccoin;
-    struct GNUNET_TIME_Timestamp now;
-    struct TALER_BlindedPlanchet blinded_planchet;
-    blinded_planchet.cipher = TALER_DENOMINATION_RSA;
-
-    now = GNUNET_TIME_timestamp_get ();
-    new_dkp[cnt] = create_denom_key_pair (RSA_KEY_SIZE,
-                                          now,
-                                          &value,
-                                          &fee_withdraw,
-                                          &fee_deposit,
-                                          &fee_refresh,
-                                          &fee_refund);
-    GNUNET_assert (NULL != new_dkp[cnt]);
-    new_denom_pubs[cnt] = new_dkp[cnt]->pub;
-    ccoin = &revealed_coins[cnt];
-    ccoin->coin_ev_size = (size_t) GNUNET_CRYPTO_random_u64 (
-      GNUNET_CRYPTO_QUALITY_WEAK,
-      (RSA_KEY_SIZE / 8) - 1);
-    ccoin->coin_ev = GNUNET_malloc (ccoin->coin_ev_size);
-    GNUNET_CRYPTO_random_block (GNUNET_CRYPTO_QUALITY_WEAK,
-                                ccoin->coin_ev,
-                                ccoin->coin_ev_size);
-    ccoin->denom_pub = new_dkp[cnt]->pub;
-
-    blinded_planchet.details.rsa_blinded_planchet.blinded_msg = ccoin->coin_ev;
-    blinded_planchet.details.rsa_blinded_planchet.blinded_msg_size =
-      ccoin->coin_ev_size;
-    GNUNET_assert (GNUNET_OK ==
-                   TALER_denom_sign_blinded (&ccoin->coin_sig,
-                                             &new_dkp[cnt]->priv,
-                                             &blinded_planchet));
-  }
-  RND_BLK (&tprivs);
-  RND_BLK (&tpub);
-  FAILIF (GNUNET_DB_STATUS_SUCCESS_NO_RESULTS !=
-          plugin->get_refresh_reveal (plugin->cls,
-                                      &refresh_session.rc,
-                                      &never_called_cb,
-                                      NULL));
-  FAILIF (GNUNET_DB_STATUS_SUCCESS_ONE_RESULT !=
-          plugin->insert_refresh_reveal (plugin->cls,
-                                         &refresh_session.rc,
-                                         MELT_NEW_COINS,
-                                         revealed_coins,
-                                         TALER_CNC_KAPPA - 1,
-                                         tprivs,
-                                         &tpub));
-  FAILIF (0 >=
-          plugin->get_refresh_reveal (plugin->cls,
-                                      &refresh_session.rc,
-                                      &check_refresh_reveal_cb,
-                                      NULL));
-  qs = plugin->get_link_data (plugin->cls,
-                              &refresh_session.coin.coin_pub,
-                              &handle_link_data_cb,
-                              NULL);
-  FAILIF (0 >= qs);
-  {
-    /* Just to test fetching a coin with melt history */
-    struct TALER_EXCHANGEDB_TransactionList *tl;
-    enum GNUNET_DB_QueryStatus qs;
-
-    qs = plugin->get_coin_transactions (plugin->cls,
-                                        &refresh_session.coin.coin_pub,
-                                        GNUNET_YES,
-                                        &tl);
-    FAILIF (GNUNET_DB_STATUS_SUCCESS_ONE_RESULT != qs);
-    plugin->free_coin_transaction_list (plugin->cls,
-                                        tl);
-  }
-
-
-  ret = GNUNET_OK;
-drop:
-  if (NULL != revealed_coins)
-  {
-    for (unsigned int cnt = 0; cnt < MELT_NEW_COINS; cnt++)
-    {
-      TALER_blinded_denom_sig_free (&revealed_coins[cnt].coin_sig);
-      GNUNET_free (revealed_coins[cnt].coin_ev);
-    }
-    GNUNET_free (revealed_coins);
-    revealed_coins = NULL;
-  }
-  destroy_denom_key_pair (dkp);
-  TALER_denom_sig_free (&refresh_session.coin.denom_sig);
-  GNUNET_free (new_denom_pubs);
-  for (unsigned int cnt = 0;
-       (NULL != new_dkp) && (cnt < MELT_NEW_COINS) && (NULL != new_dkp[cnt]);
-       cnt++)
-    destroy_denom_key_pair (new_dkp[cnt]);
-  GNUNET_free (new_dkp);
-  return ret;
-}
-
-
 /**
  * Callback that should never be called.
  */
@@ -1696,49 +1476,30 @@ run (void *cls)
     RND_BLK (&age_hash);
     for (size_t i = 0; i < sizeof(p_ah) / sizeof(p_ah[0]); i++)
     {
+      struct TALER_ExchangeWithdrawValues alg_values;
+      // There is no difference between CS and RSA, just one should be used
+      alg_values.cipher = TALER_DENOMINATION_RSA;
       RND_BLK (&coin_pub);
-      TALER_blinding_secret_create (&bks);
+
+      TALER_planchet_blinding_secret_create (&ps,
+                                             &alg_values);
       GNUNET_assert (GNUNET_OK ==
                      TALER_denom_blind (&dkp->pub,
-                                        &bks,
+                                        &ps.blinding_key,
                                         p_ah[i],
                                         &coin_pub,
+                                        &alg_values,
                                         &c_hash,
-                                        &pd.coin_ev,
-                                        &pd.coin_ev_size));
-      TALER_coin_ev_hash (pd.coin_ev,
-                          pd.coin_ev_size,
-                          &cbc.h_coin_envelope);
+                                        &pd.blinded_planchet));
+      GNUNET_assert (GNUNET_OK == TALER_coin_ev_hash (&pd.blinded_planchet,
+                                                      &cbc.denom_pub_hash,
+                                                      &cbc.h_coin_envelope));
       GNUNET_assert (GNUNET_OK ==
                      TALER_denom_sign_blinded (&cbc.sig,
                                                &dkp->priv,
-                                               pd.coin_ev,
-                                               pd.coin_ev_size));
-      GNUNET_free (pd.coin_ev);
+                                               &pd.blinded_planchet));
+      TALER_blinded_planchet_free (&pd.blinded_planchet);
     }
-    struct TALER_ExchangeWithdrawValues alg_values;
-
-    RND_BLK (&coin_pub);
-    alg_values.cipher = TALER_DENOMINATION_RSA;
-    TALER_planchet_blinding_secret_create (&ps,
-                                           &alg_values);
-
-    GNUNET_assert (GNUNET_OK ==
-                   TALER_denom_blind (&dkp->pub,
-                                      &ps.blinding_key,
-                                      NULL, /* FIXME-Oec */
-                                      &coin_pub,
-                                      &alg_values,
-                                      &c_hash,
-                                      &pd.blinded_planchet));
-    GNUNET_assert (GNUNET_OK == TALER_coin_ev_hash (&pd.blinded_planchet,
-                                                    &cbc.denom_pub_hash,
-                                                    &cbc.h_coin_envelope));
-    GNUNET_assert (GNUNET_OK ==
-                   TALER_denom_sign_blinded (&cbc.sig,
-                                             &dkp->priv,
-                                             &pd.blinded_planchet));
-    TALER_blinded_planchet_free (&pd.blinded_planchet);
   }
 
   cbc.reserve_pub = reserve_pub;
@@ -1968,6 +1729,8 @@ run (void *cls)
     {
       struct TALER_EXCHANGEDB_RefreshRevealedCoin *ccoin;
       struct GNUNET_TIME_Timestamp now;
+      struct TALER_BlindedPlanchet blinded_planchet;
+
 
       now = GNUNET_TIME_timestamp_get ();
       new_dkp[cnt] = create_denom_key_pair (RSA_KEY_SIZE,
@@ -1987,16 +1750,24 @@ run (void *cls)
       GNUNET_CRYPTO_random_block (GNUNET_CRYPTO_QUALITY_WEAK,
                                   ccoin->coin_ev,
                                   ccoin->coin_ev_size);
-      GNUNET_CRYPTO_hash (ccoin->coin_ev,
-                          ccoin->coin_ev_size,
-                          &ccoin->coin_envelope_hash.hash);
+
+      blinded_planchet.cipher = TALER_DENOMINATION_RSA;
+      blinded_planchet.details.rsa_blinded_planchet.blinded_msg =
+        ccoin->coin_ev;
+      blinded_planchet.details.rsa_blinded_planchet.blinded_msg_size =
+        ccoin->coin_ev_size;
+
       TALER_denom_pub_hash (&new_dkp[cnt]->pub,
                             &ccoin->h_denom_pub);
+      TALER_coin_ev_hash (&blinded_planchet,
+                          &ccoin->h_denom_pub,
+                          &ccoin->coin_envelope_hash);
+
+
       GNUNET_assert (GNUNET_OK ==
                      TALER_denom_sign_blinded (&ccoin->coin_sig,
                                                &new_dkp[cnt]->priv,
-                                               ccoin->coin_ev,
-                                               ccoin->coin_ev_size));
+                                               &blinded_planchet));
     }
     RND_BLK (&tprivs);
     RND_BLK (&tpub);

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