[#4570] Streamlining of passwd expect driver
Summary Streamlining of passwd expect driver
Queue Passwd
Queue Version HEAD
Type Enhancement
State Stalled
Priority 1. Low
Owners
Requester gavin (at) gwenandgavin (dot) ca
Created 10/28/2006 (561 days ago)
Due
Updated 04/16/2008 (25 days ago)
Assigned 10/28/2006 (561 days ago)
Resolved 04/16/2008 (25 days ago)
Attachments passwd_expect.patch Download
Milestone
Patch

History
04/16/2008 Chuck Hagenbuch Comment #5
State ⇒ Stalled
Reply to this comment
Marking as stalled for now. We'll re-open if there's activity.
02/24/2008 gavin (at) gwenandgavin (dot) ca Comment #4 Reply to this comment
> Ping?
Still here.  It has been so long since I created this patch, that looking into merging this will take as long as it took to write it in the first place.  I will keep this on my list of things to do, but it is pretty low on a long list.
02/24/2008 Jan Schneider Comment #3 Reply to this comment
Ping?
12/24/2007 Chuck Hagenbuch Comment #2
State ⇒ Feedback
Taken from Jan Schneider
Taken from Horde DevelopersHorde Developers
Taken from Eric Rostetter
Reply to this comment
Unfortunately this patch doesn't apply cleanly anymore. It looks like some of the improvements have been merged, and there's a separate kpasswd_expect script. Any chance you could update the remaining improvements against HEAD?

(I took a shot, but got lost where the new code has a case for sudo)
10/29/2006 Jan Schneider Assigned to Jan Schneider
 
10/28/2006 Chuck Hagenbuch State ⇒ Assigned
Assigned to Horde DevelopersHorde Developers
Assigned to Eric Rostetter
 
10/28/2006 gavin (at) gwenandgavin (dot) ca Comment #1
State ⇒ New
Type ⇒ Enhancement
Priority ⇒ 1. Low
Summary ⇒ Streamlining of passwd expect driver
New Attachment: passwd_expect.patch Download
Queue ⇒ Passwd
Reply to this comment
Reworked the expect and send logic using exp_continue.  See full description below.
Added procs that ensure consistent handling of sending and exiting.
Changed default fingerprint_string to work with any prompt that asks "Are you sure you want to continue connecting"
Changed default verify_string to accomodate "Retype New Password" and "Retype new password"
Removed old commented out code
Changed starting of remote session to be as generic as possible, including removing special case handling of telnet.
Added a common timeout handler so every expect command does not have to accomodate timeout
Added handling no output from program  that indicates success.
Ensured that success is returned even if timeout after passwd changed
Added handling of kpasswd through the -kpasswd command line option and minor additions to the verify_string

Old logic for expecting and sending was:
0> If telnet check for user name prompt and send
1> enter password at prompt or ssh accept fingerprint message
2> start password changing prompt or send old password if passwd already started
3> send old password if we just sent old password
4> send new password if being prompted
5> send new password again
6> check response

New logic using exp_continue and expect_after
1> log in (accept finger print string, supply username, and/or supply password)
2> start password changing program (if necessary) and send old password.  Wait for old password to be accepted.
3> send new password (no expect necessary)
4> send new password again and wait for password to be verified