[Bug 3336] openssh-8.6_p1 fails to build tests with glibc 2.34

bugzilla-daemon at mindrot.org bugzilla-daemon at mindrot.org
Tue Aug 10 20:19:14 AEST 2021


Darren Tucker <dtucker at dtucker.net> changed:

           What    |Removed                     |Added
                 CC|                            |dtucker at dtucker.net

--- Comment #1 from Darren Tucker <dtucker at dtucker.net> ---
Sigh.  From the OpenBSD closefrom(2) man page:
     closefrom(int fd);
     The closefrom() function first appeared in Solaris 9 and has been
     available since OpenBSD 3.5.
However in glibc 2.34:

$ grep closefrom posix/unistd.h
extern void closefrom (int __lowfd) __THROW;

(Despite its presence under posix/, POSIX does not specify closefrom():
The standard developers rejected a proposal to add closefrom() to the
standard. Because the standard permits implementations to use inherited
file descriptors as a means of providing a conforming environment for
the child process, it is not possible to standardize an interface that
closes arbitrary file descriptors above a certain value while still
guaranteeing a conforming environment.

Of the systems that I have at hand:
 - on OpenBSD 6.9, NetBSD 8 and DragonFlyBSD 6, MINIX3 closefrom
returns int.
 - on Solaris 10, FreeBSD 12 closefrom return void.

so it's already a tire fire.

I vaguely recall a reason it doesn't include openbsd-compat.h.  We
might be able to get away with just config.h and HAVE_CLOSEFROM.

You are receiving this mail because:
You are watching someone on the CC list of the bug.
You are watching the assignee of the bug.

More information about the openssh-bugs mailing list