gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r13220 - gnunet/src/vpn


From: gnunet
Subject: [GNUnet-SVN] r13220 - gnunet/src/vpn
Date: Fri, 8 Oct 2010 11:03:38 +0200

Author: toelke
Date: 2010-10-08 11:03:38 +0200 (Fri, 08 Oct 2010)
New Revision: 13220

Modified:
   gnunet/src/vpn/gnunet-service-dns.c
Log:
pyblish a dns-record for testing

Modified: gnunet/src/vpn/gnunet-service-dns.c
===================================================================
--- gnunet/src/vpn/gnunet-service-dns.c 2010-10-08 09:03:37 UTC (rev 13219)
+++ gnunet/src/vpn/gnunet-service-dns.c 2010-10-08 09:03:38 UTC (rev 13220)
@@ -205,6 +205,38 @@
        GNUNET_DHT_disconnect(mycls.dht);
 }
 
+static void
+publish_name (void *cls,
+            const struct GNUNET_SCHEDULER_TaskContext *tc)
+{
+  if (0 != (tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN))
+    return;
+
+  char* name = "philipptoelke.gnunet";
+  size_t size = sizeof(struct GNUNET_DNS_Record) + strlen(name) - 1;
+  struct GNUNET_DNS_Record *data = alloca(size);
+  memset(data, 0, size);
+  memcpy(data->name, name, strlen(name));
+  data->namelen = strlen(name);
+  *((unsigned int*)&data->service_descriptor) = 0x11223344;
+  *((unsigned int*)&data->peer) = 0x55667788;
+
+  GNUNET_HashCode key;
+  GNUNET_CRYPTO_hash(name, strlen(name), &key);
+  GNUNET_DHT_put(mycls.dht,
+                     &key,
+                     GNUNET_DHT_RO_NONE,
+                     GNUNET_BLOCK_TYPE_DNS,
+                     size,
+                     (char*)data,
+                     GNUNET_TIME_relative_to_absolute(GNUNET_TIME_UNIT_HOURS),
+                     GNUNET_TIME_UNIT_MINUTES,
+                     NULL,
+                     NULL);
+
+  GNUNET_SCHEDULER_add_delayed (mycls.sched, GNUNET_TIME_UNIT_MINUTES, 
publish_name, NULL);
+}
+
 /**
  * @param cls closure
  * @param sched scheduler to use
@@ -257,6 +289,8 @@
 
   hijack(htons(addr.sin_port));
 
+  GNUNET_SCHEDULER_add_now (mycls.sched, publish_name, NULL);
+
        GNUNET_SCHEDULER_add_read_net(sched, GNUNET_TIME_UNIT_FOREVER_REL, 
mycls.dnsout, &read_response, NULL);
 
   GNUNET_SERVER_add_handlers (server, handlers);




reply via email to

[Prev in Thread] Current Thread [Next in Thread]