From 759a00471b2b21d3b3eb593fa616e4ce67ade816 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Philipp=20T=C3=B6lke?= Date: Fri, 8 Oct 2010 09:03:38 +0000 Subject: [PATCH] pyblish a dns-record for testing --- src/vpn/gnunet-service-dns.c | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) 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); -- 2.25.1