summaryrefslogtreecommitdiffstats
path: root/bin/jrancid.in
diff options
context:
space:
mode:
Diffstat (limited to 'bin/jrancid.in')
-rwxr-xr-xbin/jrancid.in17
1 files changed, 16 insertions, 1 deletions
diff --git a/bin/jrancid.in b/bin/jrancid.in
index 91bbf54..56d98c7 100755
--- a/bin/jrancid.in
+++ b/bin/jrancid.in
@@ -3,7 +3,7 @@
## Amazingly hacked version of Hank's rancid - this one tries to
## deal with Junipers.
##
-## Original Rancid: Copyright (C) 1997 by Henry Kilmer.
+## Original Rancid: Copyright (C) 1997-2001 by Henry Kilmer.
## All rights reserved.
##
## This software may be freely copied, modified and redistributed without
@@ -350,6 +350,7 @@ sub ShowVersion {
# This routine parses "show configuration"
sub ShowConfiguration {
+ my($lines) = 0;
print STDERR " In ShowConfiguration: $_" if ($debug);
s/^[a-z]+@//;
@@ -363,6 +364,7 @@ sub ShowConfiguration {
$found_end++;
last;
}
+ $lines++;
/^database header mismatch: / && return(-1);
/^version .*;\d+$/ && return(-1);
@@ -376,6 +378,13 @@ sub ShowConfiguration {
s/ # SECRET-DATA$//;
ProcessHistory("","","","$_");
}
+
+ if ($lines < 3) {
+ printf(STDERR "ERROR: configuration appears truncated.\n");
+ $found_end = 0;
+ return(-1);
+ }
+
return;
}
@@ -458,6 +467,12 @@ TOP: while(<INPUT>) {
$clean_run = 0;
last;
}
+ if (/error: cli version does not match Managment Daemon/i) {
+ print STDOUT ("$host mgd version mismatch: $_");
+ print STDERR ("$host mgd version mismatch: $_") if ($debug);
+ $clean_run = 0;
+ last;
+ }
while (/>\s*($cmds_regexp)\s*$/) {
$cmd = $1;
if (!defined($prompt)) {