summaryrefslogtreecommitdiff
path: root/src/login
AgeCommit message (Collapse)Author
2012-09-16logind: redefine idleness to start at last activityZbigniew Jędrzejewski-Szmek
Before, after the timeout, a session would be timestamped as idle since 'last activity' + 'idle timeout'. Now, it is timestamped as idle since 'last activity'. Before, after all sessions were idle, the seat would be marked with as idle with the timestamp of the oldest idle session. Now it is marked with the timestamp of the youngest idle session. Both changes seem to me to be closer to natural understanding of idleness: the time since last activity counts.
2012-09-12login: reshuffle meaning of require_active parameterLennart Poettering
2012-09-12logind: Avoid unnecesary rewrite of user file when switching sessions of the ↵Colin Guthrie
same user.
2012-09-12logind: Ensure the user, seat and session files are updated when the session ↵Colin Guthrie
is closing.
2012-09-12logind: Add a two new variables to the user session tracking file.Colin Guthrie
This counts 'online sessions' in addition to 'active sessions' and 'sessions'. In this context, an 'online session' covers all session in the 'active' state in addition to the explicit 'online' state. This provides an easy machanism to determin all relevant sessions easily (i.e. those that are not 'closing') and adds new semantics to the sd-login.c APIs sd_uid_get_sessions() and sd_uid_get_seats() where the require_active argument can be supplied as a value 2 which only lists sessions which are 'online'. This functionality should allow client applications to avoid deadlocks where they only exit when all sessions are complete, such as a the problem where PulseAudio will not exit until all sessions are gone, but in itself prevents the session from exiting.
2012-09-12logind: Properly list the ACTIVE_SEATS in the user session tracking file.Colin Guthrie
Prevsiouly the first active seat for a user would never be listed and any subsequent seats would be concatenated on without any spaces.
2012-09-12logind: If all user sessions are in closing state, set the overall status to ↵Colin Guthrie
closing. PulseAudio for example will keep a client connection open provided at least one session exists. However, if all sessions are currently in the process of closing, we should flag that as the overall state appropriately to better reflect what is happening. Although this does better reflect the status for any given user, it does not actually solve the overall problem of PulseAudio still finding some sessions active and thus not exiting and therefore actually preventing the session from closing. Future commits will extend sd-login to cope with this situation.
2012-09-12pam: Add session class to the debug log.Colin Guthrie
2012-09-10inhibit: close all fds when invoking inhibited toolLennart Poettering
2012-09-10dbus: minor coding style fixesLennart Poettering
2012-09-10Make systemd-inhibit --list workMatthias Clasen
The code in the print_inhibitors function had an unintended unconditional early exit, causing it to never print any inhibitors.
2012-09-03journal: generate structured journal messages for a number of eventsLennart Poettering
2012-08-23login: check return of parse_pid and parse_uidLukas Nykryn
2012-08-08logind: use bus_method_call_with_reply() where posibleSimon Peeters
2012-08-08loginctl: use bus_method_call_with_reply() where posibleSimon Peeters
2012-07-29logind: add new loginctl lock-sessions commandLennart Poettering
2012-07-29logind: add LockSessions() call to lock all local sessions at onceLennart Poettering
2012-07-26login: lose policy a bit: allow user suspend unauthenticated when multiple ↵Lennart Poettering
sessions exist
2012-07-26log.h: new log_oom() -> int -ENOMEM, use itShawn Landden
also a number of minor fixups and bug fixes: spelling, oom errors that didn't print errors, not properly forwarding error codes, few more consistency issues, et cetera
2012-07-25use "Out of memory." consistantly (or with "\n")Shawn Landden
glibc/glib both use "out of memory" consistantly so maybe we should consider that instead of this. Eliminates one string out of a number of binaries. Also fixes extra newline in udev/scsi_id
2012-07-24uaccess: add ID_SECURITY_TOKEN device class for USB authentication keysKay Sievers
2012-07-22logind: fix operation precedence mix-upZbigniew Jędrzejewski-Szmek
Since + has higher precedence than ?:, and u+b is unlikely to be exactly zero, the timestamp would usually be set to IDLE_THRESHOLD_USEC. Fix it by returning either 'last activity', or 'last activity+IDLE_THRESHOLD_USEC'.
2012-07-19use #pragma once instead of foo*foo #define guardsShawn Landden
#pragma once has been "un-deprecated" in gcc since 3.3, and is widely supported in other compilers. I've been using and maintaining (rebasing) this patch for a while now, as it annoyed me to see #ifndef fooblahfoo, etc all over the place, almost arrogant about the annoyance of having to define all these names to perform a commen but neccicary functionality, when a completely superior alternative exists. I havn't sent it till now, cause its kindof a style change, and it is bad voodoo to mess with style that has been established by more established editors. So feel free to lambast me as a crazy bafoon. v2 - preserve externally used headers
2012-07-16unit: introduce %s specifier for the user shellLennart Poettering
2012-07-03journal: move Storage=auto stanza to right fileLennart Poettering
2012-07-02journald: add Storage= setting to control where the journal is storedLennart Poettering
2012-06-29logind: add PreparingForShutdown/PreparingForSleep propertiesLennart Poettering
2012-06-25man: document systemd-user-sessions.serviceLennart Poettering
2012-06-21login: wrap CanTTY and CanGraphical seat attributes in libsystemd-loginLennart Poettering
2012-06-21logind: introduce a state for session, being one of online, active, closingLennart Poettering
online = logged in active = logged in and session is in the fg closing = nominally logged out but some left-over processes still around Related to: https://bugzilla.gnome.org/show_bug.cgi?id=677556
2012-06-21logind: expose CanGraphical and CanTTY properties on seat objectsLennart Poettering
Since we boot so fast now that gdm might get started before the graphics drivers are properly loaded and probed we might end up announcing seat0 to gdm before it has graphics capabilities. Which will cause gdm/X11 cause to fail later on. To fix this race, let's expose CanGraphical and CanTTY fields on all seats, which clarify whether a seat is suitable for gdm resp, suitable for text logins. gdm then needs to watch CanGraphical and spawn X11 on it only if it is true. This way: USB graphics seats will expose CanGraphical=yes, CanTTY=no Machines with no graphics drivers at all, but a text console: CanGraphical=no, CanTTY=yes Machines with CONFIG_VT turned off: CanGraphical=yes, CanTTY=no And the most important case: seat0 where the graphics driver has not been probed yet boot up with CanGraphical=no, CanTTY=yes first, which then changes to CanGraphical=yes as soon as the probing is complete.
2012-06-19login: initialize XDG_RUNTIME_DIR as /run/user/$UID instead of /run/user/$USERLennart Poettering
The sssd folks would like to place the kerberos credential cache in XDG_RUNTIME_DIR, but need to do that in the PAM auth hooks, before pam_systemd is run as part of the PAM session setup. Hence, in order to make this easy for them: avoid usage of usernames, and use user IDs instead thus making an additional NSS lookup unnecessary in the kerberos bits, but still have the directory well-defined so that the kerberos bits can determine it before pam_systemd is run.
2012-06-15logind: more robust handling of VT-less systemsMichal Schmidt
Restore the check that was removed in commit 74afee9c. Its removal caused a regression on some s390x systems where for whatever reason the device node /dev/tty0 exists and makes the preceding access() check pass.
2012-06-12logind: fix check for multiple sessionsMichal Schmidt
The "$action-multiple-sessions" polkit actions are defined as "$action while other users are logged in". To me this implies that the following sessions should not count: - greeter sessions - user sessions belonging to the same user as the one who's asking Not sure how to treat class SESSION_LOCK_SCREEN. I never have these. I just ignore every class that's not SESSION_USER. https://bugzilla.redhat.com/show_bug.cgi?id=814424
2012-06-04logind: punt duplicate definition of InhibitWhatMalte Starostik
Trivial fix for: src/login/logind-inhibit.h:37:3: error: redefinition of typedef 'InhibitWhat' src/login/logind-inhibit.h:26:26: note: previous declaration of 'InhibitWhat' was here
2012-06-01logind: fix indentationLennart Poettering
2012-06-01logind: interpret the can_sleep return value properlyMatthias Clasen
can_sleep() returns a boolean, so a return value > 0 does not mean 'na'.
2012-05-31logind: add new user state 'closing'Lennart Poettering
2012-05-31logind: properly clean up user cgroups when they run emptyLennart Poettering
2012-05-31mkdir: append _label to all mkdir() calls that explicitly set the selinux ↵Kay Sievers
context
2012-05-31login: properly detect MIMO USB displaysLennart Poettering
MIMO USB displays use a generic VID/PID for the hub component. With a bit of trickery we can detect them by the VID/PID of the graphics component.
2012-05-30build-sys: fix built with --disable-logindLennart Poettering
2012-05-30logind: rework button setting semanticsLennart Poettering
If a graphical session without full DE that handles power/suspend events is used this can now be controlled by logind instead, optionally.
2012-05-30login: Use the GOTO properly in udev ruleTero Roponen
In udev rules the labels must be assigned to GOTO keys with '='.
2012-05-30logind: add missing filesLennart Poettering
2012-05-30logind: optionally handle power, sleep and lid switch eventsLennart Poettering
This takes handling of chassis power and sleep keys as well as the lid switch over from acpid. This logic is enabled by default for power and sleep keys, but not for the lid switch. If a graphical session is in the foreground no action is taken under the assumption that the graphical session does this.
2012-05-22logind: fix write out of user state fileLennart Poettering
2012-05-21login: minor typo fixLennart Poettering
2012-05-08logind: implement suspend/hibernate calls with inhibition logicLennart Poettering
2012-05-08logind: use "sleep" as generic term for "suspend", "hibernate", and later on ↵Lennart Poettering
"hybrid suspend"