[PATCH 1/2] nss: Implement --no-addrconfig option for getent

Florian Weimer fweimer@redhat.com
Thu Sep 15 12:11:08 GMT 2022


* Carlos O'Donell:

> On Tue, Sep 13, 2022 at 04:35:44PM +0200, Florian Weimer via Libc-alpha wrote:
>> The ahosts, ahostsv4, ahostsv6 commands unconditionally pass
>> AI_ADDRCONFIG to getaddrinfo, which is not always desired.
>
> Looking forward to a v2.
>
>> ---
>>  NEWS         |  5 ++++-
>>  nss/getent.c | 11 ++++++++++-
>>  2 files changed, 14 insertions(+), 2 deletions(-)
>> 
>> diff --git a/NEWS b/NEWS
>> index ef274d1a42..d4739d93c6 100644
>> --- a/NEWS
>> +++ b/NEWS
>> @@ -9,7 +9,10 @@ Version 2.37
>>  
>>  Major new features:
>>  
>> -  [Add new features here]
>
> Suggest:
>
> * The getent tool now supports the --no-addrconfig option. The
>   output of getent with --no-addrconfig may contain addresses
>   of families not configured on the current host i.e. as-if you
>   had not passed AI_ADDRCONFIG to getaddrinfo calls.  This flag
>   is primarily intended for diagnostic purposes.
>
> I think the use for diagnostics should be called out.

I think getent ahosts* is mostly intended for diagnostic purposes
anyway, so we don't have to spell this out again.  The output format is
certainly awkward for most purposes.  So I'll use your text without the
last sentence.

>> +* The getent tool now supports the --no-addrconfig option.  When
>> +  present, getent no longer passes AI_ADDRCONFIG to the getaddrinfo
>> +  function, and the output may contain addresses of families not
>> +  configured on the current host.
>>  
>>  Deprecated and removed features, and other changes affecting compatibility:
>>  
>> diff --git a/nss/getent.c b/nss/getent.c
>> index 8178b4b470..39a42e707d 100644
>> --- a/nss/getent.c
>> +++ b/nss/getent.c
>> @@ -58,6 +58,8 @@ static const struct argp_option args_options[] =
>>    {
>>      { "service", 's', N_("CONFIG"), 0, N_("Service configuration to be used") },
>>      { "no-idn", 'i', NULL, 0, N_("disable IDN encoding") },
>> +    { "no-addrconfig", 'A', NULL, 0,
>> +      N_("disable AI_ADDRCONFIG (for ahosts*)") },
>
> Suggest a more user-center textual description:
>
> "disable filtering using host address configuration (for ahosts*)"
>
> It's a bit of a mouthfull.

I'm going with this instead:

      N_("do not filter out unsupported IPv4/IPv6 addresses (with ahosts*)") },

Thanks,
Florian



More information about the Libc-alpha mailing list