summaryrefslogtreecommitdiff
path: root/src/login/logind-dbus.c
AgeCommit message (Collapse)Author
2013-01-25logind: rework delay inhibition logicLennart Poettering
- Don't allow any locks to be taken while we are in the process of executing the specific operation, so that apps are not surprised if a suspend/shutdown happens while they rely on their inhibitor. - Get rid of the Resumed signal, it was a bad idea, and redundant due to PrepareForSleep(false), see below. - Always send out PrepareFor{Shutdown,Sleep} signals, instead of only if a delay lock is taken. - Move PrepareForSleep(false) after we come back from the suspend, so that apps can use this as "Resumed" notification. This also has the benefit that apps know when to take a new lock.
2013-01-24logind: add UnlockSessions() clal to complement LockSessions()Lennart Poettering
2013-01-24logind: send Resumed() signal after we come back from ↵Lennart Poettering
suspend/hibernate/hybrid-sleep This allows clients to get asynchronous notifications for user-requested suspend/hibernate cycles. Kernel-triggered automatic suspending is not covered.
2013-01-24logind: only allow one shutdown/sleep action to be queued at the same timeLennart Poettering
This should make sure that closing the lid while shutting down won't suspend the machine but will simply cause the shutdown to complete.
2013-01-14logind: ignore non-tty/non-x11 session when checking if there are other ↵Lennart Poettering
sessions before shutting down https://bugzilla.redhat.com/show_bug.cgi?id=890827
2012-12-24logind: add support for automatic suspend/hibernate/shutdown on idleLennart Poettering
2012-11-20dbus-common: Add helper method to handle no-reply messagesColin Walters
[Tested in latest gnome-ostree; if accepted, I'll look at a followup patch which fixes the other dbus_connection_send(reply, ...) calls besides logind] DBus messages can have a flag NO_REPLY associated that means "I don't need a reply". This is for efficiency reasons - for one-off requests that can't return an error, etc. However, it's up to users to manually check dbus_message_get_no_reply() from a message. libdbus will happily send out a reply if you don't. Unfortunately, doing so is not just less efficient - it also triggers a security error, for complex reasons. This is something that will eventually be fixed in dbus, but it's also correct to handle it in client applications. This new helper API is slightly nicer in that you don't have to pass NULL to say you don't want a reply serial for your reply. This patch also tweaks logind to use the API - there are more areas of the code that need this treatment too.
2012-10-30logind: it's OK if a process on an pty requests a session for seat0Lennart Poettering
After all, if a sudo/su inside an X terminal should get added to the same session as the X session itself.
2012-10-30logind: unify all session lock loopLennart Poettering
2012-10-28logind: support for hybrid sleep (i.e. suspend+hibernate at the same time)Lennart Poettering
2012-10-16logind: only release logind session from the PAM module if the same module ↵Lennart Poettering
instance actually created it
2012-10-13log: introduce a macro to format message idZbigniew Jędrzejewski-Szmek
The MESSAGE_ID=... stanza will appear in countless number of places. It is just too long to write it out in full each time. Incidentally, this also fixes a typo of MESSSAGE is three places.
2012-09-21logind: split up HandleSleepKey= into HandleSuspendKey= and HandleHibernateKey=Lennart Poettering
The kernel and X11 distuingish these two, and Thinkpad keys have both, hence we really should distinguish them too.
2012-09-21logind: allow users to override their own suspend/sleep inhibitorsLennart Poettering
2012-09-19logind: rework power key/suspend key/lid switch handlingLennart Poettering
http://lists.freedesktop.org/archives/systemd-devel/2012-September/006604.html https://bugzilla.gnome.org/show_bug.cgi?id=680689 This changes the meaning of the HandlePowerKey=/HandleSleepKey=/HandleLidSwitch= setting of logind.conf
2012-09-18logind: split up inhibit acquire policyLennart Poettering
2012-09-03journal: generate structured journal messages for a number of eventsLennart Poettering
2012-08-08logind: use bus_method_call_with_reply() where posibleSimon Peeters
2012-07-29logind: add LockSessions() call to lock all local sessions at onceLennart Poettering
2012-06-29logind: add PreparingForShutdown/PreparingForSleep propertiesLennart Poettering
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-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-31mkdir: append _label to all mkdir() calls that explicitly set the selinux ↵Kay Sievers
context
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-08logind: implement suspend/hibernate calls with inhibition logicLennart Poettering
2012-05-08util: split-out path-util.[ch]Kay Sievers
2012-05-05logind: implement delay inhibitor locks in addition to block inhibitor locksLennart Poettering
This is useful to allow applications to synchronously save data before the system is suspended or shut down.
2012-04-22login: assing /dev/console logins to seat0Lennart Poettering
2012-04-16logind: hook up inhibit logic with idle hint logicLennart Poettering
2012-04-16logind: add shutdown/suspend/idle inhibition frameworkLennart Poettering
2012-04-12relicense to LGPLv2.1 (with exceptions)Lennart Poettering
We finally got the OK from all contributors with non-trivial commits to relicense systemd from GPL2+ to LGPL2.1+. Some udev bits continue to be GPL2+ for now, but we are looking into relicensing them too, to allow free copy/paste of all code within systemd. The bits that used to be MIT continue to be MIT. The big benefit of the relicensing is that closed source code may now link against libsystemd-login.so and friends.
2012-04-10rename basic.la to shared.la and put selinux deps in shared-selinx.laKay Sievers
Only 34 of 74 tools need libselinux linked, and libselinux is a pain with its unconditional library constructor.
2012-03-22logind: close FIFO before ending sessions cleanlyLennart Poettering
For clean session endings ask logind explicitly to get rid of the FIFO before closing it so that the FIFO logic doesn't result in su/sudo to be terminated immediately.
2012-02-14login: track login class (i.e. one of "user", "greeter", "lock-screen") for ↵Lennart Poettering
each session This introduces the new PAM environment variable XDG_SESSION_CLASS. If not set, defaults to "user". This is useful for apps that want to distuingish real user logins from "fake" ones which just exist to show a gdm login screen or a lock screen.
2012-02-11logind: introduce CanReboot/CanPowerOff bus callsLennart Poettering
2012-02-07logind: fix introspection dataLennart Poettering
2012-02-07logind: introduce ActivateSessionOnSeat()Lennart Poettering
2012-02-01logind: add GetSessionByPID() bus callLennart Poettering
2012-01-27logind: make sure we create /var/lib/systemd before using itLennart Poettering
2012-01-16dbus: more efficient implementation of propertiesMichal Schmidt
The way the various properties[] arrays are initialized is inefficient: - only the .data members change at runtime, yet the whole arrays of properties with all the fields are constructed on the stack one by one by the code. - there's duplication, eg. the properties of "org.freedesktop.systemd1.Unit" are repeated in several unit types. Fix it by moving the information about properties into static const sections. Instead of storing the .data directly in the property, store a constant offset from a run-time base. The small arrays of struct BusBoundProperties bind together the constant information with the right runtime information (the base pointer). On my system the code shrinks by 60 KB, data increases by 10 KB.
2012-01-03logind: if we can't open /dev/tty0, assume there is no VT subsystem and ↵Lennart Poettering
don't pretend we could do VT switching
2011-12-31logind: move logind into its own subdirectoryLennart Poettering