mirror of
https://github.com/systemd/systemd-stable.git
synced 2025-03-13 12:58:20 +03:00
pam: check environ[] for XDG_SEAT as fallback
This is useful for systems such as kmscon which want to invoke classic /sbin/login but use it on multiple seats.
This commit is contained in:
parent
d67227c8b9
commit
a8573ccc35
@ -428,8 +428,14 @@ _public_ PAM_EXTERN int pam_sm_open_session(
|
||||
pam_get_item(handle, PAM_TTY, (const void**) &tty);
|
||||
pam_get_item(handle, PAM_RUSER, (const void**) &remote_user);
|
||||
pam_get_item(handle, PAM_RHOST, (const void**) &remote_host);
|
||||
|
||||
seat = pam_getenv(handle, "XDG_SEAT");
|
||||
if (isempty(seat))
|
||||
seat = getenv("XDG_SEAT");
|
||||
|
||||
cvtnr = pam_getenv(handle, "XDG_VTNR");
|
||||
if (isempty(cvtnr))
|
||||
cvtnr = getenv("XDG_VTNR");
|
||||
|
||||
service = strempty(service);
|
||||
tty = strempty(tty);
|
||||
@ -467,6 +473,8 @@ _public_ PAM_EXTERN int pam_sm_open_session(
|
||||
!isempty(tty) ? "tty" : "unspecified";
|
||||
|
||||
class = pam_getenv(handle, "XDG_SESSION_CLASS");
|
||||
if (isempty(class))
|
||||
class = getenv("XDG_SESSION_CLASS");
|
||||
if (isempty(class))
|
||||
class = "user";
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user