diff options
author | Darren Tucker <dtucker@dtucker.net> | 2022-11-07 00:39:01 +0100 |
---|---|---|
committer | Darren Tucker <dtucker@dtucker.net> | 2022-11-07 00:39:01 +0100 |
commit | 32fddb982fd61b11a2f218a115975a87ab126d43 (patch) | |
tree | 6769e31853f280c01c31d098966eef63729950bd /configure.ac | |
parent | configure.ac: Fix -Wstrict-prototypes (diff) | |
download | openssh-32fddb982fd61b11a2f218a115975a87ab126d43.tar.xz openssh-32fddb982fd61b11a2f218a115975a87ab126d43.zip |
Fix setres*id checks to work with clang-16.
glibc has the prototypes for setresuid and setresgid behind _GNU_SOURCE,
and clang 16 will error out on implicit function definitions, so add
_GNU_SOURCE and the required headers to the configure checks. From
sam at @gentoo.org via bz#3497.
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/configure.ac b/configure.ac index 4bf758ac5..e172540a1 100644 --- a/configure.ac +++ b/configure.ac @@ -863,7 +863,8 @@ int main(void) { if (NSVersionOfRunTimeLibrary("System") >= (60 << 16)) check_for_openpty_ctty_bug=1 dnl Target SUSv3/POSIX.1-2001 plus BSD specifics. dnl _DEFAULT_SOURCE is the new name for _BSD_SOURCE - CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=600 -D_BSD_SOURCE -D_DEFAULT_SOURCE" + dnl _GNU_SOURCE is needed for setres*id prototypes. + CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=600 -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_GNU_SOURCE" AC_DEFINE([BROKEN_CLOSEFROM], [1], [broken in chroots on older kernels]) AC_DEFINE([PAM_TTY_KLUDGE], [1], [Work around problematic Linux PAM modules handling of PAM_TTY]) @@ -2168,8 +2169,9 @@ AC_CHECK_FUNCS([setresuid], [ AC_MSG_CHECKING([if setresuid seems to work]) AC_RUN_IFELSE( [AC_LANG_PROGRAM([[ -#include <stdlib.h> #include <errno.h> +#include <stdlib.h> +#include <unistd.h> ]], [[ errno=0; setresuid(0,0,0); @@ -2191,8 +2193,9 @@ AC_CHECK_FUNCS([setresgid], [ AC_MSG_CHECKING([if setresgid seems to work]) AC_RUN_IFELSE( [AC_LANG_PROGRAM([[ -#include <stdlib.h> #include <errno.h> +#include <stdlib.h> +#include <unistd.h> ]], [[ errno=0; setresgid(0,0,0); |