gnunet-svn
[Top][All Lists]
Advanced

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

[taler-exchange] 07/130: fix remaining libtalerutil tests FTBFS issues


From: gnunet
Subject: [taler-exchange] 07/130: fix remaining libtalerutil tests FTBFS issues
Date: Wed, 17 Nov 2021 12:24:15 +0100

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

grothoff pushed a commit to branch master
in repository exchange.

commit 57c334fb1ffedf6e692273852bacbed8711862d1
Author: Christian Grothoff <christian@grothoff.org>
AuthorDate: Sat Oct 23 06:20:28 2021 +0200

    fix remaining libtalerutil tests FTBFS issues
---
 src/util/test_crypto.c     | 27 +++++++++--------
 src/util/test_helper_rsa.c | 73 +++++++++++++++++++++++++---------------------
 2 files changed, 54 insertions(+), 46 deletions(-)

diff --git a/src/util/test_crypto.c b/src/util/test_crypto.c
index 27e48b9e..f1d41add 100644
--- a/src/util/test_crypto.c
+++ b/src/util/test_crypto.c
@@ -1,6 +1,6 @@
 /*
   This file is part of TALER
-  (C) 2015, 2020 Taler Systems SA
+  (C) 2015, 2020, 2021 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
@@ -90,18 +90,21 @@ test_planchets (void)
   struct TALER_PlanchetDetail pd;
   struct GNUNET_CRYPTO_RsaSignature *blind_sig;
   struct TALER_FreshCoin coin;
-  struct GNUNET_HashCode c_hash;
-
-  dk_priv.rsa_private_key = GNUNET_CRYPTO_rsa_private_key_create (1024);
-  dk_pub.rsa_public_key = GNUNET_CRYPTO_rsa_private_key_get_public (
-    dk_priv.rsa_private_key);
+  struct TALER_CoinPubHash c_hash;
+
+  dk_priv.cipher = TALER_DENOMINATION_RSA;
+  dk_priv.details.rsa_private_key
+    = GNUNET_CRYPTO_rsa_private_key_create (1024);
+  TALER_denom_priv_to_pub (&dk_priv,
+                           0,
+                           &dk_pub);
   TALER_planchet_setup_random (&ps);
   GNUNET_assert (GNUNET_OK ==
                  TALER_planchet_prepare (&dk_pub,
                                          &ps,
                                          &c_hash,
                                          &pd));
-  blind_sig = GNUNET_CRYPTO_rsa_sign_blinded (dk_priv.rsa_private_key,
+  blind_sig = GNUNET_CRYPTO_rsa_sign_blinded (dk_priv.details.rsa_private_key,
                                               pd.coin_ev,
                                               pd.coin_ev_size);
   GNUNET_assert (NULL != blind_sig);
@@ -112,15 +115,15 @@ test_planchets (void)
                                          &c_hash,
                                          &coin));
   GNUNET_CRYPTO_rsa_signature_free (blind_sig);
-  GNUNET_CRYPTO_rsa_signature_free (coin.sig.rsa_signature);
-  GNUNET_CRYPTO_rsa_private_key_free (dk_priv.rsa_private_key);
-  GNUNET_CRYPTO_rsa_public_key_free (dk_pub.rsa_public_key);
+  GNUNET_CRYPTO_rsa_signature_free (coin.sig.details.rsa_signature);
+  GNUNET_CRYPTO_rsa_private_key_free (dk_priv.details.rsa_private_key);
+  GNUNET_CRYPTO_rsa_public_key_free (dk_pub.details.rsa_public_key);
   return 0;
 }
 
 
 static int
-test_exchange_sigs ()
+test_exchange_sigs (void)
 {
   const char *pt = "payto://x-taler-bank/localhost/Account";
   struct TALER_MasterPrivateKeyP priv;
@@ -155,7 +158,7 @@ test_exchange_sigs ()
 
 
 static int
-test_merchant_sigs ()
+test_merchant_sigs (void)
 {
   const char *pt = "payto://x-taler-bank/localhost/Account";
   struct TALER_WireSalt salt;
diff --git a/src/util/test_helper_rsa.c b/src/util/test_helper_rsa.c
index 7011afb2..4e4abe2c 100644
--- a/src/util/test_helper_rsa.c
+++ b/src/util/test_helper_rsa.c
@@ -1,6 +1,6 @@
 /*
   This file is part of TALER
-  (C) 2020 Taler Systems SA
+  (C) 2020, 2021 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
@@ -62,7 +62,7 @@ struct KeyData
   /**
    * Hash of the public key.
    */
-  struct GNUNET_HashCode h_denom_pub;
+  struct TALER_DenominationHash h_denom_pub;
 
   /**
    * Full public key.
@@ -110,7 +110,7 @@ key_cb (void *cls,
         const char *section_name,
         struct GNUNET_TIME_Absolute start_time,
         struct GNUNET_TIME_Relative validity_duration,
-        const struct GNUNET_HashCode *h_denom_pub,
+        const struct TALER_DenominationHash *h_denom_pub,
         const struct TALER_DenominationPublicKey *denom_pub,
         const struct TALER_SecurityModulePublicKeyP *sm_pub,
         const struct TALER_SecurityModuleSignatureP *sm_sig)
@@ -119,7 +119,7 @@ key_cb (void *cls,
   (void) sm_sig;
   GNUNET_log (GNUNET_ERROR_TYPE_INFO,
               "Key notification about key %s in `%s'\n",
-              GNUNET_h2s (h_denom_pub),
+              GNUNET_h2s (&h_denom_pub->hash),
               section_name);
   if (0 == validity_duration.rel_value_us)
   {
@@ -133,8 +133,9 @@ key_cb (void *cls,
       {
         keys[i].valid = false;
         keys[i].revoked = false;
-        GNUNET_CRYPTO_rsa_public_key_free (keys[i].denom_pub.rsa_public_key);
-        keys[i].denom_pub.rsa_public_key = NULL;
+        GNUNET_CRYPTO_rsa_public_key_free (
+          keys[i].denom_pub.details.rsa_public_key);
+        keys[i].denom_pub.details.rsa_public_key = NULL;
         GNUNET_assert (num_keys > 0);
         num_keys--;
         found = true;
@@ -155,8 +156,9 @@ key_cb (void *cls,
       keys[i].h_denom_pub = *h_denom_pub;
       keys[i].start_time = start_time;
       keys[i].validity_duration = validity_duration;
-      keys[i].denom_pub.rsa_public_key
-        = GNUNET_CRYPTO_rsa_public_key_dup (denom_pub->rsa_public_key);
+      keys[i].denom_pub = *denom_pub;
+      keys[i].denom_pub.details.rsa_public_key
+        = GNUNET_CRYPTO_rsa_public_key_dup (denom_pub->details.rsa_public_key);
       num_keys++;
       return;
     }
@@ -199,7 +201,7 @@ test_revocation (struct TALER_CRYPTO_DenominationHelper *dh)
       keys[j].revoked = true;
       fprintf (stderr,
                "Revoking key %s ...",
-               GNUNET_h2s (&keys[j].h_denom_pub));
+               GNUNET_h2s (&keys[j].h_denom_pub.hash));
       TALER_CRYPTO_helper_denom_revoke (dh,
                                         &keys[j].h_denom_pub);
       for (unsigned int k = 0; k<1000; k++)
@@ -238,7 +240,7 @@ test_signing (struct TALER_CRYPTO_DenominationHelper *dh)
   struct TALER_DenominationSignature ds;
   enum TALER_ErrorCode ec;
   bool success = false;
-  struct GNUNET_HashCode m_hash;
+  struct TALER_CoinPubHash m_hash;
   struct GNUNET_CRYPTO_RsaBlindingKeySecret bks;
 
   GNUNET_CRYPTO_random_block (GNUNET_CRYPTO_QUALITY_WEAK,
@@ -246,7 +248,7 @@ test_signing (struct TALER_CRYPTO_DenominationHelper *dh)
                               sizeof (bks));
   GNUNET_CRYPTO_hash ("Hello",
                       strlen ("Hello"),
-                      &m_hash);
+                      &m_hash.hash);
   for (unsigned int i = 0; i<MAX_KEYS; i++)
   {
     if (! keys[i].valid)
@@ -258,13 +260,13 @@ test_signing (struct TALER_CRYPTO_DenominationHelper *dh)
       GNUNET_assert (GNUNET_YES ==
                      TALER_rsa_blind (&m_hash,
                                       &bks,
-                                      keys[i].denom_pub.rsa_public_key,
+                                      keys[i].denom_pub.details.rsa_public_key,
                                       &buf,
                                       &buf_size));
       GNUNET_log (GNUNET_ERROR_TYPE_INFO,
                   "Requesting signature over %u bytes with key %s\n",
                   (unsigned int) buf_size,
-                  GNUNET_h2s (&keys[i].h_denom_pub));
+                  GNUNET_h2s (&keys[i].h_denom_pub.hash));
       ds = TALER_CRYPTO_helper_denom_sign (dh,
                                            &keys[i].h_denom_pub,
                                            buf,
@@ -290,32 +292,34 @@ test_signing (struct TALER_CRYPTO_DenominationHelper *dh)
         return 5;
       }
       {
-        struct GNUNET_CRYPTO_RsaSignature *rs;
-
-        rs = TALER_rsa_unblind (ds.rsa_signature,
-                                &bks,
-                                keys[i].denom_pub.rsa_public_key);
-        if (NULL == rs)
+        struct TALER_DenominationSignature rs;
+
+        rs.cipher = TALER_DENOMINATION_RSA;
+        rs.details.rsa_signature
+          = TALER_rsa_unblind (ds.details.rsa_signature,
+                               &bks,
+                               keys[i].denom_pub.details.rsa_public_key);
+        if (NULL == rs.details.rsa_signature)
         {
           GNUNET_break (0);
           return 6;
         }
-        GNUNET_CRYPTO_rsa_signature_free (ds.rsa_signature);
+        GNUNET_CRYPTO_rsa_signature_free (ds.details.rsa_signature);
         if (GNUNET_OK !=
-            GNUNET_CRYPTO_rsa_verify (&m_hash,
-                                      rs,
-                                      keys[i].denom_pub.rsa_public_key))
+            TALER_denom_pub_verify (&keys[i].denom_pub,
+                                    &rs,
+                                    &m_hash))
         {
           /* signature invalid */
           GNUNET_break (0);
-          GNUNET_CRYPTO_rsa_signature_free (rs);
+          GNUNET_CRYPTO_rsa_signature_free (rs.details.rsa_signature);
           return 7;
         }
-        GNUNET_CRYPTO_rsa_signature_free (rs);
+        GNUNET_CRYPTO_rsa_signature_free (rs.details.rsa_signature);
       }
       GNUNET_log (GNUNET_ERROR_TYPE_INFO,
                   "Received valid signature for key %s\n",
-                  GNUNET_h2s (&keys[i].h_denom_pub));
+                  GNUNET_h2s (&keys[i].h_denom_pub.hash));
       success = true;
       break;
     case TALER_EC_EXCHANGE_DENOMINATION_HELPER_TOO_EARLY:
@@ -350,7 +354,7 @@ test_signing (struct TALER_CRYPTO_DenominationHelper *dh)
 
   /* check signing does not work if the key is unknown */
   {
-    struct GNUNET_HashCode rnd;
+    struct TALER_DenominationHash rnd;
 
     GNUNET_CRYPTO_random_block (GNUNET_CRYPTO_QUALITY_WEAK,
                                 &rnd,
@@ -367,7 +371,7 @@ test_signing (struct TALER_CRYPTO_DenominationHelper *dh)
     }
     GNUNET_log (GNUNET_ERROR_TYPE_INFO,
                 "Signing with invalid key %s failed as desired\n",
-                GNUNET_h2s (&rnd));
+                GNUNET_h2s (&rnd.hash));
   }
   return 0;
 }
@@ -384,7 +388,7 @@ perf_signing (struct TALER_CRYPTO_DenominationHelper *dh)
 {
   struct TALER_DenominationSignature ds;
   enum TALER_ErrorCode ec;
-  struct GNUNET_HashCode m_hash;
+  struct TALER_CoinPubHash m_hash;
   struct GNUNET_CRYPTO_RsaBlindingKeySecret bks;
   struct GNUNET_TIME_Relative duration;
 
@@ -393,7 +397,7 @@ perf_signing (struct TALER_CRYPTO_DenominationHelper *dh)
                               sizeof (bks));
   GNUNET_CRYPTO_hash ("Hello",
                       strlen ("Hello"),
-                      &m_hash);
+                      &m_hash.hash);
   duration = GNUNET_TIME_UNIT_ZERO;
   for (unsigned int j = 0; j<NUM_SIGN_TESTS;)
   {
@@ -415,7 +419,7 @@ perf_signing (struct TALER_CRYPTO_DenominationHelper *dh)
         GNUNET_assert (GNUNET_YES ==
                        TALER_rsa_blind (&m_hash,
                                         &bks,
-                                        keys[i].denom_pub.rsa_public_key,
+                                        
keys[i].denom_pub.details.rsa_public_key,
                                         &buf,
                                         &buf_size));
         /* use this key as long as it works */
@@ -434,7 +438,7 @@ perf_signing (struct TALER_CRYPTO_DenominationHelper *dh)
           delay = GNUNET_TIME_absolute_get_duration (start);
           duration = GNUNET_TIME_relative_add (duration,
                                                delay);
-          GNUNET_CRYPTO_rsa_signature_free (ds.rsa_signature);
+          GNUNET_CRYPTO_rsa_signature_free (ds.details.rsa_signature);
           j++;
           if (NUM_SIGN_TESTS == j)
             break;
@@ -526,8 +530,9 @@ run_test (void)
   for (unsigned int i = 0; i<MAX_KEYS; i++)
     if (keys[i].valid)
     {
-      GNUNET_CRYPTO_rsa_public_key_free (keys[i].denom_pub.rsa_public_key);
-      keys[i].denom_pub.rsa_public_key = NULL;
+      GNUNET_CRYPTO_rsa_public_key_free (
+        keys[i].denom_pub.details.rsa_public_key);
+      keys[i].denom_pub.details.rsa_public_key = NULL;
       GNUNET_assert (num_keys > 0);
       num_keys--;
     }

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