| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Unused variables.
|
|
|
|
| |
g_thread_create() is deprecated.
|
|
|
|
|
|
|
|
|
| |
-unknown-origin.[ch] according to ChangeLog was about copyright
status...but the file clearly has a copyright header now, so
presumably this is just long dead history.
Nothing was using gdm_safe_fopen_w(). After deleting that, we're left
with VE_IGNORE_EINTR(), which is now just in gdm-common.h
|
|
|
|
| |
Nothing was using it...
|
|
|
|
| |
Both are deprecated and no longer necessary.
|
|
|
|
|
|
|
|
|
| |
The level of copy/paste going on here before is rather astonishing.
For example, in some cases, I dropped spurious handling of SIGHUP,
when the code didn't have any settings to reread.
Anyways, the code is now clearer, and we get to drop all the bits of
gdm-signal-handler.[ch] for the integrated GLib handling.
|
|
|
|
|
| |
Nothing is using this currently, and modern operating systems come
with this kind of thing built in (e.g. systemd-coredump).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Modern operating systems have "crash catching" functionality; for
example, systemd comes with "systemd-coredump" which collects cores
automatically.
Attempting to handle these kinds of fatal signals internally is now
much worse, because the original source of the problem will be masked.
systemd won't collect a core file that would include a backtrace, for
example.
Also, with these removed, we can move forward porting to
g_unix_signal_add().
|
|
|
|
|
|
|
| |
OS builders can add this flag externally if desired. The problem with
us doing this unconditionally, it causes the cpp to spam us with
warnings if we're building without optimization (i.e. CFLAGS='-ggdb
-O0') which I often do so I can use gdb.
|
|
|
|
| |
For future changes.
|
|
|
|
|
|
|
|
|
|
| |
sd_seat_get_sessions is documented as 'may return an empty array
or NULL', so we should be careful to not crash if it _does_ return
NULL.
Coverity complained about this.
https://bugzilla.gnome.org/show_bug.cgi?id=689376
|
|
|
|
|
|
|
|
|
|
|
| |
FamilyLocal is really fragile to hostname changes, so
avoid using it when creating the initial auth cookie for
establishing access to the X server for the slave.
This commit changes the Xauthority entry to use FamilyWild
which makes the address of the entry unimportant.
https://bugzilla.gnome.org/show_bug.cgi?id=689370
|
|
|
|
|
|
|
|
|
|
|
| |
If the slave gets stopped right before we start the user's session,
then we'll have a queued start session in flight, and variable set
to the session name to be started duplicated. This gunks up the
stopping logic and leads to infinite recursion.
This commit cancels the start session operation to correct the bug.
https://bugzilla.gnome.org/show_bug.cgi?id=689367
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
We are not using either gok or gnome-mag in our a11y
support anymore, so there is no point in installing
their desktop files.
https://bugzilla.gnome.org/show_bug.cgi?id=684508
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
GDM tries to manually turn off unvetted or unwanted
gnome-settings-daemon plugins explicitly. This requires
close coordination between gdm and gnome-settings-daemon to
make sure the lists down get out of sync.
gnome-settings-daemon now supports having an explicit whitelist,
which is a much more robust way to handle our needs.
This commit changes GDM's dconf configuration to use the new whitelist
setting, instead of expliciting turning off each unwanted plugin.
https://bugzilla.gnome.org/show_bug.cgi?id=662220
|
|
|
|
|
|
| |
We'll have a static user from here on out.
https://bugzilla.gnome.org/show_bug.cgi?id=688279
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=688032
|
|
|
|
|
|
|
| |
Let other parts of the stack do cursor handling, since "when to
show the cursor?" is no longer a cut and dry question.
https://bugzilla.gnome.org/show_bug.cgi?id=687791
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We currently allow the slave access to its X server via two
mechanisms:
1) we set XAUTHORITY to point to the X servers Xauthority file
2) we call XSetAuthorization with the cookie from the Xauthority file
1) may fail if the user's hostname changes at the wrong moment, and
a bug in the code meant that 2 would fail if NULs are encoded in the
auth cookie.
This commit fixes 2) to work with embedded NUL bytes.
https://bugzilla.gnome.org/show_bug.cgi?id=687691
|
| |
|
|
|
|
| |
This reverts commit 274a430f1fb9abbb2021c1dcae68a140b70d4e77.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
XAddHosts fails if any of the entries in the list fails.
The gdm-initial-setup user isn't available on most systems,
so XAddHosts fails on most systems.
Upshot is, since commit 189cd818bf1592b5b8607793575bcf4e71ba8008
most people have been relying on xauth cookies for X authorization.
xauth cookies aren't nearly as robust across hostname changes, so
that's not ideal.
This commit calls XAddHost() 3 times instead of one XAddHosts
call to work around the problem. Ideally, we'd only add
gdm-initial-setup when we need it instead of all the time.
That will have to come later.
https://bugzilla.gnome.org/show_bug.cgi?id=686186
|
|
|
|
|
|
|
|
|
|
|
|
| |
We currently decide whether or not to skip autologin by a first_login
state variable in the static display object.
These days we can have multiple static display objects, so storing the
state variable doesn't make much sense. We could make the variable
static, but instead this commit switches to using a marker file in
/var/run/gdm.
https://bugzilla.gnome.org/show_bug.cgi?id=682467
|
|
|
|
|
|
|
|
|
| |
Right now any time any session conversation is started,
we run its setup call if autologin is enabled. We should only do this
for autologin sessions, otherwise, we may repeat work done by
the greeter.
https://bugzilla.gnome.org/show_bug.cgi?id=682467
|
|
|
|
|
|
|
|
| |
On Ubuntu 12.10 (console-kit), the dbus error returned when trying to call the
non-existant systemd interface is "Service Unknown" and not "Name has no owner"
as is expected in the try_system_(restart/stop) functions.
https://bugzilla.gnome.org/show_bug.cgi?id=686125
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=686108
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
getpwnam returns a structure filled in by nsswitch modules.
Those modules aren't always bug free, and can sometimes return
e.g. an empty user's shell.
When that happens the failure is pretty catastrophic and hard to
debug.
This commit does a quick sanity check of the user's home directory
and shell to make sure they're not empty.
If they are empty it picks defaults that are likely to at least
sort of work.
A better fix would probably be to fail earlier and post a message
to the user explaining why login won't work, but this is good
enough for now.
https://bugzilla.gnome.org/show_bug.cgi?id=685423
|
|
|
|
|
|
|
| |
There were two places in the code that run close()
on fd's that failed to get opened.
This commit fixes those two places.
|
|
|
|
|
| |
It is more convenient to have the schema default be true, and
let administrators opt out in custom.conf.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
After GDM successfully reauthenticates a user it runs
gdm_slave_switch_to_user_session
to jump to the user's VT and unlock it. Of course, if the user
is reauthenticating from an unlock screen instead of a user
switched login screen, then they'll already be on the right VT.
gdm_slave_switch_to_user_session fails if the user is already
switched to the session specified. This failing behavior is used
at login time to decide start a user's session (versus switching
to a user's already running session).
This commit changes gdm_slave_switch_to_user_session to take
an additional parameter to decide whether or not switching to
an already active session should fail, or merely skip to the
unlocking step.
https://bugzilla.gnome.org/show_bug.cgi?id=685988
|
| |
|
|
|
|
|
|
|
| |
Partial revert of 920b38e2aac1f79100ed86a0296bbcaf4fecabd9 to
reinstroduce gdmflexiserver since gnome-screensaver depends on it.
https://bugzilla.gnome.org/show_bug.cgi?id=685622
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
launch-environment sessions and autologin sessions don't have
a greeter associated with them to ask the user questions, or
to display PAM messages. It's assumed the PAM stack will be
set up in such a way that no conversing will be required.
This assumption isn't always correct, if the system pam configuration
includes something like pam_lastlog.
This commit makes us discard info messages silently rather than
fail.
|
|
|
|
|
|
|
|
|
|
| |
gnome-initial-setup knows whether or not to run by looking
for the existence of a trigger filed called
/var/lib/gdm/run-initial-setup
This commit ensures that file gets cleaned up after the initial setup
process completes.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The daemon startup had lots of swapping around of effective uid, and
aborted if the log/auth directories didn't have the expected permissions.
Honestly this makes no sense - we're uid 0, so let's just ensure
they're directories and call chown() ourself. I have no idea what the
"paranoia" here is about - if someone had managed to e.g. make a
symbolic link in /var to somewhere unexpected, there are plenty of
other ways they could attack the system.
Rather than aborting, let's just call mkdir()/chown()/chmod() and
check the return values.
https://bugzilla.gnome.org/show_bug.cgi?id=684315
|
|
|
|
|
|
|
|
| |
This fixes a bug where we'd try to call g_child_watch_add() on a 0
pid in case of error. More importantly, this moves us closer to
a sane error handling story where the default is to throw.
https://bugzilla.gnome.org/show_bug.cgi?id=684315
|
| |
|