summaryrefslogtreecommitdiff
path: root/daemon/gdm-session.xml
Commit message (Collapse)AuthorAgeFilesLines
* daemon: add ChoiceList PAM extensionRay Strode2017-10-201-0/+17
| | | | | | | | | | | | | | | | This commit adds one PAM extension, a "Choice List" using the new PAM_BINARY_PROMPT protocol added in the previous commit. The PAM module sends a list of (key, row text) pairs, and GDM ferries the request to gnome-shell using a new user verifier sub-interface. gnome-shell should present the list to the user and pass back the corresponding key, which GDM ferries back to the PAM module. Note this commit is only the daemon side. A subsequent commit will add the libgdm API needed for gnome-shell to actually deal with this new PAM extension. https://bugzilla.gnome.org/show_bug.cgi?id=788851
* daemon: introduce pam extension mechanismRay Strode2017-10-201-0/+3
| | | | | | | | | | | | | | | | | This abuses PAM_BINARY_PROMPT for our own nefarious purposes. The way it works is GDM advertises what "extensions" it supports with the environment variable, GDM_SUPPORTED_PAM_EXTENSIONS (a space separated list of reverse dns notation names). PAM services that support this protocol, will read the environment variable, and check for extension strings they support. They then know that sending PAM_BINARY_PROMPT won't blow up, and know what format to use for the binary data. The type field of the structure is the index of the string from the environment variable. This commit is just foundation work. It doesn't actually add any extensions. https://bugzilla.gnome.org/show_bug.cgi?id=788851
* get rid of references to slavesRay Strode2015-10-271-1/+1
| | | | | | | | I really don't want $ git grep slave to return hits.
* manager: close up timed login raceRay Strode2014-06-051-0/+5
| | | | | | | | | | | | Previously we would emit the timed-login-requested signal after the client connects, which might be before it was listening for the signal. Now we only emit the signal in direct response to a GetTimedLoginDetails call, which we make implicitly when the appropiate proxy interface is set up. https://bugzilla.gnome.org/show_bug.cgi?id=680348
* daemon: get rid of greeter language selectionRay Strode2013-12-161-3/+0
| | | | | | | These days the greeter doesn't let you pick a language at log in time. This commit drops the interface, since it's unused, and we don't have any API guarantees in libgdm.
* Revert "daemon: Provide mechanism for providing an authentication secret up ↵Jasper St. Pierre2012-08-181-4/+0
| | | | | | | | | | | front" This reverts commit 67235fd797e5b9a88178f4733551814b61a4711b. As pointed out by Giovanni, this code is incorrect, as PAM_AUTHTOK doesn't work when not in a PAM module. https://bugzilla.gnome.org/show_bug.cgi?id=678057
* daemon: Provide mechanism for providing an authentication secret up frontJasper St. Pierre2012-08-011-0/+4
| | | | | | | | Some PAM modules can be told their password ahead of time to prevent them having to ask later. This is accomplished by setting the PAM_AUTHTOK item before calling pam_authenticate. https://bugzilla.gnome.org/show_bug.cgi?id=678057
* daemon: Replace old method/signal-based API with async method callsJasper St. Pierre2012-08-011-137/+0
| | | | | | | | | | | | | Before, the session worker and session communicated by a series of signals and methods... but backwards. The session worker would listen for a series of signals sent out by the session, and respond back by calling methods on it. This requires a lot of annoying, silly manual labor when trying to add another method to the API. So, reverse the API so that the worker manager calls async methods on the worker itself. https://bugzilla.gnome.org/show_bug.cgi?id=678057
* daemon: Remove old, unused signalsJasper St. Pierre2012-07-301-9/+0
| | | | | | These are all dead signals that never got removed. https://bugzilla.gnome.org/show_bug.cgi?id=678057
* daemon: Allow passing a username to SetupForProgramJasper St. Pierre2012-07-191-0/+1
| | | | | | This allows the setup session to pass the gdm-initial-setup user. https://bugzilla.gnome.org/show_bug.cgi?id=678057
* worker: add reauthentication supportRay Strode2012-07-171-0/+26
| | | | | | | | | | | | | 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).
* worker: propagate 'is local' to session workerRay Strode2012-07-171-0/+3
| | | | | It's needed by ConsoleKit and it will be needed for starting reauthentication sessions.
* daemon: Add an interface for communicating with GDM via D-BusRay Strode2012-07-171-16/+97
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Port GdmSession to use GDBusGiovanni Campagna2012-07-171-0/+159
GdmSession is an object in the slave that manages the various session worker processes. Each session worker process talks to PAM to perform authentication for the user. For instance, if the user has a fingerprint reader, then there will normally be two worker processes, one for handling fingerprint auth, and one for handling password auth. GdmSession is the interface layer in the slave to talking to those running worker processes. This commit ports GdmSession over to GDBus from dbus-glib. https://bugzilla.gnome.org/show_bug.cgi?id=622888