From 801784ae89224d004dc79af95545acbdf547ce64 Mon Sep 17 00:00:00 2001 From: Thorsten Kukuk Date: Fri, 16 Jun 2023 09:28:21 +0200 Subject: check_users: prefer systemd-logind over utmp Prefer systemd-logind over utmp to get the number of logged in users. utmp is not reliable for this (e.g. some terminals create utmp entries, other not) and utmp is not Y2038 safe with glibc on Linux. --- configure.ac | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'configure.ac') diff --git a/configure.ac b/configure.ac index 069cc625..a294b00f 100644 --- a/configure.ac +++ b/configure.ac @@ -328,6 +328,25 @@ AS_IF([test "x$with_ldap" != "xno"], [ LIBS="$_SAVEDLIBS" ]) + +AC_ARG_WITH([systemd], [AS_HELP_STRING([--without-systemd], [Skips systemd support])]) + +dnl Check for libsystemd +AS_IF([test "x$with_systemd" != "xno"], [ + _SAVEDLIBS="$LIBS" + AC_CHECK_LIB(systemd,sd_get_sessions,,,-lsystemd) + if test "$ac_cv_lib_systemd_sd_get_sessions" = "yes"; then + SYSTEMDLIBS="-lsystemd" + SYSTEMDINCLUDE="" + AC_SUBST(SYSTEMDLIBS) + AC_SUBST(SYSTEMDINCLUDE) + else + AC_MSG_WARN([Skipping systemd support]) + fi + LIBS="$_SAVEDLIBS" +]) + + dnl Check for headers used by check_ide_smart case $host in *linux*) -- cgit v1.2.3-74-g34f1 From 513929d796af668e977ca7981800c259304a2f25 Mon Sep 17 00:00:00 2001 From: RincewindsHat <12514511+RincewindsHat@users.noreply.github.com> Date: Sat, 23 Sep 2023 12:31:33 +0200 Subject: Remove check for RETSIGTYPE in autoconf stuff autoupdate tells me, that since C89 I can safely assume RETSIGTYPE is void. Therefore to simplify things I removed the corresponding configure.ac line and replaced all mentions of RETSIGTYPE with void. --- configure.ac | 1 - lib/utils_cmd.h | 2 +- plugins/netutils.h | 2 +- plugins/popen.c | 8 ++++---- plugins/popen.h | 2 +- 5 files changed, 7 insertions(+), 8 deletions(-) (limited to 'configure.ac') diff --git a/configure.ac b/configure.ac index a294b00f..e6a40d3f 100644 --- a/configure.ac +++ b/configure.ac @@ -621,7 +621,6 @@ AC_C_CONST AC_STRUCT_TM AC_TYPE_PID_T AC_TYPE_SIZE_T -AC_TYPE_SIGNAL AC_CACHE_CHECK([for va_copy],ac_cv_HAVE_VA_COPY,[ AC_TRY_LINK([#include diff --git a/lib/utils_cmd.h b/lib/utils_cmd.h index 1fc2968c..f1b06c82 100644 --- a/lib/utils_cmd.h +++ b/lib/utils_cmd.h @@ -33,7 +33,7 @@ void cmd_init (void); #define CMD_NO_ASSOC 0x02 /* output.line won't point to buf */ -RETSIGTYPE timeout_alarm_handler (int); +void timeout_alarm_handler (int); #endif /* _UTILS_CMD_ */ diff --git a/plugins/netutils.h b/plugins/netutils.h index d7ee0ddd..ea653e72 100644 --- a/plugins/netutils.h +++ b/plugins/netutils.h @@ -92,7 +92,7 @@ extern int econn_refuse_state; extern int was_refused; extern int address_family; -RETSIGTYPE socket_timeout_alarm_handler (int) __attribute__((noreturn)); +void socket_timeout_alarm_handler (int) __attribute__((noreturn)); /* SSL-Related functionality */ #ifdef HAVE_SSL diff --git a/plugins/popen.c b/plugins/popen.c index b395f14a..036bc608 100644 --- a/plugins/popen.c +++ b/plugins/popen.c @@ -50,9 +50,9 @@ extern FILE *child_process; FILE *spopen (const char *); int spclose (FILE *); #ifdef REDHAT_SPOPEN_ERROR -RETSIGTYPE popen_sigchld_handler (int); +void popen_sigchld_handler (int); #endif -RETSIGTYPE popen_timeout_alarm_handler (int); +void popen_timeout_alarm_handler (int); #include /* ANSI C header file */ #include @@ -266,7 +266,7 @@ spclose (FILE * fp) } #ifdef REDHAT_SPOPEN_ERROR -RETSIGTYPE +void popen_sigchld_handler (int signo) { if (signo == SIGCHLD) @@ -274,7 +274,7 @@ popen_sigchld_handler (int signo) } #endif -RETSIGTYPE +void popen_timeout_alarm_handler (int signo) { int fh; diff --git a/plugins/popen.h b/plugins/popen.h index a5dd8fa7..1ea69632 100644 --- a/plugins/popen.h +++ b/plugins/popen.h @@ -5,7 +5,7 @@ FILE *spopen (const char *); int spclose (FILE *); -RETSIGTYPE popen_timeout_alarm_handler (int); +void popen_timeout_alarm_handler (int); pid_t *childpid=NULL; int *child_stderr_array=NULL; -- cgit v1.2.3-74-g34f1 From bc2d1e4b5ecd5fc9270b8d8a65cbd445b7fb783f Mon Sep 17 00:00:00 2001 From: RincewindsHat <12514511+RincewindsHat@users.noreply.github.com> Date: Sat, 23 Sep 2023 21:41:50 +0200 Subject: Somehow this fixes detection of the availability of struct timeval for me --- configure.ac | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'configure.ac') diff --git a/configure.ac b/configure.ac index a294b00f..2ddc5035 100644 --- a/configure.ac +++ b/configure.ac @@ -645,12 +645,16 @@ AC_TRY_COMPILE([#include ], [struct timeval *tv; struct timezone *tz;], AC_DEFINE(HAVE_STRUCT_TIMEVAL,1,[Define if we have a timeval structure]) - AC_TRY_COMPILE([#include ], - [struct timeval *tv; - struct timezone *tz; - gettimeofday(tv, tz);], - AC_DEFINE(HAVE_GETTIMEOFDAY,1,[Define if gettimeofday is found]), - AC_DEFINE(NEED_GETTIMEOFDAY,1,[Define if gettimeofday is needed]))) + FOUND_STRUCT_TIMEVAL="yes") + +if test x$FOUND_STRUCT_TIMEVAL = x"yes"; then + AC_TRY_COMPILE([#include ], + [struct timeval *tv; + struct timezone *tz; + gettimeofday(tv, tz);], + AC_DEFINE(HAVE_GETTIMEOFDAY,1,[Define if gettimeofday is found]), + AC_DEFINE(NEED_GETTIMEOFDAY,1,[Define if gettimeofday is needed])) +fi dnl Checks for library functions. AC_CHECK_FUNCS(memmove select socket strdup strstr strtol strtoul floor) -- cgit v1.2.3-74-g34f1 From dbd49978afb1accb78b083d788fd2a7f4b0edef8 Mon Sep 17 00:00:00 2001 From: Lorenz Kästle <12514511+RincewindsHat@users.noreply.github.com> Date: Fri, 13 Oct 2023 01:38:42 +0200 Subject: Update configure.ac Co-authored-by: waja --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'configure.ac') diff --git a/configure.ac b/configure.ac index 58a299ff..b5374b23 100644 --- a/configure.ac +++ b/configure.ac @@ -646,7 +646,7 @@ AC_TRY_COMPILE([#include ], AC_DEFINE(HAVE_STRUCT_TIMEVAL,1,[Define if we have a timeval structure]) FOUND_STRUCT_TIMEVAL="yes") -if test x$FOUND_STRUCT_TIMEVAL = x"yes"; then +if test x"$FOUND_STRUCT_TIMEVAL" = x"yes"; then AC_TRY_COMPILE([#include ], [struct timeval *tv; struct timezone *tz; -- cgit v1.2.3-74-g34f1