mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-17 10:26:15 +00:00
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
This commit is contained in:
parent
c71bf4bf63
commit
b021e5e1ed
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=163661
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user