[Tickets #4570] Streamlining of passwd expect driver

bugs@bugs.horde.org bugs at bugs.horde.org
Fri Oct 27 21:42:38 PDT 2006


DO NOT REPLY TO THIS MESSAGE. THIS EMAIL ADDRESS IS NOT MONITORED.

Ticket URL: http://bugs.horde.org/ticket/?id=4570
-----------------------------------------------------------------------
 Ticket             | 4570
 Created By         | gavin at gwenandgavin.ca
 Summary            | Streamlining of passwd expect driver
 Queue              | Passwd
 Version            | HEAD
 Type               | Enhancement
 State              | New
 Priority           | 1. Low
 Owners             | 
+New Attachment     | passwd_expect.patch
-----------------------------------------------------------------------


gavin at gwenandgavin.ca (2006-10-27 21:42) wrote:

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





More information about the bugs mailing list