gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r27212 - gnunet/src/fs


From: gnunet
Subject: [GNUnet-SVN] r27212 - gnunet/src/fs
Date: Tue, 21 May 2013 14:11:21 +0200

Author: grothoff
Date: 2013-05-21 14:11:21 +0200 (Tue, 21 May 2013)
New Revision: 27212

Modified:
   gnunet/src/fs/fs_namespace.c
   gnunet/src/fs/fs_pseudonym.c
   gnunet/src/fs/test_fs_namespace.c
Log:
-fixing pseudonym signing bug again -- how did the old fix get undone???

Modified: gnunet/src/fs/fs_namespace.c
===================================================================
--- gnunet/src/fs/fs_namespace.c        2013-05-21 11:51:29 UTC (rev 27211)
+++ gnunet/src/fs/fs_namespace.c        2013-05-21 12:11:21 UTC (rev 27212)
@@ -716,17 +716,17 @@
   ub_enc->purpose.size = htonl (nidlen + slen + mdsize + sizeof (struct UBlock)
                                - sizeof (struct GNUNET_FS_PseudonymSignature));
   ub_enc->purpose.purpose = htonl (GNUNET_SIGNATURE_PURPOSE_FS_UBLOCK);
+  GNUNET_FS_pseudonym_derive_verification_key (&sks_uri->data.sks.ns, 
+                                              &signing_key,
+                                              &ub_enc->verification_key);
+  GNUNET_CRYPTO_hash (&ub_enc->verification_key,
+                     sizeof (ub_enc->verification_key),
+                     &query);
   GNUNET_FS_pseudonym_sign (ns->key,
                         &ub_enc->purpose,
                         NULL,
                         &signing_key,
                         &ub_enc->signature);
-  GNUNET_FS_pseudonym_derive_verification_key (&sks_uri->data.sks.ns, 
-                                           &signing_key,
-                                           &ub_enc->verification_key);
-  GNUNET_CRYPTO_hash (&ub_enc->verification_key,
-                     sizeof (ub_enc->verification_key),
-                     &query);
   psc = GNUNET_malloc (sizeof (struct GNUNET_FS_PublishSksContext));
   psc->uri = sks_uri;
   psc->cont = cont;

Modified: gnunet/src/fs/fs_pseudonym.c
===================================================================
--- gnunet/src/fs/fs_pseudonym.c        2013-05-21 11:51:29 UTC (rev 27211)
+++ gnunet/src/fs/fs_pseudonym.c        2013-05-21 12:11:21 UTC (rev 27212)
@@ -1211,8 +1211,9 @@
     gcry_mpi_release (rs[1]);
     return GNUNET_SYSERR;
   }
+  adjust (signature->sig_r, size, sizeof (signature->sig_r));
+  gcry_mpi_release (rs[0]);
 
-  gcry_mpi_release (rs[0]);
   size = sizeof (signature->sig_s);
   if (0 != (rc = gcry_mpi_print (GCRYMPI_FMT_USG, signature->sig_s, size,
                                  &size, rs[1])))
@@ -1221,7 +1222,24 @@
     gcry_mpi_release (rs[1]);
     return GNUNET_SYSERR;
   }
+  adjust (signature->sig_s, size, sizeof (signature->sig_s));
   gcry_mpi_release (rs[1]);
+
+#if EXTRA_CHECKS
+  {
+    struct GNUNET_FS_PseudonymIdentifier vk;
+    struct GNUNET_FS_PseudonymIdentifier pi;
+
+    GNUNET_FS_pseudonym_get_identifier (ph, &pi);
+    GNUNET_assert (GNUNET_OK ==
+                  GNUNET_FS_pseudonym_derive_verification_key (&pi, 
signing_key, &vk));
+    GNUNET_assert (GNUNET_OK ==
+                  GNUNET_FS_pseudonym_verify (purpose,
+                                              signature,
+                                              &vk));
+  }
+#endif
+
   GNUNET_FS_pseudonym_get_identifier (ph, &signature->signer);
   return GNUNET_OK;
 }

Modified: gnunet/src/fs/test_fs_namespace.c
===================================================================
--- gnunet/src/fs/test_fs_namespace.c   2013-05-21 11:51:29 UTC (rev 27211)
+++ gnunet/src/fs/test_fs_namespace.c   2013-05-21 12:11:21 UTC (rev 27212)
@@ -89,6 +89,7 @@
 static void
 do_timeout (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
 {
+  err = 1;
   FPRINTF (stderr, "%s",  "Operation timed out\n");
   kill_task = GNUNET_SCHEDULER_NO_TASK;
   abort_sks_search_task (NULL, tc);




reply via email to

[Prev in Thread] Current Thread [Next in Thread]