diff options
author | Christian Grothoff <christian@grothoff.org> | 2018-04-19 18:38:41 +0200 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2018-04-19 18:38:41 +0200 |
commit | ff4d7b51f37f61633766664647e9b148af1e4f0a (patch) | |
tree | 500aa14d9452ce90c19dbbb18cfaec0dd51e6ec2 /src/gns/gnunet-dns2gns.c | |
parent | 9c699755967529e59815561d03b85e9a90d789f8 (diff) | |
download | gnunet-ff4d7b51f37f61633766664647e9b148af1e4f0a.tar.gz gnunet-ff4d7b51f37f61633766664647e9b148af1e4f0a.zip |
support multiple DNS resolvers for queries (in DNSSTUB and GNS2DNS resolution for now)
Diffstat (limited to 'src/gns/gnunet-dns2gns.c')
-rw-r--r-- | src/gns/gnunet-dns2gns.c | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/src/gns/gnunet-dns2gns.c b/src/gns/gnunet-dns2gns.c index 47cc6dde0..bc66f1325 100644 --- a/src/gns/gnunet-dns2gns.c +++ b/src/gns/gnunet-dns2gns.c | |||
@@ -247,19 +247,16 @@ do_timeout (void *cls) | |||
247 | * Iterator called on obtained result for a DNS lookup | 247 | * Iterator called on obtained result for a DNS lookup |
248 | * | 248 | * |
249 | * @param cls closure | 249 | * @param cls closure |
250 | * @param rs the request socket | ||
251 | * @param dns the DNS udp payload | 250 | * @param dns the DNS udp payload |
252 | * @param r size of the DNS payload | 251 | * @param r size of the DNS payload |
253 | */ | 252 | */ |
254 | static void | 253 | static void |
255 | dns_result_processor (void *cls, | 254 | dns_result_processor (void *cls, |
256 | struct GNUNET_DNSSTUB_RequestSocket *rs, | ||
257 | const struct GNUNET_TUN_DnsHeader *dns, | 255 | const struct GNUNET_TUN_DnsHeader *dns, |
258 | size_t r) | 256 | size_t r) |
259 | { | 257 | { |
260 | struct Request *request = cls; | 258 | struct Request *request = cls; |
261 | 259 | ||
262 | (void) rs; | ||
263 | if (NULL == dns) | 260 | if (NULL == dns) |
264 | { | 261 | { |
265 | /* DNSSTUB gave up, so we trigger timeout early */ | 262 | /* DNSSTUB gave up, so we trigger timeout early */ |
@@ -307,11 +304,11 @@ result_processor (void *cls, | |||
307 | request->original_request_id = request->packet->id; | 304 | request->original_request_id = request->packet->id; |
308 | GNUNET_DNSPARSER_free_packet (request->packet); | 305 | GNUNET_DNSPARSER_free_packet (request->packet); |
309 | request->packet = NULL; | 306 | request->packet = NULL; |
310 | request->dns_lookup = GNUNET_DNSSTUB_resolve2 (dns_stub, | 307 | request->dns_lookup = GNUNET_DNSSTUB_resolve (dns_stub, |
311 | request->udp_msg, | 308 | request->udp_msg, |
312 | request->udp_msg_size, | 309 | request->udp_msg_size, |
313 | &dns_result_processor, | 310 | &dns_result_processor, |
314 | request); | 311 | request); |
315 | return; | 312 | return; |
316 | } | 313 | } |
317 | packet = request->packet; | 314 | packet = request->packet; |
@@ -594,8 +591,12 @@ run (void *cls, | |||
594 | NULL); | 591 | NULL); |
595 | if (NULL == (gns = GNUNET_GNS_connect (cfg))) | 592 | if (NULL == (gns = GNUNET_GNS_connect (cfg))) |
596 | return; | 593 | return; |
597 | if (NULL == (dns_stub = GNUNET_DNSSTUB_start (dns_ip))) | 594 | GNUNET_assert (NULL != (dns_stub = GNUNET_DNSSTUB_start (128))); |
595 | if (GNUNET_OK != | ||
596 | GNUNET_DNSSTUB_add_dns_ip (dns_stub, | ||
597 | dns_ip)) | ||
598 | { | 598 | { |
599 | GNUNET_DNSSTUB_stop (dns_stub); | ||
599 | GNUNET_GNS_disconnect (gns); | 600 | GNUNET_GNS_disconnect (gns); |
600 | gns = NULL; | 601 | gns = NULL; |
601 | return; | 602 | return; |