From: Mike Yuan Date: Mon, 22 Sep 2025 16:53:12 +0000 (+0200) Subject: pam-util: fix build without PAM X-Git-Tag: v259-rc1~468^2~1 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f497a3f1c365d883d36d4546a6c874ad25f3d573;p=thirdparty%2Fsystemd.git pam-util: fix build without PAM Follow-up for 882c9ce0402ec6e37201628a9a361500ff39b1ed Prompted by #39077 Note that HAVE_PAM ifdeffery in pam-util.c is removed, since its build as a whole is conditioned out if !HAVE_PAM in shared/meson.build. --- diff --git a/src/shared/pam-util.c b/src/shared/pam-util.c index a967a41bee7..81ae094e855 100644 --- a/src/shared/pam-util.c +++ b/src/shared/pam-util.c @@ -16,7 +16,6 @@ #include "stdio-util.h" #include "string-util.h" -#if HAVE_PAM static void *libpam_dl = NULL; DLSYM_PROTOTYPE(pam_acct_mgmt) = NULL; @@ -61,7 +60,6 @@ int dlopen_libpam(void) { DLSYM_ARG(pam_syslog), DLSYM_ARG(pam_vsyslog)); } -#endif void pam_log_setup(void) { /* Make sure we don't leak the syslog fd we open by opening/closing the fd each time. */ diff --git a/src/shared/pam-util.h b/src/shared/pam-util.h index d33ab537eb0..a4d35faa115 100644 --- a/src/shared/pam-util.h +++ b/src/shared/pam-util.h @@ -1,14 +1,13 @@ /* SPDX-License-Identifier: LGPL-2.1-or-later */ #pragma once -#include - #include "forward.h" #if HAVE_PAM #include #include #include /* IWYU pragma: export */ +#include #include "dlfcn-util.h" @@ -29,7 +28,6 @@ extern DLSYM_PROTOTYPE(pam_syslog); extern DLSYM_PROTOTYPE(pam_vsyslog); int dlopen_libpam(void); -#endif void pam_log_setup(void); @@ -77,3 +75,11 @@ int pam_get_data_many_internal(pam_handle_t *handle, ...) _sentinel_; #define pam_get_data_many(handle, ...) pam_get_data_many_internal(handle, __VA_ARGS__, NULL) int pam_prompt_graceful(pam_handle_t *handle, int style, char **ret_response, const char *fmt, ...) _printf_(4,5); + +#else + +static inline int dlopen_libpam(void) { + return -EOPNOTSUPP; +} + +#endif