]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
2005. [bug] libbind: Retransmission timeouts should be
authorMark Andrews <marka@isc.org>
Wed, 8 Mar 2006 04:13:31 +0000 (04:13 +0000)
committerMark Andrews <marka@isc.org>
Wed, 8 Mar 2006 04:13:31 +0000 (04:13 +0000)
                        based on which attempt it is to the nameserver
                        and not the nameserver itself. [RT #13548]

CHANGES
lib/bind/resolv/res_send.c

diff --git a/CHANGES b/CHANGES
index 01d6ddf50f36a69e4bcdd53da1a0d668e0dcf47e..b94c56fdf7aa404ee0ba2482cd5cc527b3f7f5b9 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,7 @@
+2005.  [bug]           libbind: Retransmission timeouts should be
+                       based on which attempt it is to the nameserver
+                       and not the nameserver itself. [RT #13548]
+
 2004.  [bug]           dns_tsig_sign() could pass a NULL pointer to
                        dst_context_destroy() when cleaning up after a
                        error. [RT #15835]
index 5be2489325960c161608084e7114b785d86763b7..24527ead481ddfbec8aed8f191ca1a6e472d3e6f 100644 (file)
@@ -70,7 +70,7 @@
 
 #if defined(LIBC_SCCS) && !defined(lint)
 static const char sccsid[] = "@(#)res_send.c   8.1 (Berkeley) 6/4/93";
-static const char rcsid[] = "$Id: res_send.c,v 1.5.2.2.4.7 2005/08/15 02:04:41 marka Exp $";
+static const char rcsid[] = "$Id: res_send.c,v 1.5.2.2.4.8 2006/03/08 04:13:31 marka Exp $";
 #endif /* LIBC_SCCS and not lint */
 
 /*
@@ -130,7 +130,7 @@ static struct sockaddr * get_nsaddr __P((res_state, size_t));
 static int             send_vc(res_state, const u_char *, int,
                                u_char *, int, int *, int);
 static int             send_dg(res_state, const u_char *, int,
-                               u_char *, int, int *, int,
+                               u_char *, int, int *, int, int,
                                int *, int *);
 static void            Aerror(const res_state, FILE *, const char *, int,
                               const struct sockaddr *, int);
@@ -458,7 +458,7 @@ res_nsend(res_state statp,
                } else {
                        /* Use datagrams. */
                        n = send_dg(statp, buf, buflen, ans, anssiz, &terrno,
-                                   ns, &v_circuit, &gotsomewhere);
+                                   ns, try, &v_circuit, &gotsomewhere);
                        if (n < 0)
                                goto fail;
                        if (n == 0)
@@ -766,9 +766,9 @@ send_vc(res_state statp,
 }
 
 static int
-send_dg(res_state statp,
-       const u_char *buf, int buflen, u_char *ans, int anssiz,
-       int *terrno, int ns, int *v_circuit, int *gotsomewhere)
+send_dg(res_state statp, const u_char *buf, int buflen, u_char *ans,
+       int anssiz, int *terrno, int ns, int try, int *v_circuit,
+       int *gotsomewhere)
 {
        const HEADER *hp = (const HEADER *) buf;
        HEADER *anhp = (HEADER *) ans;
@@ -849,7 +849,7 @@ send_dg(res_state statp,
        /*
         * Wait for reply.
         */
-       seconds = (statp->retrans << ns);
+       seconds = (statp->retrans << try);
        if (ns > 0)
                seconds /= statp->nscount;
        if (seconds <= 0)