gnunet-svn
[Top][All Lists]
Advanced

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

[gnunet] branch master updated: -more tvs


From: gnunet
Subject: [gnunet] branch master updated: -more tvs
Date: Mon, 14 Feb 2022 12:15:32 +0100

This is an automated email from the git hooks/post-receive script.

martin-schanzenbach pushed a commit to branch master
in repository gnunet.

The following commit(s) were added to refs/heads/master by this push:
     new 0c6475bd0 -more tvs
0c6475bd0 is described below

commit 0c6475bd0c66bbc5190fb199d67594f203d93b2f
Author: Martin Schanzenbach <schanzen@gnunet.org>
AuthorDate: Mon Feb 14 12:15:25 2022 +0100

    -more tvs
---
 ...cname_lookup.sh => test_gns_redirect_lookup.sh} |   0
 src/gnsrecord/gnunet-gnsrecord-tvg.c               | 176 +++++++++++----------
 2 files changed, 96 insertions(+), 80 deletions(-)

diff --git a/src/gns/test_gns_cname_lookup.sh 
b/src/gns/test_gns_redirect_lookup.sh
similarity index 100%
rename from src/gns/test_gns_cname_lookup.sh
rename to src/gns/test_gns_redirect_lookup.sh
diff --git a/src/gnsrecord/gnunet-gnsrecord-tvg.c 
b/src/gnsrecord/gnunet-gnsrecord-tvg.c
index dec0855eb..f89c0d2fb 100644
--- a/src/gnsrecord/gnunet-gnsrecord-tvg.c
+++ b/src/gnsrecord/gnunet-gnsrecord-tvg.c
@@ -33,9 +33,6 @@
 #include <inttypes.h>
 #include "gnsrecord_crypto.h"
 
-#define TEST_RECORD_LABEL "test"
-#define TEST_RECORD_A "1.2.3.4"
-#define TEST_RRCOUNT 2
 
 static char *d_pkey =
   "50d7b652a4efeadff37396909785e5952171a02178c8e7d450fa907925fafd98";
@@ -103,7 +100,9 @@ print_record (const struct GNUNET_GNSRECORD_Data *rd)
   fprintf (stdout,
            "TYPE: %d\n", rd->record_type);
   fprintf (stdout,
-           "FLAGS: %d\n", rd->flags);
+           "FLAGS: ");
+  print_bytes ((void*)&rd->flags, sizeof (rd->flags), 8);
+  printf ("\n");
   fprintf (stdout,
            "DATA:\n");
   print_bytes ((char*) rd->data, rd->data_size, 8);
@@ -120,13 +119,10 @@ print_record (const struct GNUNET_GNSRECORD_Data *rd)
  * @param cfg configuration
  */
 static void
-run_pkey (void)
+run_pkey (struct GNUNET_GNSRECORD_Data *rd, int rd_count, const char *label)
 {
-  struct GNUNET_GNSRECORD_Data rd[2];
   struct GNUNET_TIME_Absolute expire;
   struct GNUNET_TIME_Absolute now = GNUNET_TIME_absolute_get ();
-  struct GNUNET_TIME_Absolute exp1;
-  struct GNUNET_TIME_Absolute exp2;
   struct GNUNET_TIME_Relative delta1;
   struct GNUNET_TIME_Relative delta2;
   struct GNUNET_GNSRECORD_Block *rrblock;
@@ -145,14 +141,6 @@ run_pkey (void)
   unsigned char ctr[GNUNET_CRYPTO_AES_KEY_LENGTH / 2];
   unsigned char skey[GNUNET_CRYPTO_AES_KEY_LENGTH];
 
-  /*
-   * Make two different expiration times
-   */
-  GNUNET_STRINGS_fancy_time_to_absolute ("2048-01-23 10:51:34",
-                                         &exp1);
-  GNUNET_STRINGS_fancy_time_to_absolute ("3540-05-22 07:55:01",
-                                         &exp2);
-
 
   id_priv.type = htonl (GNUNET_GNSRECORD_TYPE_PKEY);
   GNUNET_CRYPTO_ecdsa_key_create (&id_priv.ecdsa_key);
@@ -183,40 +171,30 @@ run_pkey (void)
   GNUNET_IDENTITY_key_get_public (&pkey_data_p,
                                   &pkey_data);
   fprintf (stdout,
-           "Label: %s\nRRCOUNT: %d\n\n", TEST_RECORD_LABEL, TEST_RRCOUNT);
-  memset (rd, 0, sizeof (struct GNUNET_GNSRECORD_Data) * 2);
-  GNUNET_assert (GNUNET_OK == GNUNET_GNSRECORD_string_to_value (
-                   GNUNET_DNSPARSER_TYPE_A, TEST_RECORD_A, &data, &data_size));
-  rd[0].data = data;
-  rd[0].data_size = data_size;
-  rd[0].expiration_time = exp1.abs_value_us;
-  rd[0].record_type = GNUNET_DNSPARSER_TYPE_A;
-  fprintf (stdout, "Record #0\n");
-  print_record (&rd[0]);
+           "Label: %s\nRRCOUNT: %d\n\n", label, rd_count);
+
+  for (int i = 0; i < rd_count; i++)
+  {
+    fprintf (stdout, "Record #%d\n", i);
+    print_record (&rd[i]);
+  }
 
-  rd[1].data = "Some nick";
-  rd[1].data_size = sizeof (struct GNUNET_IDENTITY_PublicKey);
-  rd[1].expiration_time = exp2.abs_value_us;
-  rd[1].record_type = GNUNET_GNSRECORD_TYPE_NICK;
-  rd[1].flags = GNUNET_GNSRECORD_RF_PRIVATE;
-  fprintf (stdout, "Record #1\n");
-  print_record (&rd[1]);
 
-  rdata_size = GNUNET_GNSRECORD_records_get_size (TEST_RRCOUNT,
+  rdata_size = GNUNET_GNSRECORD_records_get_size (rd_count,
                                                   rd);
   rdata = GNUNET_malloc (rdata_size);
-  GNUNET_GNSRECORD_records_serialize (2,
+  GNUNET_GNSRECORD_records_serialize (rd_count,
                                       rd,
                                       rdata_size,
                                       rdata);
   fprintf (stdout, "RDATA:\n");
   print_bytes (rdata, rdata_size, 8);
   fprintf (stdout, "\n");
-  expire = GNUNET_GNSRECORD_record_get_expiration_time (TEST_RRCOUNT, rd,
-                                                        
GNUNET_TIME_UNIT_FOREVER_ABS);
+  expire = GNUNET_GNSRECORD_record_get_expiration_time (rd_count, rd,
+                                                        
GNUNET_TIME_UNIT_ZERO_ABS);
   GNR_derive_block_aes_key (ctr,
                             skey,
-                            TEST_RECORD_LABEL,
+                            label,
                             GNUNET_TIME_absolute_hton (
                               expire).abs_value_us__,
                             &id_pub.ecdsa_key);
@@ -228,16 +206,16 @@ run_pkey (void)
   print_bytes (skey, sizeof (skey), 8);
   fprintf (stdout, "\n");
   GNUNET_GNSRECORD_query_from_public_key (&id_pub,
-                                          TEST_RECORD_LABEL,
+                                          label,
                                           &query);
   fprintf (stdout, "Storage key (q):\n");
   print_bytes (&query, sizeof (query), 8);
   fprintf (stdout, "\n");
   GNUNET_assert (GNUNET_OK == GNUNET_GNSRECORD_block_create (&id_priv,
                                                              expire,
-                                                             TEST_RECORD_LABEL,
+                                                             label,
                                                              rd,
-                                                             TEST_RRCOUNT,
+                                                             rd_count,
                                                              &rrblock));
   size_t bdata_size = ntohl(rrblock->size) - sizeof (struct 
GNUNET_GNSRECORD_Block);
 
@@ -261,13 +239,10 @@ run_pkey (void)
  * @param cfg configuration
  */
 static void
-run_edkey (void)
+run_edkey (struct GNUNET_GNSRECORD_Data *rd, int rd_count, const char* label)
 {
-  struct GNUNET_GNSRECORD_Data rd[2];
   struct GNUNET_TIME_Absolute expire;
   struct GNUNET_TIME_Absolute now = GNUNET_TIME_absolute_get ();
-  struct GNUNET_TIME_Absolute exp1;
-  struct GNUNET_TIME_Absolute exp2;
   struct GNUNET_TIME_Relative delta1;
   struct GNUNET_TIME_Relative delta2;
   struct GNUNET_GNSRECORD_Block *rrblock;
@@ -286,14 +261,6 @@ run_edkey (void)
   unsigned char nonce[crypto_secretbox_NONCEBYTES];
   unsigned char skey[crypto_secretbox_KEYBYTES];
 
-  /*
-   * Make two different expiration times
-   */
-  GNUNET_STRINGS_fancy_time_to_absolute ("%2048-01-23 10:51:34",
-                                         &exp1);
-  GNUNET_STRINGS_fancy_time_to_absolute ("3540-05-22 07:55:01",
-                                         &exp2);
-
   id_priv.type = htonl (GNUNET_GNSRECORD_TYPE_PKEY);
   GNUNET_CRYPTO_ecdsa_key_create (&id_priv.ecdsa_key);
   GNUNET_IDENTITY_key_get_public (&id_priv,
@@ -327,32 +294,21 @@ run_edkey (void)
   GNUNET_IDENTITY_key_get_public (&pkey_data_p,
                                   &pkey_data);
   fprintf (stdout,
-           "Label: %s\nRRCOUNT: %d\n\n", TEST_RECORD_LABEL, TEST_RRCOUNT);
-  memset (rd, 0, sizeof (struct GNUNET_GNSRECORD_Data) * 2);
-  GNUNET_assert (GNUNET_OK == GNUNET_GNSRECORD_string_to_value (
-                   GNUNET_DNSPARSER_TYPE_A, TEST_RECORD_A, &data, &data_size));
-  rd[0].data = data;
-  rd[0].data_size = data_size;
-  rd[0].expiration_time = exp1.abs_value_us;
-  rd[0].record_type = GNUNET_DNSPARSER_TYPE_A;
-  fprintf (stdout, "Record #0\n");
-  print_record (&rd[0]);
+           "Label: %s\nRRCOUNT: %d\n\n", label, rd_count);
 
-  rd[1].data = "My Nick";
-  rd[1].data_size = sizeof (struct GNUNET_IDENTITY_PublicKey);
-  rd[1].expiration_time = exp2.abs_value_us;
-  rd[1].record_type = GNUNET_GNSRECORD_TYPE_NICK;
-  rd[1].flags = GNUNET_GNSRECORD_RF_PRIVATE;
-  fprintf (stdout, "Record #1\n");
-  print_record (&rd[1]);
+  for (int i = 0; i < rd_count; i++)
+  {
+    fprintf (stdout, "Record #%d\n", i);
+    print_record (&rd[i]);
+  }
 
-  rdata_size = GNUNET_GNSRECORD_records_get_size (TEST_RRCOUNT,
+  rdata_size = GNUNET_GNSRECORD_records_get_size (rd_count,
                                                   rd);
-  expire = GNUNET_GNSRECORD_record_get_expiration_time (TEST_RRCOUNT,
+  expire = GNUNET_GNSRECORD_record_get_expiration_time (rd_count,
                                                         rd,
-                                                        
GNUNET_TIME_UNIT_FOREVER_ABS);
+                                                        
GNUNET_TIME_UNIT_ZERO_ABS);
   rdata = GNUNET_malloc (rdata_size);
-  GNUNET_GNSRECORD_records_serialize (2,
+  GNUNET_GNSRECORD_records_serialize (rd_count,
                                       rd,
                                       rdata_size,
                                       rdata);
@@ -361,7 +317,7 @@ run_edkey (void)
   fprintf (stdout, "\n");
   GNR_derive_block_xsalsa_key (nonce,
                                skey,
-                               TEST_RECORD_LABEL,
+                               label,
                                GNUNET_TIME_absolute_hton (
                                  expire).abs_value_us__,
                                &id_pub.eddsa_key);
@@ -372,7 +328,7 @@ run_edkey (void)
   print_bytes (skey, sizeof (skey), 8);
   fprintf (stdout, "\n");
   GNUNET_GNSRECORD_query_from_public_key (&id_pub,
-                                          TEST_RECORD_LABEL,
+                                          label,
                                           &query);
   fprintf (stdout, "Storage key (q):\n");
   print_bytes (&query, sizeof (query), 8);
@@ -380,9 +336,9 @@ run_edkey (void)
 
   GNUNET_assert (GNUNET_OK ==  GNUNET_GNSRECORD_block_create (&id_priv,
                                                               expire,
-                                                              
TEST_RECORD_LABEL,
+                                                              label,
                                                               rd,
-                                                              TEST_RRCOUNT,
+                                                              rd_count,
                                                               &rrblock));
   size_t bdata_size = ntohl(rrblock->size) - sizeof (struct 
GNUNET_GNSRECORD_Block);
 
@@ -411,8 +367,68 @@ run (void *cls,
      const char *cfgfile,
      const struct GNUNET_CONFIGURATION_Handle *cfg)
 {
-  run_pkey ();
-  run_edkey ();
+  struct GNUNET_GNSRECORD_Data rd_pkey;
+  struct GNUNET_GNSRECORD_Data rd[3];
+  struct GNUNET_TIME_Absolute exp1;
+  struct GNUNET_TIME_Absolute exp2;
+  struct GNUNET_TIME_Relative exp3;
+  size_t pkey_data_size;
+  size_t ip_data_size;
+  char *pkey_data;
+  char *ip_data;
+
+
+  /*
+   * Make different expiration times
+   */
+  GNUNET_STRINGS_fancy_time_to_absolute ("2048-01-23 10:51:34",
+                                         &exp1);
+  GNUNET_STRINGS_fancy_time_to_absolute ("3540-05-22 07:55:01",
+                                         &exp2);
+  GNUNET_STRINGS_fancy_time_to_relative ("100y",
+                                         &exp3);
+
+
+
+  memset (&rd_pkey, 0, sizeof (struct GNUNET_GNSRECORD_Data));
+  GNUNET_assert (GNUNET_OK == GNUNET_GNSRECORD_string_to_value (
+                   GNUNET_GNSRECORD_TYPE_PKEY,
+                   
"000G0011WESGZY9VRV9NNJ66W3GKNZFZF56BFD2BQF3MHMJST2G2GKDYGG",
+                   (void**)&pkey_data,
+                   &pkey_data_size));
+  rd_pkey.data = pkey_data;
+  rd_pkey.data_size = pkey_data_size;
+  rd_pkey.expiration_time = exp1.abs_value_us;
+  rd_pkey.record_type = GNUNET_GNSRECORD_TYPE_PKEY;
+  rd_pkey.flags = GNUNET_GNSRECORD_RF_CRITICAL;
+  GNUNET_assert (GNUNET_OK == GNUNET_GNSRECORD_string_to_value (
+                   GNUNET_DNSPARSER_TYPE_AAAA,
+                   "::dead:beef",
+                   (void**)&ip_data,
+                   &ip_data_size));
+
+  rd[0].data = ip_data;
+  rd[0].data_size = ip_data_size;
+  rd[0].expiration_time = exp1.abs_value_us;
+  rd[0].record_type = GNUNET_DNSPARSER_TYPE_AAAA;
+  rd[0].flags = GNUNET_GNSRECORD_RF_NONE;
+
+  rd[1].data = "Some nick";
+  rd[1].data_size = strlen (rd[1].data);
+  rd[1].expiration_time = exp2.abs_value_us;
+  rd[1].record_type = GNUNET_GNSRECORD_TYPE_NICK;
+  rd[1].flags = GNUNET_GNSRECORD_RF_PRIVATE;
+
+  rd[2].data = "Hello World";
+  rd[2].data_size = strlen (rd[2].data);
+  rd[2].expiration_time = exp3.rel_value_us;
+  rd[2].record_type = GNUNET_DNSPARSER_TYPE_TXT;
+  rd[2].flags = GNUNET_GNSRECORD_RF_SUPPLEMENTAL | 
GNUNET_GNSRECORD_RF_RELATIVE_EXPIRATION;
+
+  run_pkey (&rd_pkey, 1, "testdelegation");
+  run_pkey (rd, 3, "testset");
+  run_edkey (&rd_pkey, 1, "testdelegation");
+  run_edkey (rd, 3, "testset");
 }
 
 

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