From: Sven Eden Date: Fri, 1 Sep 2017 11:22:46 +0000 (+0200) Subject: Prep v235: Fix pam_elogind X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=ecf49d1de38b9b2a3d3bab9976af1ac97bd2e03c;p=elogind.git Prep v235: Fix pam_elogind --- diff --git a/src/basic/login-util.h b/src/basic/login-util.h index b01ee25c8..a71ebd4ef 100644 --- a/src/basic/login-util.h +++ b/src/basic/login-util.h @@ -24,6 +24,8 @@ bool session_id_valid(const char *id); +#if 0 /// UNNEEDED by elogind static inline bool logind_running(void) { return access("/run/systemd/seats/", F_OK) >= 0; } +#endif // 0 diff --git a/src/login/pam_elogind.c b/src/login/pam_elogind.c index 5300e218b..221badce6 100644 --- a/src/login/pam_elogind.c +++ b/src/login/pam_elogind.c @@ -234,9 +234,11 @@ _public_ PAM_EXTERN int pam_sm_open_session( assert(handle); +#if 0 /// with elogind, it is always a "logind system". /* Make this a NOP on non-logind systems */ if (!logind_running()) return PAM_SUCCESS; +#endif // 0 if (parse_argv(handle, argc, argv, @@ -249,7 +251,7 @@ _public_ PAM_EXTERN int pam_sm_open_session( #if 0 /// This is pam-elogind, not pam-systemd pam_syslog(handle, LOG_DEBUG, "pam-systemd initializing"); #else - pam_syslog(handle, LOG_DEBUG, "pam-systemd initializing"); + pam_syslog(handle, LOG_DEBUG, "pam-elogind initializing"); #endif // 0 r = get_user_data(handle, &username, &pw); @@ -265,7 +267,11 @@ _public_ PAM_EXTERN int pam_sm_open_session( * leave. */ pam_get_item(handle, PAM_SERVICE, (const void**) &service); +#if 0 /// Actually it is elogind-user with elogind. if (streq_ptr(service, "systemd-user")) { +#else + if (streq_ptr(service, "elogind-user")) { +#endif // 0 _cleanup_free_ char *rt = NULL; if (asprintf(&rt, "/run/user/"UID_FMT, pw->pw_uid) < 0)