Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <aHBhnP91d6AWmGKl@cloudsdale.the-delta.net.eu.org>
Date: Fri, 11 Jul 2025 02:58:04 +0200
From: "Haelwenn (lanodan) Monnier" <contact@...ktivis.me>
To: musl@...ts.openwall.com, Thorsten Glaser <tg@...bsd.de>,
	Thomas Petazzoni <thomas.petazzoni@...tlin.com>
Subject: Re: getpass() feature test macro

[2025-07-11 02:46:11+0200] Haelwenn (lanodan) Monnier:
>[2025-07-09 19:56:14-0400] Rich Felker:
>>On Thu, Jul 10, 2025 at 12:20:42AM +0200, Thorsten Glaser wrote:
>>> On Wed, 9 Jul 2025, Thomas Petazzoni wrote:
>>>
>>> >               _XOPEN_SOURCE && ! (_POSIX_C_SOURCE >= 200112L)
>>>
>>> This looks like a bug: a search for getpass in POSIX returns
>>> no match.
>>
>>It was probably in an older version of POSIX (possibly XSI shaded, not
>>sure). Generally we don't provide full compat with older versions of
>>the standards, since it turns into a mess of version conditions and
>>programs using a mix of older stuff are usually better off just with
>>_DEFAULT_SOURCE (alias _BSD_SOURCE). There are a few exceptions for
>>stuff that's still widely used like gethostby* that recent standards
>>removed, but I'm not sure it would make sense to treat getpass special
>>like that being that it's a rarely used and IIRC removed a long time
>>ago.
>>
>>Rich
>
>getpass() was in SUSv2 but already marked legacy: https://pubs.opengroup.org/onlinepubs/007908799/xsh/getpass.html
>
>SUSv2 uses _POSIX_C_SOURCE 199506L: https://pubs.opengroup.org/onlinepubs/007908799/xsh/compilation.html
>
>And expectedly, SUSv3 removed it: https://pubs.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap01.html
>
>Which uses _POSIX_C_SOURCE 200112L: https://pubs.opengroup.org/onlinepubs/009695399/functions/xsh_chap02_02.html

PS: Looking at the PDFs, it has EX shading (extension, seems like early form of XSI shading); so feature macro should be (_XOPEN_SOURCE < 600).
But `_XOPEN_SOURCE && ! (_POSIX_C_SOURCE >= 200112L)` seems okay, just potentially misleading due to the !

Best Regards

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.