@@ -667,6 +667,7 @@ FIND_LIBRARY(LIBUTIL_LIBRARY NAMES util PATHS PATH_SUFFIXES lib64 lib | |||
IF(LIBUTIL_LIBRARY) | |||
LIST(APPEND CMAKE_REQUIRED_LIBRARIES util) | |||
CHECK_FUNCTION_EXISTS(pidfile_open HAVE_PIDFILE) | |||
CHECK_FUNCTION_EXISTS(pidfile_fileno HAVE_PIDFILE_FILENO) | |||
FIND_FILE(HAVE_LIBUTIL_H NAMES libutil.h PATHS /usr/include | |||
/opt/include |
@@ -104,6 +104,8 @@ | |||
#cmakedefine HAVE_PIDFILE 1 | |||
#cmakedefine HAVE_PIDFILE_FILENO 1 | |||
#cmakedefine HAVE_SETPROCTITLE 1 | |||
#cmakedefine HAVE_GETPAGESIZE 1 |
@@ -408,7 +408,11 @@ write_pid (struct rspamd_main *main) | |||
if (main->is_privilleged) { | |||
/* Force root user as owner of pid file */ | |||
#ifdef HAVE_PIDFILE_FILENO | |||
if (fchown (pidfile_fileno (main->pfh), 0, 0) == -1) { | |||
#else | |||
if (fchown (main->pfh->pf_fd, 0, 0) == -1) { | |||
#endif | |||
msg_err ("cannot chown of pidfile %s to 0:0 user", main->cfg->pid_file); | |||
} | |||
} |