summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'fix-session-hiding' into 'main'HEADmainRay Strode2023-05-161-2/+3
|\ | | | | | | | | libgdm: Fix session loading precedence See merge request GNOME/gdm!202
| * libgdm: Fix session loading precedenceRay Strode2023-05-161-2/+3
|/ | | | | | | | | | | | | | | | | | | | One feature that GDM is supposed to support is a precedence order for loading xsession files. If someone has a file in /etc/X11/sessions it's supposed to override a file in /usr/share/xsessions. This works okay from a backend point of view. /etc/X11/sessions can change the command getting run, for instance, but it doesn't work from a front end point of view. Menu items can't get hidden in the session cog. This is due to a bug in libgdm where it inadvertently gives /usr/share/xsessions higher precedence than /etc/X11/sessions. This commit fixes that by processing the lists in reverse order, and making sure to remove already added entries if overriding entries are hidden.
* Merge branch 'wip/abono/don-t-free-seat-id' into 'main'Ray Strode2023-05-161-1/+1
|\ | | | | | | | | gdm-manager: Don't assume ownership of seat_id See merge request GNOME/gdm!205
| * gdm-manager: Don't assume ownership of seat_idAlessandro Bono2023-05-131-1/+1
|/ | | | | | | Since commit 89148f111d0ae91b5ba23776a6c57e917e5a13dc the seat id doesn't get duplicated. Don't free the returned string. Fixes: 6184c8a9a113abc963452dd3fdc91d1597385f56
* Merge branch 'wip/abono/session-settings-leak' into 'main'Ray Strode2023-05-091-2/+5
|\ | | | | | | | | gdm-session-settings: Plug a leak See merge request GNOME/gdm!204
| * gdm-session-settings: Plug a leakAlessandro Bono2023-05-091-2/+5
|/ | | | | | Fallout from f0252728e9ef2a23b0d98a4fe2c697fdc673d254. The variable was used to free the object pointed by settings->user after replacing it.
* Merge branch 'check-vt-respawn-only-seat0' into 'main'Ray Strode2023-05-081-1/+1
|\ | | | | | | | | local-display-factory: Only check current VT for respawn on seat0 See merge request GNOME/gdm!203
| * local-display-factory: Only check current VT for respawn on seat0msizanoen2023-05-081-1/+1
|/ | | | | | There's no reason that seat0 having the initial VT on foreground should trigger ensuring display on unrelated seats. Fix this by only checking for the current VT if the newly ended session belongs to seat0.
* Merge branch 'wayland-mutliseat-enablement' into 'main'Ray Strode2023-05-084-67/+102
|\ | | | | | | | | | | | | Multiseat enablement for Wayland (gdm side) Closes #654 See merge request GNOME/gdm!174
| * local-display-factory: Do not ensure login screen when a background user ↵msizanoen12023-05-081-1/+10
| | | | | | | | session terminates
| * local-display-factory: Ensure greeter sessions on non-primary seats are ↵msizanoen12023-05-081-2/+18
| | | | | | | | | | | | | | | | | | respawned on termination Trigger ensuring a greeter session for a non-primary seat when it terminates and only looking for displays with state of GDM_DISPLAY_MANAGED when checking for duplicates in ensure_display_for_seat on non-primary seats.
| * local-display-factory: Only ensure display for the session's seat on logout ↵msizanoen12023-05-081-5/+3
| | | | | | | | | | | | | | | | instead of all seats An user logging out from another seat shouldn't affect other users on other seats. Limit ensuring a greeter session to the seat that have just been logged out.
| * local-display-factory: Search for greeter sessions from logind before ↵msizanoen12023-05-081-7/+7
| | | | | | | | | | | | | | | | | | | | | | looking up the display from display store On non-primary seats, GDM will look up the display from display store and abort ensuring a display for seat. This causes the seat to have no active session when a user logs out, instead of the login screen. Fix this by searching for greeter sessions from logind before looking up the display from display store.
| * gdm-session-worker: Do not set PAM_TTY on non-primary seatsmsizanoen12023-05-081-19/+24
| | | | | | | | | | pam_systemd complains and refuse to create the login session when PAM_TTY or XDG_VTNR is configured on non-primary seats.
| * daemon: Allow Wayland sessions on non-primary seatsmsizanoen12023-05-083-28/+15
| |
| * local-display-factory: Acquire seat name properlymsizanoen12023-05-081-6/+26
|/ | | | | | | | | systemd-logind escapes the seat name prior to exposing as a DBus object. As a result, seat names like "seat-name" may be escaped to "seat_x2dname" when exposed as a DBus object. Use DBus to acquire the seat name instead of using the last component of the object path.
* Merge branch 'elogind-build' into 'main'Ray Strode2023-04-286-39/+62
|\ | | | | | | | | meson: allow building with elogind See merge request GNOME/gdm!113
| * meson: allow building with elogindDudemanguy2023-04-286-39/+62
|/ | | | | | | Currently, the GDM meson build has a hard dependency on systemd. However, GDM can function just fine if one is using elogind. This allows a user to build GDM against libelogind and also disable the systemd system and user units.
* Merge branch 'wip/abono/gauto' into 'main'Ray Strode2023-04-2820-472/+219
|\ | | | | | | | | Use g_auto* See merge request GNOME/gdm!197
| * gdm-session-worker: Use g_auto*Alessandro Bono2023-04-281-100/+60
| |
| * gdm-session-worker: Plug a memory leakAlessandro Bono2023-04-281-1/+1
| | | | | | | | We didn't free the strings inside the array.
| * gdm-sessoin-worker: Plug a memory leakAlessandro Bono2023-04-281-3/+2
| | | | | | | | | | | | gdm_dbus_worker_manager_call_choice_list_query_sync does not take ownership of choices_as_variant. We must free it. While at it, use g_autoptr.
| * gdm-session-worker-job: Let GPtrArray deal with its contentAlessandro Bono2023-04-281-6/+2
| |
| * gdm-session-worker-job: Use g_auto*Alessandro Bono2023-04-281-27/+14
| |
| * gdm-session-settings: Remove unused variableAlessandro Bono2023-04-281-8/+0
| |
| * gdm-session-settings: Use g_auto*Alessandro Bono2023-04-281-4/+1
| |
| * gdm-session-record: Use g_auto*Alessandro Bono2023-04-281-4/+1
| |
| * gdm-session-linux-auditor: Use g_auto*Alessandro Bono2023-04-281-7/+3
| |
| * gdm-server: Remove empty branchAlessandro Bono2023-04-281-2/+1
| |
| * gdm-common: Let GPtrArray deal with its contentAlessandro Bono2023-04-281-2/+1
| |
| * gdm-session: Plug memory leaksAlessandro Bono2023-04-281-1/+1
| | | | | | | | | | The function is supposed to return const char *. Every caller is not freeing the returned string. Don't duplicate it.
| * gdm-manager: Move variables to inner scopeAlessandro Bono2023-04-281-3/+3
| |
| * gdm-manager: Plug a memory leakAlessandro Bono2023-04-281-3/+2
| | | | | | | | session_type was not freed. While at it use g_autofree.
| * gdm-manager: Plug a memory leakAlessandro Bono2023-04-281-1/+1
| | | | | | | | client_session_is is not freed. While at it, use g_autofree.
| * gdm-server: Plug a memory leakAlessandro Bono2023-04-281-9/+3
| | | | | | | | | | identifier was not freed. While at it use g_autofree and simplify how the identifier is created.
| * gdm-local-display: Remove dead codeAlessandro Bono2023-04-281-4/+0
| |
| * gdm-local-display-factory: Remove unused variableAlessandro Bono2023-04-281-1/+0
| |
| * gdm-local-display-factory: Move variables to inner scopeAlessandro Bono2023-04-281-3/+4
| |
| * gdm-legacy-display: Use g_auto*Alessandro Bono2023-04-281-13/+6
| |
| * gdm-legacy-display: Plug a memory leakAlessandro Bono2023-04-281-7/+3
| | | | | | | | | | display_name and seat_id were leaked. While at it, use g_autoptr() for launch_environment.
| * gdm-launch-environment: Use g_auto*Alessandro Bono2023-04-281-36/+21
| |
| * gdm-launch-environment: Remove redudant checkAlessandro Bono2023-04-281-2/+0
| | | | | | | | | | g_return_if_fail (GDM_IS_LAUNCH_ENVIRONMENT (object)) already checks it it is NULL.
| * gdm-display: Use g_auto*Alessandro Bono2023-04-281-64/+25
| |
| * gdm-display: Plug a memory leakAlessandro Bono2023-04-281-2/+1
| | | | | | | | error was not freed in the second if branch. While at it use g_autoptr.
| * gdm-display-access-file: Use g_auto*Alessandro Bono2023-04-281-42/+20
| |
| * gdm-dbus-util: Use g_auto*Alessandro Bono2023-04-281-27/+12
| |
| * gdm-settings-direct: Use g_auto*Alessandro Bono2023-04-281-12/+4
| |
| * gdm-settings-direct: Don't pass an error if we are not interested in itAlessandro Bono2023-04-281-8/+1
| |
| * gdm-settings-desktop-backend: Use g_auto*Alessandro Bono2023-04-281-42/+15
| |
| * gdm-settings-desktop-backend: Plug a memory leakAlessandro Bono2023-04-281-4/+2
| | | | | | | | error was leaked. While at it use g_auto*.