gnunet-svn
[Top][All Lists]
Advanced

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

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


From: gnunet
Subject: [GNUnet-SVN] r26902 - gnunet/src/fs
Date: Tue, 16 Apr 2013 13:32:49 +0200

Author: grothoff
Date: 2013-04-16 13:32:49 +0200 (Tue, 16 Apr 2013)
New Revision: 26902

Modified:
   gnunet/src/fs/fs_publish_ksk.c
   gnunet/src/fs/fs_search.c
   gnunet/src/fs/plugin_block_fs.c
Log:
-fix

Modified: gnunet/src/fs/fs_publish_ksk.c
===================================================================
--- gnunet/src/fs/fs_publish_ksk.c      2013-04-16 10:28:47 UTC (rev 26901)
+++ gnunet/src/fs/fs_publish_ksk.c      2013-04-16 11:32:49 UTC (rev 26902)
@@ -174,6 +174,7 @@
   struct GNUNET_CRYPTO_AesInitializationVector iv;
   struct GNUNET_FS_PseudonymHandle *ph;
   struct GNUNET_FS_PseudonymIdentifier pseudonym;
+  struct UBlock *ub_dst;
 
   pkc->ksk_task = GNUNET_SCHEDULER_NO_TASK;
   if ((pkc->i == pkc->ksk_uri->data.ksk.keywordCount) || (NULL == pkc->dsh))
@@ -194,32 +195,35 @@
    * mandatory or not -- ignore for hashing */
   GNUNET_CRYPTO_hash (&keyword[1], strlen (&keyword[1]), &key);
   GNUNET_CRYPTO_hash_to_aes_key (&key, &skey, &iv);
+  ub_dst = pkc->cpy;
   GNUNET_CRYPTO_aes_encrypt (&pkc->ub[1], 
                             1 + pkc->slen + pkc->mdsize,
                             &skey, &iv,
-                             &pkc->cpy[1]);
+                             &ub_dst[1]);
   ph = GNUNET_FS_pseudonym_get_anonymous_pseudonym_handle ();
   GNUNET_CRYPTO_hash (&key, sizeof (key), &signing_key);
-  pkc->cpy->purpose.size = htonl (1 + pkc->slen + pkc->mdsize + sizeof (struct 
UBlock)
+  ub_dst->purpose.size = htonl (1 + pkc->slen + pkc->mdsize + sizeof (struct 
UBlock)
                                  - sizeof (struct 
GNUNET_FS_PseudonymSignature));
-  pkc->cpy->purpose.purpose = htonl (GNUNET_SIGNATURE_PURPOSE_FS_UBLOCK);
-  GNUNET_FS_pseudonym_sign (ph,
-                        &pkc->cpy->purpose,
-                        &seed,
-                        &signing_key,
-                        &pkc->cpy->signature);
+  ub_dst->purpose.purpose = htonl (GNUNET_SIGNATURE_PURPOSE_FS_UBLOCK);
+  
   GNUNET_FS_pseudonym_get_identifier (ph, &pseudonym);
   GNUNET_FS_pseudonym_derive_verification_key (&pseudonym, 
-                                           &signing_key,
-                                           &pkc->cpy->verification_key);
-  GNUNET_CRYPTO_hash (&pkc->cpy->verification_key,
-                     sizeof (pkc->cpy->verification_key),
+                                              &signing_key,
+                                              &ub_dst->verification_key);
+  GNUNET_FS_pseudonym_sign (ph,
+                           &ub_dst->purpose,
+                           &seed,
+                           &signing_key,
+                           &ub_dst->signature);
+
+  GNUNET_CRYPTO_hash (&ub_dst->verification_key,
+                     sizeof (ub_dst->verification_key),
                      &query);
   GNUNET_FS_pseudonym_destroy (ph);
   pkc->qre =
       GNUNET_DATASTORE_put (pkc->dsh, 0, &query,
                             1 + pkc->slen + pkc->mdsize + sizeof (struct 
UBlock),
-                            pkc->cpy, GNUNET_BLOCK_TYPE_FS_UBLOCK,
+                            ub_dst, GNUNET_BLOCK_TYPE_FS_UBLOCK,
                             pkc->bo.content_priority, pkc->bo.anonymity_level,
                             pkc->bo.replication_level, pkc->bo.expiration_time,
                             -2, 1, GNUNET_CONSTANTS_SERVICE_TIMEOUT,
@@ -308,12 +312,7 @@
     return NULL;
   }
   size = sizeof (struct UBlock) + pkc->slen + pkc->mdsize + 1;
-
   pkc->cpy = GNUNET_malloc (size);
-  pkc->cpy->purpose.size =
-      htonl (sizeof (struct GNUNET_FS_PseudonymSignaturePurpose) +
-             pkc->mdsize + pkc->slen + 1);
-  pkc->cpy->purpose.purpose = htonl (GNUNET_SIGNATURE_PURPOSE_FS_UBLOCK);
   pkc->ksk_uri = GNUNET_FS_uri_dup (ksk_uri);
   pkc->ksk_task = GNUNET_SCHEDULER_add_now (&publish_ksk_cont, pkc);
   return pkc;

Modified: gnunet/src/fs/fs_search.c
===================================================================
--- gnunet/src/fs/fs_search.c   2013-04-16 10:28:47 UTC (rev 26901)
+++ gnunet/src/fs/fs_search.c   2013-04-16 11:32:49 UTC (rev 26902)
@@ -916,6 +916,7 @@
     return GNUNET_SYSERR;
   mbc->sc->search_request_map_offset++;
   mbc->xoff[--mbc->put_cnt] = *key;
+
   return GNUNET_OK;
 }
 
@@ -1040,8 +1041,8 @@
     GNUNET_CRYPTO_hash_xor (&id_hash, &ns_hash, &key);
     GNUNET_CRYPTO_hash (&key, sizeof (struct GNUNET_HashCode), &signing_key);
     GNUNET_FS_pseudonym_derive_verification_key (&sc->uri->data.sks.ns,
-                                             &signing_key,
-                                             &verification_key);
+                                                &signing_key,
+                                                &verification_key);
     GNUNET_CRYPTO_hash (&verification_key,
                        sizeof (verification_key),
                        &sm->query);
@@ -1228,8 +1229,8 @@
       GNUNET_CRYPTO_hash (keyword, strlen (keyword), &sc->requests[i].ukey);
       GNUNET_CRYPTO_hash (&sc->requests[i].ukey, sizeof (struct 
GNUNET_HashCode), &signing_key);
       GNUNET_FS_pseudonym_derive_verification_key (&anon, 
-                                               &signing_key,
-                                               &verification_key);
+                                                  &signing_key,
+                                                  &verification_key);
       GNUNET_CRYPTO_hash (&verification_key, sizeof (struct 
GNUNET_FS_PseudonymIdentifier),
                          &sc->requests[i].uquery);
       sc->requests[i].mandatory = (sc->uri->data.ksk.keywords[i][0] == '+');

Modified: gnunet/src/fs/plugin_block_fs.c
===================================================================
--- gnunet/src/fs/plugin_block_fs.c     2013-04-16 10:28:47 UTC (rev 26901)
+++ gnunet/src/fs/plugin_block_fs.c     2013-04-16 11:32:49 UTC (rev 26902)
@@ -112,8 +112,8 @@
     }
     if (GNUNET_OK !=
        GNUNET_FS_pseudonym_verify (&ub->purpose,
-                                &ub->signature,
-                                &ub->verification_key))
+                                   &ub->signature,
+                                   &ub->verification_key))
     {
       GNUNET_break_op (0);
       return GNUNET_BLOCK_EVALUATION_RESULT_INVALID;




reply via email to

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