[rancid] clogin bug setting prompt

Casey T. Deccio ctdecci at sandia.gov
Wed Feb 27 18:36:14 UTC 2008

Apologies if this is known already.  I am running RANCID 2.3.1 with
expect 5.42.1.  In clogin there is a bug in setting the prompt
appropriately for switches using the "xyz> (enable)" prompt (or any
other prompts including characters with special regex meaning--besides
brackets).  The parentheses from the $expect_out(buffer) are not escaped
when the prompt variable is updated, so when "expect -re $prompt {}" is
called, the prompt matches "xyz> enable" but not "xyz> (enable)".  I've
attached a patch to clogin (it includes other characters too, just in
case they may need to be escaped also).

-------------- next part --------------
--- clogin	2008-02-27 10:26:09.000000000 -0800
+++ clogin.new	2008-02-27 10:26:47.000000000 -0800
@@ -751,7 +751,7 @@
 	-re "^.+> \\\(enable\\\)"	{
 				  set junk $expect_out(0,string);
-				  regsub -all "\[\]\[]" $junk {\\&} prompt;
+				  regsub -all "\[\]\[\(\)+.?{}]" $junk {\\&} prompt;

More information about the Rancid-discuss mailing list