Merge lp://staging/~christian-w/lightdm-gtk-greeter/pam-multiple-prompts into lp://staging/~lightdm-gtk-greeter-team/lightdm-gtk-greeter/trunk

Proposed by Christian Seiler
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
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://lists.freedesktop.org/archives/lightdm/2014-February/000500.html

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.

To post a comment you must log in.
Revision history for this message
Sean Davis (bluesabre) wrote :

This looks fine to me, I'll merge it now. Thanks for the patch!

review: Approve (maintainer)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
The diff is not available at this time. You can reload the page or download it.

Subscribers

People subscribed via source and target branches