]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
[BZ #95]
authorUlrich Drepper <drepper@redhat.com>
Mon, 9 Aug 2004 00:51:39 +0000 (00:51 +0000)
committerUlrich Drepper <drepper@redhat.com>
Mon, 9 Aug 2004 00:51:39 +0000 (00:51 +0000)
Update.
* resolv/res_query.c (__libc_res_nsearch): Correctly test whether
name contains any dots. [BZ #95]

ChangeLog
resolv/res_query.c

index 08f8e1a6a836886110d45ec39032729791e0f35d..3fb1d23ef27dca61a5d4a26850cd1daacf30c13b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2004-08-08  Ulrich Drepper  <drepper@redhat.com>
 
+       * resolv/res_query.c (__libc_res_nsearch): Correctly test whether
+       name contains any dots. [BZ #95]
+
        * resolv/res_send.c: Compiling with DEBUG defined works again.
        * resolv/gethnamaddr.c (dprintf): Renamed to Dprintf.  Adjust all
        callers.
index ab4e02a5594ef8ac7ae334153d791b402663f8a7..f6d7f16dab6fd2567e91872476b97f0e72f1cef0 100644 (file)
@@ -139,7 +139,7 @@ __libc_res_nquery(res_state statp,
                        use_malloc = 1;
                        n = res_nmkquery(statp, QUERY, name, class, type, NULL,
                                         0, NULL, buf, MAXPACKET);
-               }               
+               }
        }
        if (__builtin_expect (n <= 0, 0)) {
 #ifdef DEBUG
@@ -239,6 +239,9 @@ __libc_res_nsearch(res_state statp,
                return (__libc_res_nquery(statp, cp, class, type, answer,
                                          anslen, answerp));
 
+       printf("dots=%d, statp->ndots=%d, trailing_dot=%d, name=%s\n",
+              (int)dots,(int)statp->ndots,(int)trailing_dot,name);
+
        /*
         * If there are enough dots in the name, let's just give it a
         * try 'as is'. The threshold can be set with the "ndots" option.
@@ -337,7 +340,7 @@ __libc_res_nsearch(res_state statp,
         * for the name, and "." is not on the search list, then try an as-is
         * query now.
         */
-       if (statp->ndots && !(tried_as_is || root_on_list)) {
+       if (dots && !(tried_as_is || root_on_list)) {
                ret = __libc_res_nquerydomain(statp, name, NULL, class, type,
                                              answer, anslen, answerp);
                if (ret > 0)
@@ -388,6 +391,8 @@ __libc_res_nquerydomain(res_state statp,
        const char *longname = nbuf;
        int n, d;
 
+       write(2,"<<aaaa\n",7);
+
 #ifdef DEBUG
        if (statp->options & RES_DEBUG)
                printf(";; res_nquerydomain(%s, %s, %d, %d)\n",
@@ -418,8 +423,11 @@ __libc_res_nquerydomain(res_state statp,
                }
                sprintf(nbuf, "%s.%s", name, domain);
        }
-       return (__libc_res_nquery(statp, longname, class, type, answer,
+       int r = (__libc_res_nquery(statp, longname, class, type, answer,
                                  anslen, answerp));
+       write(2,">>aaaa\n",7);
+       return r;
+
 }
 
 int