]> git.ipfire.org Git - thirdparty/mtr.git/commitdiff
Revert "Make it more portable and also fixed dorequest() and dns_ack6() to include...
authorHaw Loeung <haw.loeung@canonical.com>
Fri, 15 Aug 2014 23:32:37 +0000 (09:32 +1000)
committerHaw Loeung <haw.loeung@canonical.com>
Fri, 15 Aug 2014 23:32:37 +0000 (09:32 +1000)
This reverts commit 8e1bea50eee25c0ba8550254ad14fcba0614ed83.

dns.c

diff --git a/dns.c b/dns.c
index 75bb267738d690852ac31ce5d2b15f7f2f37d6e7..21ab60a1c38b22a4162fc484c026a4b5dc8d11a2 100644 (file)
--- a/dns.c
+++ b/dns.c
 
 #ifdef ENABLE_IPV6
 #ifdef __GLIBC__
-#define NSCOUNT myres.nscount + myres._u._ext.nscount6
-#define NSCOUNT6 myres._u._ext.nscount6
 #define NSSOCKADDR6(i) (myres._u._ext.nsaddrs[i])
 #else
-#define NSCOUNT myres.nscount
-#define NSCOUNT6 myres.nscount
 #define NSSOCKADDR6(i) (&(myres._u._ext.ext->nsaddrs[i].sin6))
 #endif
 #endif
@@ -513,11 +509,16 @@ int dns_waitfd6(void)
 
 void dns_open(void)
 {
-  int option,i;
+  int option,i,nscount;
 
   if (!dns) return;
   MY_RES_INIT();
-  if (!NSCOUNT) {
+#ifdef ENABLE_IPV6
+  nscount = myres.nscount + myres._u._ext.nscount6;
+#else
+  nscount = myres.nscount;
+#endif
+  if (!nscount) {
     fprintf(stderr,"No nameservers defined.\n");
     exit(-1);
   }
@@ -939,7 +940,7 @@ void dorequest(char *s,int type,word id)
   }
   hp = (packetheader *)buf;
   hp->id = id; /* htons() deliberately left out (redundant) */
-  for (i = 0;i < NSCOUNT;i++)
+  for (i = 0;i < myres.nscount;i++)
     if (myres.nsaddr_list[i].sin_family == AF_INET)
       (void)sendto(resfd,buf,r,0,(struct sockaddr *)&myres.nsaddr_list[i],
                   sizeof(struct sockaddr));
@@ -1343,7 +1344,7 @@ void dns_ack6(void)
     /* Check to see if this server is actually one we sent to */
     if ( addrcmp( (void *) &(from6->sin6_addr), (void *) &localhost6,
                   (int) AF_INET6 ) == 0 ) {
-      for (i = 0;i < NSCOUNT6;i++) {
+      for (i = 0;i < myres.nscount;i++) {
         if (!NSSOCKADDR6(i))
           continue;
 
@@ -1354,14 +1355,14 @@ void dns_ack6(void)
          break;
       }
     } else
-      for (i = 0;i < NSCOUNT6;i++) {
+      for (i = 0;i < myres.nscount;i++) {
         if (!NSSOCKADDR6(i))
           continue;
        if ( addrcmp( (void *) &(NSSOCKADDR6(i)->sin6_addr),
                      (void *) &(from6->sin6_addr), AF_INET6 ) == 0 )
          break;
       }
-    if (i == NSCOUNT6) {
+    if (i == myres.nscount) {
       snprintf(tempstring, sizeof(tempstring), 
               "Resolver error: Received reply from unknown source: %s",
               inet_ntop( AF_INET6, &(from6->sin6_addr), addrstr,