From e02328ef9988444880c36d108aed7ab531c9e3b2 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Philipp=20T=C3=B6lke?= Date: Wed, 26 Oct 2011 12:42:24 +0000 Subject: [PATCH] bugs --- src/vpn/gnunet-service-dns.c | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/vpn/gnunet-service-dns.c b/src/vpn/gnunet-service-dns.c index 56f218b81..2f413c763 100644 --- a/src/vpn/gnunet-service-dns.c +++ b/src/vpn/gnunet-service-dns.c @@ -411,6 +411,8 @@ receive_mesh_query (void *cls struct sockaddr_in dest; + struct dns_pkt_parsed *pdns = parse_dns_packet(dns); + memset (&dest, 0, sizeof dest); dest.sin_port = htons (53); char *dns_resolver; @@ -423,6 +425,18 @@ receive_mesh_query (void *cls query_states[dns->s.id].tunnel = tunnel; query_states[dns->s.id].valid = GNUNET_YES; + int i; + for (i= 0; i < ntohs(pdns->s.qdcount); i++) + { + if (pdns->queries[i]->qtype == htons(28) || + pdns->queries[i]->qtype == htons(1)) + { + query_states[dns->s.id].qtype = pdns->queries[i]->qtype; + break; + } + } + free_parsed_dns_packet(pdns); + GNUNET_NETWORK_socket_sendto (dnsout, dns, ntohs (message->size) - sizeof (struct GNUNET_MessageHeader), @@ -547,7 +561,7 @@ receive_mesh_answer (void *cls else { GNUNET_log(GNUNET_ERROR_TYPE_ERROR, "dns-answer with pending qtype = %d\n", query_states[dns->s.id].qtype); - GNUNET_break(0); + GNUNET_assert(0); } dque->class = htons (1); /* IN */ @@ -824,7 +838,7 @@ receive_query (void *cls for (i= 0; i < ntohs(pdns->s.qdcount); i++) { if (pdns->queries[i]->qtype == htons(28) || - pdns->queries[i]->qtype == htons(28)) + pdns->queries[i]->qtype == htons(1)) { query_states[dns->s.id].qtype = pdns->queries[i]->qtype; break; -- 2.25.1