Re: [PATCH] resolver.3: documents missing options used by _res structure defined in resolv.h and indicates defaults options

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello Stéphane,

On 03/08/2015 01:03 PM, Stéphane Aulery wrote:
> Hi Michael,
> 
> I made another patch with all your remarks.

Did you send it already. (No hurry--it's just that I wonder if I missed it.)

> Le dimanche 08 mars 2015 à 09:20:18, Michael Kerrisk (man-pages) a écrit :
>>
>>> +.TP
>>> +.B RES_USE_INET6
>>> +Try a AAAA query before an A query inside the
>>
>> s/a AAAA/an AAAA/
> 
> This is a copy of resolv.conf.5. I will fix this too.

Yup. Thanks.

>>> +.B RES_BLAST
>>> +When resolvers want to even out the load on their nameservers, following
>>> +them. 
>>
>> I do not understand that last sentence. Could you clarify please.
> 
> I must admit that it's not clear to me either. I think this means that
> server alias are swapped between each request. I have wrong? The word
> "blast" leaves me skeptical.
> 
> What I found in code source:
> 
>>From resolv.h:
> 
> #define RES_BLAST       0x00020000      /* blast all recursive servers */
> 
> Form res_send.c
> 
> /*
> * Some resolvers want to even out the load on their nameservers.
> * Note that RES_BLAST overrides RES_ROTATE.
> */
> if (__builtin_expect ((statp->options & RES_ROTATE) != 0, 0) &&
>    (statp->options & RES_BLAST) == 0) {
>       struct sockaddr_in6 *ina;
>       unsigned int map;
> 
>       n = 0;
>       while (n < MAXNS && EXT(statp).nsmap[n] == MAXNS)
>          n++;
>       if (n < MAXNS) {
>          ina = EXT(statp).nsaddrs[n];
>          map = EXT(statp).nsmap[n];
>          for (;;) {
>             ns = n + 1;
>             while (ns < MAXNS
>                && EXT(statp).nsmap[ns] == MAXNS)
>                ns++;
>             if (ns == MAXNS)
>                break;
>             EXT(statp).nsaddrs[n] = EXT(statp).nsaddrs[ns];
>             EXT(statp).nsmap[n] = EXT(statp).nsmap[ns];
>             n = ns;
>          }
>          EXT(statp).nsaddrs[n] = ina;
>          EXT(statp).nsmap[n] = map;
>       }
> }

Okay -- I leave it to your discretion to choose what to do here.

>>> Note this option overrides
>>> +.BR RES_ROTATE .
>>> +.TP
>>> +.B RES_USEBSTRING
>>> +Make reverse IPv6 lookups using the bit-label format described in RFC 2673;
>>> +if this option is not set, then nibble format is used (since glibc 2.3.4).
>>
>> Does the "(since glibc 2.3.4)" apply to the option, or to the
>> "then nibble format is used"? It's not clear. If the former, then write
> 
> I don't no. I picked this from resolv.conf.5.
> It should be for RES_USEBSTRING.

Okay.

Cheers,

Michael



-- 
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/
--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Kernel Documentation]     [Netdev]     [Linux Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux