Merge lp://staging/~christian-w/lightdm-gtk-greeter/pam-multiple-prompts into lp://staging/~lightdm-gtk-greeter-team/lightdm-gtk-greeter/trunk
Status: | Merged |
---|---|
Merged at revision: | 212 |
Proposed branch: | lp://staging/~christian-w/lightdm-gtk-greeter/pam-multiple-prompts |
Merge into: | lp://staging/~lightdm-gtk-greeter-team/lightdm-gtk-greeter/trunk |
Diff against target: |
274 lines (+148/-22) 1 file modified
src/lightdm-gtk-greeter.c (+148/-22) |
To merge this branch: | bzr merge lp://staging/~christian-w/lightdm-gtk-greeter/pam-multiple-prompts |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Sean Davis | maintainer | Approve | |
Review via email: mp+205254@code.staging.launchpad.net |
Commit message
Support multiple prompts in PAM conversation rounds
PAM allows for a single round of a conversation to contain multiple
prompts. Use case: if a user's password is expired, the Kerberso 5 PAM
module, pam_krb5, makes use of PAM's feature to supply multiple prompts
in order to ask the user to change their password during the
authentication phase (after verification of the old password).
This patch changes the show_message_cb and show_prompt_cb signal
handlers to record the information in a list of pending prompts and use
a central processing function to display one prompt at a time to make
multiple prompts work properly. Additionally, for all prompts after the
first one, the text accompanying the prompt is used for the message
label (unless that has already been filled by a message), so that it is
clear to the user for what additional information they are asked.
Description of the change
Comments (in addition to commit message):
Related discussion: http://
Compared to my initial patch, this now does NOT rely on any changes to
the lightdm API, so this should work with all lightdm versions.
I have tested this with a local Kerberos realm in a KVM on Debian
Wheezy with a manually compiled lightdm (from bzr trunk) and
lightdm-gtk-greeter (also from bzr trunk), for all six possible
combinations for a) the PAM module asking for a password change or not
and b) using the user list, selecting "other" on the user list and
entering the name manually and disabling the user list in the lightdm
config.
I have not tested this with gtk2, but I don't see why it wouldn't.
This looks fine to me, I'll merge it now. Thanks for the patch!