summaryrefslogtreecommitdiff
path: root/daemon/gdm-session.xml
diff options
context:
space:
mode:
authorRay Strode <rstrode@redhat.com>2017-07-26 13:28:50 -0400
committerRay Strode <rstrode@redhat.com>2017-10-20 14:14:17 -0400
commitd39ed7b722761e5110e26c8e937782ecb24b7315 (patch)
tree3fe23217bbe7f8af8c83535bb8866e0397ef52c9 /daemon/gdm-session.xml
parentd5280a38761a558c32c32e1e277ebd26f63af5c7 (diff)
downloadgdm-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.xml17
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"/>