Package: rancid-core Version: 2.3.2~a9-1~icz40+2 Severity: important File: /usr/lib/rancid/bin/nrancid
Hi, I found a bug in nrancid causing the loose one line per a page from the device configuration. Google found an existing bugreport for Ubuntu already https://bugs.launchpad.net/ubuntu/+source/rancid/+bug/325603 I have configured Juniper firewall SSG-520 & SSG5-Serial in Rancid and I am just starting to play with Rancid. Both devices suffers from this bug. My first tries was with 2.3.2~a8 Rancid version and lately I did package 2.3.2~a9 by myself to see if the bug is not fixed in latest upstream Rancid version. There is sample from debugging nrancid: "--- more --- \cH \cH\cH \cH\cH \cH\cH \cH\cH \cH\cH \cH\cH \cH\cH \cH\cH \cH\cH \cH\cH \cH\cH \cH\cH \cHset zone \"Untrust\" screen syn-ack-ack-proxy\cM\cJ" The line "set zone ..." is lost by original nrancid code. The fix is very simple and I decide not to use a patch from above bugreport but write a different, that solves backspace ("\cH") anywhere by removing previous non-control character. I left a string "--- more ---" removals but with end-of-string pattern for documenting and for sure (if some other device solves paging differently). Best Regards -- Vaclav Ovsik -- System Information: Debian Release: lenny/sid APT prefers oldstable APT policy: (500, 'oldstable') Architecture: i386 (i686) Shell: /bin/sh linked to /bin/bash Kernel: Linux 2.6.18-6-686 Locale: LANG=en_US, LC_CTYPE=cs_CZ.UTF-8 (charmap=UTF-8) Versions of packages rancid-core depends on: ii adduser 3.102 Add and remove users and groups ii cvs 1:1.12.13-8 Concurrent Versions System ii debconf [debconf-2. 1.5.13 Debian configuration management sy ii expect 5.43.0-8 A program that can automate intera ii iputils-ping [ping] 3:20020927-6 Tools to test the reachability of ii libc6 2.3.6.ds1-13etch9+b1 GNU C Library: Shared libraries ii openssh-client 1:4.3p2-9etch3 Secure shell client, an rlogin/rsh ii passwd 1:4.0.18.1-7+etch1 change and administer password and ii perl 5.8.8-7etch6 Larry Wall's Practical Extraction ii ssh 1:4.3p2-9etch3 Secure shell client and server (tr ii subversion 1.5.1dfsg1-1~bpo40+1 Advanced version control system rancid-core recommends no packages. -- debconf information excluded
>From 35f9626f03786ac71d6b1d2aa94d3472e1dfa7db Mon Sep 17 00:00:00 2001 From: Vaclav Ovsik <[email protected]> Date: Thu, 19 Mar 2009 16:13:39 +0100 Subject: [PATCH 1/2] patches updated --- debian/patches/05_man_fixup.dpatch | 55 ++++++++++++++++++--------------- 1 files changed, 30 insertions(+), 25 deletions(-) mode change 100644 => 100755 debian/patches/01_rancid_par.dpatch mode change 100644 => 100755 debian/patches/02_man_hyphen.dpatch mode change 100644 => 100755 debian/patches/03_diffstat.dpatch mode change 100644 => 100755 debian/patches/04_pixlogin.dpatch mode change 100644 => 100755 debian/patches/05_man_fixup.dpatch mode change 100644 => 100755 debian/patches/06_tmp_security.dpatch diff --git a/debian/patches/01_rancid_par.dpatch b/debian/patches/01_rancid_par.dpatch old mode 100644 new mode 100755 diff --git a/debian/patches/02_man_hyphen.dpatch b/debian/patches/02_man_hyphen.dpatch old mode 100644 new mode 100755 diff --git a/debian/patches/03_diffstat.dpatch b/debian/patches/03_diffstat.dpatch old mode 100644 new mode 100755 diff --git a/debian/patches/04_pixlogin.dpatch b/debian/patches/04_pixlogin.dpatch old mode 100644 new mode 100755 diff --git a/debian/patches/05_man_fixup.dpatch b/debian/patches/05_man_fixup.dpatch old mode 100644 new mode 100755 index 8d2a04e..8bc9e8e --- a/debian/patches/05_man_fixup.dpatch +++ b/debian/patches/05_man_fixup.dpatch @@ -6,9 +6,9 @@ @DPATCH@ diff -urNad rancid~/man/clogin.1 rancid/man/clogin.1 ---- rancid~/man/clogin.1 -+++ rancid/man/clogin.1 -@@ -201,7 +201,7 @@ +--- rancid~/man/clogin.1 2009-03-19 16:02:18.000000000 +0100 ++++ rancid/man/clogin.1 2009-03-19 16:10:55.000000000 +0100 +@@ -203,7 +203,7 @@ \-c option. The default encryption type is often not supported. See the .BR ssh (1) man page for details. The default is 3des. @@ -17,7 +17,7 @@ diff -urNad rancid~/man/clogin.1 rancid/man/clogin.1 .\" .SH RETURNS If the login script fails for any of the devices on the command-line, the -@@ -242,7 +242,7 @@ +@@ -244,7 +244,7 @@ to locate the .IR .cloginrc configuration file. @@ -27,8 +27,8 @@ diff -urNad rancid~/man/clogin.1 rancid/man/clogin.1 .ta \w'xHOME/xcloginrc 'u \fI$HOME/.cloginrc\fR Configuration file. diff -urNad rancid~/man/cloginrc.5 rancid/man/cloginrc.5 ---- rancid~/man/cloginrc.5 -+++ rancid/man/cloginrc.5 +--- rancid~/man/cloginrc.5 2009-03-19 16:10:55.000000000 +0100 ++++ rancid/man/cloginrc.5 2009-03-19 16:10:55.000000000 +0100 @@ -280,7 +280,7 @@ If <file> is not a full pathname, $HOME/ will be prepended. .sp @@ -39,8 +39,8 @@ diff -urNad rancid~/man/cloginrc.5 rancid/man/cloginrc.5 .br .nf diff -urNad rancid~/man/lg.conf.5.in rancid/man/lg.conf.5.in ---- rancid~/man/lg.conf.5.in -+++ rancid/man/lg.conf.5.in +--- rancid~/man/lg.conf.5.in 2009-03-19 16:02:18.000000000 +0100 ++++ rancid/man/lg.conf.5.in 2009-03-19 16:10:55.000000000 +0100 @@ -14,7 +14,7 @@ .\" .SH VARIABLES @@ -91,8 +91,8 @@ diff -urNad rancid~/man/lg.conf.5.in rancid/man/lg.conf.5.in .BR cloginrc (5), .BR lg_intro (1), diff -urNad rancid~/man/par.1 rancid/man/par.1 ---- rancid~/man/par.1 -+++ rancid/man/par.1 +--- rancid~/man/par.1 2009-03-19 16:10:55.000000000 +0100 ++++ rancid/man/par.1 2009-03-19 16:10:55.000000000 +0100 @@ -106,7 +106,7 @@ .B \-x View rancid_par logs in real-time via an @@ -103,8 +103,8 @@ diff -urNad rancid~/man/par.1 rancid/man/par.1 .br .nf diff -urNad rancid~/man/rancid-run.1 rancid/man/rancid-run.1 ---- rancid~/man/rancid-run.1 -+++ rancid/man/rancid-run.1 +--- rancid~/man/rancid-run.1 2009-03-19 16:02:18.000000000 +0100 ++++ rancid/man/rancid-run.1 2009-03-19 16:10:55.000000000 +0100 @@ -131,7 +131,7 @@ .B $BASEDIR/etc/rancid.conf .B rancid-run @@ -115,8 +115,8 @@ diff -urNad rancid~/man/rancid-run.1 rancid/man/rancid-run.1 .BR control_rancid (1), .BR rancid.conf (5), diff -urNad rancid~/man/rancid.conf.5.in rancid/man/rancid.conf.5.in ---- rancid~/man/rancid.conf.5.in -+++ rancid/man/rancid.conf.5.in +--- rancid~/man/rancid.conf.5.in 2009-03-19 16:10:55.000000000 +0100 ++++ rancid/man/rancid.conf.5.in 2009-03-19 16:10:55.000000000 +0100 @@ -26,7 +26,7 @@ .SH VARIABLES The following variables are used (listed alphabetically): @@ -141,14 +141,21 @@ diff -urNad rancid~/man/rancid.conf.5.in rancid/man/rancid.conf.5.in .SH "SEE ALSO" .BR control_rancid (1), diff -urNad rancid~/man/router.db.5 rancid/man/router.db.5 ---- rancid~/man/router.db.5 -+++ rancid/man/router.db.5 -@@ -48,120 +48,120 @@ +--- rancid~/man/router.db.5 2009-03-19 16:10:26.000000000 +0100 ++++ rancid/man/router.db.5 2009-03-19 16:12:10.000000000 +0100 +@@ -48,124 +48,124 @@ The type of device from the set: .RS 8n .TP -.ID 15n +.\".ID 15n + .B agm + A Cisco Anomoly Guard Module (aka Riverhead). + Suspect that at some point the UI will become more cisco-like and it + can be merged with the IOS rancid module. + .TP +-.ID 15n ++.\".ID 15n .B alteon An Alteon WebOS switches. .TP @@ -181,6 +188,11 @@ diff -urNad rancid~/man/router.db.5 rancid/man/router.db.5 .TP -.ID 15n +.\".ID 15n + .B cisco-nx + A Cisco Nexus switch/router. + .TP +-.ID 15n ++.\".ID 15n .B css A Cisco content services switch. .TP @@ -265,13 +277,6 @@ diff -urNad rancid~/man/router.db.5 rancid/man/router.db.5 .TP -.ID 15n +.\".ID 15n - .B riverhead - A Cisco Anomoly Guard Module (aka Riverhead). - We suspect that at some point the UI will become more cisco-like and it - can be merged with the IOS rancid module. - .TP --.ID 15n -+.\".ID 15n .B riverstone A Riverstone NAS or Cabletron (starting with version ~9.0.3) router. .TP @@ -290,7 +295,7 @@ diff -urNad rancid~/man/router.db.5 rancid/man/router.db.5 .B zebra Zebra routing software. .RE -@@ -211,7 +211,7 @@ +@@ -215,7 +215,7 @@ defined in the variable .I LIST_OF_GROUPS within \fI$BASEDIR/etc/rancid.conf\fR. diff --git a/debian/patches/06_tmp_security.dpatch b/debian/patches/06_tmp_security.dpatch old mode 100644 new mode 100755 -- 1.6.2.1
>From a41834107c0003f4f9e6eb90795b095eaba11dca Mon Sep 17 00:00:00 2001 From: Vaclav Ovsik <[email protected]> Date: Mon, 23 Mar 2009 12:05:41 +0100 Subject: [PATCH 2/2] Fixed "--- more ---" & backspace style paging --- debian/changelog | 6 ++++ debian/patches/00list | 1 + debian/patches/07_nrancid_bs_paging.dpatch | 37 ++++++++++++++++++++++++++++ 3 files changed, 44 insertions(+), 0 deletions(-) create mode 100755 debian/patches/07_nrancid_bs_paging.dpatch diff --git a/debian/changelog b/debian/changelog index 245f6dd..3a3cb1c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +rancid (2.3.2~a9-1~icz40+2) unstable; urgency=low + + * Fixed "--- more ---" & backspace style paging on netscreen devices. + + -- Vaclav Ovsik <[email protected]> Mon, 23 Mar 2009 12:04:25 +0100 + rancid (2.3.2~a9-1~icz40+1) unstable; urgency=low * New Upstream Version diff --git a/debian/patches/00list b/debian/patches/00list index 722ac98..624ffbc 100644 --- a/debian/patches/00list +++ b/debian/patches/00list @@ -4,3 +4,4 @@ 04_pixlogin.dpatch 05_man_fixup.dpatch 06_tmp_security.dpatch +07_nrancid_bs_paging.dpatch diff --git a/debian/patches/07_nrancid_bs_paging.dpatch b/debian/patches/07_nrancid_bs_paging.dpatch new file mode 100755 index 0000000..cba9986 --- /dev/null +++ b/debian/patches/07_nrancid_bs_paging.dpatch @@ -0,0 +1,37 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 07_nrancid_bs_paging.dpatch by Vaclav Ovsik <[email protected]> +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: No description. + +...@dpatch@ +diff -urNad rancid~/bin/nrancid.in rancid/bin/nrancid.in +--- rancid~/bin/nrancid.in 2009-03-23 11:55:26.000000000 +0100 ++++ rancid/bin/nrancid.in 2009-03-23 12:02:48.000000000 +0100 +@@ -173,10 +173,11 @@ + + while (<INPUT>) { + tr/\015//d; ++ 1 while s/[^[:cntrl:]]\cH//g; + next if /^\s*$/; + last if(/$prompt/); + # throw away the pager lines +- next if /^--- more ---/; ++ next if /^--- more ---\s*$/; + + /^Serial Number: (\d+), Control Number: \d+$/ && + ProcessHistory("SYSTEM","","", "#SN: $1\n") && next; +@@ -211,11 +212,12 @@ + print STDERR " In GetConf: $_" if ($debug); + while (<INPUT>) { + tr/\015//d; ++ 1 while s/[^[:cntrl:]]\cH//g; + next if /^\s*$/; + next if /^Total Config.+$/i; + last if(/$prompt/); + # throw away the pager lines +- next if /^--- more ---/; ++ next if /^--- more ---\s*$/; + + if (/^set admin name "(\S+)"$/ && $filter_pwds >= 1) { + ProcessHistory("ADMIN","","","#set admin name <removed>\n"); -- 1.6.2.1

