I have run into a few problems with 'special' characters within router banners and/or
prompts.
The following diff against clogin should fix the banner containing expected prompt
character
and also any special characters in the prompt.
376c376,382
< -re "$p_prompt" { send "$userpswd\r" }
---
> -re "$p_prompt" { send "$userpswd\r"
> expect {
> eof {
send_user "\nError: Couldn't login\n"; wait; return 1 }
> -re "$u_prompt" { send
"$user\r" }
> "$prompt" { set
in_proc 0; return 0 }
> }
> }
394d399
< "$prompt" { break; }
449c454,455
< regsub -all "\[)(]" $prompt {\\&} reprompt
---
> regsub -all {\[} $prompt {\\&} reprompt
> regsub -all {\]} $reprompt {\\&} reprompt
The following diff against rancid should fix handling of special characters in the prompt.
1131c1131,1134
< if (!defined($prompt)) {$prompt = ($_ =~ /^([^#]+#)/)[0]; }
---
> if (!defined($prompt)) {
> $prompt = ($_ =~ /^([^#]+#)/)[0];
> $prompt =~ s/([][])/\\$1/g;
> }
The following diff against blogin should fix problems with there being a banner on a
nortel.
367c367,373
< -re "$p_prompt" { send "$userpswd\r" }
---
> -re "$p_prompt" { send "$userpswd\r"
> expect {
> eof {
send_user "\nError: Couldn't login\n"; wait; return 1 }
> -re "$u_prompt" { send
"$user\r" }
> "$prompt" { set
in_proc 0; return 0 }
> }
> }
385d390
< "$prompt" { break; }
BTW, all these diffs are against 2.2b7 with Mordechai T. Abzug brancid patches installed.
I obviously
really need to provide these as full context diffs against 2.2b8....d'oh
HTH
Mark
prompts.
The following diff against clogin should fix the banner containing expected prompt
character
and also any special characters in the prompt.
376c376,382
< -re "$p_prompt" { send "$userpswd\r" }
---
> -re "$p_prompt" { send "$userpswd\r"
> expect {
> eof {
send_user "\nError: Couldn't login\n"; wait; return 1 }
> -re "$u_prompt" { send
"$user\r" }
> "$prompt" { set
in_proc 0; return 0 }
> }
> }
394d399
< "$prompt" { break; }
449c454,455
< regsub -all "\[)(]" $prompt {\\&} reprompt
---
> regsub -all {\[} $prompt {\\&} reprompt
> regsub -all {\]} $reprompt {\\&} reprompt
The following diff against rancid should fix handling of special characters in the prompt.
1131c1131,1134
< if (!defined($prompt)) {$prompt = ($_ =~ /^([^#]+#)/)[0]; }
---
> if (!defined($prompt)) {
> $prompt = ($_ =~ /^([^#]+#)/)[0];
> $prompt =~ s/([][])/\\$1/g;
> }
The following diff against blogin should fix problems with there being a banner on a
nortel.
367c367,373
< -re "$p_prompt" { send "$userpswd\r" }
---
> -re "$p_prompt" { send "$userpswd\r"
> expect {
> eof {
send_user "\nError: Couldn't login\n"; wait; return 1 }
> -re "$u_prompt" { send
"$user\r" }
> "$prompt" { set
in_proc 0; return 0 }
> }
> }
385d390
< "$prompt" { break; }
BTW, all these diffs are against 2.2b7 with Mordechai T. Abzug brancid patches installed.
I obviously
really need to provide these as full context diffs against 2.2b8....d'oh
HTH
Mark