gnunet-svn
[Top][All Lists]
Advanced

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

[taler-exchange] branch master updated: another fix related to #7099


From: gnunet
Subject: [taler-exchange] branch master updated: another fix related to #7099
Date: Sun, 21 Nov 2021 12:47:35 +0100

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 5159badd another fix related to #7099
5159badd is described below

commit 5159badd0e999fbcd610e3db22b5415571d9fa54
Author: Christian Grothoff <grothoff@gnunet.org>
AuthorDate: Sun Nov 21 12:47:16 2021 +0100

    another fix related to #7099
---
 src/util/secmod_common.c               | 23 ++++++++++++++--------
 src/util/taler-exchange-secmod-eddsa.c | 36 +++++++++++++++++++++++++---------
 src/util/test_helper_eddsa.c           | 25 +++++++++++++++++------
 3 files changed, 61 insertions(+), 23 deletions(-)

diff --git a/src/util/secmod_common.c b/src/util/secmod_common.c
index 830fbf32..ee390640 100644
--- a/src/util/secmod_common.c
+++ b/src/util/secmod_common.c
@@ -229,18 +229,19 @@ TES_read_work (void *cls,
 {
   struct TES_Client *client = cls;
   char *buf = client->iobuf;
-  ssize_t buf_size;
   size_t off = 0;
   uint16_t msize;
   const struct GNUNET_MessageHeader *hdr;
 
   do
   {
-    buf_size = recv (client->csock,
-                     &buf[off],
-                     sizeof (client->iobuf) - off,
-                     0);
-    if (-1 == buf_size)
+    ssize_t recv_size;
+
+    recv_size = recv (client->csock,
+                      &buf[off],
+                      sizeof (client->iobuf) - off,
+                      0);
+    if (-1 == recv_size)
     {
       if ( (0 == off) &&
            (EAGAIN == errno) )
@@ -257,17 +258,23 @@ TES_read_work (void *cls,
                              "recv");
       return GNUNET_SYSERR;
     }
-    if (0 == buf_size)
+    if (0 == recv_size)
     {
       /* regular disconnect? */
       GNUNET_break_op (0 == off);
       return GNUNET_SYSERR;
     }
-    off += buf_size;
+    off += recv_size;
     if (off < sizeof (struct GNUNET_MessageHeader))
       continue;
     hdr = (const struct GNUNET_MessageHeader *) buf;
     msize = ntohs (hdr->size);
+#if 0
+    GNUNET_log (GNUNET_ERROR_TYPE_INFO,
+                "Received message of type %u with %u bytes\n",
+                (unsigned int) ntohs (hdr->type),
+                (unsigned int) msize);
+#endif
     if (msize < sizeof (struct GNUNET_MessageHeader))
     {
       GNUNET_break_op (0);
diff --git a/src/util/taler-exchange-secmod-eddsa.c 
b/src/util/taler-exchange-secmod-eddsa.c
index c8d28377..a0f5675d 100644
--- a/src/util/taler-exchange-secmod-eddsa.c
+++ b/src/util/taler-exchange-secmod-eddsa.c
@@ -282,8 +282,8 @@ handle_sign_request (struct TES_Client *client,
     if (0 != key->rc)
       break; /* do later */
     GNUNET_log (GNUNET_ERROR_TYPE_INFO,
-                "Removing past key %s (expired %s ago)\n",
-                key->filename,
+                "Deleting past key %s (expired %s ago)\n",
+                TALER_B2S (&nxt->exchange_pub),
                 GNUNET_STRINGS_relative_time_to_string (
                   GNUNET_TIME_absolute_get_duration (
                     GNUNET_TIME_absolute_add (key->anchor,
@@ -400,7 +400,15 @@ static void
 purge_key (struct Key *key)
 {
   if (key->purge)
+  {
+    GNUNET_log (GNUNET_ERROR_TYPE_INFO,
+                "Key %s already purged, skipping\n",
+                TALER_B2S (&key->exchange_pub));
     return;
+  }
+  GNUNET_log (GNUNET_ERROR_TYPE_INFO,
+              "Purging key %s\n",
+              TALER_B2S (&key->exchange_pub));
   if (0 != unlink (key->filename))
     GNUNET_log_strerror_file (GNUNET_ERROR_TYPE_ERROR,
                               "unlink",
@@ -449,8 +457,8 @@ handle_revoke_request (struct TES_Client *client,
 
   key_gen++;
   GNUNET_log (GNUNET_ERROR_TYPE_INFO,
-              "Revoking key %p, bumping generation to %llu\n",
-              key,
+              "Revoking key %s, bumping generation to %llu\n",
+              TALER_B2S (&key->exchange_pub),
               (unsigned long long) key_gen);
   purge_key (key);
 
@@ -570,13 +578,23 @@ eddsa_client_init (struct TES_Client *client)
 static enum GNUNET_GenericReturnValue
 eddsa_update_client_keys (struct TES_Client *client)
 {
+  GNUNET_log (GNUNET_ERROR_TYPE_INFO,
+              "Updating client %p to generation %llu\n",
+              client,
+              (unsigned long long) key_gen);
   GNUNET_assert (0 == pthread_mutex_lock (&keys_lock));
   for (struct Key *key = keys_head;
        NULL != key;
        key = key->next)
   {
     if (key->key_gen <= client->key_gen)
+    {
+      GNUNET_log (GNUNET_ERROR_TYPE_INFO,
+                  "Skipping key %s, no change since generation %llu\n",
+                  TALER_B2S (&key->exchange_pub),
+                  (unsigned long long) client->key_gen);
       continue;
+    }
     if (key->purge)
     {
       if (GNUNET_OK !=
@@ -715,7 +733,7 @@ update_keys (void *cls)
     }
   }
   nxt = keys_head;
-  /* remove expired keys */
+  /* purge expired keys */
   while ( (NULL != nxt) &&
           GNUNET_TIME_absolute_is_past (
             GNUNET_TIME_absolute_add (nxt->anchor,
@@ -727,8 +745,8 @@ update_keys (void *cls)
       wake = true;
     }
     GNUNET_log (GNUNET_ERROR_TYPE_INFO,
-                "Removing past key %s (expired %s ago)\n",
-                nxt->filename,
+                "Purging past key %s (expired %s ago)\n",
+                TALER_B2S (&nxt->exchange_pub),
                 GNUNET_STRINGS_relative_time_to_string (
                   GNUNET_TIME_absolute_get_duration (
                     GNUNET_TIME_absolute_add (nxt->anchor,
@@ -1075,13 +1093,13 @@ run (void *cls,
     global_ret = EXIT_NOTCONFIGURED;
     return;
   }
+  GNUNET_SCHEDULER_add_shutdown (&do_shutdown,
+                                 NULL);
   global_ret = TES_listen_start (cfg,
                                  "taler-exchange-secmod-eddsa",
                                  &cb);
   if (0 != global_ret)
     return;
-  GNUNET_SCHEDULER_add_shutdown (&do_shutdown,
-                                 NULL);
   /* Load keys */
   GNUNET_break (GNUNET_OK ==
                 GNUNET_DISK_directory_create (keydir));
diff --git a/src/util/test_helper_eddsa.c b/src/util/test_helper_eddsa.c
index ddc2fc9f..7ce457d8 100644
--- a/src/util/test_helper_eddsa.c
+++ b/src/util/test_helper_eddsa.c
@@ -27,7 +27,7 @@
  * we should never have more than 6 active keys, plus for during
  * key expiration / revocation.
  */
-#define MAX_KEYS 7
+#define MAX_KEYS 20
 
 /**
  * How many random key revocations should we test?
@@ -121,7 +121,14 @@ key_cb (void *cls,
   (void) cls;
   (void) sm_pub;
   (void) sm_sig;
-  if (0 == validity_duration.rel_value_us)
+
+  GNUNET_log (GNUNET_ERROR_TYPE_INFO,
+              "Update on key %s (%s)...",
+              TALER_B2S (exchange_pub),
+              GNUNET_STRINGS_relative_time_to_string (validity_duration,
+                                                      GNUNET_YES));
+
+  if (GNUNET_TIME_relative_is_zero (validity_duration))
   {
     bool found = false;
 
@@ -190,14 +197,20 @@ test_revocation (struct TALER_CRYPTO_ExchangeSignHelper 
*esh)
       }
       keys[j].revoked = true;
       fprintf (stderr,
-               "Revoking key ...");
+               "Revoking key %s ...",
+               TALER_B2S (&keys[j].exchange_pub));
       TALER_CRYPTO_helper_esign_revoke (esh,
                                         &keys[j].exchange_pub);
       for (unsigned int k = 0; k<1000; k++)
       {
         TALER_CRYPTO_helper_esign_poll (esh);
-        if (! keys[j].revoked)
+        if ( (! keys[j].revoked) ||
+             (GNUNET_TIME_absolute_is_past (
+                GNUNET_TIME_absolute_add (keys[j].start_time,
+                                          keys[j].validity_duration))) )
+        {
           break;
+        }
         nanosleep (&req, NULL);
         fprintf (stderr, ".");
       }
@@ -470,7 +483,7 @@ main (int argc,
   (void) argc;
   (void) argv;
   GNUNET_log_setup ("test-helper-eddsa",
-                    "WARNING",
+                    "INFO",
                     NULL);
   GNUNET_OS_init (TALER_project_data_default ());
   libexec_dir = GNUNET_OS_installation_get_path (GNUNET_OS_IPK_BINDIR);
@@ -486,7 +499,7 @@ main (int argc,
                                     "-c",
                                     "test_helper_eddsa.conf",
                                     "-L",
-                                    "WARNING",
+                                    "INFO",
                                     NULL);
   if (NULL == helper)
   {

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