gnunet-svn
[Top][All Lists]
Advanced

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

[gnunet] branch master updated: -fix big endian again; add test vector c


From: gnunet
Subject: [gnunet] branch master updated: -fix big endian again; add test vector consumer
Date: Mon, 31 Jan 2022 10:05:21 +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 f70367271 -fix big endian again; add test vector consumer
f70367271 is described below

commit f70367271434cbb80e7f51665925ac7240adab10
Author: Martin Schanzenbach <schanzen@gnunet.org>
AuthorDate: Mon Jan 31 10:05:15 2022 +0100

    -fix big endian again; add test vector consumer
---
 src/gnsrecord/Makefile.am            |  9 ++++++
 src/gnsrecord/gnunet-gnsrecord-tvg.c | 60 +++++++++++++++++++++++++++++-------
 2 files changed, 58 insertions(+), 11 deletions(-)

diff --git a/src/gnsrecord/Makefile.am b/src/gnsrecord/Makefile.am
index 42ac4ede4..4308d9c1a 100644
--- a/src/gnsrecord/Makefile.am
+++ b/src/gnsrecord/Makefile.am
@@ -20,6 +20,7 @@ check_PROGRAMS = \
  test_gnsrecord_crypto \
  test_gnsrecord_serialization \
  test_gnsrecord_block_expiration \
+ test_gnsrecord_testvectors \
  perf_gnsrecord_crypto
 
 if ENABLE_TEST_RUN
@@ -85,6 +86,14 @@ libgnunet_plugin_gnsrecord_dns_la_LDFLAGS = \
 EXTRA_DIST = \
   $(check_SCRIPTS)
 
+test_gnsrecord_testvectors_SOURCES = \
+ test_gnsrecord_testvectors.c
+test_gnsrecord_testvectors_LDADD = \
+  $(top_builddir)/src/testing/libgnunettesting.la \
+       $(top_builddir)/src/identity/libgnunetidentity.la \
+  libgnunetgnsrecord.la \
+  $(top_builddir)/src/util/libgnunetutil.la
+
 
 test_gnsrecord_serialization_SOURCES = \
  test_gnsrecord_serialization.c
diff --git a/src/gnsrecord/gnunet-gnsrecord-tvg.c 
b/src/gnsrecord/gnunet-gnsrecord-tvg.c
index bdb995a50..9e3dea921 100644
--- a/src/gnsrecord/gnunet-gnsrecord-tvg.c
+++ b/src/gnsrecord/gnunet-gnsrecord-tvg.c
@@ -96,7 +96,12 @@ static void
 run_pkey (void)
 {
   struct GNUNET_GNSRECORD_Data rd[2];
-  struct GNUNET_TIME_Absolute exp_abs = GNUNET_TIME_absolute_get ();
+  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;
   char *bdata;
   struct GNUNET_IDENTITY_PrivateKey id_priv;
@@ -110,13 +115,23 @@ run_pkey (void)
   uint32_t rd_count_nbo;
   char ztld[128];
 
+  /*
+   * Make two different expiration times
+   */
+  delta1 = GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_YEARS,
+                                          420); //420 years
+  delta2 = GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_YEARS,
+                                          777); //777 years
+  exp1 = GNUNET_TIME_absolute_add (now, delta1);
+  exp2 = GNUNET_TIME_absolute_add (now, delta2);
+
   id_priv.type = htonl (GNUNET_GNSRECORD_TYPE_PKEY);
   GNUNET_CRYPTO_ecdsa_key_create (&id_priv.ecdsa_key);
   GNUNET_IDENTITY_key_get_public (&id_priv,
                                   &id_pub);
   fprintf (stdout,
            "Zone private key (d, big-endian):\n");
-  print_bytes_ (&id_priv.ecdsa_key, sizeof (struct 
GNUNET_CRYPTO_EcdsaPrivateKey), 8, 1);
+  print_bytes (&id_priv.ecdsa_key, sizeof (struct 
GNUNET_CRYPTO_EcdsaPrivateKey), 8);
   fprintf (stdout, "\n");
   fprintf (stdout, "Zone identifier (ztype|zkey):\n");
   print_bytes (&id_pub, GNUNET_IDENTITY_key_get_length (&id_pub), 8);
@@ -140,20 +155,20 @@ run_pkey (void)
                    GNUNET_DNSPARSER_TYPE_A, TEST_RECORD_A, &data, &data_size));
   rd[0].data = data;
   rd[0].data_size = data_size;
-  rd[0].expiration_time = exp_abs.abs_value_us;
+  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]);
 
   rd[1].data = &pkey_data;
   rd[1].data_size = sizeof (struct GNUNET_IDENTITY_PublicKey);
-  rd[1].expiration_time = exp_abs.abs_value_us;
+  rd[1].expiration_time = exp2.abs_value_us;
   rd[1].record_type = GNUNET_GNSRECORD_TYPE_PKEY;
   rd[1].flags = GNUNET_GNSRECORD_RF_PRIVATE;
   fprintf (stdout, "Record #1\n");
   print_record (&rd[1]);
 
-  rdata_size = GNUNET_GNSRECORD_records_get_size (2,
+  rdata_size = GNUNET_GNSRECORD_records_get_size (TEST_RRCOUNT,
                                                   rd);
   rdata = GNUNET_malloc (rdata_size);
   rd_count_nbo = htonl(2);
@@ -167,8 +182,9 @@ run_pkey (void)
   fprintf (stdout, "RDATA:\n");
   print_bytes (rdata, rdata_size, 8);
   fprintf (stdout, "\n");
+  expire = GNUNET_GNSRECORD_record_get_expiration_time (TEST_RRCOUNT, rd);
   rrblock = GNUNET_GNSRECORD_block_create (&id_priv,
-                                           exp_abs,
+                                           expire,
                                            TEST_RECORD_LABEL,
                                            rd,
                                            TEST_RRCOUNT);
@@ -203,7 +219,12 @@ static void
 run_edkey (void)
 {
   struct GNUNET_GNSRECORD_Data rd[2];
-  struct GNUNET_TIME_Absolute exp_abs = GNUNET_TIME_absolute_get ();
+  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;
   char *bdata;
   struct GNUNET_IDENTITY_PrivateKey id_priv;
@@ -217,6 +238,21 @@ run_edkey (void)
   uint32_t rd_count_nbo;
   char ztld[128];
 
+  /*
+   * Make two different expiration times
+   */
+  delta1 = GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_YEARS,
+                                          420); //420 years
+  delta2 = GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_YEARS,
+                                          777); //777 years
+  exp1 = GNUNET_TIME_absolute_add (now, delta1);
+  exp2 = GNUNET_TIME_absolute_add (now, delta2);
+
+  id_priv.type = htonl (GNUNET_GNSRECORD_TYPE_PKEY);
+  GNUNET_CRYPTO_ecdsa_key_create (&id_priv.ecdsa_key);
+  GNUNET_IDENTITY_key_get_public (&id_priv,
+                                  &id_pub);
+
   id_priv.type = htonl (GNUNET_IDENTITY_TYPE_EDDSA);
   GNUNET_CRYPTO_eddsa_key_create (&id_priv.eddsa_key);
   GNUNET_IDENTITY_key_get_public (&id_priv,
@@ -247,21 +283,23 @@ run_edkey (void)
                    GNUNET_DNSPARSER_TYPE_A, TEST_RECORD_A, &data, &data_size));
   rd[0].data = data;
   rd[0].data_size = data_size;
-  rd[0].expiration_time = exp_abs.abs_value_us;
+  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]);
 
   rd[1].data = &pkey_data;
   rd[1].data_size = sizeof (struct GNUNET_IDENTITY_PublicKey);
-  rd[1].expiration_time = exp_abs.abs_value_us;
+  rd[1].expiration_time = exp2.abs_value_us;
   rd[1].record_type = GNUNET_GNSRECORD_TYPE_EDKEY;
   rd[1].flags = GNUNET_GNSRECORD_RF_PRIVATE;
   fprintf (stdout, "Record #1\n");
   print_record (&rd[1]);
 
-  rdata_size = GNUNET_GNSRECORD_records_get_size (2,
+  rdata_size = GNUNET_GNSRECORD_records_get_size (TEST_RRCOUNT,
                                                   rd);
+  expire = GNUNET_GNSRECORD_record_get_expiration_time (TEST_RRCOUNT,
+                                                        rd);
   rdata = GNUNET_malloc (sizeof (uint32_t) + rdata_size);
   rd_count_nbo = htonl(2);
   GNUNET_memcpy (rdata,
@@ -275,7 +313,7 @@ run_edkey (void)
   print_bytes (rdata, rdata_size, 8);
   fprintf (stdout, "\n");
   rrblock = GNUNET_GNSRECORD_block_create (&id_priv,
-                                           exp_abs,
+                                           expire,
                                            TEST_RECORD_LABEL,
                                            rd,
                                            TEST_RRCOUNT);

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