summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* NEWS: update for releaseRay Strode2018-08-131-0/+8
|
* Merge branch 'wip/CVE-2018-14424-use-after-free' into 'master'Ray Strode2018-08-136-42/+30
|\ | | | | | | | | | | | | CVE-2018-14424 use after free Closes #401 See merge request GNOME/gdm!31
| * display: tie skeleton handlers to object lifetimeRay Strode2018-08-131-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Right now we assume a display skeleton object won't outlive its associated display object. In theory that should be true, but if we accidentally leak the skeleton it could erroneously happen. If that does happen then we'll end accessing free'd memory, so the leak will turn into a crasher. This commit addresses this problem by ensuring the skeleton signal handlers are disconnected when the associated display object goes away. CVE-2018-14424
| * display-store: Pass the display object rather than the id in the removed signalChris Coulson2018-08-135-30/+18
|/ | | | | | | | | | | | | By the time GdmDisplayStore emits the "display-removed" signal, the display is no longer in the store and gdm_display_store_lookup will not work in signal handlers. Change the "display-removed" parameter from the display id to the GdmDisplay object, so that signal handers can perform any cleanup they need to do CVE-2018-14424 Closes: https://gitlab.gnome.org/GNOME/gdm/issues/401
* Merge branch 'wip/fix-xorg-fallback' into 'master'Ray Strode2018-08-091-4/+20
|\ | | | | | | | | fix xorg fallback See merge request GNOME/gdm!30
| * local-display-factory: add some more debug statementsRay Strode2018-08-091-0/+5
| | | | | | | | | | This commit just sprinkles in a few more `g_debug`'s for log file clarity.
| * local-display-factory: don't jump to failed displayRay Strode2018-08-091-4/+15
|/ | | | | | | | | | | | Since commit 5e737a57 `create_display` will jump to any already running login screen if it can find one. Right now if a display fails we call `create_display` to create a new one. It will look for any already running login screen and find the recently failed display. This commit make sure we never jump to a display that isn't in good working order.
* Merge branch 'wip/fix-pam-group' into 'master'Ray Strode2018-08-081-3/+4
|\ | | | | | | | | session-worker: don't set PAM_TTY to bogus value on failure See merge request GNOME/gdm!29
| * session-worker: don't set PAM_TTY to bogus value on failureRay Strode2018-08-081-3/+4
|/ | | | | | | At the moment we set PAM_TTY to a bogus value if we're unable to read the current VT. This commit adds an error check for that case.
* Merge branch 'wip/fix-double-greeters' into 'master'Ray Strode2018-08-082-12/+54
|\ | | | | | | | | | | | | don't start two greeters at startup Closes #409 See merge request GNOME/gdm!28
| * session-worker: don't switch VTs if we're already on the right VTRay Strode2018-08-081-6/+16
| | | | | | | | | | | | commit 5b5dccbd shows that switching VTs to the same VT isn't exactly a no-op. In order to prevent unnecessary wakeups, avoid switching VTs if the worker is already on the correct VT.
| * local-display-factory: don't start two greeters at startupRay Strode2018-08-081-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit c0188a7030 added some complex code for starting the login screen when the user switches to the initial VT if nothing is running on that VT. The problem is, we get a VT change event on that VT as part of the start up process. This leads to an additional greeter getting started. This commit adds a check to side step the new code during startup. Closes: https://gitlab.gnome.org/GNOME/gdm/issues/409
| * local-display-factory: add more debug messages to new vt handling codeRay Strode2018-08-081-9/+35
|/ | | | | | | | | | commit c0188a7030 added some complex code for starting and stopping the login screen based on VT changes. That code currently has zero debug statements in it making it trickier than necessary to debug. This commit sprinkles some g_debug's throughout the function.
* Merge branch 'wip/nielsdg/add-ci' into 'master'Ray Strode2018-08-071-0/+47
|\ | | | | | | | | Add CI to GDM. See merge request GNOME/gdm!23
| * Add CI to GDM.Niels De Graef2018-08-071-0/+47
|/ | | | | I don't know if it's even possible to do it with flatpak, but at the moment, let us just do a basic build.
* configure: bump to 3.29.903.29.90Ray Strode2018-08-031-1/+1
|
* NEWS: update for releaseRay Strode2018-08-031-0/+12
|
* Merge branch 'wip/reap-greeter-on-login' into 'master'Ray Strode2018-08-031-1/+168
|\ | | | | | | | | | | | | kill and restart greeter on demand under wayland Closes #222 See merge request GNOME/gdm!26
| * daemon: kill and restart greeter on demand under waylandRay Strode2018-08-031-0/+167
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Right now we leave the greeter alive after the user logs in. This is for two reasons: 1) When the greeter is running Xorg, there's no way to kill it when it's running on an inactive VT (X jumps to the foreground when being killed) 2) The greeter, in a way, provides a securepath for unlock. Users in theory could know that by hitting ctrl-alt-f1 to secure attention, the login screen presented is not spoofed. Since we use wayland by default, 1 isn't that much of a concern, and 2 is a bit of niche feature that most users probably haven't considered. And there's a huge downside to keeping the greeter alive: it uses a very large amount of memory. This commit changes GDM to kill the login screen when switching away from the login screen's VT and restarting it when switching back. Based heavily on work by Hans de Goede <hdegoede@redhat.com> Closes: https://gitlab.gnome.org/GNOME/gdm/issues/222
| * local-display-factory: ensure non-seat0 codepath doesn't affect seat0Ray Strode2018-08-031-1/+1
|/ | | | | | | | | | create_display currently bails in some cases if any display is running on the seat. That's the right thing to do on seats other than seat0, but wrong for seat0 (which an have multiple sessions at the same time). To ensure we never hit the case for seat0, add a call to check if the passed seat is multi-session capable.
* Merge branch 'wip/try-harder-to-get-a-login-screen' into 'master'Ray Strode2018-08-024-199/+80
|\ | | | | | | | | Wip/try harder to get a login screen See merge request GNOME/gdm!25
| * daemon: try harder to get to a login screen at logoutRay Strode2018-08-022-53/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | commit 22c332ba and some follow up commits try to ensure the user never stays on a blank VT by jumping to a login screen in the event they'd end up on one. Unfortunately, that part of the code can't start a login screen if there's not one running at all. This commit moves the code to GdmLocalDisplyFactory where the login screens are created, so users won't end up on a blank VT even if no login screen is yet running.
| * common: dedupe activate_session_idRay Strode2018-08-023-38/+13
| | | | | | | | | | | | Right now there are three copies of activate_session_id. This commit consolidates the code to gdm-common.c
| * common: dedupe gdm_get_login_window_session_idRay Strode2018-08-023-110/+38
| | | | | | | | | | | | | | | | Right now there are two slightly different cut-and-pastes of the function to get the session id of the login session in the code. This commit deduplicates them.
| * manager: make get_login_window_session_id fail if no login screenRay Strode2018-08-021-2/+2
|/ | | | | | | Right now we oddly succeed from get_login_window_session_id if we can't find a login window. None of the caller expect that, so fail instead.
* Merge branch 'wip/use-wayland-when-user-switching' into 'master'Ray Strode2018-08-021-8/+17
|\ | | | | | | | | use wayland when user switching See merge request GNOME/gdm!24
| * local-display-factory: Use correct session-type for new transient displaysHans de Goede2018-08-021-0/+2
| | | | | | | | | | | | Use the new gdm_local_display_factory_use_wayland() helper to correctly set the session-type properties for displays created through gdm_local_display_factory_create_transient_display().
| * local-display-factory: Add gdm_local_display_factory_use_wayland() helperHans de Goede2018-08-021-8/+15
|/ | | | | Factor out the code which decides if Xorg or Wayland should be used into a helper function.
* autogoo: add foreign to AC_INITRay Strode2018-07-231-1/+1
| | | | | autogoo is still oozing from the docs changes, try again to plug up the holes and fix the build.
* autogoo: update Makefile to deal with recent docs changesRay Strode2018-07-231-2/+1
| | | | | | | ChangeLog is gone, README is markdown, the build goo is still gooey. This commit fixes the build by updating the goo.
* Merge branch 'wip/nielsg/readme' into 'master'Ray Strode2018-07-225-84/+44
|\ | | | | | | | | Update README, use Markdown. See merge request GNOME/gdm!21
| * Update README, use Markdown.Niels De Graef2018-07-225-84/+44
|/ | | | | | | Remove unnecessary files with obsolete links. Remove instructions from HACKING, as they contained old versions of dependencies. It is now only a coding style guide.
* Merge branch 'wip/rstrode/unblock-sigusr1' into 'master'Ray Strode2018-07-192-15/+7
|\ | | | | | | | | | | | | session-worker: unblock SIGUSR1 before PAM Closes #399 See merge request GNOME/gdm!20
| * session-worker: unblock SIGUSR1 before PAMwip/rstrode/unblock-sigusr1Ray Strode2018-07-182-15/+7
|/ | | | | | | | | | | | Right now we unblock SIGUSR1 just before starting the session, but we should really do it before starting the worker/PAM. This commit fixes that and removes a useless call to set SIGUSR1 back to the default disposition, right before exec (which does the same thing anyway) Closes: https://gitlab.gnome.org/GNOME/gdm/issues/399
* Merge branch 'lr/store-purge' into 'master'Ray Strode2018-07-174-10/+46
|\ | | | | | | | | display-factory: avoid removing a display from store while iterating it See merge request GNOME/gdm!6
| * display-factory: avoid removing a display from store while iterating itLubomir Rintel2018-07-174-10/+46
|/
* Merge branch 'wip/pwd-fix' into 'master'Ray Strode2018-07-171-0/+1
|\ | | | | | | | | session-worker: set PWD for user session See merge request GNOME/gdm!4
| * session-worker: set PWD for user sessionRay Strode2018-07-171-0/+1
|/ | | | | | | | | | | It's possible for the current working directory to be a symlink. Some programs, and notably, the get_current_dir_name() libc api use the PWD environment variable to know the symlink being used (so they don't use the canonical name that the symlink points to) This commit makes sure we set PWD in that case, to allow those programs to show the right path.
* Update Occitan translationCédric Valmary2018-06-271-138/+158
|
* Merge branch 'wip/nielsdg/simplify-configure-ac' into 'master'Ray Strode2018-06-251-65/+0
|\ | | | | | | | | Simplify configure ac See merge request GNOME/gdm!16
| * configure.ac: Remove duplicate sys/sockio.h check.Niels De Graef2018-06-251-1/+0
| |
| * configure.ac: remove setpenv check.Niels De Graef2018-06-251-18/+0
| | | | | | | | It's nowhere used in the code, so we can safely remove it.
| * configure.ac: Remove XInput check.Niels De Graef2018-06-251-31/+0
| | | | | | | | It's no longer used anywhere, so we can safely remove it.
| * configure.ac: Remove Xft check.Niels De Graef2018-06-251-9/+0
| | | | | | | | It's no longer used.
| * configure.ac: Remove logindevperm.h check.Niels De Graef2018-06-251-6/+0
|/ | | | We no longer provide this, so we can safely remove it.
* Merge branch 'wip/nielsdg/remove-other-headers' into 'master'Ray Strode2018-06-251-6/+0
|\ | | | | | | | | configure.ac: remove libgen.h check. See merge request GNOME/gdm!15
| * configure.ac: remove libgen.h check.Niels De Graef2018-06-251-6/+0
|/ | | | It's not used anyway.
* Merge branch 'wip/nielsdg/remove-execinfo' into 'master'Ray Strode2018-06-251-6/+0
|\ | | | | | | | | configure.ac: Remove execinfo.h check. See merge request GNOME/gdm!14
| * configure.ac: Remove execinfo.h check.wip/nielsdg/remove-execinfoNiels De Graef2018-06-241-6/+0
|/ | | | | The backtrace() call is no longer being used and as such, neither is the execinfo header.
* Merge branch 'wip/nielsdg/update-glib-dep' into 'master'Ray Strode2018-06-241-1/+1
|\ | | | | | | | | configure.ac: update GLib version to 2.44. See merge request GNOME/gdm!13