summaryrefslogtreecommitdiff
path: root/daemon/Makefile.am
Commit message (Collapse)AuthorAgeFilesLines
* worker: get PATH from parent instead of #defineRay Strode2014-04-101-1/+0
| | | | | | | | If no PATH is set, then the session worker tries to set one up, based on guess. This commit changes GDM to just use the PATH given to GDM itself, rather than guessing (and getting it wrong). https://bugzilla.gnome.org/show_bug.cgi?id=727980
* build-goo: drop vestigul gdm-slave.xmlRay Strode2014-03-191-2/+0
| | | | fixes distcheck
* Integrate the slaves into the main daemon processJasper St. Pierre2014-03-171-128/+26
| | | | | | | | | | For no particular reason, the slave has been kept as a separate process. Integrate this into the main display process by simply making the display keep a handle to a GdmSlave object. To keep the cleanup simple, we won't remove the GdmSlave subtypes yet. A future cleanup should merge the slave functionality into GdmDisplay and its subtypes. https://bugzilla.gnome.org/show_bug.cgi?id=726380
* Stop using LDFLAGS for librariesRyan Lortie2014-02-251-15/+4
| | | | | | | | | | | | | | | Originally, EXTRA_*_LIBS was introduced as a way to get certain libraries to the front of the line when invoking the linker in order to control which version of a library we got. See bug 85785 for the history there. This is probably no longer needed, so officially declare that the only thing that the EXTRA_ variables mean is "not from pkg-config". Move all of the EXTRA_*_LIBS from LDFLAGS to _LDADD, along with some other things that were improperly in LDFLAGS. https://bugzilla.gnome.org/show_bug.cgi?id=724283
* Fix build problem on FreeBSDTing-Wei Lan2014-02-131-0/+1
| | | | | | | | 1. gdm-session-worker needs -lutil. 2. #include <sys/types.h> is needed to get uid_t. 3. #include <netinet/in.h> is needed to get several struct. https://bugzilla.gnome.org/show_bug.cgi?id=722594
* daemon: rename gdm-slave-proxy to gdm-slave-jobRay Strode2014-02-071-2/+2
| | | | It doesn't actually proxy calls to the slave, so it's misnamed.
* xdmcp-display: Remove dummy skeletonJasper St. Pierre2014-02-071-12/+0
| | | | This doesn't do anything, so why are we keeping it around?
* drop authdirRay Strode2013-08-281-1/+0
| | | | | | | | | | | | <Black_Prince> halfline: what's the point of authdir in gdm? (/var/gdm) ? <Black_Prince> it doesn't appear to be used anywere <halfline> no point <Black_Prince> there are some references in daemon/main.c, but nothing ever gets stored in there <Black_Prince> instead, xauthdir is used https://bugzilla.gnome.org/show_bug.cgi?id=706974
* Add a --with-run-dir which sets the default for everything in [/var]/runSimon McVittie2013-02-201-0/+1
| | | | | | | | Distributions that don't like /var/run can override this to /run/gdm; distributions where the directory differs (like Debian, which uses /run/gdm3) can override this and it'll affect everything. https://bugzilla.gnome.org/show_bug.cgi?id=692733
* Remove gdm wrapper scriptArmin K2013-02-041-19/+10
| | | | | | | This commit drops the gdm wrapper script, removing one more instance of shell in boot up. https://bugzilla.gnome.org/show_bug.cgi?id=683278
* Log output to systemd journal if availableColin Walters2013-01-221-0/+5
| | | | | | | | | | | Previously, we put stuff in /var/log/gdm for the session, and then ~/.cache/gdm/session.log for the user. Now let's use explicit sd_journal_stream_fd() calls. Some adjustments from Ray Strode. https://bugzilla.gnome.org/show_bug.cgi?id=676181
* daemon: reset exec context after fork()Ray Strode2012-09-061-0/+2
| | | | | | | | | | | | | | | | When pam_open_session finishes, the session worker is set up such that the next fork()/exec() may transition the user to a user specific context (such as staff_t). This makes sense for the first fork()/exec() (which is the user login), but the worker may fork()/exec() other workers after login for unlock operations. These workers need to run in a gdm context not a user context. This commit changes gdm-session-worker to manually reset the exec() context after the first fork(). https://bugzilla.gnome.org/show_bug.cgi?id=683426
* drop libxklavier dependencyRay Strode2012-09-041-2/+0
| | | | | | | | Keyboard handling is now done without libxklavier, everywhere else in gnome. Drop the dependency here, too. We may have to add a patch to gnome-shell to give preference to latin layouts at the login screen.
* Add configure option to specify directory of some toolsVincent Untz2012-08-271-0/+1
| | | | | | | | | Add --with-gnome-settings-daemon-directory and --with-consolekit-directory for distributions that do not put gnome-settings-daemon and ck-get-x11-display-device directly in LIBEXECDIR. Closes: bgo#582320
* daemon: Add initial setup integrationJasper St. Pierre2012-08-011-0/+1
| | | | | | | | | | | | | | | | | When a system boots for the first time, we want to show a special tool that will allow the user to set up their system the way they want to. This will be triggered by a special file: /var/run/wants-initial-setup The responsibilities of this tool include creating the user's account, so we have to create a special user account to run the tool under. Administrators are given the ability to turn this off in a GDM setting if they want to. https://bugzilla.gnome.org/show_bug.cgi?id=678057
* daemon: Rename GdmWelcomeSession to GdmLaunchEnvironmentJasper St. Pierre2012-08-011-4/+4
| | | | | | | | | | | | "GdmWelcomeSession" was always a sort of bad name, as it is not a GdmSession, itself (it has-a GdmSession), and it's unnecessarily generic; it doesn't really have anything to do with "Welcome" or "Session" itself. It managed a non-user GdmSession, spawned the process in the correct environment (spawning a DBus daemon if need be) and made sure to keep track of it until it died. I think "GdmLaunchEnvironment" is an appropriate name for this. https://bugzilla.gnome.org/show_bug.cgi?id=678057
* daemon: Replace old method/signal-based API with async method callsJasper St. Pierre2012-08-011-0/+22
| | | | | | | | | | | | | 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 GdmGreeterSession and GdmChooserSessionJasper St. Pierre2012-07-191-4/+0
| | | | | | | | With the recent cleanup, these two are just dummy class subtypes. Duplicating this one more time for the setup session wouldn't be worth it. Into the trash it goes. https://bugzilla.gnome.org/show_bug.cgi?id=678057
* daemon: distcheck fixesRay Strode2012-07-171-3/+5
|
* daemon: add greeter test programGiovanni Campagna2012-07-171-0/+16
| | | | | This commit adds a small test program that excerises the new interface for connecting to GDM.
* worker: add reauthentication supportRay Strode2012-07-171-0/+7
| | | | | | | | | | | | | 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-39/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* worker: Port to GDBusGiovanni Campagna2012-07-171-0/+5
| | | | | | | | | | | | The gdm-session-worker is a process used for managing interaction with PAM. PAM modules can do weird things to the process they run in, so GDM segregrates all PAM conversations in their own independent "worker" subprocesses. This commit moves gdm-session-worker away from using dbus-glib to using gdbus instead. https://bugzilla.gnome.org/show_bug.cgi?id=622888
* daemon: Port GdmSession to use GDBusGiovanni Campagna2012-07-171-0/+18
| | | | | | | | | | | | | | | 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
* daemon: Port GdmChooserServer to GDBusGiovanni Campagna2012-07-171-6/+8
| | | | | | | | | | | | | | | | | GdmChooserServer is the slave-side object that handles communication with choosers. The chooser talks over a private peer-to-peer dbus connection to its slave via GdmChooserServer. A chooser is like a greeter, but instead of presenting a login screen it presents a list of hosts on the network that will offer login screens if asked. The user picks one of these hosts and their display is redirected to it. This commit makes GdmChooserServer use GDBus. This gets us one step closer to GDM running without dbus-glib. https://bugzilla.gnome.org/show_bug.cgi?id=6228
* daemon: Port GdmManager to GDBusGiovanni Campagna2012-07-171-6/+0
| | | | | | | | | | | | | | | The GdmManager object controls the GdmLocalDisplayFactory and GdmXdmcpDisplayFactory singleton objects, which manage displays on local VTs and displays on remote machines respectively. Another role of the GdmManager object is to aggregate and export the displays currently being managed by those display factories over the system bus. This commit moves GdmManager over to using GDBus and the GDBusObjectManager interface for display enumeration. https://bugzilla.gnome.org/show_bug.cgi?id=622888
* daemon: Port display handling to GDBusGiovanni Campagna2012-07-171-23/+94
| | | | | | | | This is one big commit because it uses generated code both in the daemon and in the slaves, so we need to port both at the same time. https://bugzilla.gnome.org/show_bug.cgi?id=622888
* daemon: Port GdmGreeterServer to GDBusGiovanni Campagna2012-07-171-0/+18
| | | | | | | | | | | | GdmGreeterServer is the slave-side object that handles communication with greeters. The greeter talks over a private peer-to-peer dbus connection to its slave via GdmGreeterServer. This commit makes GdmGreeterServer use GDBus. This gets us one step closer to GDM running without dbus-glib. https://bugzilla.gnome.org/show_bug.cgi?id=622888
* daemon: drop display-id arg to GdmSessionDirectRay Strode2012-07-131-10/+1
| | | | It's not used anywhere, and so there's no reason to pass it along.
* daemon: Don't put simple slave interface on busRay Strode2012-07-131-3/+0
| | | | It doesn't do anything.
* daemon: Don't put session objects on busRay Strode2012-07-131-3/+0
| | | | | The exported functions and objects don't do anything, they're just dead code.
* daemon: drop reference to non-existent fileRay Strode2012-07-131-1/+0
| | | | we no longer have gdm-product-slave.xml
* daemon: clean house (drop factory mode)Ray Strode2012-07-061-91/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | GDM has a currently unused feature called "factory mode", where the login screen gets allocated its own VT and any subsequent logins from that login screen go to their own VT. Any time there's a user switch GDM just jumps back to initial VT where the login screen is patiently waiting. This feature has a lot of upsides, and we've had it as a TODO item to start using it for while now. It doesn't look it's going to happen in the near term, though, and factory mode has downsides as well: - a VT switch after the user hits enter at the login screen would be jarring and would ruin the "flicker free" boot experience we've tried to acheive at various points in the past. This could theoretically be fixed by Wayland. - it adds a bunch of untested, unused code to the codebase. This latter reason makes me want to kill it for now. It shouldn't be hard to resurrect later if we end up needing the feature. This commit drops that code.
* daemon: drop ck connectorRay Strode2012-07-061-6/+0
| | | | | | | | | | | | | | | | | | | | ck-connector is copy-and-paste code used in various parts of the freedesktop stack for interfacing with consolekit. It's legacy code, that uses dbus-glib. We want to drop our dbus-glib dependency, so this is one obstacle in the way. One option would be to port it to gdbus, but that would require updating all copies everywhere (or run into potential conflicts when, say, pam_ck_connector's version of the ck-conector code ends up clashing with our updated version). This commit, instead, just drops ck-connector and uses direct gdbus calls instead. We're only depending on ck-connector for two calls in a legacy path anyway, so it's actually a net reduction in code. https://bugzilla.gnome.org/show_bug.cgi?id=622888
* local-display-factory: subscribe to new seats being created and removedLennart Poettering2012-02-071-0/+1
| | | | | | logind will notify us when ever a new seat becomes available in the system, or an existing seat is removed. We simply create a new display for each seat showing up and remove a display when a seat goes away.
* pam: pass XDG_SEAT env var into PAM to inform PAM modules about seat idLennart Poettering2012-02-071-0/+1
| | | | | | | | | This optionally replaces the current CK session registration logic with support for passing seat information to pam_systemd (and hence rely on pam_systemd's session registration). With this patch applied we can register sessions in systemd and in CK with the same binary.
* build-sys: make CK support optionalLennart Poettering2012-02-071-2/+6
|
* slave: add native systemd implementations of locking/session activationLennart Poettering2012-02-071-0/+5
|
* welcome-session: get rid of register-ck-session property since it is unusedLennart Poettering2012-02-071-6/+0
| | | | | Nothing was using register-ck-session and it has no effect, hence let's get rid of this dead code.
* daemon: set initial keyboard layout before starting serverRay Strode2011-09-171-0/+3
| | | | | | | | | | If we don't do this magic incantation then the keyboard layout selector won't work until the user hits some key on their keyboard. Since we have to do this incantation anyway, this commit also gives preferential treatment to the "us" keyboard layout. This makes sense to do because most usernames and passwords are ascii.
* daemon: run greeter in its own distinct sessionRay Strode2011-08-301-0/+15
| | | | | | | | | | | | | | Right now before launching the greeter, we create this little ad hoc session that only runs through some of the OS machinery for session registration. This means not only is there duplicate code with GDMs real session handling functions, but the greeter is potentially running in an incomplete session. This commit, inspired by the work of Lennart and Kay, changes GDM to run its greeter session through a session worker just like any other session.
* daemon: drop static-factory-display stuffRay Strode2011-06-151-6/+0
| | | | | It's not used. If we need it later we can bring it back from history.
* Allow non-source-dir buildTheppitak Karoonboonyanan2010-06-161-0/+1
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=570174
* Add an X11 error trap mechanismWilliam Jon McCann2010-06-161-0/+8
| | | | Copied from GDK
* Don't build xdmcp stuff when not enabledWilliam Jon McCann2010-06-041-7/+12
|
* remove remaining traces of HalMartin Pitt2010-01-261-9/+0
| | | | | | | | The code which used the Hal connection already was disabled, so gdm connected to Hal in vain (which just triggered Hal startup when using D-Bus activation). Remove all remaining traces of hal now. https://bugzilla.gnome.org/show_bug.cgi?id=593787
* Detect default layout with xklavierMartin Pitt2010-01-121-0/+3
| | | | | | Try to read the default layout by connecting to the X server. https://bugzilla.gnome.org/show_bug.cgi?id=572765
* Create screenshot dir at runtime if not availableRay Strode2009-11-051-0/+1
| | | | | We want the screenshot dir to be owned by the GDM user, so the greeter can write screenshots to it.
* Store the face and dmrc files in a cache. Refer to bug #565151.Brian Cameron2009-09-111-0/+1
|
* Add --with-default-path to configure so distros can configure the defaultBrian Cameron2009-02-171-5/+1
| | | | | | | | | | | 2009-02-17 Brian Cameron <brian.cameron@sun.com> * configure.ac, acconfig.h, daemon/Makefile.am: Add --with-default-path to configure so distros can configure the default PATH to use in the user's session. Cleanup some unused cruft from configure.ac, acconfig.h and daemon/Makefile.am svn path=/trunk/; revision=6711