tOnly call issetugid() on systems that have it - vaccinewars - be a doctor and try to vaccinate the world
(HTM) git clone git://src.adamsgaard.dk/vaccinewars
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
(DIR) LICENSE
---
(DIR) commit 10bb1c3c21b12fc3a95a4274b2107751424230dc
(DIR) parent ec76dfa9332d4449aade6d295cf3988c5cdcfc3d
(HTM) Author: Ben Webb <ben@salilab.org>
Date: Sun, 8 Nov 2020 12:29:40 -0800
Only call issetugid() on systems that have it
Diffstat:
M configure.ac | 2 +-
M src/serverside.c | 3 +++
2 files changed, 4 insertions(+), 1 deletion(-)
---
(DIR) diff --git a/configure.ac b/configure.ac
t@@ -285,7 +285,7 @@ dnl Checks for library functions.
AC_FUNC_MEMCMP
AC_FUNC_SETVBUF_REVERSED
AC_FUNC_STRFTIME
-AC_CHECK_FUNCS(strdup strstr getopt getopt_long fork)
+AC_CHECK_FUNCS(strdup strstr getopt getopt_long fork issetugid)
dnl Enable plugins only if we can find the dlopen function, and
dnl the user does not disable them with --disable-plugins or --disable-shared
(DIR) diff --git a/src/serverside.c b/src/serverside.c
t@@ -1798,7 +1798,10 @@ void CloseHighScoreFile()
void DropPrivileges()
{
#ifndef CYGWIN
+
+#ifdef HAVE_ISSETUGID
if (issetugid() == 0) return;
+#endif
/* Ignore the return from setregid; we'll check it ourselves to be sure
* (this avoids problems when running under fakeroot) */