CMake: fix broken daemonization and syslog functionality

While CMake is not the official way to build OpenVPN on Linux,
it still make sense to support it. Turns out that

  HAVE_SETSID, HAVE_OPENLOG and HAVE_SYSLOG

were not set by CMake configure, and --daemon and syslog
functionality was broken.

While on it, fix compiler error on unused return value of chdir().

Change-Id: I171d55da2be868d961caa1d4491e6f1ed10ebe8a
Signed-off-by: Lev Stipakov <lev@openvpn.net>
Acked-by: Arne Schwabe <arne-openvpn@rfc2549.org>
Acked-by: Frank Lichtenheld <frank@lichtenheld.com>
Message-Id: <20230920121519.177949-1-frank@lichtenheld.com>
URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg27045.html
Signed-off-by: Gert Doering <gert@greenie.muc.de>
This commit is contained in:
Lev Stipakov 2023-09-20 14:15:19 +02:00 committed by Gert Doering
parent 0793eb105c
commit 8ae6c48d5d
3 changed files with 8 additions and 4 deletions

View file

@ -150,6 +150,7 @@ check_symbol_exists(execve unistd.h HAVE_EXECVE)
check_symbol_exists(ftruncate unistd.h HAVE_FTRUNCATE)
check_symbol_exists(setgid unistd.h HAVE_SETGID)
check_symbol_exists(setuid unistd.h HAVE_SETUID)
check_symbol_exists(setsid unistd.h HAVE_SETSID)
check_symbol_exists(getpeereid unistd.h HAVE_GETPEEREID)
check_symbol_exists(epoll_create sys/epoll.h HAVE_EPOLL_CREATE)

View file

@ -218,7 +218,7 @@ don't. */
#undef HAVE_NICE
/* Define to 1 if you have the `openlog' function. */
#undef HAVE_OPENLOG
#cmakedefine HAVE_OPENLOG
/* OpenSSL engine support available */
#undef HAVE_OPENSSL_ENGINE
@ -258,7 +258,7 @@ don't. */
#undef HAVE_SETGROUPS
/* Define to 1 if you have the `setsid' function. */
#undef HAVE_SETSID
#cmakedefine HAVE_SETSID
/* Define to 1 if you have the `setsockopt' function. */
#define HAVE_SETSOCKOPT 1
@ -303,7 +303,7 @@ don't. */
#undef HAVE_STRSEP
/* Define to 1 if you have the `syslog' function. */
#undef HAVE_SYSLOG
#cmakedefine HAVE_SYSLOG
/* Define to 1 if you have the <syslog.h> header file. */
#cmakedefine HAVE_SYSLOG_H

View file

@ -70,7 +70,10 @@ daemon(int nochdir, int noclose)
if (!nochdir)
{
chdir("/");
if (chdir("/") == -1)
{
return (-1);
}
}
if (!noclose)