| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
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>
|
| |
|
|\
| |
| |
| |
| | |
Meson fixes
See merge request GNOME/gdm!107
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
GDM has a quite complex configuration and it might be hard to spot some
values from the log, so having a summary makes sense.
Meson introduced it starting from 0.53, but we can enable it without bumping
the dependency by using a dynamic version check.
|
| |
| |
| |
| |
| |
| |
| |
| | |
This was already the case in autotools, as it used to be a feature that was
set to auto and disabled only in the case there was no libsystemd.
Now, being systemd a required gdm component, there's no point to use it as
a feature, but still give the packagers the ability to toggle it.
|
| |
| |
| |
| |
| |
| |
| |
| | |
Systemd journal library is provided by libsystemd, given that such API has
more than 8 years, is probably not needed to convert this into a feature and
check for a required systemd version in case it's enabled.
So, just set ENABLE_SYSTEMD_JOURNAL just reading the option.
|
| |
| |
| |
| |
| |
| | |
With meson 0.53 we can check whether a binary is in a specified path, as it
was possible with `AC_PATH_PROG`, so use it as we did before of meson switch
even if I'm not sure that this tool is shipped by most distros these days
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Don't leave to humans what machines can do, the gnome-login.session list
is filled with an hard-to-maintain single-line semicolon separated list of
components, that then are repeated in the gnome systemd session.conf.
And these are meant to be kept in sync.
Meson can help us in this, so let's just keep a single list in meson and
use it to generate the various formats we need.
|
| | |
|
| |
| |
| |
| |
| |
| | |
When udev is installed we compute the udevdir from pkg-config, however that
is only the parent folder of the rules.d, so in any case consider it a
prefix.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
No matter what parameter was passed to gdm, the custom.conf was always
installed in $gdmcomnfdir/custom.conf, even if the config.h was using the
configured path.
Ensure that we use the passed argument, setting its name as configure_file
output and its path as the install_dir.
Unfortunately we've to be hackish here, using coreutils tools until we
require meson 0.53 (and can use its FS module).
|
|/
|
|
|
| |
Keyutils includes a .pc file as mentioned in commit 141f8bc244, however its
name was wrongly changed from 'libkeyutils' during the meson port
|
| |
|