diff options
Diffstat (limited to 'bin/rivlogin.in')
-rw-r--r-- | bin/rivlogin.in | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/bin/rivlogin.in b/bin/rivlogin.in index 4468fff..bbfa9b5 100644 --- a/bin/rivlogin.in +++ b/bin/rivlogin.in @@ -1,6 +1,6 @@ #! @EXPECT_PATH@ -- ## -## $Id: rivlogin.in,v 1.17 2004/02/02 17:38:36 heas Exp $ +## $Id: rivlogin.in,v 1.18 2004/07/19 00:06:08 afort Exp $ ## ## Copyright (C) 1997-2004 by Terrapin Communications, Inc. ## All rights reserved. @@ -380,12 +380,25 @@ proc do_enable { enauser enapasswd userpswd } { if { $verbose == 1 } { puts "DEBUG: do_enable: my_prompt = $my_prompt ena_prompt = $enable_prompt" } + + set uses_username 0; send "enable\r" expect { - Username: { send "$enauser\r"; exp_continue } - Password: { send "$userpswd\r"; exp_continue } + Username: { + set uses_username 1; + send "$enauser\r"; + exp_continue + } + Password: { + if {$uses_username == 1} { + send "$userpswd\r"; + } else { + send "$enapasswd\r"; + } + exp_continue + } "$my_prompt" { puts "ERROR: do_enable failed to gain enable mode." |