| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
This commit just adds a test module for the new pam
interface (mainly for documentation purposes)
|
|
|
|
| |
This provides gnome-shell with a way to use the new interface.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit adds one PAM extension, a "Choice List" using the
new PAM_BINARY_PROMPT protocol added in the previous commit. The
PAM module sends a list of (key, row text) pairs, and GDM ferries
the request to gnome-shell using a new user verifier sub-interface.
gnome-shell should present the list to the user and pass back the
corresponding key, which GDM ferries back to the PAM module.
Note this commit is only the daemon side. A subsequent commit will
add the libgdm API needed for gnome-shell to actually deal with
this new PAM extension.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This abuses PAM_BINARY_PROMPT for our own nefarious purposes.
The way it works is GDM advertises what "extensions" it supports
with the environment variable, GDM_SUPPORTED_PAM_EXTENSIONS (a space
separated list of reverse dns notation names). PAM services that
support this protocol, will read the environment variable, and
check for extension strings they support. They then know that sending
PAM_BINARY_PROMPT won't blow up, and know what format to use for the
binary data. The type field of the structure is the index of the
string from the environment variable.
This commit is just foundation work. It doesn't actually add any
extensions.
|
|
|
|
|
|
|
|
|
| |
Right now we always give text responses back to pam modules,
so the response variable is named response_text. That's going
to change in the future, when we introduce private protocol for
the module to talk to GDM.
As prep work for that change, rename "response_text" to "response".
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
--disable-user-display-server
get_system_session_dirs is function that says which directories to
search for session desktop files. The returned directories may
be xsession dirs, wayland-session dirs, or both, depending on
configuration.
A bug in this function means an unused NULL sentinal value from the
xsession list of directories is getting copied into the middle of
the output list, when --disable-user-display-server is passed to
configure.
This commit corrects the bug, by dropping the unused sentinal value.
Launchpad-Bug: 1704050
https://bugzilla.gnome.org/show_bug.cgi?id=784891
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
This reverts commit 9fb36b5bef44bfe4aa1dda52196e08480638ce35.
https://bugzilla.gnome.org/show_bug.cgi?id=784340
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts
https://git.gnome.org/browse/gdm/commit/?id=f66cdfcb2
and renames the session from gdm-shell to gnome-login.
The removal caused problems for Ubuntu 17.10 which does not
include gnome.session by default.
https://launchpad.net/bugs/1701243
https://bugzilla.gnome.org/show_bug.cgi?id=784340
|
| |
|
| |
|
|
|
|
|
|
| |
See https://developer.gnome.org/hig/stable/typography.html
https://bugzilla.gnome.org/show_bug.cgi?id=772203
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
If GDM shuts down while the login screen is active, we fail to
kill off the login screen session.
This commit fixes that, by explicitly stopping the greeter session
on the display (if there is one)
https://bugzilla.gnome.org/show_bug.cgi?id=780213
|
|
|
|
| |
(cherry picked from commit 5cd92e6594a945b58c668b4d177993e62a0eced2)
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
If a display starts out its life as a greeter display, and then
gets reused for the user session, we need to update the session-id
property on the display to match its new session.
This is important so the reauthentication mechanism is able to
match the session with existing display and run in the proper context.
https://bugzilla.gnome.org/show_bug.cgi?id=782182
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We currently update the session type (to either wayland or
x11) when we first start the PAM conversation and later when
the username is set (if the user is not set at the same time as
the PAM conversation).
There's a race that means the session won't necessarly have been
read from accountsservice at these points.
This commit changes the code to instead update the session type
in result to the session actually getting read.
https://bugzilla.gnome.org/show_bug.cgi?id=781825
|
| |
|
| |
|
|
|
|
|
|
|
| |
This was dropped in f66cdfcb but GDM won't start when the
default session-name is set to something else
https://bugzilla.gnome.org/show_bug.cgi?id=781793
|
|
|
|
| |
(cherry picked from commit 1ecfe06c3fde4dfae6c0c900568b426ff0b561a5)
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
A logic error in the Makefile means that the systemd unit will
only get installed if the unit dir doesn't yet exist. That's normally
the case for package builds, but won't be the case at all for builds
from tarball.
This commit fixes up the logic.
https://bugzilla.gnome.org/show_bug.cgi?id=781082
|
|
|
|
|
|
|
|
|
|
| |
commit 5c9e120594839b0597bc7bb8d06be7ba1076c0d8 attempts to handle
a session failing to start, but messages up the signal prototype
leading to crash.
This commit fixes that.
https://bugzilla.gnome.org/show_bug.cgi?id=781413
|
|
|
|
| |
(cherry picked from commit c53b0595a7daee795179b2bd08af28734ce5ffd5)
|
|
|
|
|
|
|
| |
This is no longer set in the 00-upstream-settings defaults key file
since commit f66cdfcb, so no point on locking it down here.
https://bugzilla.gnome.org/show_bug.cgi?id=744764
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If we're running in legacy display mode, we currently can
end up with a leaked greeter following user switching.
That can happen if a user with an already running session
is reauthenticated (so the login screen won't morph into the
use session).
This commit makes sure we kill the greeter session off in that
case.
https://bugzilla.gnome.org/show_bug.cgi?id=780939
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If we're running in legacy mode where VT1 is not necessarily a login
screen, then we can end up in a situation where logging out leaves us
sitting on the wrong vt.
1) log in to user 1 on vt 1
2) switch user to login screen on vt 2 and log in as user 2 on vt 2
3) switch user to login screen on vt 3 and unlock user 1 back on vt 1
4) log out of user 1 on vt 1
5) now sitting at blank vt 1
This commit makes sure in that case we jump to a login screen
https://bugzilla.gnome.org/show_bug.cgi?id=780914
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|