| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
fixes distcheck
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
It doesn't actually proxy calls to the slave, so it's misnamed.
|
|
|
|
| |
This doesn't do anything, so why are we keeping it around?
|
|
|
|
|
|
|
|
|
|
|
|
| |
<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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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 --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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
"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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
This commit adds a small test program that excerises
the new interface for connecting to GDM.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
It's not used anywhere, and so there's no reason to pass it along.
|
|
|
|
| |
It doesn't do anything.
|
|
|
|
|
| |
The exported functions and objects don't do anything, they're just
dead code.
|
|
|
|
| |
we no longer have gdm-product-slave.xml
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
| |
Nothing was using register-ck-session and it has no effect, hence let's
get rid of this dead code.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
It's not used. If we need it later we can bring it back
from history.
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=570174
|
|
|
|
| |
Copied from GDK
|
| |
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Try to read the default layout by connecting to the X server.
https://bugzilla.gnome.org/show_bug.cgi?id=572765
|
|
|
|
|
| |
We want the screenshot dir to be owned by the GDM user,
so the greeter can write screenshots to it.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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
|