Default number of dns retries doubled

Ángel González keisial@gmail.com
Fri Aug 16 11:33:00 GMT 2013


resolv.conf(5) contains:
> attempts:n
>                      sets  the  number  of  times  the resolver will 
> send a query to its name servers before giving up and returning an 
> error to the calling application.  The
>                      default is RES_DFLRETRY (currently 2, see 
> <resolv.h>).  The value for this option is silently capped to 5.

My /usr/include/resolv.h does indeed contain
> # define RES_DFLRETRY        2    /* Default #/tries. */

/etc/resolv.conf only contains two nameserver lines.

However, traffic sniffing shows 8 dns requests before giving up (4 to 
each nameserver).

And a simple program confirms it:
> #include <resolv.h>
>
> int main() {
>     res_init();
>     printf("Timeout: %d\n", _res.retrans);
>     printf("Attempts: %d\n", _res.retry);
>     return 0;
> }

Output:
> Timeout: 5
> Attempts: 4

Any idea for this discrepancy?



More information about the Libc-help mailing list