From 1dc995370987660ff045ff4d7cf512da0390cf96 Mon Sep 17 00:00:00 2001 From: Michal Schmidt Date: Sat, 19 Nov 2011 01:14:11 +0100 Subject: [PATCH 1/2] pam-module: use the correct session type "unspecified" logind does not understand "other". --- src/pam-module.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/src/pam-module.c b/src/pam-module.c index dd05f93..e650886 100644 --- a/src/pam-module.c +++ b/src/pam-module.c @@ -472,7 +472,7 @@ _public_ PAM_EXTERN int pam_sm_open_session( get_seat_from_display(display, &seat, &vtnr); type = !isempty(display) ? "x11" : - !isempty(tty) ? "tty" : "other"; + !isempty(tty) ? "tty" : "unspecified"; remote = !isempty(remote_host) && !streq(remote_host, "localhost") && !streq(remote_host, "localhost.localdomain"); -- 1.7.7 From 1a4459d63323cdfdb8751077e555ddbbf80564b1 Mon Sep 17 00:00:00 2001 From: Michal Schmidt Date: Sat, 19 Nov 2011 01:17:46 +0100 Subject: [PATCH 2/2] pam-module: treat "cron" in PAM_TTY as empty tty cron sets PAM_TTY to "cron" and it has been doing it for a long time. It cannot be changed because user configurations may depend on it. https://bugzilla.redhat.com/show_bug.cgi?id=727315 --- src/logind-session.c | 4 ++-- src/pam-module.c | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/logind-session.c b/src/logind-session.c index b0a09e3..63ee758 100644 --- a/src/logind-session.c +++ b/src/logind-session.c @@ -536,7 +536,7 @@ int session_start(Session *s) { if (r < 0) return r; - log_full(s->display || s->tty ? LOG_INFO : LOG_DEBUG, + log_full(s->type == SESSION_TTY || s->type == SESSION_X11 ? LOG_INFO : LOG_DEBUG, "New session %s of user %s.", s->id, s->user->name); /* Create cgroup */ @@ -659,7 +659,7 @@ int session_stop(Session *s) { assert(s); if (s->started) - log_full(s->display || s->tty ? LOG_INFO : LOG_DEBUG, + log_full(s->type == SESSION_TTY || s->type == SESSION_X11 ? LOG_INFO : LOG_DEBUG, "Removed session %s.", s->id); /* Kill cgroup */ diff --git a/src/pam-module.c b/src/pam-module.c index e650886..46b7bec 100644 --- a/src/pam-module.c +++ b/src/pam-module.c @@ -463,6 +463,10 @@ _public_ PAM_EXTERN int pam_sm_open_session( if (isempty(display)) display = tty; tty = ""; + } else if (streq(tty, "cron")) { + /* cron has been setting PAM_TTY to "cron" for a very long time + * and it cannot stop doing that for compatibility reasons. */ + tty = ""; } if (!isempty(cvtnr)) -- 1.7.7