Systemd/src/login
Djalal Harouni b58b227a53 logind: make sure to terminate systemd user on logouts
Currently if the user logs out, the GC may never call user_stop(),
this will not terminate the systemd user and (sd-pam) of that user.

To fix this, remove the USER_CLOSING state check that is blocking the
GC from calling user_stop(). Since if user_check_gc() returns false
this means that all the sessions of the user were removed which will
make user_get_state() return USER_CLOSING.

Conclusion: that test will never be statisfied.

So we remove the USER_CLOSING check and replace it with a check inside
user_stop() this way we know that user_stop() has already queued stop
jobs, no need to redo.

This ensures that the GC will get its two steps correctly as pointed out
by Lennart:
http://lists.freedesktop.org/archives/systemd-devel/2014-February/016825.html

Note: this also fixes another bug that prevents creating the user
private dbus socket which will break communications with the user
manager.
2014-02-13 21:07:13 +01:00
..
.gitignore build-sys: create "compatibility libraries" section 2014-01-25 18:10:08 -05:00
70-power-switch.rules login: Use the GOTO properly in udev rule 2012-05-30 18:34:28 +02:00
70-uaccess.rules uaccess: Add new DRM render nodes 2013-11-12 18:11:43 +01:00
71-seat.rules.in Move udevadm to rootbindir 2013-03-11 07:18:33 +01:00
73-seat-late.rules.in relicense to LGPLv2.1 (with exceptions) 2012-04-12 00:24:39 +02:00
inhibit.c bus: introduce concept of a default bus for each thread and make use of it everywhere 2013-11-12 00:12:43 +01:00
login-shared.c login: fix login_is_valid test 2013-09-16 11:10:55 -05:00
login-shared.h login: fix login_is_valid test 2013-09-16 11:10:55 -05:00
loginctl.c man: introduce new "Desktop" property for sessions 2014-02-05 20:44:49 +01:00
logind-acl.c core,logind,networkd: check for udev device initialization via enumeration matches 2013-12-18 18:21:28 +01:00
logind-acl.h use #pragma once instead of foo*foo #define guards 2012-07-19 12:30:59 +02:00
logind-action.c logind: log which process is delaying suspend and not closing locks 2013-11-27 02:39:19 +01:00
logind-action.h conf-parser: distinguish between multiple sections with the same name 2013-11-25 19:35:44 +01:00
logind-button.c event: be more conservative when returning errors from event handler callbacks 2013-12-13 04:06:43 +01:00
logind-button.h use #pragma once instead of foo*foo define guards 2013-11-18 20:28:54 -05:00
logind-core.c logind: make VT numbers unsigned 2013-11-28 17:38:16 +01:00
logind-dbus.c logind: ignore PropertiesChanged signals for jobs 2014-02-11 19:14:47 -05:00
logind-device.c Remove dead code and unexport some calls 2013-11-08 18:12:45 +01:00
logind-device.h Remove dead code and unexport some calls 2013-11-08 18:12:45 +01:00
logind-gperf.gperf logind: port over to use scopes+slices for all cgroup stuff 2013-07-02 01:48:55 +02:00
logind-inhibit.c Update some message formats 2014-02-05 19:00:36 -05:00
logind-inhibit.h logind: log which process is delaying suspend and not closing locks 2013-11-27 02:39:19 +01:00
logind-seat-dbus.c logind: always kill session when termination is requested 2014-02-11 19:14:47 -05:00
logind-seat.c logind: always kill session when termination is requested 2014-02-11 19:14:47 -05:00
logind-seat.h logind: always kill session when termination is requested 2014-02-11 19:14:47 -05:00
logind-session-dbus.c logind: always kill session when termination is requested 2014-02-11 19:14:47 -05:00
logind-session-device.c logind: ignore failing close() on session-devices 2013-11-28 15:16:49 +01:00
logind-session-device.h logind: remove fbdev session-device support 2013-10-01 18:08:54 +02:00
logind-session.c logind: always kill session when termination is requested 2014-02-11 19:14:47 -05:00
logind-session.h logind: always kill session when termination is requested 2014-02-11 19:14:47 -05:00
logind-user-dbus.c logind: always kill session when termination is requested 2014-02-11 19:14:47 -05:00
logind-user.c logind: make sure to terminate systemd user on logouts 2014-02-13 21:07:13 +01:00
logind-user.h logind: always kill session when termination is requested 2014-02-11 19:14:47 -05:00
logind.c logind: make sure to terminate systemd user on logouts 2014-02-13 21:07:13 +01:00
logind.conf logind: port over to use scopes+slices for all cgroup stuff 2013-07-02 01:48:55 +02:00
logind.h logind: order all scopes after both systemd-logind.service and 2014-02-07 17:49:16 +01:00
Makefile logind: move logind into its own subdirectory 2011-12-31 03:16:08 +01:00
multi-seat-x.c multi-seat-x: drop a lot of unnecessary code 2012-09-21 17:03:40 +02:00
org.freedesktop.login1.conf bus: introduce "trusted" bus concept and encode access control in object vtables 2013-12-10 16:52:49 +00:00
org.freedesktop.login1.policy.in logind: if a user is sitting in front of the computer and can shutdown the machine anyway he should also be able to reboot it 2013-09-26 20:31:37 +02:00
org.freedesktop.login1.service relicense to LGPLv2.1 (with exceptions) 2012-04-12 00:24:39 +02:00
pam-module.c pam: use correct log level 2014-02-10 16:38:28 +01:00
sd-login.c machined: optionally, allow registration of pre-existing units (scopes 2014-02-11 17:16:08 +01:00
sysfs-show.c loginctl: when showing device tree of seats with no devices show something useful 2013-12-18 18:21:28 +01:00
systemd-user Add pam configuration to allow user sessions to work out of the box 2013-09-11 15:35:06 -04:00
test-inhibit.c login: port test-inhibit to libsystemd-bus 2013-11-05 21:34:42 +01:00
test-login-shared.c Add more tests and fix capability logging 2013-09-19 16:22:59 -05:00
test-login-tables.c tests: add tests for string lookup tables 2013-07-05 01:36:16 -04:00
test-login.c libsystemd-login: add sd_session_get_remote_{host, user} 2013-12-21 22:02:57 -05:00
user-sessions.c user-sessions: modernizations 2013-11-05 01:13:05 +01:00