#include "gnunet_crypto_lib.h"
#include "gnunet_signatures.h"
-/**
- * The scheduler to use throughout the service
- */
-static struct GNUNET_SCHEDULER_Handle *sched;
-
/**
* The UDP-Socket through which DNS-Resolves will be sent if they are not to be
* sent through gnunet. The port of this socket will not be hijacked.
GNUNET_CRYPTO_hash(&rec->peer,
sizeof(struct GNUNET_CRYPTO_RsaPublicKeyBinaryEncoded),
- &answer->pkt.peer);
+ &answer->pkt.service_descr.peer);
- memcpy(&answer->pkt.service_descriptor,
+ memcpy(&answer->pkt.service_descr.service_descriptor,
&rec->service_descriptor,
sizeof(GNUNET_HashCode));
- memcpy(&answer->pkt.service_type,
+ memcpy(&answer->pkt.service_descr.service_type,
&rec->service_type,
- sizeof(answer->pkt.service_type));
- memcpy(&answer->pkt.ports, &rec->ports, sizeof(answer->pkt.ports));
+ sizeof(answer->pkt.service_descr.service_type));
+ memcpy(&answer->pkt.service_descr.ports, &rec->ports, sizeof(answer->pkt.service_descr.ports));
answer->pkt.from = query_states[id].remote_ip;
struct GNUNET_SERVER_Client *client,
const struct GNUNET_MessageHeader *message) {
unhijack(dnsoutport);
- GNUNET_SCHEDULER_add_delayed(sched, GNUNET_TIME_UNIT_SECONDS, hijack, NULL);
+ GNUNET_SCHEDULER_add_delayed(GNUNET_TIME_UNIT_SECONDS, hijack, NULL);
GNUNET_SERVER_receive_done(client, GNUNET_OK);
}
GNUNET_TIME_UNIT_MINUTES,
GNUNET_BLOCK_TYPE_DNS,
&key,
+ DEFAULT_GET_REPLICATION,
GNUNET_DHT_RO_NONE,
NULL,
0,
{
GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, "Reverse-Query for .gnunet!\n");
- GNUNET_SCHEDULER_add_now(sched, send_rev_query, pdns);
+ GNUNET_SCHEDULER_add_now(send_rev_query, pdns);
goto out;
}
struct sockaddr_in addr;
memset(&addr, 0, sizeof addr);
- unsigned int addrlen = sizeof addr;
+ socklen_t addrlen = sizeof addr;
int r;
r = GNUNET_NETWORK_socket_recvfrom(dnsout,
query_states[dns->s.id].client);
}
- GNUNET_SCHEDULER_add_read_net(sched,
- GNUNET_TIME_UNIT_FOREVER_REL,
+ GNUNET_SCHEDULER_add_read_net(GNUNET_TIME_UNIT_FOREVER_REL,
dnsout,
&read_response,
NULL);
GNUNET_CRYPTO_hash(name, strlen(name)+1, &data.service_descriptor);
+ data.service_type = htonl(GNUNET_DNS_SERVICE_TYPE_UDP);
+ data.ports = htons(69);
+
char* keyfile;
if (GNUNET_OK != GNUNET_CONFIGURATION_get_value_filename(cfg, "GNUNETD",
"HOSTKEY", &keyfile))
GNUNET_DHT_put(dht,
&data.service_descriptor,
+ DEFAULT_PUT_REPLICATION,
GNUNET_DHT_RO_NONE,
GNUNET_BLOCK_TYPE_DNS,
size,
NULL,
NULL);
- GNUNET_SCHEDULER_add_delayed (sched,
- GNUNET_TIME_UNIT_HOURS,
+ GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_HOURS,
publish_name,
NULL);
}
*/
static void
run (void *cls,
- struct GNUNET_SCHEDULER_Handle *sched_,
struct GNUNET_SERVER_Handle *server,
const struct GNUNET_CONFIGURATION_Handle *cfg_)
{
};
cfg = cfg_;
- sched = sched_;
unsigned int i;
for (i = 0; i < 65536; i++) {
query_states[i].valid = GNUNET_NO;
}
- dht = GNUNET_DHT_connect(sched, cfg, 1024);
+ dht = GNUNET_DHT_connect(cfg, 1024);
struct sockaddr_in addr;
dnsoutport = htons(addr.sin_port);
- GNUNET_SCHEDULER_add_now (sched, publish_name, NULL);
+ GNUNET_SCHEDULER_add_now (publish_name, NULL);
- GNUNET_SCHEDULER_add_read_net(sched, GNUNET_TIME_UNIT_FOREVER_REL, dnsout, &read_response, NULL);
+ GNUNET_SCHEDULER_add_read_net(GNUNET_TIME_UNIT_FOREVER_REL, dnsout, &read_response, NULL);
GNUNET_SERVER_add_handlers (server, handlers);
- GNUNET_SCHEDULER_add_delayed (sched,
- GNUNET_TIME_UNIT_FOREVER_REL,
+ GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_FOREVER_REL,
&cleanup_task,
cls);
}