From 9e08fc03ba3e9d777718d3e053c1e08737f360b3 Mon Sep 17 00:00:00 2001 From: Marcus Comstedt <marcus@mc.pp.se> Date: Mon, 4 Jan 2021 16:11:34 +0100 Subject: [PATCH] Build [Configure]: Blacklist chroot on macOS The prototype is not available with _POSIX_C_SOURCE. --- src/configure.in | 3 +++ src/modules/system/configure.in | 2 +- src/signal_handler.c | 2 ++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/configure.in b/src/configure.in index 5aa19b759f..70b4203dfe 100644 --- a/src/configure.in +++ b/src/configure.in @@ -673,7 +673,9 @@ case "$pike_cv_sys_os" in fi ;; Darwin*) + # macOS lacks prototypes for these with _POSIX_C_SOURCE ac_cv_func_getpagesize="no" + ac_cv_func_chroot="no" ;; esac @@ -4565,6 +4567,7 @@ AC_CHECK_FUNCS( \ _crypt \ poll \ accept4 \ + chroot \ closefrom \ crypt \ fdwalk \ diff --git a/src/modules/system/configure.in b/src/modules/system/configure.in index 91de086473..4a19a8bcaa 100644 --- a/src/modules/system/configure.in +++ b/src/modules/system/configure.in @@ -91,7 +91,7 @@ AC_HAVE_FUNCS(syslog link symlink readlink resolvepath realpath chown lchown \ getpwnam getspnam getgrnam getpwuid getgrgid \ getgrent setgrent endgrent getpwent setpwent endpwent \ gethostname gethostbyname getservbyname \ - chroot fchroot uname sysinfo sync \ + fchroot uname sysinfo sync \ getgrnam_r getgrent_r getgrgid_r \ getpwnam_r getpwent_r getpwuid_r \ getspnam_r innetgr utime _utime lutimes sleep usleep nanosleep \ diff --git a/src/signal_handler.c b/src/signal_handler.c index dae00fb4d6..39dedacf3b 100644 --- a/src/signal_handler.c +++ b/src/signal_handler.c @@ -4111,6 +4111,7 @@ void f_create_process(INT32 args) #endif /* _sys_nsig */ } +#ifdef HAVE_CHROOT if(mchroot) { if( chroot( mchroot ) ) @@ -4129,6 +4130,7 @@ void f_create_process(INT32 args) PROCERROR(PROCE_CHDIR, 1); } } +#endif if(tmp_cwd) { -- GitLab