fix
[oweals/gnunet.git] / src / gns / test_gns_simple_mx_lookup.c
index 57531c4eba6532a80d8a1198eb3d5580a7a4258a..8648d3f16dc1c3e9d8168eb6d30bbd5cb8d4f38c 100644 (file)
@@ -93,14 +93,11 @@ static void
 on_lookup_result(void *cls, uint32_t rd_count,
                  const struct GNUNET_NAMESTORE_RecordData *rd)
 {
-  struct in_addr a;
   int i;
-  char* addr;
-  int mx_found = 0;
-  int ip_found = 0;
   uint16_t mx_preference;
   char* mx;
   
+  GNUNET_NAMESTORE_disconnect (namestore_handle);
   if (rd_count == 0)
   {
     GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
@@ -114,19 +111,7 @@ on_lookup_result(void *cls, uint32_t rd_count,
     for (i=0; i<rd_count; i++)
     {
       GNUNET_log (GNUNET_ERROR_TYPE_INFO, "type: %d\n", rd[i].record_type);
-      if (rd[i].record_type == GNUNET_GNS_RECORD_TYPE_A)
-      {
-        memcpy(&a, rd[i].data, sizeof(a));
-        addr = inet_ntoa(a);
-        GNUNET_log (GNUNET_ERROR_TYPE_INFO, "address: %s\n", addr);
-        if (0 == strcmp(addr, TEST_IP))
-        {
-          GNUNET_log (GNUNET_ERROR_TYPE_INFO,
-                    "%s correctly resolved to %s!\n", TEST_DOMAIN, addr);
-          ip_found = 1;
-        }
-      }
-      else if (rd[i].record_type == GNUNET_GNS_RECORD_MX)
+      if (rd[i].record_type == GNUNET_GNS_RECORD_MX)
       {
         mx = (char*)rd[i].data+sizeof(uint16_t);
         mx_preference = *(uint16_t*)rd[i].data;
@@ -137,26 +122,12 @@ on_lookup_result(void *cls, uint32_t rd_count,
           GNUNET_log (GNUNET_ERROR_TYPE_INFO,
                       "%s correctly resolved to %s!\n", TEST_DOMAIN,
                       TEST_EXPECTED_MX);
-          mx_found = 1;
+          ok = 0;
         }
       }
     }
   }
 
-  if (ip_found && mx_found)
-  {
-    GNUNET_log (GNUNET_ERROR_TYPE_INFO,
-                "Test succeeded!\n");
-    ok = 0;
-  }
-
-  if (!ip_found && mx_found)
-  {
-    GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
-  "Test partially succeeded: A record not passed along!(NOT IMPLEMENTED)\n");
-    ok = 0;
-  }
-
   GNUNET_GNS_disconnect(gns_handle);
   GNUNET_log (GNUNET_ERROR_TYPE_INFO, "Shutting down peer1!\n");
   GNUNET_TESTING_daemons_stop (pg, TIMEOUT, &shutdown_callback, NULL);
@@ -170,7 +141,6 @@ on_lookup_result(void *cls, uint32_t rd_count,
 static void
 commence_testing (void *cls, int32_t success, const char *emsg)
 {
-  GNUNET_NAMESTORE_disconnect(namestore_handle, GNUNET_YES);
 
   gns_handle = GNUNET_GNS_connect(cfg);
 
@@ -182,6 +152,7 @@ commence_testing (void *cls, int32_t success, const char *emsg)
 
   GNUNET_GNS_lookup(gns_handle, TEST_DOMAIN, GNUNET_GNS_RECORD_MX,
                     GNUNET_NO,
+                    NULL,
                     &on_lookup_result, TEST_DOMAIN);
 }
 
@@ -224,6 +195,7 @@ do_lookup(void *cls, const struct GNUNET_PeerIdentity *id,
   struct GNUNET_CRYPTO_ShortHashCode bob_hash;
   struct GNUNET_CRYPTO_RsaSignature *sig;
   char* alice_keyfile;
+  struct GNUNET_TIME_Absolute et;
 
   cfg = _cfg;
 
@@ -258,7 +230,7 @@ do_lookup(void *cls, const struct GNUNET_PeerIdentity *id,
   struct in_addr *mail = GNUNET_malloc(sizeof(struct in_addr));
   char *mx_record;
   uint16_t mx_preference = 1;
-  rd.expiration = GNUNET_TIME_UNIT_FOREVER_ABS;
+  rd.expiration_time = UINT64_MAX;
   GNUNET_assert(1 == inet_pton (AF_INET, ip, mail));
   
   GNUNET_CRYPTO_short_hash(&bob_pkey, sizeof(bob_pkey), &bob_hash);
@@ -266,6 +238,7 @@ do_lookup(void *cls, const struct GNUNET_PeerIdentity *id,
   rd.data_size = sizeof(struct GNUNET_CRYPTO_ShortHashCode);
   rd.data = &bob_hash;
   rd.record_type = GNUNET_GNS_RECORD_PKEY;
+  rd.flags = GNUNET_NAMESTORE_RF_AUTHORITY;
 
   GNUNET_NAMESTORE_record_create (namestore_handle,
                                   alice_key,
@@ -281,11 +254,11 @@ do_lookup(void *cls, const struct GNUNET_PeerIdentity *id,
                                           GNUNET_TIME_UNIT_FOREVER_ABS,
                                           TEST_RECORD_NAME,
                                           &rd, 1);
-
+  et.abs_value = rd.expiration_time;
   GNUNET_NAMESTORE_record_put (namestore_handle,
                                &bob_pkey,
                                TEST_RECORD_NAME,
-                               rd.expiration,
+                               et,
                                1,
                                &rd,
                                sig,
@@ -302,10 +275,11 @@ do_lookup(void *cls, const struct GNUNET_PeerIdentity *id,
                                           GNUNET_TIME_UNIT_FOREVER_ABS,
                                           "+",
                                           &rd, 1);
+  et.abs_value = rd.expiration_time;
   GNUNET_NAMESTORE_record_put (namestore_handle,
                                &bob_pkey,
                                "+",
-                               rd.expiration,
+                               et,
                                1,
                                &rd,
                                sig,
@@ -350,7 +324,7 @@ check ()
   int ret;
 
   /* Arguments for GNUNET_PROGRAM_run */
-  char *const argv[] = { "test-gns-simple-delegated-lookup", /* Name to give running binary */
+  char *const argv[] = { "test-gns-simple-mx-lookup", /* Name to give running binary */
     "-c",
     "test_gns_simple_lookup.conf",       /* Config file to use */
 #if VERBOSE
@@ -364,12 +338,12 @@ check ()
   /* Run the run function as a new program */
   ret =
       GNUNET_PROGRAM_run ((sizeof (argv) / sizeof (char *)) - 1, argv,
-                          "test-gns-simple-delegated-lookup", "nohelp", options, &run,
+                          "test-gns-simple-mx-lookup", "nohelp", options, &run,
                           &ok);
   if (ret != GNUNET_OK)
   {
     GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
-                "`test-gns-simple-delegated-lookup': Failed with error code %d\n", ret);
+                "`test-gns-simple-mx-lookup': Failed with error code %d\n", ret);
   }
   return ok;
 }
@@ -379,7 +353,7 @@ main (int argc, char *argv[])
 {
   int ret;
 
-  GNUNET_log_setup ("test-gns-simple-lookup",
+  GNUNET_log_setup ("test-gns-simple-mx-lookup",
 #if VERBOSE
                     "DEBUG",
 #else
@@ -394,4 +368,4 @@ main (int argc, char *argv[])
   return ret;
 }
 
-/* end of test_gns_twopeer.c */
+/* end of test_gns_simple_mx_lookup.c */