Thursday, March 29, 2007

RANCID and Netscreen firewall

I installed RANCID 2.3.1 and as far as I know it happens in previous versions of RANCID as well. It does not work with Netscreen firewalls. The error message is
Missing right curly or square bracket at
/usr/local/libexec/rancid//nrancid line 302, at end of line
syntax error at /usr/local/libexec/rancid//nrancid line 302, at EOF


Here is how I fixed it.

1.fix bin/nlogin

find following section and comment it out (it starts on line 488 in my case)

if { $enable } {
if {[do_enable $enauser $enapasswd]} {
if { $do_command || $do_script } {
close; wait
continue
}
}
}


after you are done it should look like this

# if { $enable } {
# if {[do_enable $enauser $enapasswd]} {
# if { $do_command || $do_script } {
# close; wait
# continue
# }
# }
# }


2. fix bin/nrancid
find section (around line 200)

"!set admin user $1 password privilege $3\n");
next;
ProcessHistory("","","","$_");


and make it look like this

"!set admin user $1 password privilege $3\n");
next;
}
ProcessHistory("","","","$_");

i.e. put curly bracket "}" (no quotes) after line "next". In my case curly bracket goes on line 200.

3. enjoy

1 comments:

DC said...

works great. Thanks!