gnunet-svn
[Top][All Lists]
Advanced

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

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


From: gnunet
Subject: [GNUnet-SVN] r17792 - gnunet/src/vpn
Date: Wed, 26 Oct 2011 14:44:01 +0200

Author: toelke
Date: 2011-10-26 14:44:01 +0200 (Wed, 26 Oct 2011)
New Revision: 17792

Modified:
   gnunet/src/vpn/gnunet-dns-parser.c
   gnunet/src/vpn/gnunet-service-dns.c
Log:
bugs

Modified: gnunet/src/vpn/gnunet-dns-parser.c
===================================================================
--- gnunet/src/vpn/gnunet-dns-parser.c  2011-10-26 12:42:24 UTC (rev 17791)
+++ gnunet/src/vpn/gnunet-dns-parser.c  2011-10-26 12:44:01 UTC (rev 17792)
@@ -154,6 +154,7 @@
       cnt = 0;
       b = dest;
       dest++;
+      src++;
     }
   *b = 0;
 }
@@ -163,36 +164,36 @@
 {
   size_t size = sizeof(struct dns_pkt) - 1;
   int i;
-  for (i = 0; i < ppkt->s.qdcount; i++)
+  for (i = 0; i < ntohs(ppkt->s.qdcount); i++)
     size += ppkt->queries[i]->namelen + 1;
 
-  for (i = 0; i < ppkt->s.ancount; i++)
+  for (i = 0; i < ntohs(ppkt->s.ancount); i++)
     {
       size += ppkt->answers[i]->namelen + 1;
       size += ppkt->answers[i]->data_len;
     }
-  for (i = 0; i < ppkt->s.nscount; i++)
+  for (i = 0; i < ntohs(ppkt->s.nscount); i++)
     {
       size += ppkt->nameservers[i]->namelen + 1;
       size += ppkt->nameservers[i]->data_len;
     }
-  for (i = 0; i < ppkt->s.arcount; i++)
+  for (i = 0; i < ntohs(ppkt->s.arcount); i++)
     {
       size += ppkt->additional[i]->namelen + 1;
       size += ppkt->additional[i]->data_len;
     }
 
-  size += 4*ppkt->s.qdcount + 10*(
-                                  ppkt->s.ancount+
-                                  ppkt->s.arcount+
-                                  ppkt->s.nscount);
+  size += 4*ntohs(ppkt->s.qdcount) + 10*(
+                                  ntohs(ppkt->s.ancount)+
+                                  ntohs(ppkt->s.arcount)+
+                                  ntohs(ppkt->s.nscount));
 
   struct dns_pkt *pkt = GNUNET_malloc(size);
   char *pkt_c = (char*)pkt;
   memcpy(&pkt->s, &ppkt->s, sizeof ppkt->s);
   size_t idx = sizeof ppkt->s;
 
-  for (i = 0; i < ppkt->s.qdcount; i++)
+  for (i = 0; i < ntohs(ppkt->s.qdcount); i++)
     {
       unparse_dns_name(&pkt_c[idx], ppkt->queries[i]->name, 
ppkt->queries[i]->namelen);
       idx += ppkt->queries[i]->namelen;
@@ -202,7 +203,7 @@
       idx += sizeof(struct dns_query_line);
     }
 
-  for (i = 0; i < ppkt->s.ancount; i++)
+  for (i = 0; i < ntohs(ppkt->s.ancount); i++)
     {
       unparse_dns_name(&pkt_c[idx], ppkt->answers[i]->name, 
ppkt->answers[i]->namelen);
       idx += ppkt->answers[i]->namelen;
@@ -216,7 +217,7 @@
       idx += ppkt->answers[i]->data_len;
     }
 
-  for (i = 0; i < ppkt->s.nscount; i++)
+  for (i = 0; i < ntohs(ppkt->s.nscount); i++)
     {
       unparse_dns_name(&pkt_c[idx], ppkt->nameservers[i]->name, 
ppkt->nameservers[i]->namelen);
       idx += ppkt->nameservers[i]->namelen;
@@ -230,7 +231,7 @@
       idx += ppkt->nameservers[i]->data_len;
     }
 
-  for (i = 0; i < ppkt->s.arcount; i++)
+  for (i = 0; i < ntohs(ppkt->s.arcount); i++)
     {
       unparse_dns_name(&pkt_c[idx], ppkt->additional[i]->name, 
ppkt->additional[i]->namelen);
       idx += ppkt->additional[i]->namelen;

Modified: gnunet/src/vpn/gnunet-service-dns.c
===================================================================
--- gnunet/src/vpn/gnunet-service-dns.c 2011-10-26 12:42:24 UTC (rev 17791)
+++ gnunet/src/vpn/gnunet-service-dns.c 2011-10-26 12:44:01 UTC (rev 17792)
@@ -499,9 +499,12 @@
   int i = 0;
 
   while (i < ntohs(pdns->s.ancount) &&
-         pdns->answers[i]->type != 28 &&
-         pdns->answers[i]->type != 1)
+         ntohs(pdns->answers[i]->type) != 28 &&
+         ntohs(pdns->answers[i]->type) != 1)
+{
+    GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Answer contains %d.\n", 
ntohs(pdns->answers[i]->type));
     i++;
+}
 
   if (i >= ntohs (pdns->s.ancount))
   {
@@ -1005,14 +1008,18 @@
             cls_->hdr.size - sizeof (struct GNUNET_MessageHeader));
     GNUNET_SCHEDULER_add_now (send_mesh_query, cls_);
 
-    if (pdns->s.qdcount == 1)
+    if (ntohs(pdns->s.qdcount) == 1)
       {
         if (ntohs(pdns->queries[0]->qtype) == 1)
           pdns->queries[0]->qtype = htons(28);
         else if (ntohs(pdns->queries[0]->qtype) == 28)
           pdns->queries[0]->qtype = htons(1);
         else
+{
+       GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, "not sending second packet\n");
           goto outfree;
+}
+       GNUNET_log(GNUNET_ERROR_TYPE_DEBUG, "sending second packet\n");
         struct dns_pkt *rdns = unparse_dns_packet (pdns);
         size_t size =
           sizeof (struct GNUNET_MESH_Tunnel *) +




reply via email to

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