gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r17593 - gnunet/src/vpn


From: gnunet
Subject: [GNUnet-SVN] r17593 - gnunet/src/vpn
Date: Tue, 18 Oct 2011 20:41:17 +0200

Author: toelke
Date: 2011-10-18 20:41:16 +0200 (Tue, 18 Oct 2011)
New Revision: 17593

Modified:
   gnunet/src/vpn/gnunet-service-dns.c
Log:
send queries as both A and AAAA

Modified: gnunet/src/vpn/gnunet-service-dns.c
===================================================================
--- gnunet/src/vpn/gnunet-service-dns.c 2011-10-18 17:28:06 UTC (rev 17592)
+++ gnunet/src/vpn/gnunet-service-dns.c 2011-10-18 18:41:16 UTC (rev 17593)
@@ -917,6 +917,32 @@
             cls_->hdr.size - sizeof (struct GNUNET_MessageHeader));
     GNUNET_SCHEDULER_add_now (send_mesh_query, cls_);
 
+    if (pdns->s.qdcount == 1)
+      {
+        if (pdns->queries[0]->qtype == 1)
+          pdns->queries[0]->qtype = 28;
+        else if (pdns->queries[0]->qtype == 28)
+          pdns->queries[0]->qtype = 1;
+        else
+          goto outfree;
+        struct dns_pkt *rdns = unparse_dns_packet (pdns);
+        size_t size =
+          sizeof (struct GNUNET_MESH_Tunnel *) +
+          sizeof (struct GNUNET_MessageHeader) + (ntohs (message->size) -
+                                                  sizeof (struct query_packet) 
+
+                                                  1);
+        struct tunnel_cls *cls_ = GNUNET_malloc (size);
+
+        cls_->hdr.size = size - sizeof (struct GNUNET_MESH_Tunnel *);
+
+        cls_->hdr.type = ntohs (GNUNET_MESSAGE_TYPE_VPN_REMOTE_QUERY_DNS);
+        GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "size: %d\n", size);
+
+        memcpy (&cls_->dns, rdns,
+                cls_->hdr.size - sizeof (struct GNUNET_MessageHeader));
+        GNUNET_SCHEDULER_add_now (send_mesh_query, cls_);
+      }
+
     goto outfree;
   }
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]