]> git.ipfire.org Git - thirdparty/openssh-portable.git/commitdiff
Skip select+rlimit check if sandboxing is disabled
authorDarren Tucker <dtucker@dtucker.net>
Fri, 1 Jul 2022 03:55:19 +0000 (13:55 +1000)
committerDarren Tucker <dtucker@dtucker.net>
Fri, 1 Jul 2022 03:57:43 +0000 (13:57 +1000)
It's not needed in that case, and the test can fail when being built
with some compiler memory sanitizer flags.  bz#3441

configure.ac

index 1f9d23a30abb3720a45ddb939143208976b3b00a..0aba3709fd0a0389ff0d2cda80bb975ffd5a0a12 100644 (file)
@@ -3552,10 +3552,13 @@ AC_ARG_WITH([sandbox],
 
 # POSIX specifies that poll() "shall fail with EINVAL if the nfds argument
 # is greater than OPEN_MAX".  On some platforms that includes implementions
-# ofselect in userspace on top of poll() so check both work with rlimit NOFILES
-# so check that both work before enabling the rlimit sandbox.
+# of select in userspace on top of poll() so check both work with rlimit
+# NOFILES so check that both work before enabling the rlimit sandbox.
 AC_MSG_CHECKING([if select and/or poll works with descriptor rlimit])
-AC_RUN_IFELSE(
+if test "x$sandbox_arg" = "xno"; then
+    AC_MSG_RESULT([sandboxing disabled, skipping])
+else
+    AC_RUN_IFELSE(
        [AC_LANG_PROGRAM([[
 #include <sys/types.h>
 #ifdef HAVE_SYS_TIME_H
@@ -3608,7 +3611,8 @@ AC_RUN_IFELSE(
         select_works_with_rlimit=no],
        [AC_MSG_WARN([cross compiling: assuming no])
         select_works_with_rlimit=no]
-)
+    )
+fi
 
 AC_CHECK_MEMBERS([struct pollfd.fd], [], [], [[
 #include <sys/types.h>