gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r31443 - gnunet/src/namestore


From: gnunet
Subject: [GNUnet-SVN] r31443 - gnunet/src/namestore
Date: Mon, 16 Dec 2013 22:47:50 +0100

Author: grothoff
Date: 2013-12-16 22:47:50 +0100 (Mon, 16 Dec 2013)
New Revision: 31443

Modified:
   gnunet/src/namestore/gnunet-namestore.c
   gnunet/src/namestore/gnunet-service-namestore.c
   gnunet/src/namestore/namestore_api.c
Log:
-never store NICKs anywhere but in '+', do not display nicks in gnunet-namestore

Modified: gnunet/src/namestore/gnunet-namestore.c
===================================================================
--- gnunet/src/namestore/gnunet-namestore.c     2013-12-16 21:31:39 UTC (rev 
31442)
+++ gnunet/src/namestore/gnunet-namestore.c     2013-12-16 21:47:50 UTC (rev 
31443)
@@ -1,4 +1,3 @@
-
 /*
      This file is part of GNUnet.
      (C) 2012, 2013 Christian Grothoff (and other contributing authors)
@@ -385,6 +384,8 @@
           rname);
   for (i=0;i<rd_len;i++)
   {
+    if (GNUNET_GNSRECORD_TYPE_NICK == rd[i].record_type)
+      continue;
     typestring = GNUNET_GNSRECORD_number_to_typename (rd[i].record_type);
     s = GNUNET_GNSRECORD_value_to_string (rd[i].record_type,
                                          rd[i].data,

Modified: gnunet/src/namestore/gnunet-service-namestore.c
===================================================================
--- gnunet/src/namestore/gnunet-service-namestore.c     2013-12-16 21:31:39 UTC 
(rev 31442)
+++ gnunet/src/namestore/gnunet-service-namestore.c     2013-12-16 21:47:50 UTC 
(rev 31443)
@@ -495,6 +495,7 @@
       latest_expiration = rd2[c].expiration_time;
     (*rd_res)[c] = rd2[c];
     (*rd_res)[c].data = (void *) &data[data_offset];
+    // WTF?
     memcpy ((void *) (*rd_res)[c].data, rd2[c].data, rd2[c].data_size);
     data_offset += (*rd_res)[c].data_size;
   }
@@ -504,7 +505,10 @@
     (*rd_res)[c+record_offset] = nick_rd[c];
     (*rd_res)[c+record_offset].expiration_time = latest_expiration;
     (*rd_res)[c+record_offset].data = (void *) &data[data_offset];
-    memcpy ((void *) (*rd_res)[c+record_offset].data, nick_rd[c].data, 
nick_rd[c].data_size);
+    // WTF?
+    memcpy ((void *) (*rd_res)[c+record_offset].data,
+            nick_rd[c].data,
+            nick_rd[c].data_size);
     data_offset += (*rd_res)[c+record_offset].data_size;
   }
   GNUNET_assert (req == (sizeof (struct GNUNET_GNSRECORD_Data)) * (*rdc_res) + 
data_offset);
@@ -546,7 +550,7 @@
   if ((NULL != nick) && (0 != strcmp(name, GNUNET_GNS_MASTERZONE_STR)))
   {
     nick->flags = (nick->flags | GNUNET_GNSRECORD_RF_PRIVATE) ^ 
GNUNET_GNSRECORD_RF_PRIVATE;
-    merge_with_nick_records (nick, rd_count,rd, &res_count, &res);
+    merge_with_nick_records (nick, rd_count, rd, &res_count, &res);
     //fprintf (stderr, "Merging %u records for `%s' with NICK 
records\n",rd_count, name);
     GNUNET_free (nick);
   }
@@ -732,11 +736,12 @@
 };
 
 
-
 static void
-lookup_it (void *cls, const struct GNUNET_CRYPTO_EcdsaPrivateKey *private_key,
-    const char *label, unsigned int rd_count,
-    const struct GNUNET_GNSRECORD_Data *rd)
+lookup_it (void *cls,
+           const struct GNUNET_CRYPTO_EcdsaPrivateKey *private_key,
+           const char *label,
+           unsigned int rd_count,
+           const struct GNUNET_GNSRECORD_Data *rd)
 {
   struct RecordLookupContext *rlc = cls;
   struct GNUNET_GNSRECORD_Data *rd_res;
@@ -753,9 +758,9 @@
         rd_res = NULL;
         rdc_res = 0;
         rlc->nick->flags = (rlc->nick->flags | GNUNET_GNSRECORD_RF_PRIVATE) ^ 
GNUNET_GNSRECORD_RF_PRIVATE;
-        merge_with_nick_records ( rlc->nick,
-                                  rd_count, rd,
-                                  &rdc_res, &rd_res);
+        merge_with_nick_records (rlc->nick,
+                                 rd_count, rd,
+                                 &rdc_res, &rd_res);
 
         rlc->rd_ser_len = GNUNET_GNSRECORD_records_get_size (rdc_res, rd_res);
         rlc->res_rd_count = rdc_res;
@@ -784,9 +789,6 @@
 }
 
 
-
-
-
 /**
  * Handles a #GNUNET_MESSAGE_TYPE_NAMESTORE_RECORD_LOOKUP message
  *
@@ -987,10 +989,24 @@
     }
     else
     {
+      struct GNUNET_GNSRECORD_Data rd_clean[rd_count];
+      unsigned int i;
+      unsigned int rd_clean_off;
+
+      /* remove "NICK" records, unless this is for the "+" label */
+      rd_clean_off = 0;
+      for (i=0;i<rd_count;i++)
+      {
+        rd_clean[rd_clean_off] = rd[i];
+        if ( (0 == strcmp (GNUNET_GNS_MASTERZONE_STR,
+                           conv_name)) ||
+             (GNUNET_GNSRECORD_TYPE_NICK != rd[i].record_type) )
+          rd_clean_off++;
+      }
       res = GSN_database->store_records (GSN_database->cls,
                                         &rp_msg->private_key,
                                         conv_name,
-                                        rd_count, rd);
+                                        rd_clean_off, rd_clean);
       if (GNUNET_OK == res)
       {
         for (zm = monitor_head; NULL != zm; zm = zm->next)

Modified: gnunet/src/namestore/namestore_api.c
===================================================================
--- gnunet/src/namestore/namestore_api.c        2013-12-16 21:31:39 UTC (rev 
31442)
+++ gnunet/src/namestore/namestore_api.c        2013-12-16 21:47:50 UTC (rev 
31443)
@@ -999,7 +999,7 @@
  * @param rd_count number of records in the 'rd' array
  * @param rd array of records with data to store
  * @param cont continuation to call when done
- * @param cont_cls closure for 'cont'
+ * @param cont_cls closure for @a cont
  * @return handle to abort the request
  */
 struct GNUNET_NAMESTORE_QueueEntry *




reply via email to

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