summaryrefslogtreecommitdiff
path: root/daemon/gdm-dbus-util.c
Commit message (Collapse)AuthorAgeFilesLines
* gdm-dbus-util: Use g_auto*Alessandro Bono2023-04-281-27/+12
|
* gdm-dbus-util: Add missing guards in public functionsAlessandro Bono2022-10-291-0/+6
|
* session: Initialize DBus error domain before resolving errorsBenjamin Berg2021-03-151-0/+14
| | | | | | | | | | | We would not initialize the DBus error domain before we retrieved the first error, but only did so to compare the error after receiving them. This means that the first error we received will not be resolved correctly, while all subsequent ones are resolved. Fix this by calling GDM_SESSION_WORKER_ERROR from gdm_session_class_init and add gdm_dbus_error_ensure to make sure this can never be optimized away.
* gdm-dbus-util: don't try to generate abstract socket address ourselvesRay Strode2012-10-161-33/+2
| | | | | | | | | | | GDM currently goes through gymnastics to generate the dbus socket address for peer-to-peer connections. GDBus already has magic for figuring out when to use abstract sockets and when not to, so this code is extraneous. This commit drops it. https://bugzilla.gnome.org/show_bug.cgi?id=685935
* gdm-dbus-util: make socket world accessibleRay Strode2012-10-161-1/+12
| | | | | | | | | | | | | | On Linux dbus server sockets are world readable and world writable since they're abstract. Access control is handled at client connection time. On platforms that don't support abstract sockets, dbus server sockets are owned by the user that creates them. This disparity in behavior means that GDM greeters can't connect to GDM on platforms that doesn't support abstract sockets (e.g. OpenBSD). This commit changes GDM to perform heuristics to detect the socket address for the non-abstract case and open up its permissions. https://bugzilla.gnome.org/show_bug.cgi?id=685935
* Trivial: Update FSF Address.Dominique Leuenberger2012-09-061-1/+1
| | | | Fix bug 683383.
* worker: add reauthentication supportRay Strode2012-07-171-0/+40
| | | | | | | | | | | | | This commit adds reauthentication support for screensavers and user switching to use. 1) It adds a "verification mode" argument to the GdmSession constructor that tweaks the behavior of how the session worker acts to fit login or unlock scenarios better. 2) It adds a way for programs to open a communication channel for user verification to already runnings sessions (so reauthentication happens in the context of the session).
* daemon: Add an interface for communicating with GDM via D-BusRay Strode2012-07-171-0/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | One goal for GNOME 3.6, is to replace the screen locking functionality provided by gnome-screensaver with redesigned functionality provided by gnome-shell. At the same time, it makes sense to consolidate the yucky PAM authentication code to one place (GDM). Right now only greeters can talk to GDM. At the time the greeter is started, the slave sets up a private communication channel which the greeter then connects to for initiating communication. This commit adds a new method to the org.gnome.DisplayManager.Manager interface that allows opening a private connection to the slave that is associated with the currently running session. That slave exports the session object over the bus that greeters can interact with the session as appropriate. This interface replaces the GDM_GREETER_DBUS_ADDRESS environment variable that used to to be used for connecting the greeter to the slave. This commit also drops gdm-greeter-server and gdm-chooser-server which don't fit the new model, and are really just thin middle men that don't do anything important. Furthermore, this commit splits GdmSession interfaces 3 orthogonal parts up into 3 separate interfaces on the session object. A future commit will make this interface work for screensavers/reauthentication. Based on work by Giovanni Campagna <gcampagna@src.gnome.org> https://bugzilla.gnome.org/show_bug.cgi?id=676381
* daemon: Add utilities to create private DBus serversGiovanni Campagna2012-07-171-0/+125
GDM creates private off-the-bus dbus servers for facilitating communication between its various processes. This commit adds a new function: gdm_dbus_setup_private_server that performs the work necessary to create a private server, including code for generating the socket address, and code for handling new connections. The ultimate goal is to drop our dependency on dbus-glib, and instead use GDBus. gdm_dbus_setup_private_server uses GDBus, so this is one step toward that goal. https://bugzilla.gnome.org/show_bug.cgi?id=622888