add concept of supplemental records
authorSchanzenbach, Martin <mschanzenbach@posteo.de>
Thu, 13 Feb 2020 18:36:37 +0000 (19:36 +0100)
committerSchanzenbach, Martin <mschanzenbach@posteo.de>
Thu, 13 Feb 2020 18:36:37 +0000 (19:36 +0100)
src/gns/gnunet-gns.c
src/include/gnunet_gnsrecord_lib.h
src/namestore/gnunet-service-namestore.c

index 37633daf1accc3c97e38ff30fd52f2aadc60b20e..d52761ef8767a982d533d5060a03fc95dd92bee4 100644 (file)
@@ -205,7 +205,11 @@ process_lookup_result (void *cls,
     if (raw)
       printf ("%s\n", string_val);
     else
-      printf ("Got `%s' record: %s\n", typename, string_val);
+      printf ("Got `%s' record: %s%s\n",
+              typename,
+              string_val,
+              (0 != (rd[i].flags & GNUNET_GNSRECORD_RF_SUPPLEMENTAL)) ?
+              " (supplemental)" : "");
     GNUNET_free (string_val);
   }
   GNUNET_SCHEDULER_shutdown ();
index 797c713809d1f1742f29d1b954630ef1dbd6d52b..196ea29702fa98f0f870b00d67e01d353b2dea05 100644 (file)
@@ -168,10 +168,9 @@ enum GNUNET_GNSRECORD_Flags
   GNUNET_GNSRECORD_RF_PRIVATE = 2,
 
   /**
-   * This flag is currently unused; former RF_PENDING flag
-   *
-   * GNUNET_GNSRECORD_RF_UNUSED = 4,
+   * This is a supplemental record.
    */
+  GNUNET_GNSRECORD_RF_SUPPLEMENTAL = 4,
 
   /**
    * This expiration time of the record is a relative
index 619cabfc7e093a588e1e1cbe25a0cfdf61517f69..c57f15f654df49e44b7105ae6d01cf9e5ef8f144 100644 (file)
@@ -695,6 +695,8 @@ merge_with_nick_records (const struct GNUNET_GNSRECORD_Data *nick_rd,
   }
   /* append nick */
   target[rd2_length] = *nick_rd;
+  /* Mark as supplemental */
+  target[rd2_length].flags = nick_rd->flags | GNUNET_GNSRECORD_RF_SUPPLEMENTAL;
   target[rd2_length].expiration_time = latest_expiration;
   target[rd2_length].data = (void *) &data[data_offset];
   GNUNET_memcpy (&data[data_offset], nick_rd->data, nick_rd->data_size);