diff options
-rw-r--r-- | src/dns/dnsstub.c | 85 | ||||
-rw-r--r-- | src/dns/gnunet-service-dns.c | 3 | ||||
-rw-r--r-- | src/exit/gnunet-daemon-exit.c | 2 | ||||
-rw-r--r-- | src/gns/gnunet-dns2gns.c | 23 | ||||
-rw-r--r-- | src/gns/gnunet-service-gns_resolver.c | 27 | ||||
-rw-r--r-- | src/include/gnunet_dns_service.h | 9 | ||||
-rw-r--r-- | src/include/gnunet_dnsparser_lib.h | 1 |
7 files changed, 114 insertions, 36 deletions
diff --git a/src/dns/dnsstub.c b/src/dns/dnsstub.c index 364b6fe28..c79502ce9 100644 --- a/src/dns/dnsstub.c +++ b/src/dns/dnsstub.c | |||
@@ -235,8 +235,22 @@ get_request_socket (struct GNUNET_DNSSTUB_Context *ctx, | |||
235 | struct GNUNET_DNSSTUB_RequestSocket *rs; | 235 | struct GNUNET_DNSSTUB_RequestSocket *rs; |
236 | struct GNUNET_NETWORK_FDSet *rset; | 236 | struct GNUNET_NETWORK_FDSet *rset; |
237 | 237 | ||
238 | rs = &ctx->sockets[GNUNET_CRYPTO_random_u32 (GNUNET_CRYPTO_QUALITY_NONCE, | 238 | for (unsigned int i=0;i<256;i++) |
239 | DNS_SOCKET_MAX)]; | 239 | { |
240 | rs = &ctx->sockets[GNUNET_CRYPTO_random_u32 (GNUNET_CRYPTO_QUALITY_NONCE, | ||
241 | DNS_SOCKET_MAX)]; | ||
242 | if (NULL == rs->rc) | ||
243 | break; | ||
244 | } | ||
245 | if (NULL != rs->rc) | ||
246 | { | ||
247 | /* signal "failure" */ | ||
248 | rs->rc (rs->rc_cls, | ||
249 | rs, | ||
250 | NULL, | ||
251 | 0); | ||
252 | rs->rc = NULL; | ||
253 | } | ||
240 | rs->timeout = GNUNET_TIME_relative_to_absolute (REQUEST_TIMEOUT); | 254 | rs->timeout = GNUNET_TIME_relative_to_absolute (REQUEST_TIMEOUT); |
241 | switch (af) | 255 | switch (af) |
242 | { | 256 | { |
@@ -271,9 +285,11 @@ get_request_socket (struct GNUNET_DNSSTUB_Context *ctx, | |||
271 | return NULL; | 285 | return NULL; |
272 | rset = GNUNET_NETWORK_fdset_create (); | 286 | rset = GNUNET_NETWORK_fdset_create (); |
273 | if (NULL != rs->dnsout4) | 287 | if (NULL != rs->dnsout4) |
274 | GNUNET_NETWORK_fdset_set (rset, rs->dnsout4); | 288 | GNUNET_NETWORK_fdset_set (rset, |
289 | rs->dnsout4); | ||
275 | if (NULL != rs->dnsout6) | 290 | if (NULL != rs->dnsout6) |
276 | GNUNET_NETWORK_fdset_set (rset, rs->dnsout6); | 291 | GNUNET_NETWORK_fdset_set (rset, |
292 | rs->dnsout6); | ||
277 | rs->read_task = GNUNET_SCHEDULER_add_select (GNUNET_SCHEDULER_PRIORITY_DEFAULT, | 293 | rs->read_task = GNUNET_SCHEDULER_add_select (GNUNET_SCHEDULER_PRIORITY_DEFAULT, |
278 | REQUEST_TIMEOUT, | 294 | REQUEST_TIMEOUT, |
279 | rset, | 295 | rset, |
@@ -326,11 +342,11 @@ transmit_query (void *cls) | |||
326 | * | 342 | * |
327 | * @param ctx stub resolver to use | 343 | * @param ctx stub resolver to use |
328 | * @param sa the socket address | 344 | * @param sa the socket address |
329 | * @param sa_len the socket length | 345 | * @param sa_len the length of @a sa |
330 | * @param request DNS request to transmit | 346 | * @param request DNS request to transmit |
331 | * @param request_len number of bytes in msg | 347 | * @param request_len number of bytes in @a request |
332 | * @param rc function to call with result | 348 | * @param rc function to call with result |
333 | * @param rc_cls closure for 'rc' | 349 | * @param rc_cls closure for @a rc |
334 | * @return socket used for the request, NULL on error | 350 | * @return socket used for the request, NULL on error |
335 | */ | 351 | */ |
336 | struct GNUNET_DNSSTUB_RequestSocket * | 352 | struct GNUNET_DNSSTUB_RequestSocket * |
@@ -347,6 +363,7 @@ GNUNET_DNSSTUB_resolve (struct GNUNET_DNSSTUB_Context *ctx, | |||
347 | if (NULL == (rs = get_request_socket (ctx, | 363 | if (NULL == (rs = get_request_socket (ctx, |
348 | sa->sa_family))) | 364 | sa->sa_family))) |
349 | return NULL; | 365 | return NULL; |
366 | GNUNET_assert (NULL == rs->rc); | ||
350 | GNUNET_memcpy (&rs->addr, | 367 | GNUNET_memcpy (&rs->addr, |
351 | sa, | 368 | sa, |
352 | sa_len); | 369 | sa_len); |
@@ -389,7 +406,9 @@ GNUNET_DNSSTUB_resolve2 (struct GNUNET_DNSSTUB_Context *ctx, | |||
389 | 406 | ||
390 | memset (&v4, 0, sizeof (v4)); | 407 | memset (&v4, 0, sizeof (v4)); |
391 | memset (&v6, 0, sizeof (v6)); | 408 | memset (&v6, 0, sizeof (v6)); |
392 | if (1 == inet_pton (AF_INET, ctx->dns_exit, &v4.sin_addr)) | 409 | if (1 == inet_pton (AF_INET, |
410 | ctx->dns_exit, | ||
411 | &v4.sin_addr)) | ||
393 | { | 412 | { |
394 | salen = sizeof (v4); | 413 | salen = sizeof (v4); |
395 | v4.sin_family = AF_INET; | 414 | v4.sin_family = AF_INET; |
@@ -400,7 +419,9 @@ GNUNET_DNSSTUB_resolve2 (struct GNUNET_DNSSTUB_Context *ctx, | |||
400 | sa = (struct sockaddr *) &v4; | 419 | sa = (struct sockaddr *) &v4; |
401 | af = AF_INET; | 420 | af = AF_INET; |
402 | } | 421 | } |
403 | else if (1 == inet_pton (AF_INET6, ctx->dns_exit, &v6.sin6_addr)) | 422 | else if (1 == inet_pton (AF_INET6, |
423 | ctx->dns_exit, | ||
424 | &v6.sin6_addr)) | ||
404 | { | 425 | { |
405 | salen = sizeof (v6); | 426 | salen = sizeof (v6); |
406 | v6.sin6_family = AF_INET6; | 427 | v6.sin6_family = AF_INET6; |
@@ -416,8 +437,10 @@ GNUNET_DNSSTUB_resolve2 (struct GNUNET_DNSSTUB_Context *ctx, | |||
416 | GNUNET_break (0); | 437 | GNUNET_break (0); |
417 | return NULL; | 438 | return NULL; |
418 | } | 439 | } |
419 | if (NULL == (rs = get_request_socket (ctx, af))) | 440 | if (NULL == (rs = get_request_socket (ctx, |
441 | af))) | ||
420 | return NULL; | 442 | return NULL; |
443 | GNUNET_assert (NULL == rs->rc); | ||
421 | if (NULL != rs->dnsout4) | 444 | if (NULL != rs->dnsout4) |
422 | dnsout = rs->dnsout4; | 445 | dnsout = rs->dnsout4; |
423 | else | 446 | else |
@@ -430,15 +453,17 @@ GNUNET_DNSSTUB_resolve2 (struct GNUNET_DNSSTUB_Context *ctx, | |||
430 | return NULL; | 453 | return NULL; |
431 | } | 454 | } |
432 | GNUNET_memcpy (&rs->addr, | 455 | GNUNET_memcpy (&rs->addr, |
433 | sa, | 456 | sa, |
434 | salen); | 457 | salen); |
435 | rs->addrlen = salen; | 458 | rs->addrlen = salen; |
436 | rs->rc = rc; | 459 | rs->rc = rc; |
437 | rs->rc_cls = rc_cls; | 460 | rs->rc_cls = rc_cls; |
438 | if (GNUNET_SYSERR == | 461 | if (GNUNET_SYSERR == |
439 | GNUNET_NETWORK_socket_sendto (dnsout, | 462 | GNUNET_NETWORK_socket_sendto (dnsout, |
440 | request, | 463 | request, |
441 | request_len, sa, salen)) | 464 | request_len, |
465 | sa, | ||
466 | salen)) | ||
442 | GNUNET_log (GNUNET_ERROR_TYPE_WARNING, | 467 | GNUNET_log (GNUNET_ERROR_TYPE_WARNING, |
443 | _("Failed to send DNS request to %s\n"), | 468 | _("Failed to send DNS request to %s\n"), |
444 | GNUNET_a2s (sa, salen)); | 469 | GNUNET_a2s (sa, salen)); |
@@ -466,7 +491,9 @@ do_dns_read (struct GNUNET_DNSSTUB_RequestSocket *rs, | |||
466 | int len; | 491 | int len; |
467 | 492 | ||
468 | #ifndef MINGW | 493 | #ifndef MINGW |
469 | if (0 != ioctl (GNUNET_NETWORK_get_fd (dnsout), FIONREAD, &len)) | 494 | if (0 != ioctl (GNUNET_NETWORK_get_fd (dnsout), |
495 | FIONREAD, | ||
496 | &len)) | ||
470 | { | 497 | { |
471 | /* conservative choice: */ | 498 | /* conservative choice: */ |
472 | len = UINT16_MAX; | 499 | len = UINT16_MAX; |
@@ -484,11 +511,14 @@ do_dns_read (struct GNUNET_DNSSTUB_RequestSocket *rs, | |||
484 | addrlen = sizeof (addr); | 511 | addrlen = sizeof (addr); |
485 | memset (&addr, 0, sizeof (addr)); | 512 | memset (&addr, 0, sizeof (addr)); |
486 | r = GNUNET_NETWORK_socket_recvfrom (dnsout, | 513 | r = GNUNET_NETWORK_socket_recvfrom (dnsout, |
487 | buf, sizeof (buf), | 514 | buf, |
488 | (struct sockaddr*) &addr, &addrlen); | 515 | sizeof (buf), |
516 | (struct sockaddr*) &addr, | ||
517 | &addrlen); | ||
489 | if (-1 == r) | 518 | if (-1 == r) |
490 | { | 519 | { |
491 | GNUNET_log_strerror (GNUNET_ERROR_TYPE_ERROR, "recvfrom"); | 520 | GNUNET_log_strerror (GNUNET_ERROR_TYPE_ERROR, |
521 | "recvfrom"); | ||
492 | GNUNET_NETWORK_socket_close (dnsout); | 522 | GNUNET_NETWORK_socket_close (dnsout); |
493 | return GNUNET_SYSERR; | 523 | return GNUNET_SYSERR; |
494 | } | 524 | } |
@@ -543,25 +573,32 @@ read_response (void *cls) | |||
543 | } | 573 | } |
544 | /* read and process ready sockets */ | 574 | /* read and process ready sockets */ |
545 | if ((NULL != rs->dnsout4) && | 575 | if ((NULL != rs->dnsout4) && |
546 | (GNUNET_NETWORK_fdset_isset (tc->read_ready, rs->dnsout4)) && | 576 | (GNUNET_NETWORK_fdset_isset (tc->read_ready, |
547 | (GNUNET_SYSERR == do_dns_read (rs, rs->dnsout4))) | 577 | rs->dnsout4)) && |
578 | (GNUNET_SYSERR == do_dns_read (rs, | ||
579 | rs->dnsout4))) | ||
548 | rs->dnsout4 = NULL; | 580 | rs->dnsout4 = NULL; |
549 | if ((NULL != rs->dnsout6) && | 581 | if ((NULL != rs->dnsout6) && |
550 | (GNUNET_NETWORK_fdset_isset (tc->read_ready, rs->dnsout6)) && | 582 | (GNUNET_NETWORK_fdset_isset (tc->read_ready, |
551 | (GNUNET_SYSERR == do_dns_read (rs, rs->dnsout6))) | 583 | rs->dnsout6)) && |
584 | (GNUNET_SYSERR == do_dns_read (rs, | ||
585 | rs->dnsout6))) | ||
552 | rs->dnsout6 = NULL; | 586 | rs->dnsout6 = NULL; |
553 | 587 | ||
554 | /* re-schedule read task */ | 588 | /* re-schedule read task */ |
555 | rset = GNUNET_NETWORK_fdset_create (); | 589 | rset = GNUNET_NETWORK_fdset_create (); |
556 | if (NULL != rs->dnsout4) | 590 | if (NULL != rs->dnsout4) |
557 | GNUNET_NETWORK_fdset_set (rset, rs->dnsout4); | 591 | GNUNET_NETWORK_fdset_set (rset, |
592 | rs->dnsout4); | ||
558 | if (NULL != rs->dnsout6) | 593 | if (NULL != rs->dnsout6) |
559 | GNUNET_NETWORK_fdset_set (rset, rs->dnsout6); | 594 | GNUNET_NETWORK_fdset_set (rset, |
595 | rs->dnsout6); | ||
560 | rs->read_task = GNUNET_SCHEDULER_add_select (GNUNET_SCHEDULER_PRIORITY_DEFAULT, | 596 | rs->read_task = GNUNET_SCHEDULER_add_select (GNUNET_SCHEDULER_PRIORITY_DEFAULT, |
561 | GNUNET_TIME_absolute_get_remaining (rs->timeout), | 597 | GNUNET_TIME_absolute_get_remaining (rs->timeout), |
562 | rset, | 598 | rset, |
563 | NULL, | 599 | NULL, |
564 | &read_response, rs); | 600 | &read_response, |
601 | rs); | ||
565 | GNUNET_NETWORK_fdset_destroy (rset); | 602 | GNUNET_NETWORK_fdset_destroy (rset); |
566 | } | 603 | } |
567 | 604 | ||
diff --git a/src/dns/gnunet-service-dns.c b/src/dns/gnunet-service-dns.c index ffc94afb7..9feaa8413 100644 --- a/src/dns/gnunet-service-dns.c +++ b/src/dns/gnunet-service-dns.c | |||
@@ -729,6 +729,9 @@ process_dns_result (void *cls, | |||
729 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 729 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
730 | "Processing DNS result from stub resolver\n"); | 730 | "Processing DNS result from stub resolver\n"); |
731 | GNUNET_assert (NULL == cls); | 731 | GNUNET_assert (NULL == cls); |
732 | if (NULL == dns) | ||
733 | return; /* ignore */ | ||
734 | |||
732 | rr = &requests[dns->id]; | 735 | rr = &requests[dns->id]; |
733 | if ( (rr->phase != RP_INTERNET_DNS) || | 736 | if ( (rr->phase != RP_INTERNET_DNS) || |
734 | (rr->rs != rs) ) | 737 | (rr->rs != rs) ) |
diff --git a/src/exit/gnunet-daemon-exit.c b/src/exit/gnunet-daemon-exit.c index c624e083e..0b3cc505a 100644 --- a/src/exit/gnunet-daemon-exit.c +++ b/src/exit/gnunet-daemon-exit.c | |||
@@ -475,6 +475,8 @@ process_dns_result (void *cls, | |||
475 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 475 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
476 | "Processing DNS result from stub resolver\n"); | 476 | "Processing DNS result from stub resolver\n"); |
477 | GNUNET_assert (NULL == cls); | 477 | GNUNET_assert (NULL == cls); |
478 | if (NULL == dns) | ||
479 | return; | ||
478 | /* Handle case that this is a reply to a request from a CADET DNS channel */ | 480 | /* Handle case that this is a reply to a request from a CADET DNS channel */ |
479 | ts = channels[dns->id]; | 481 | ts = channels[dns->id]; |
480 | if ( (NULL == ts) || | 482 | if ( (NULL == ts) || |
diff --git a/src/gns/gnunet-dns2gns.c b/src/gns/gnunet-dns2gns.c index 3d16cd773..47cc6dde0 100644 --- a/src/gns/gnunet-dns2gns.c +++ b/src/gns/gnunet-dns2gns.c | |||
@@ -85,6 +85,11 @@ struct Request | |||
85 | * Number of bytes in @e udp_msg. | 85 | * Number of bytes in @e udp_msg. |
86 | */ | 86 | */ |
87 | size_t udp_msg_size; | 87 | size_t udp_msg_size; |
88 | |||
89 | /** | ||
90 | * ID of the original request. | ||
91 | */ | ||
92 | uint16_t original_request_id; | ||
88 | }; | 93 | }; |
89 | 94 | ||
90 | 95 | ||
@@ -255,6 +260,18 @@ dns_result_processor (void *cls, | |||
255 | struct Request *request = cls; | 260 | struct Request *request = cls; |
256 | 261 | ||
257 | (void) rs; | 262 | (void) rs; |
263 | if (NULL == dns) | ||
264 | { | ||
265 | /* DNSSTUB gave up, so we trigger timeout early */ | ||
266 | GNUNET_SCHEDULER_cancel (request->timeout_task); | ||
267 | do_timeout (request); | ||
268 | return; | ||
269 | } | ||
270 | if (request->original_request_id != dns->id) | ||
271 | { | ||
272 | /* for a another query, ignore */ | ||
273 | return; | ||
274 | } | ||
258 | request->packet = GNUNET_DNSPARSER_parse ((char*)dns, | 275 | request->packet = GNUNET_DNSPARSER_parse ((char*)dns, |
259 | r); | 276 | r); |
260 | send_response (request); | 277 | send_response (request); |
@@ -277,7 +294,6 @@ result_processor (void *cls, | |||
277 | { | 294 | { |
278 | struct Request *request = cls; | 295 | struct Request *request = cls; |
279 | struct GNUNET_DNSPARSER_Packet *packet; | 296 | struct GNUNET_DNSPARSER_Packet *packet; |
280 | uint32_t i; | ||
281 | struct GNUNET_DNSPARSER_Record rec; | 297 | struct GNUNET_DNSPARSER_Record rec; |
282 | 298 | ||
283 | request->lookup = NULL; | 299 | request->lookup = NULL; |
@@ -288,6 +304,7 @@ result_processor (void *cls, | |||
288 | "Using DNS resolver IP `%s' to resolve `%s'\n", | 304 | "Using DNS resolver IP `%s' to resolve `%s'\n", |
289 | dns_ip, | 305 | dns_ip, |
290 | request->packet->queries[0].name); | 306 | request->packet->queries[0].name); |
307 | request->original_request_id = request->packet->id; | ||
291 | GNUNET_DNSPARSER_free_packet (request->packet); | 308 | GNUNET_DNSPARSER_free_packet (request->packet); |
292 | request->packet = NULL; | 309 | request->packet = NULL; |
293 | request->dns_lookup = GNUNET_DNSSTUB_resolve2 (dns_stub, | 310 | request->dns_lookup = GNUNET_DNSSTUB_resolve2 (dns_stub, |
@@ -296,7 +313,7 @@ result_processor (void *cls, | |||
296 | &dns_result_processor, | 313 | &dns_result_processor, |
297 | request); | 314 | request); |
298 | return; | 315 | return; |
299 | } | 316 | } |
300 | packet = request->packet; | 317 | packet = request->packet; |
301 | packet->flags.query_or_response = 1; | 318 | packet->flags.query_or_response = 1; |
302 | packet->flags.return_code = GNUNET_TUN_DNS_RETURN_CODE_NO_ERROR; | 319 | packet->flags.return_code = GNUNET_TUN_DNS_RETURN_CODE_NO_ERROR; |
@@ -307,7 +324,7 @@ result_processor (void *cls, | |||
307 | packet->flags.message_truncated = 0; | 324 | packet->flags.message_truncated = 0; |
308 | packet->flags.authoritative_answer = 0; | 325 | packet->flags.authoritative_answer = 0; |
309 | //packet->flags.opcode = GNUNET_TUN_DNS_OPCODE_STATUS; // ??? | 326 | //packet->flags.opcode = GNUNET_TUN_DNS_OPCODE_STATUS; // ??? |
310 | for (i=0;i<rd_count;i++) | 327 | for (uint32_t i=0;i<rd_count;i++) |
311 | { | 328 | { |
312 | // FIXME: do we need to hanlde #GNUNET_GNSRECORD_RF_SHADOW_RECORD | 329 | // FIXME: do we need to hanlde #GNUNET_GNSRECORD_RF_SHADOW_RECORD |
313 | // here? Or should we do this in libgnunetgns? | 330 | // here? Or should we do this in libgnunetgns? |
diff --git a/src/gns/gnunet-service-gns_resolver.c b/src/gns/gnunet-service-gns_resolver.c index 0b86ca267..7fbe3a410 100644 --- a/src/gns/gnunet-service-gns_resolver.c +++ b/src/gns/gnunet-service-gns_resolver.c | |||
@@ -383,6 +383,11 @@ struct GNS_ResolverHandle | |||
383 | */ | 383 | */ |
384 | unsigned int loop_limiter; | 384 | unsigned int loop_limiter; |
385 | 385 | ||
386 | /** | ||
387 | * 16 bit random ID we used in the @e dns_request. | ||
388 | */ | ||
389 | uint16_t original_dns_id; | ||
390 | |||
386 | }; | 391 | }; |
387 | 392 | ||
388 | 393 | ||
@@ -843,17 +848,28 @@ dns_result_parser (void *cls, | |||
843 | unsigned int i; | 848 | unsigned int i; |
844 | 849 | ||
845 | (void) rs; | 850 | (void) rs; |
846 | rh->dns_request = NULL; | 851 | if (NULL == dns) |
847 | GNUNET_SCHEDULER_cancel (rh->task_id); | 852 | { |
848 | rh->task_id = NULL; | 853 | rh->dns_request = NULL; |
854 | GNUNET_SCHEDULER_cancel (rh->task_id); | ||
855 | rh->task_id = NULL; | ||
856 | rh->proc (rh->proc_cls, | ||
857 | 0, | ||
858 | NULL); | ||
859 | GNS_resolver_lookup_cancel (rh); | ||
860 | return; | ||
861 | } | ||
862 | if (rh->original_dns_id != dns->id) | ||
863 | { | ||
864 | /* DNS answer, but for another query */ | ||
865 | return; | ||
866 | } | ||
849 | p = GNUNET_DNSPARSER_parse ((const char *) dns, | 867 | p = GNUNET_DNSPARSER_parse ((const char *) dns, |
850 | dns_len); | 868 | dns_len); |
851 | if (NULL == p) | 869 | if (NULL == p) |
852 | { | 870 | { |
853 | GNUNET_log (GNUNET_ERROR_TYPE_WARNING, | 871 | GNUNET_log (GNUNET_ERROR_TYPE_WARNING, |
854 | _("Failed to parse DNS response\n")); | 872 | _("Failed to parse DNS response\n")); |
855 | rh->proc (rh->proc_cls, 0, NULL); | ||
856 | GNS_resolver_lookup_cancel (rh); | ||
857 | return; | 873 | return; |
858 | } | 874 | } |
859 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 875 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
@@ -1097,6 +1113,7 @@ recursive_dns_resolution (struct GNS_ResolverHandle *rh) | |||
1097 | } | 1113 | } |
1098 | else | 1114 | else |
1099 | { | 1115 | { |
1116 | rh->original_dns_id = p->id; | ||
1100 | rh->dns_request = GNUNET_DNSSTUB_resolve (dns_handle, | 1117 | rh->dns_request = GNUNET_DNSSTUB_resolve (dns_handle, |
1101 | (const struct sockaddr *) &ac->authority_info.dns_authority.dns_ip, | 1118 | (const struct sockaddr *) &ac->authority_info.dns_authority.dns_ip, |
1102 | sa_len, | 1119 | sa_len, |
diff --git a/src/include/gnunet_dns_service.h b/src/include/gnunet_dns_service.h index 76b708dcf..017d5a039 100644 --- a/src/include/gnunet_dns_service.h +++ b/src/include/gnunet_dns_service.h | |||
@@ -122,10 +122,11 @@ enum GNUNET_DNS_Flags | |||
122 | * @param request_length number of bytes in request | 122 | * @param request_length number of bytes in request |
123 | * @param request udp payload of the DNS request | 123 | * @param request udp payload of the DNS request |
124 | */ | 124 | */ |
125 | typedef void (*GNUNET_DNS_RequestHandler)(void *cls, | 125 | typedef void |
126 | struct GNUNET_DNS_RequestHandle *rh, | 126 | (*GNUNET_DNS_RequestHandler)(void *cls, |
127 | size_t request_length, | 127 | struct GNUNET_DNS_RequestHandle *rh, |
128 | const char *request); | 128 | size_t request_length, |
129 | const char *request); | ||
129 | 130 | ||
130 | 131 | ||
131 | /** | 132 | /** |
diff --git a/src/include/gnunet_dnsparser_lib.h b/src/include/gnunet_dnsparser_lib.h index 9fe3491d6..80a67c3c7 100644 --- a/src/include/gnunet_dnsparser_lib.h +++ b/src/include/gnunet_dnsparser_lib.h | |||
@@ -49,6 +49,7 @@ | |||
49 | /** | 49 | /** |
50 | * A few common DNS types. | 50 | * A few common DNS types. |
51 | */ | 51 | */ |
52 | #define GNUNET_DNSPARSER_TYPE_ANY 0 | ||
52 | #define GNUNET_DNSPARSER_TYPE_A 1 | 53 | #define GNUNET_DNSPARSER_TYPE_A 1 |
53 | #define GNUNET_DNSPARSER_TYPE_NS 2 | 54 | #define GNUNET_DNSPARSER_TYPE_NS 2 |
54 | #define GNUNET_DNSPARSER_TYPE_CNAME 5 | 55 | #define GNUNET_DNSPARSER_TYPE_CNAME 5 |