aboutsummaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorDudemanguy <random342@airmail.cc>2024-11-20 13:16:44 -0600
committerDmitry V. Levin <ldv@strace.io>2024-11-26 16:00:00 +0000
commite46b77e7739a2c5b8f72a7ea6fb77a7a6acc187d (patch)
tree35cdf6758104342f3c1808e7a8bdcb0b3dd0cd12 /modules
parent45576121e28e5880ba5b4ab2921fab52bc552787 (diff)
downloadpam-e46b77e7739a2c5b8f72a7ea6fb77a7a6acc187d.tar.gz
pam-e46b77e7739a2c5b8f72a7ea6fb77a7a6acc187d.tar.bz2
pam-e46b77e7739a2c5b8f72a7ea6fb77a7a6acc187d.zip
meson: support elogind as a logind provider
The systemd functionality used here is also supported by elogind. Introduce elogind meson option that could be used to enable logind support in pam_issue, pam_limits, and pam_timestamp via elogind. When elogind support is enabled, search for libelogind as well and use the appropriate headers.
Diffstat (limited to 'modules')
-rw-r--r--modules/module-meson.build8
-rw-r--r--modules/pam_issue/pam_issue.c4
-rw-r--r--modules/pam_limits/pam_limits.c4
-rw-r--r--modules/pam_timestamp/pam_timestamp.c4
4 files changed, 13 insertions, 7 deletions
diff --git a/modules/module-meson.build b/modules/module-meson.build
index acb70875..dce38b90 100644
--- a/modules/module-meson.build
+++ b/modules/module-meson.build
@@ -16,7 +16,7 @@ if module == 'pam_faillock'
pam_module_deps += [libaudit]
endif
if module == 'pam_issue'
- pam_module_deps += [libsystemd]
+ pam_module_deps += [logind_dep]
endif
if module == 'pam_keyinit'
if not enable_pam_keyinit
@@ -32,7 +32,7 @@ endif
if module == 'pam_limits'
limits_conf_dir = sconfigdir / 'limits.d'
pam_module_c_args += ['-DLIMITS_FILE_DIR="@0@"'.format(limits_conf_dir)]
- pam_module_deps += [libsystemd]
+ pam_module_deps += [logind_dep]
endif
if module == 'pam_loginuid'
pam_module_deps += [libaudit]
@@ -90,7 +90,7 @@ if module == 'pam_timestamp'
else
pam_module_src += ['hmacsha1.c', 'sha1.c']
endif
- pam_module_deps += [libcrypto, libsystemd]
+ pam_module_deps += [libcrypto, logind_dep]
endif
if module == 'pam_tty_audit'
if cdata.get('HAVE_STRUCT_AUDIT_TTY_STATUS', 0) == 0
@@ -408,7 +408,7 @@ if module == 'pam_timestamp'
'pam_timestamp_check',
sources: ['pam_timestamp_check.c'],
link_args: exe_link_args,
- dependencies: [libpam_internal_dep, libpam_dep, libsystemd],
+ dependencies: [libpam_internal_dep, libpam_dep, logind_dep],
install: true,
install_dir: sbindir,
)
diff --git a/modules/pam_issue/pam_issue.c b/modules/pam_issue/pam_issue.c
index e2c555c4..52b11058 100644
--- a/modules/pam_issue/pam_issue.c
+++ b/modules/pam_issue/pam_issue.c
@@ -28,8 +28,10 @@
#include <time.h>
#include <syslog.h>
-#ifdef USE_LOGIND
+#ifdef USE_LIBSYSTEMD
#include <systemd/sd-login.h>
+#elif defined(USE_LIBELOGIND)
+#include <elogind/sd-login.h>
#else
#include <utmp.h>
#endif
diff --git a/modules/pam_limits/pam_limits.c b/modules/pam_limits/pam_limits.c
index 1e4dfa3d..9e76d1e8 100644
--- a/modules/pam_limits/pam_limits.c
+++ b/modules/pam_limits/pam_limits.c
@@ -36,8 +36,10 @@
#include <sys/resource.h>
#include <limits.h>
#include <glob.h>
-#ifdef USE_LOGIND
+#ifdef USE_LIBSYSTEMD
#include <systemd/sd-login.h>
+#elif defined(USE_LIBELOGIND)
+#include <elogind/sd-login.h>
#else
#include <utmp.h>
#endif
diff --git a/modules/pam_timestamp/pam_timestamp.c b/modules/pam_timestamp/pam_timestamp.c
index 51fcd592..c207e5d1 100644
--- a/modules/pam_timestamp/pam_timestamp.c
+++ b/modules/pam_timestamp/pam_timestamp.c
@@ -61,8 +61,10 @@
#include "hmacsha1.h"
#endif /* WITH_OPENSSL */
-#ifdef USE_LOGIND
+#ifdef USE_LIBSYSTEMD
#include <systemd/sd-login.h>
+#elif defined(USE_LIBELOGIND)
+#include <elogind/sd-login.h>
#else
#include <utmp.h>
#endif