fix
[oweals/gnunet.git] / src / gns / test_gns_dht_threepeer.c
index c001d54e20b4af1e08c344ec883814e9c433c0e4..8bcc06464715e9a3ed971956f528e5a8c7e6b295 100644 (file)
@@ -42,7 +42,7 @@
 #define VERBOSE GNUNET_YES
 
 /* Timeout for entire testcase */
-#define TIMEOUT GNUNET_TIME_relative_multiply(GNUNET_TIME_UNIT_SECONDS, 180)
+#define TIMEOUT GNUNET_TIME_relative_multiply(GNUNET_TIME_UNIT_MINUTES, 5)
 #define ZONE_PUT_WAIT_TIME GNUNET_TIME_relative_multiply(GNUNET_TIME_UNIT_SECONDS, 30)
 
 /* If number of peers not in config file, use this number */
@@ -161,7 +161,6 @@ on_lookup_result(void *cls, uint32_t rd_count,
 {
   int i;
   char* string_val;
-  const char* typename;
 
   if (rd_count == 0)
   {
@@ -175,11 +174,9 @@ on_lookup_result(void *cls, uint32_t rd_count,
     GNUNET_log (GNUNET_ERROR_TYPE_INFO, "name: %s\n", (char*)cls);
     for (i=0; i<rd_count; i++)
     {
-      typename = GNUNET_NAMESTORE_number_to_typename (rd[i].record_type);
       string_val = GNUNET_NAMESTORE_value_to_string(rd[i].record_type,
                                                     rd[i].data,
                                                     rd[i].data_size);
-      printf("Got %s record: %s\n", typename, string_val);
       if (0 == strcmp(string_val, TEST_IP))
       {
         GNUNET_log (GNUNET_ERROR_TYPE_INFO,
@@ -200,11 +197,11 @@ static void
 commence_testing(void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
 {
   
-
   gh = GNUNET_GNS_connect(alice_cfg);
 
-  GNUNET_GNS_lookup(gh, TEST_DOMAIN, GNUNET_GNS_RECORD_TYPE_A,
+  GNUNET_GNS_lookup(gh, TEST_DOMAIN, GNUNET_GNS_RECORD_A,
                     GNUNET_NO,
+                    NULL,
                     &on_lookup_result, TEST_DOMAIN);
   die_task =
     GNUNET_SCHEDULER_add_delayed (TIMEOUT, &end_badly, "from lookup");
@@ -280,10 +277,16 @@ all_connected(void *cls, const char *emsg)
   GNUNET_SCHEDULER_add_delayed (ZONE_PUT_WAIT_TIME, &commence_testing, NULL);
 }
 
-void
-ns_create_cont(void *cls, int32_t s, const char *emsg)
+static void
+disconnect_ns (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
+{
+  GNUNET_NAMESTORE_disconnect (cls);
+}
+
+static void
+cont_ns (void* cls, int32_t s, const char* emsg)
 {
-  GNUNET_NAMESTORE_disconnect((struct GNUNET_NAMESTORE_Handle *)cls, 0);
+  GNUNET_SCHEDULER_add_now (&disconnect_ns, cls);
 }
 
 static void
@@ -299,7 +302,7 @@ daemon_started (void *cls, const struct GNUNET_PeerIdentity *id,
   struct GNUNET_NAMESTORE_RecordData rd;
 
   rd.flags = GNUNET_NAMESTORE_RF_AUTHORITY | GNUNET_NAMESTORE_RF_NONE;
-  rd.expiration = GNUNET_TIME_UNIT_FOREVER_ABS;
+  rd.expiration_time = UINT64_MAX;
   
   if (NULL == dave_daemon)
   {
@@ -325,7 +328,8 @@ daemon_started (void *cls, const struct GNUNET_PeerIdentity *id,
     GNUNET_assert(1 == inet_pton (AF_INET, TEST_IP, web));
     rd.data_size = sizeof(struct in_addr);
     rd.data = web;
-    rd.record_type = GNUNET_GNS_RECORD_TYPE_A;
+    rd.record_type = GNUNET_GNS_RECORD_A;
+    rd.flags = GNUNET_NAMESTORE_RF_AUTHORITY;
 
     GNUNET_NAMESTORE_record_create (ns, key, "www", &rd, NULL, NULL);
 
@@ -333,7 +337,7 @@ daemon_started (void *cls, const struct GNUNET_PeerIdentity *id,
     rd.data = TEST_DAVE_PSEU;
     rd.record_type = GNUNET_GNS_RECORD_PSEU;
 
-    GNUNET_NAMESTORE_record_create (ns, key, "+", &rd, ns_create_cont, ns);
+    GNUNET_NAMESTORE_record_create (ns, key, "+", &rd, &cont_ns, ns);
 
     GNUNET_CRYPTO_rsa_key_free(key);
     GNUNET_free(keyfile);
@@ -366,8 +370,9 @@ daemon_started (void *cls, const struct GNUNET_PeerIdentity *id,
     rd.data_size = sizeof(struct GNUNET_CRYPTO_ShortHashCode);
     rd.data = &dave_hash;
     rd.record_type = GNUNET_GNS_RECORD_PKEY;
+    rd.flags = GNUNET_NAMESTORE_RF_AUTHORITY;
 
-    GNUNET_NAMESTORE_record_create (ns, key, "buddy", &rd, ns_create_cont, ns);
+    GNUNET_NAMESTORE_record_create (ns, key, "buddy", &rd, &cont_ns, ns);
 
     GNUNET_CRYPTO_rsa_key_free(key);
     GNUNET_free(keyfile);
@@ -399,8 +404,9 @@ daemon_started (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 (ns, key, "bob", &rd, ns_create_cont, ns);
+    GNUNET_NAMESTORE_record_create (ns, key, "bob", &rd, &cont_ns, ns);
 
     GNUNET_CRYPTO_rsa_key_free(key);
     GNUNET_free(keyfile);