| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
|
|\
| |
| |
| |
| |
| |
| | |
CVE-2018-14424 use after free
Closes #401
See merge request GNOME/gdm!31
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|\
| |
| |
| |
| | |
fix xorg fallback
See merge request GNOME/gdm!30
|
| |
| |
| |
| |
| | |
This commit just sprinkles in a few more `g_debug`'s for
log file clarity.
|
|/
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|\
| |
| |
| |
| | |
session-worker: don't set PAM_TTY to bogus value on failure
See merge request GNOME/gdm!29
|
|/
|
|
|
|
|
| |
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.
|
|\
| |
| |
| |
| |
| |
| | |
don't start two greeters at startup
Closes #409
See merge request GNOME/gdm!28
|
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|/
|
|
|
|
|
|
|
|
| |
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.
|
|\
| |
| |
| |
| | |
Add CI to GDM.
See merge request GNOME/gdm!23
|
|/
|
|
|
| |
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.
|
| |
|
| |
|
|\
| |
| |
| |
| |
| |
| | |
kill and restart greeter on demand under wayland
Closes #222
See merge request GNOME/gdm!26
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|/
|
|
|
|
|
|
|
|
| |
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.
|
|\
| |
| |
| |
| | |
Wip/try harder to get a login screen
See merge request GNOME/gdm!25
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| | |
Right now there are three copies of activate_session_id.
This commit consolidates the code to gdm-common.c
|
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|/
|
|
|
|
|
| |
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.
|
|\
| |
| |
| |
| | |
use wayland when user switching
See merge request GNOME/gdm!24
|
| |
| |
| |
| |
| |
| | |
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().
|
|/
|
|
|
| |
Factor out the code which decides if Xorg or Wayland should be used into
a helper function.
|
|
|
|
|
| |
autogoo is still oozing from the docs changes, try again to plug
up the holes and fix the build.
|
|
|
|
|
|
|
| |
ChangeLog is gone, README is markdown, the build goo is still
gooey.
This commit fixes the build by updating the goo.
|
|\
| |
| |
| |
| | |
Update README, use Markdown.
See merge request GNOME/gdm!21
|
|/
|
|
|
|
|
| |
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.
|
|\
| |
| |
| |
| |
| |
| | |
session-worker: unblock SIGUSR1 before PAM
Closes #399
See merge request GNOME/gdm!20
|
|/
|
|
|
|
|
|
|
|
|
|
| |
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
|
|\
| |
| |
| |
| | |
display-factory: avoid removing a display from store while iterating it
See merge request GNOME/gdm!6
|
|/ |
|
|\
| |
| |
| |
| | |
session-worker: set PWD for user session
See merge request GNOME/gdm!4
|
|/
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|\
| |
| |
| |
| | |
Simplify configure ac
See merge request GNOME/gdm!16
|
| | |
|
| |
| |
| |
| | |
It's nowhere used in the code, so we can safely remove it.
|
| |
| |
| |
| | |
It's no longer used anywhere, so we can safely remove it.
|
| |
| |
| |
| | |
It's no longer used.
|
|/
|
|
| |
We no longer provide this, so we can safely remove it.
|
|\
| |
| |
| |
| | |
configure.ac: remove libgen.h check.
See merge request GNOME/gdm!15
|
|/
|
|
| |
It's not used anyway.
|
|\
| |
| |
| |
| | |
configure.ac: Remove execinfo.h check.
See merge request GNOME/gdm!14
|
|/
|
|
|
| |
The backtrace() call is no longer being used and as such, neither is
the execinfo header.
|
|\
| |
| |
| |
| | |
configure.ac: update GLib version to 2.44.
See merge request GNOME/gdm!13
|