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
This commit is contained in:
Michal Schmidt 2011-11-19 01:17:46 +01:00
parent 1dc9953709
commit 1a4459d633
2 changed files with 6 additions and 2 deletions

View File

@ -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 */

View File

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