summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* session-worker: Don't switch back VTs until session is fully exitedwip/fix-autologin-unlock-raceRay Strode2020-12-113-16/+96
| | | | | | | | | | | | | | | | 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
* Merge branch 'wip/more-gdm-client-fixes' into 'master'Ray Strode2020-11-162-95/+62
|\ | | | | | | | | more gdm client fixes See merge request GNOME/gdm!121
| * meson: Bump glib version requirementRay Strode2020-11-161-1/+1
| | | | | | | | It's been out of date for a while.
| * libgdm: Track reauth user verifier toowip/more-gdm-client-fixesRay Strode2020-11-121-3/+18
| | | | | | | | | | | | | | | | 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.
| * libgdm: use g_set_weak_pointer instead of g_object_add_weak_pointerRay Strode2020-11-121-90/+42
| | | | | | | | This makes the code much tidier.
| * libgdm: Fix typo where user data is grabbed from wrong placeRay Strode2020-11-121-1/+1
|/ | | | | | | | | | 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.
* Update Catalan translationJordi Mas2020-11-101-16/+16
|
* Merge branch 'fix-post-install' into 'master'Ray Strode2020-11-101-1/+3
|\ | | | | | | | | build: add meson_post_install.py properly See merge request GNOME/gdm!112
| * build: add meson_post_install.py properlyWORLDofPEACE2020-11-101-1/+3
|/
* Merge branch 'master' into 'master'Ray Strode2020-11-031-13/+13
|\ | | | | | | | | | | | | display: Don't try to start gnome-initial setup on users check failure Closes #642 See merge request GNOME/gdm!117
| * display: Use autoptr to handle errors in look for existing usersMarco Trevisan (Treviño)2020-11-031-10/+7
| | | | | | | | It will make things just cleaner
| * display: Exit with failure if loading existing users failsMarco Trevisan (Treviño)2020-11-031-4/+7
|/ | | | | | | | | | | | 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
* Merge branch 'wip/libgdm-proxy-leaks' into 'master'Ray Strode2020-11-031-110/+60
|\ | | | | | | | | libgdm proxy leaks See merge request GNOME/gdm!120
| * libgdm: Don't leak user verifier extensions on unlockwip/libgdm-proxy-leaksRay Strode2020-11-031-22/+48
| | | | | | | | | | | | | | | | | | 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.
| * libgdm: Fetch connection synchronouslyRay Strode2020-11-031-85/+9
| | | | | | | | | | | | | | | | | | | | | | 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.
| * libgdm: Fix client leaks from g_async_result_get_source_objectRay Strode2020-11-031-3/+3
|/ | | | | | | | 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
* Merge branch 'enable-wayland-runtime' into 'master'Ray Strode2020-11-033-11/+33
|\ | | | | | | | | utils: add enabling Wayland feature into gdm-disable-wayland See merge request GNOME/gdm!115
| * utils: change gdm-disable-wayland to gdm-runtime-configJian-Hong Pan2020-11-033-11/+33
|/ | | | | | | | | | | | | | | | | | | | 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
* Merge branch 'wip/fix-some-fd-leaks' into 'master'Ray Strode2020-11-023-8/+12
|\ | | | | | | | | Fix some file descriptor leaks See merge request GNOME/gdm!111
| * xdmcp-display-factory: Clear launch environment when done with itRay Strode2020-11-021-0/+2
| | | | | | | | | | | | | | | | | | | | 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.
| * session: Don't leak remote greeter interfaceRay Strode2020-11-021-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | 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.
| * manager: Clean up user session when finished with displayRay Strode2020-11-021-0/+2
| | | | | | | | | | | | | | | | | | 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.
| * manager: Don't leak session objectsRay Strode2020-11-021-8/+7
|/ | | | | | | | 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.
* Merge branch 'benzea/fix-locale-dir' into 'master'Ray Strode2020-10-271-1/+1
|\ | | | | | | | | | | | | meson: Fix location of locale directory Closes #635 See merge request GNOME/gdm!116
| * meson: Fix location of locale directorybenzea/fix-locale-dirBenjamin Berg2020-10-231-1/+1
|/ | | | | | | | 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: Bump to 3.38.13.38.1Ray Strode2020-10-131-1/+1
|
* NEWS: Update for releaseRay Strode2020-10-131-0/+7
|
* Merge branch 'benzea/fix-runtime-confi-location' into 'master'Iain Lane2020-10-131-1/+1
|\ | | | | | | | | | | | | meson: Fix default location of runtime configuration Closes #641 See merge request GNOME/gdm!114
| * meson: Fix default location of runtime configurationbenzea/fix-runtime-confi-locationBenjamin Berg2020-10-061-1/+1
|/ | | | | | | | | | | 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
* Merge branch 'patch-1' into 'master'Olav Vitters2020-09-291-1/+1
|\ | | | | | | | | Correct a typo in gdm-x-session.c See merge request GNOME/gdm!109
| * Correct a typo in gdm-x-session.cFelix Yan2020-09-291-1/+1
|/
* Update Kabyle translationYacine Bouklif2020-09-191-157/+160
|
* meson: bump to 3.38.03.38.0Ray Strode2020-09-111-1/+1
|
* NEWS: Update to 3.38.0Ray Strode2020-09-111-0/+8
|
* daemon: quit Plymouth without transition if only XDMCP is allowedPetr Pavlu2020-09-091-1/+1
| | | | | | | | | | | | 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
* Merge branch 'benzea/fix-unknown-session-crash' into 'master'Ray Strode2020-09-091-2/+3
|\ | | | | | | | | | | | | Benzea/fix unknown session crash Closes #555 See merge request GNOME/gdm!106
| * manager: Always write out parameterBenjamin Berg2020-09-091-1/+2
| | | | | | | | | | | | | | | | | | | | 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.
| * manager: Fix possible crash by initializing displayBenjamin Berg2020-09-091-1/+1
|/ | | | | | | | | | | 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
* Update Catalan translationJordi Mas2020-09-071-26/+26
|
* Update Ukrainian translationYuri Chornoivan2020-09-061-1/+119
|
* Update Ukrainian translationYuri Chornoivan2020-09-051-1/+93
|
* Update Ukrainian translationYuri Chornoivan2020-09-041-1/+53
|
* Update Ukrainian translationYuri Chornoivan2020-09-041-1/+97
|
* Update Ukrainian translationYuri Chornoivan2020-09-031-1/+45
|
* Update Ukrainian translationYuri Chornoivan2020-09-031-98/+189
|
* Update Ukrainian translationYuri Chornoivan2020-09-021-193/+278
|
* Update Ukrainian translationYuri Chornoivan2020-09-011-19/+35
|
* Update Ukrainian translationYuri Chornoivan2020-09-011-1/+100
|
* Merge branch 'wip/issue623' into 'master'Ray Strode2020-08-311-2/+0
|\ | | | | | | | | | | | | data: Remove deprecated StandardOutput=syslog Closes #623 See merge request GNOME/gdm!108
| * data: Remove deprecated StandardOutput=syslogSimon McVittie2020-08-311-2/+0
|/ | | | | | | | | | | | | | | | | 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>