[systemd-commits] src/login

David Herrmann dvdhrm at kemper.freedesktop.org
Wed Apr 23 08:37:42 PDT 2014


 src/login/logind-session.c |    6 ++++++
 1 file changed, 6 insertions(+)

New commits:
commit d6176c6c97bf0614c2e7caaf2156bf813b39337a
Author: Ray Strode <rstrode at redhat.com>
Date:   Tue Apr 22 13:27:58 2014 -0400

    login: give session ownership of VT
    
    The tty associated with a VT should be owned by the owner of the session
    running on the VT. This is important for supporting a socket activated X
    server, since the X server will open the tty itself.
    
    This commit makes sure to chown the tty any time a session is
    created and and chown it back to root any time the session
    is removed. This behavior is copied from /bin/login.

diff --git a/src/login/logind-session.c b/src/login/logind-session.c
index b4fd349..83c0ffa 100644
--- a/src/login/logind-session.c
+++ b/src/login/logind-session.c
@@ -972,6 +972,10 @@ void session_mute_vt(Session *s) {
         if (vt < 0)
                 return;
 
+        r = fchown(vt, s->user->uid, -1);
+        if (r < 0)
+                goto error;
+
         r = ioctl(vt, KDSKBMODE, K_OFF);
         if (r < 0)
                 goto error;
@@ -1026,6 +1030,8 @@ void session_restore_vt(Session *s) {
         mode.mode = VT_AUTO;
         ioctl(vt, VT_SETMODE, &mode);
 
+        fchown(vt, 0, -1);
+
         s->vtfd = safe_close(s->vtfd);
 }
 



More information about the systemd-commits mailing list