diff options
author | Ray Strode <rstrode@redhat.com> | 2017-07-26 13:28:50 -0400 |
---|---|---|
committer | Ray Strode <rstrode@redhat.com> | 2017-10-20 14:14:17 -0400 |
commit | d39ed7b722761e5110e26c8e937782ecb24b7315 (patch) | |
tree | 3fe23217bbe7f8af8c83535bb8866e0397ef52c9 /daemon/gdm-session.xml | |
parent | d5280a38761a558c32c32e1e277ebd26f63af5c7 (diff) | |
download | gdm-d39ed7b722761e5110e26c8e937782ecb24b7315.tar.gz |
daemon: add ChoiceList PAM extension
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.
https://bugzilla.gnome.org/show_bug.cgi?id=788851
Diffstat (limited to 'daemon/gdm-session.xml')
-rw-r--r-- | daemon/gdm-session.xml | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/daemon/gdm-session.xml b/daemon/gdm-session.xml index af2976a4..137be5e2 100644 --- a/daemon/gdm-session.xml +++ b/daemon/gdm-session.xml @@ -22,6 +22,12 @@ <arg name="service_name" direction="in" type="s"/> <arg name="problem" direction="in" type="s"/> </method> + <method name="ChoiceListQuery"> + <arg name="service_name" direction="in" type="s"/> + <arg name="prompt_message" direction="in" type="s"/> + <arg name="query" direction="in" type="a{ss}"/> + <arg name="answer" direction="out" type="s"/> + </method> </interface> <interface name="org.gnome.DisplayManager.UserVerifier"> <method name="EnableExtensions"> @@ -78,6 +84,17 @@ <arg name="service_name" type="s"/> </signal> </interface> + <interface name="org.gnome.DisplayManager.UserVerifier.ChoiceList"> + <method name="SelectChoice"> + <arg name="service_name" direction="in" type="s"/> + <arg name="choice" direction="in" type="s"/> + </method> + <signal name="ChoiceQuery"> + <arg name="service_name" type="s"/> + <arg name="prompt_message" type="s"/> + <arg name="list" type="a{ss}"/> + </signal> + </interface> <interface name="org.gnome.DisplayManager.Greeter"> <method name="SelectSession"> <arg name="session" direction="in" type="s"/> |