| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There's a race condition on shutdown where the session worker is
switching VTs back to the initial VT at the same time as the session
exit is being processed.
This means that manager may try to start a login screen (because of
the VT switch) when autologin is enabled when there shouldn't be a
login screen.
This commit makes sure both the PostSession script, and session-exited
signal emission are complete before initiating the VT switch back
to the initial VT.
https://gitlab.gnome.org/GNOME/gdm/-/issues/660
|
|\
| |
| |
| |
| | |
more gdm client fixes
See merge request GNOME/gdm!121
|
| |
| |
| |
| | |
It's been out of date for a while.
|
| |
| |
| |
| |
| |
| |
| |
| | |
The unlock screen may have user verifier extensions too, so we
need to track the reauth user verifier, too.
This API is clearly less than optimal, but fixing it is a task for
another day.
|
| |
| |
| |
| | |
This makes the code much tidier.
|
|/
|
|
|
|
|
|
|
|
| |
Since commit 2615fb4ffe05b2640c15f4a9706796fe3b1376a9 user verifier
extensions are stored as user data on the user verifier object.
Unfortunately that commit, mixed up where the user verifier object
was in place.
This commit fixes that.
|
| |
|
|\
| |
| |
| |
| | |
build: add meson_post_install.py properly
See merge request GNOME/gdm!112
|
|/ |
|
|\
| |
| |
| |
| |
| |
| | |
display: Don't try to start gnome-initial setup on users check failure
Closes #642
See merge request GNOME/gdm!117
|
| |
| |
| |
| | |
It will make things just cleaner
|
|/
|
|
|
|
|
|
|
|
|
|
| |
Given not having users may make GDM to launch initial setup, that
allows to create new users (potentially with sudo capabilities), it's
better to make look_for_existing_users() to return its status and only
if it didn't fail continue the gdm execution.
GHSL-2020-202
CVE-2020-16125
Fixes #642
|
|\
| |
| |
| |
| | |
libgdm proxy leaks
See merge request GNOME/gdm!120
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
GdmClient fails to free the hash table associated with user
verifier extensions when the client is done with the user verifier.
This commit ties the user verifier extensions to the user verifier
instance associated with it, instead of storing the extensions
directly in the client struct.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
There's a race condition in the client connection code at the moment,
where a user verifier could be waiting for its connection when the login
screen asks for a greeter synchronously. The greeter will then end up
with a different connection that the user verifier which breaks
expectations.
This commit just makes the connection fetching code synchronous for now
to side step the problem.
|
|/
|
|
|
|
|
|
| |
There are are few places in the code where the client object is
retrieved via g_async_result_get_source_object. Those calls
return a fresh reference that is never unreferenced later.
This commit plugs those leaks by using g_autoptr's
|
|\
| |
| |
| |
| | |
utils: add enabling Wayland feature into gdm-disable-wayland
See merge request GNOME/gdm!115
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We can disable Wayland in runtime by invoking gdm-disable-wayland.
However, we may also want to enable Wayland in runtime for some
reasons. This idea is extended to modify more options/configurations in
runtime.
This commit renames gdm-disable-wayland to gdm-runtime-config and
unlocks the feature to modify more gdm configurations in runtime.
The new command format will be:
gdm-runtime-config set <group> <key> <value>
The configurable items refer to gdm.schemas. "<group>/<key>" combination
is the key in gdm.schemas.
For example, the original "gdm-disable-wayland" is replaced by
"gdm-runtime-config set daemon WaylandEnable false".
Link: https://gitlab.gnome.org/GNOME/gdm/-/merge_requests/115#note_944907
|
|\
| |
| |
| |
| | |
Fix some file descriptor leaks
See merge request GNOME/gdm!111
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The XDMCP disply factory examines the sessions of its displays'
launch environments when the displays change status.
Unfortunately it leaks a reference to the launch environment when
doing that.
This commit fixes the reference leak which leads to an fd leak.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
XDMCP login screens get a "Remote Geeter Interface" exported over
the bus connection (so the login window can provide a Disconnect
button).
This interface is getting leaked when the session object is disposed,
leaving the bus connection itself undisposed, which causes an fd
leak.
This commit plugs the interface leak, and thus the fd leak.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The display object stores its associated user session with it
as object data. It never clears this session from its object
data when its done with it however, leading to the session leaking.
This commit plugs the leak and an associated file descriptor leak
at logout.
|
|/
|
|
|
|
|
|
| |
The create_user_session_for_display function returns a new reference
to the GdmSession object it creates. The callers don't expect this,
and most of the callers don't even look at the return value at all.
This commit makes it return void instead.
|
|\
| |
| |
| |
| |
| |
| | |
meson: Fix location of locale directory
Closes #635
See merge request GNOME/gdm!116
|
|/
|
|
|
|
|
|
| |
The localedir is relative to the prefix and not the data directory. This
regressed during the meson port where the get_option('datadir') was
accidentally inserted into the GNOMELOCALEDIR definition.
Closes #635
|
| |
|
| |
|
|\
| |
| |
| |
| |
| |
| | |
meson: Fix default location of runtime configuration
Closes #641
See merge request GNOME/gdm!114
|
|/
|
|
|
|
|
|
|
|
|
| |
The meson port changed the runtime configuration location to default to
the same location as the default configuration. This however is
incorrect, as the runtime configuration should be in the runtime
directory.
Change the default to be "custom.conf" inside the runtime directory.
Fixes: #641
|
|\
| |
| |
| |
| | |
Correct a typo in gdm-x-session.c
See merge request GNOME/gdm!109
|
|/ |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
When GDM is configured as a standalone XDMCP server, the manager quits
Plymouth by running 'plymouth quit --retain-splash'. This is not ideal
because there is no transition to a local X server. The terminal can be
then left from the Plymouth run in the graphics mode with no getty
prompt and also disallowing switching to another VT. The patch fixes the
problem by instead running 'plymouth quit' which always switches the
terminal to the text mode.
https://gitlab.gnome.org/GNOME/gdm/-/merge_requests/101
|
|\
| |
| |
| |
| |
| |
| | |
Benzea/fix unknown session crash
Closes #555
See merge request GNOME/gdm!106
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The get_display_and_details_for_bus_sender function does not return a
proper error value. Due to this, it makes sense to always write the out
parameters (though, I expect we have still more that we might need to
write).
This is just slightly safer, but the function probably isn't great as
is.
|
|/
|
|
|
|
|
|
|
|
|
| |
Some people insist on running sessions in ways where we cannot detect
them properly. In that case, we shouldn't find a display, but the
variable was not initialized and we could end up accessing random memory
resulting in a crash.
Fix it by adding the missing initializer.
Closes: #555
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| |
| |
| |
| |
| | |
data: Remove deprecated StandardOutput=syslog
Closes #623
See merge request GNOME/gdm!108
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is now equivalent to StandardOutput=journal, and recent versions
of systemd log a warning for it. Instead of updating it to journal,
remove it: the default if not specified is to respect the
DefaultStandardOutput setting from /etc/systemd/system.conf, which
in turn defaults to journal. Removing the explicit setting here means
gdm is included if a sysadmin edits system.conf to change the logging
destination for (almost) all system services at the same time, which
seems desirable.
Similarly, StandardError defaults to DefaultStandardError, which
in turn defaults to inherit, so we don't need to override it here.
Resolves: https://gitlab.gnome.org/GNOME/gdm/-/issues/623
Signed-off-by: Simon McVittie <smcv@debian.org>
|