diff options
author | ume <ume@FreeBSD.org> | 2006-10-24 14:41:43 +0000 |
---|---|---|
committer | ume <ume@FreeBSD.org> | 2006-10-24 14:41:43 +0000 |
commit | 89159bd1c6d15d1544794a487d8be014361fe2c7 (patch) | |
tree | 65e0b0ec5aedeac25f32cefcd7e688519a7b9294 /lib/libc/resolv | |
parent | e5a8e69a646dbc2bdc4910086d1c4d8afc21f742 (diff) | |
download | FreeBSD-src-89159bd1c6d15d1544794a487d8be014361fe2c7.zip FreeBSD-src-89159bd1c6d15d1544794a487d8be014361fe2c7.tar.gz |
Merge res_send.c of BIND9 9.3.3rc2 into main chunk. It includes
following fix:
Retransmission timeouts should be based on which attempt
it is to the nameserver and not the nameserver itself.
Obtained from: ISC
MFC after: 3 days
Diffstat (limited to 'lib/libc/resolv')
-rw-r--r-- | lib/libc/resolv/res_send.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/lib/libc/resolv/res_send.c b/lib/libc/resolv/res_send.c index e0c97d6..f3fe531 100644 --- a/lib/libc/resolv/res_send.c +++ b/lib/libc/resolv/res_send.c @@ -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 */ #include <sys/cdefs.h> __FBSDID("$FreeBSD$"); @@ -145,7 +145,7 @@ static int send_dg(res_state, int kq, #endif 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); @@ -490,7 +490,7 @@ res_nsend(res_state statp, kq, #endif buf, buflen, ans, anssiz, &terrno, - ns, &v_circuit, &gotsomewhere); + ns, try, &v_circuit, &gotsomewhere); if (n < 0) goto fail; if (n == 0) @@ -812,8 +812,9 @@ send_dg(res_state statp, #ifdef USE_KQUEUE int kq, #endif - const u_char *buf, int buflen, u_char *ans, int anssiz, - int *terrno, int ns, int *v_circuit, int *gotsomewhere) + 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; @@ -914,7 +915,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) |