[systemd-commits] 2 commits - src/logind-session.c src/pam-module.c

Michal Schmidt michich at kemper.freedesktop.org
Fri Nov 18 16:19:38 PST 2011


 src/logind-session.c |    4 ++--
 src/pam-module.c     |    6 +++++-
 2 files changed, 7 insertions(+), 3 deletions(-)

New commits:
commit 1a4459d63323cdfdb8751077e555ddbbf80564b1
Author: Michal Schmidt <mschmidt at redhat.com>
Date:   Sat Nov 19 01:17:46 2011 +0100

    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

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))

commit 1dc995370987660ff045ff4d7cf512da0390cf96
Author: Michal Schmidt <mschmidt at redhat.com>
Date:   Sat Nov 19 01:14:11 2011 +0100

    pam-module: use the correct session type "unspecified"
    
    logind does not understand "other".

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");
 



More information about the systemd-commits mailing list