From: Vsevolod Stakhov Date: Wed, 20 Nov 2013 16:14:20 +0000 (+0000) Subject: Check for libutil more strictly. X-Git-Tag: 0.6.0~33 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c370177c68eb3b327a9abef4e139dbad64db0a7a;p=thirdparty%2Frspamd.git Check for libutil more strictly. --- diff --git a/CMakeLists.txt b/CMakeLists.txt index fda25e1159..b18e6bdb72 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -662,14 +662,15 @@ FIND_LIBRARY(LIBUTIL_LIBRARY NAMES util PATHS PATH_SUFFIXES lib64 lib /opt DOC "Path where the libutil library can be found") 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 /usr/local/include DOC "Path to libutil header") + IF(HAVE_LIBUTIL_H) + LIST(APPEND CMAKE_REQUIRED_LIBRARIES util) + CHECK_FUNCTION_EXISTS(pidfile_open HAVE_PIDFILE) + CHECK_FUNCTION_EXISTS(pidfile_fileno HAVE_PIDFILE_FILENO) + ENDIF(HAVE_LIBUTIL_H) ENDIF(LIBUTIL_LIBRARY) # Find libfetch (for FreeBSD) diff --git a/src/util.c b/src/util.c index 7383f23d60..46e99c3095 100644 --- a/src/util.c +++ b/src/util.c @@ -2305,10 +2305,13 @@ rspamd_read_passphrase (gchar *buf, gint size, gint rwflag, gpointer key) gchar *end, *p, ch; restart: - if ((input = output = open (_PATH_TTY, O_RDWR | O_CLOEXEC)) == -1) { + if ((input = output = open (_PATH_TTY, O_RDWR)) == -1) { errno = ENOTTY; return 0; } + if (fcntl (input, F_SETFD, FD_CLOEXEC) == -1) { + msg_warn ("fcntl failed: %d, '%s'", errno, strerror (errno)); + } /* Turn echo off */ if (tcgetattr (input, &oterm) != 0) {