"GOT", but the "O" is a cute, smiling pufferfish. Index | Thread | Search

From:
Thomas Adam <thomas@xteddy.org>
Subject:
Re: -portable: add a wrapper for open() on FreeBSD
To:
"Todd C. Miller" <millert@openbsd.org>
Cc:
Christian Weisgerber <naddy@mips.inka.de>, gameoftrees@openbsd.org
Date:
Sat, 25 Sep 2021 23:05:00 +0100

Download raw body.

Thread
On Sat, Sep 25, 2021 at 03:40:14PM -0600, Todd C. Miller wrote:
> On Sat, 25 Sep 2021 23:20:54 +0200, Christian Weisgerber wrote:
> 
> > add a wrapper function to render open() POSIX-compliant on FreeBSD
> >
> > POSIX mandates that open(symlink, O_NOFOLLOW) fail with errno == ELOOP.
> > FreeBSD chooses to deviate from this, but Got depends on it.  Introducing
> > a wrapper avoids (1) the need to patch every occurrence, (2) having to
> > check each release for new instances, and (3) slipups when modifying
> > complex boolean expressions.
> 
> Is this really better than just checking for EMLINK in addition to
> ELOOP?  Is it worth filing a bug with FreeBSD about this or do they
> consider it to be a feature?

Agreed.  I can't believe this is a feature, and I'd rather see this fixed in
FreeBSD if possible.

Kindly,
Thomas Adam