82 lines
2.8 KiB
Diff
82 lines
2.8 KiB
Diff
|
From 1dc995370987660ff045ff4d7cf512da0390cf96 Mon Sep 17 00:00:00 2001
|
||
|
From: Michal Schmidt <mschmidt@redhat.com>
|
||
|
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 <mschmidt@redhat.com>
|
||
|
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
|
||
|
|