From: Philipp Tölke Date: Fri, 8 Oct 2010 09:03:38 +0000 (+0000) Subject: pyblish a dns-record for testing X-Git-Tag: initial-import-from-subversion-38251~20117 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=759a00471b2b21d3b3eb593fa616e4ce67ade816;p=oweals%2Fgnunet.git pyblish a dns-record for testing --- diff --git a/src/vpn/gnunet-service-dns.c b/src/vpn/gnunet-service-dns.c index 1bf94ce48..14cd07f7a 100644 --- a/src/vpn/gnunet-service-dns.c +++ b/src/vpn/gnunet-service-dns.c @@ -205,6 +205,38 @@ cleanup_task (void *cls, 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 @@ run (void *cls, 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);