Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20261112025339.GM26138@brightrain.aerifal.cx>
Date: Wed, 11 Nov 2026 21:53:39 -0500
From: Rich Felker <dalias@...c.org>
To: Vincent Lefevre <vincent@...c17.net>,
	Alejandro Colomar <alx+linux-man@...nel.org>,
	Alejandro Colomar <alx@...nel.org>, linux-man@...r.kernel.org,
	libc-alpha@...rceware.org, Walter Harms <wharms@....de>,
	~hallyn/shadow@...ts.sr.ht, musl@...ts.openwall.com
Subject: Re: [PATCH v1] man/man3/crypt.3: These functions accept many
 algorithms, not only DES

On Thu, Nov 12, 2026 at 02:52:23AM +0100, Vincent Lefevre wrote:
> Hi,
> 
> On 2026-11-10 01:01:19 +0100, Alejandro Colomar wrote:
> > $ MANWIDTH=64 diffman-git -U99 HEAD
> > --- HEAD^:man/man3/crypt.3
> > +++ HEAD:man/man3/crypt.3
> [...]
> >  STANDARDS
> >       crypt()
> >              POSIX.1‐2008.
> [...]
> >  NOTES
> > -   Features in glibc
> > -     The glibc version of this function supports additional
> > -     hashing algorithms.
> > -
> > +   salt
> >       If salt is a character string starting with the characters
> >       "$id$" followed by a string optionally terminated by "$",
> >       then the result has the form:
> >  
> >              $id$salt$hashed
> [...]
> 
> The "$" character is disallowed by POSIX (in 2008 and still in the
> current edition) in the salt argument:
> 
>   https://pubs.opengroup.org/onlinepubs/9699919799.2008edition/functions/crypt.html
>   https://pubs.opengroup.org/onlinepubs/9799919799/functions/crypt.html
> 
> (this breaks a "shall").
> 
> I think that something should be said about that.

That's the whole reason '$' was chosen: POSIX doesn't define the
behavior (since a "shall" is violated) so the implementation is free
to define a behavior here. The behaviors for the portable base64
character set documented in POSIX uses only 2 characters as salt
(insufficient) and the common agreed-upon definition for how they are
used is as salt for the classic DES-based password hash.

Rich

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.