# PaCkAgE DaTaStReAm
rancid 1 3238
# end of header
0707010006f6b9000081a40000000000000000000000014fa8b7d300000102000000b500010002ffffffffffffffff0000000f00000000rancid/pkginfo PKG=rancid
NAME=rancid 2.3.8 i86pc Solaris 10
VERSION=2.3.8
PSTAMP=8th May 2012
VENDOR=Shrubbery Networks
EMAIL=http://www.shrubbery.net/rancid/
DESC=Router config tracker
ARCH=i386
CATEGORY=utility
CLASSES=none
BASEDIR=/
ISTATES=S s 1 2 3
RSTATES=S s 1 2 3
0707010006f6b8000081a40000000000000000000000014fa8b7d300002e5e000000b500010002ffffffffffffffff0000000e00000000rancid/pkgmap : 1 3238
1 d none /usr ? ? ?
1 d none /usr/local ? ? ?
1 d none /usr/local/rancid 0755 root root
1 d none /usr/local/rancid/bin 0755 root root
1 f none /usr/local/rancid/bin/agmrancid 0755 root root 16290 17049 1336457150
1 f none /usr/local/rancid/bin/alogin 0755 root root 16231 56032 1336457150
1 f none /usr/local/rancid/bin/arancid 0755 root root 10498 36588 1336457150
1 f none /usr/local/rancid/bin/arrancid 0755 root root 23055 39175 1336457150
1 f none /usr/local/rancid/bin/avologin 0755 root root 21726 39724 1336457150
1 f none /usr/local/rancid/bin/avorancid 0755 root root 9821 53756 1336457150
1 f none /usr/local/rancid/bin/blogin 0755 root root 19300 50675 1336457150
1 f none /usr/local/rancid/bin/brancid 0755 root root 10087 7624 1336457150
1 f none /usr/local/rancid/bin/cat5rancid 0755 root root 37707 54860 1336457150
1 f none /usr/local/rancid/bin/clogin 0755 root root 27096 47032 1336457150
1 f none /usr/local/rancid/bin/control_rancid 0755 root root 14206 43513 1336457150
1 f none /usr/local/rancid/bin/cssrancid 0755 root root 23198 62514 1336457150
1 f none /usr/local/rancid/bin/elogin 0755 root root 14721 4267 1336457150
1 f none /usr/local/rancid/bin/erancid 0755 root root 10579 43442 1336457150
1 f none /usr/local/rancid/bin/f10rancid 0755 root root 21744 16318 1336457150
1 f none /usr/local/rancid/bin/f5rancid 0755 root root 18821 11825 1336457150
1 f none /usr/local/rancid/bin/flogin 0755 root root 20620 12670 1336457150
1 f none /usr/local/rancid/bin/fnlogin 0755 root root 17230 61634 1336457150
1 f none /usr/local/rancid/bin/fnrancid 0755 root root 10488 38270 1336457150
1 f none /usr/local/rancid/bin/francid 0755 root root 15737 36705 1336457150
1 f none /usr/local/rancid/bin/hlogin 0755 root root 22977 65431 1336457150
1 f none /usr/local/rancid/bin/hpuifilter 0755 root root 33100 13569 1336457150
1 f none /usr/local/rancid/bin/hrancid 0755 root root 19837 32126 1336457150
1 f none /usr/local/rancid/bin/htlogin 0755 root root 14653 64820 1336457150
1 f none /usr/local/rancid/bin/htrancid 0755 root root 9358 19678 1336457150
1 f none /usr/local/rancid/bin/jerancid 0755 root root 21360 46190 1336457150
1 f none /usr/local/rancid/bin/jlogin 0755 root root 16634 28324 1336457150
1 f none /usr/local/rancid/bin/jrancid 0755 root root 22842 7771 1336457150
1 f none /usr/local/rancid/bin/lg.cgi 0755 root root 24640 27572 1336457150
1 f none /usr/local/rancid/bin/lgform.cgi 0755 root root 7817 10534 1336457150
1 f none /usr/local/rancid/bin/mrancid 0755 root root 13772 16146 1336457150
1 f none /usr/local/rancid/bin/mrvlogin 0755 root root 22479 23237 1336457150
1 f none /usr/local/rancid/bin/mrvrancid 0755 root root 16399 21311 1336457150
1 f none /usr/local/rancid/bin/mtlogin 0755 root root 15548 859 1336457150
1 f none /usr/local/rancid/bin/mtrancid 0755 root root 8994 48932 1336457150
1 f none /usr/local/rancid/bin/nlogin 0755 root root 17012 58191 1336457150
1 f none /usr/local/rancid/bin/nrancid 0755 root root 11683 55160 1336457150
1 f none /usr/local/rancid/bin/nslogin 0755 root root 19508 49929 1336457150
1 f none /usr/local/rancid/bin/nsrancid 0755 root root 9714 49441 1336457150
1 f none /usr/local/rancid/bin/nxrancid 0755 root root 37705 8525 1336457150
1 f none /usr/local/rancid/bin/par 0755 root root 6044 11432 1336457150
1 f none /usr/local/rancid/bin/prancid 0755 root root 18858 9977 1336457150
1 f none /usr/local/rancid/bin/rancid 0755 root root 69905 237 1336457150
1 f none /usr/local/rancid/bin/rancid-cvs 0755 root root 4672 30394 1336457150
1 f none /usr/local/rancid/bin/rancid-fe 0755 root root 3699 23244 1336457150
1 f none /usr/local/rancid/bin/rancid-run 0755 root root 4880 37672 1336457150
1 f none /usr/local/rancid/bin/rivlogin 0755 root root 23930 27463 1336457150
1 f none /usr/local/rancid/bin/rivrancid 0755 root root 10999 14098 1336457150
1 f none /usr/local/rancid/bin/rrancid 0755 root root 13319 65297 1336457150
1 f none /usr/local/rancid/bin/srancid 0755 root root 13059 29058 1336457150
1 f none /usr/local/rancid/bin/tlogin 0755 root root 24724 9145 1336457150
1 f none /usr/local/rancid/bin/tntlogin 0755 root root 16056 51326 1336457150
1 f none /usr/local/rancid/bin/tntrancid 0755 root root 9996 2774 1336457150
1 f none /usr/local/rancid/bin/trancid 0755 root root 9971 1601 1336457150
1 f none /usr/local/rancid/bin/xrancid 0755 root root 17111 15465 1336457150
1 f none /usr/local/rancid/bin/xrrancid 0755 root root 44520 3380 1336457150
1 f none /usr/local/rancid/bin/zrancid 0755 root root 13908 32572 1336457150
1 d none /usr/local/rancid/etc 0755 root root
1 f none /usr/local/rancid/etc/lg.conf 0644 root root 6441 12844 1336438674
1 f none /usr/local/rancid/etc/rancid.conf 0644 root root 3807 59953 1336438674
1 d none /usr/local/rancid/share 0755 root root
1 d none /usr/local/rancid/share/man 0755 root root
1 d none /usr/local/rancid/share/man/man1 0755 root root
1 f none /usr/local/rancid/share/man/man1/agmrancid.1 0644 root root 18 1446 1336457150
1 f none /usr/local/rancid/share/man/man1/alogin.1 0644 root root 18 1457 1336457150
1 f none /usr/local/rancid/share/man/man1/arancid.1 0644 root root 18 1446 1336457150
1 f none /usr/local/rancid/share/man/man1/arrancid.1 0644 root root 18 1446 1336457150
1 f none /usr/local/rancid/share/man/man1/avologin.1 0644 root root 18 1457 1336457150
1 f none /usr/local/rancid/share/man/man1/avorancid.1 0644 root root 18 1446 1336457150
1 f none /usr/local/rancid/share/man/man1/blogin.1 0644 root root 18 1457 1336457150
1 f none /usr/local/rancid/share/man/man1/brancid.1 0644 root root 18 1446 1336457150
1 f none /usr/local/rancid/share/man/man1/cat5rancid.1 0644 root root 18 1446 1336457150
1 f none /usr/local/rancid/share/man/man1/clogin.1 0644 root root 7036 20869 1336457150
1 f none /usr/local/rancid/share/man/man1/control_rancid.1 0644 root root 1345 48501 1336457150
1 f none /usr/local/rancid/share/man/man1/cssrancid.1 0644 root root 18 1446 1336457150
1 f none /usr/local/rancid/share/man/man1/elogin.1 0644 root root 18 1457 1336457150
1 f none /usr/local/rancid/share/man/man1/erancid.1 0644 root root 18 1446 1336457150
1 f none /usr/local/rancid/share/man/man1/f10rancid.1 0644 root root 18 1446 1336457150
1 f none /usr/local/rancid/share/man/man1/f5rancid.1 0644 root root 18 1446 1336457150
1 f none /usr/local/rancid/share/man/man1/flogin.1 0644 root root 18 1457 1336457150
1 f none /usr/local/rancid/share/man/man1/fnlogin.1 0644 root root 18 1457 1336457150
1 f none /usr/local/rancid/share/man/man1/fnrancid.1 0644 root root 18 1446 1336457150
1 f none /usr/local/rancid/share/man/man1/francid.1 0644 root root 18 1446 1336457150
1 f none /usr/local/rancid/share/man/man1/hlogin.1 0644 root root 18 1457 1336457150
1 f none /usr/local/rancid/share/man/man1/hrancid.1 0644 root root 18 1446 1336457150
1 f none /usr/local/rancid/share/man/man1/htlogin.1 0644 root root 18 1457 1336457150
1 f none /usr/local/rancid/share/man/man1/htrancid.1 0644 root root 18 1446 1336457150
1 f none /usr/local/rancid/share/man/man1/jerancid.1 0644 root root 18 1446 1336457150
1 f none /usr/local/rancid/share/man/man1/jlogin.1 0644 root root 18 1457 1336457150
1 f none /usr/local/rancid/share/man/man1/jrancid.1 0644 root root 18 1446 1336457150
1 f none /usr/local/rancid/share/man/man1/lg_intro.1 0644 root root 2189 60519 1336457150
1 f none /usr/local/rancid/share/man/man1/mrancid.1 0644 root root 18 1446 1336457150
1 f none /usr/local/rancid/share/man/man1/mrvlogin.1 0644 root root 18 1457 1336457150
1 f none /usr/local/rancid/share/man/man1/mrvrancid.1 0644 root root 18 1446 1336457150
1 f none /usr/local/rancid/share/man/man1/mtlogin.1 0644 root root 18 1457 1336457150
1 f none /usr/local/rancid/share/man/man1/mtrancid.1 0644 root root 18 1446 1336457150
1 f none /usr/local/rancid/share/man/man1/nlogin.1 0644 root root 18 1457 1336457150
1 f none /usr/local/rancid/share/man/man1/nrancid.1 0644 root root 18 1446 1336457150
1 f none /usr/local/rancid/share/man/man1/nslogin.1 0644 root root 18 1457 1336457150
1 f none /usr/local/rancid/share/man/man1/nsrancid.1 0644 root root 18 1446 1336457150
1 f none /usr/local/rancid/share/man/man1/nxrancid.1 0644 root root 18 1446 1336457150
1 f none /usr/local/rancid/share/man/man1/par.1 0644 root root 2224 52776 1336457150
1 f none /usr/local/rancid/share/man/man1/prancid.1 0644 root root 18 1446 1336457150
1 f none /usr/local/rancid/share/man/man1/rancid-cvs.1 0644 root root 1415 54999 1336457150
1 f none /usr/local/rancid/share/man/man1/rancid-run.1 0644 root root 3211 10597 1336457150
1 f none /usr/local/rancid/share/man/man1/rancid.1 0644 root root 2980 56426 1336457150
1 f none /usr/local/rancid/share/man/man1/rancid_intro.1 0644 root root 4142 18913 1336457150
1 f none /usr/local/rancid/share/man/man1/rivlogin.1 0644 root root 18 1457 1336457150
1 f none /usr/local/rancid/share/man/man1/rivrancid.1 0644 root root 18 1446 1336457150
1 f none /usr/local/rancid/share/man/man1/rrancid.1 0644 root root 18 1446 1336457150
1 f none /usr/local/rancid/share/man/man1/srancid.1 0644 root root 18 1446 1336457150
1 f none /usr/local/rancid/share/man/man1/tlogin.1 0644 root root 18 1457 1336457150
1 f none /usr/local/rancid/share/man/man1/tntlogin.1 0644 root root 18 1457 1336457150
1 f none /usr/local/rancid/share/man/man1/tntrancid.1 0644 root root 18 1446 1336457150
1 f none /usr/local/rancid/share/man/man1/trancid.1 0644 root root 18 1446 1336457150
1 f none /usr/local/rancid/share/man/man1/xrancid.1 0644 root root 18 1446 1336457150
1 f none /usr/local/rancid/share/man/man1/xrrancid.1 0644 root root 18 1446 1336457150
1 f none /usr/local/rancid/share/man/man1/zrancid.1 0644 root root 18 1446 1336457150
1 d none /usr/local/rancid/share/man/man5 0755 root root
1 f none /usr/local/rancid/share/man/man5/cloginrc.5 0644 root root 9405 41356 1336457150
1 f none /usr/local/rancid/share/man/man5/lg.conf.5 0644 root root 4906 27348 1336457150
1 f none /usr/local/rancid/share/man/man5/rancid.conf.5 0644 root root 7346 45827 1336457150
1 f none /usr/local/rancid/share/man/man5/router.db.5 0644 root root 4455 40642 1336457150
1 d none /usr/local/rancid/share/rancid 0755 root root
1 f none /usr/local/rancid/share/rancid/CHANGES 0644 root root 39032 6023 1336457150
1 f none /usr/local/rancid/share/rancid/COPYING 0644 root root 2387 63441 1336457150
1 f none /usr/local/rancid/share/rancid/FAQ 0644 root root 17967 38297 1336457150
1 f none /usr/local/rancid/share/rancid/README 0644 root root 12738 7416 1336457150
1 f none /usr/local/rancid/share/rancid/README.lg 0644 root root 4096 27756 1336457150
1 f none /usr/local/rancid/share/rancid/README.misc 0644 root root 881 13254 1336457150
1 f none /usr/local/rancid/share/rancid/UPGRADING 0644 root root 3576 45754 1336457150
1 f none /usr/local/rancid/share/rancid/cisco-load.exp 0644 root root 11459 13505 1336457150
1 f none /usr/local/rancid/share/rancid/cisco-reload.exp 0644 root root 6101 35591 1336457150
1 f none /usr/local/rancid/share/rancid/cloginrc.sample 0644 root root 3772 3465 1336457150
1 f none /usr/local/rancid/share/rancid/downreport 0755 root root 3759 37245 1336457150
1 f none /usr/local/rancid/share/rancid/getipacctg 0755 root root 5178 1948 1336457150
1 f none /usr/local/rancid/share/rancid/index.html 0644 root root 490 42477 1336457150
1 f none /usr/local/rancid/share/rancid/lg.conf.sample 0644 root root 6441 12844 1336457150
1 f none /usr/local/rancid/share/rancid/lgnotes.html 0644 root root 2607 32574 1336457150
1 f none /usr/local/rancid/share/rancid/rancid-cvspurge 0755 root root 3245 59831 1336457150
1 f none /usr/local/rancid/share/rancid/rancid.conf.sample 0644 root root 3797 58990 1336457150
1 f none /usr/local/rancid/share/rancid/rtrfilter 0755 root root 5872 11282 1336457150
1 d none /var/rancid 0755 root root
1 i checkinstall 790 2504 1336457171
1 i pkginfo 258 20033 1336457171
07070100000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000b00000000TRAILER!!! 0707010006f6b9000081a40000000000000000000000014fa8b7d300000102000000b500010002ffffffffffffffff0000000800000000pkginfo PKG=rancid
NAME=rancid 2.3.8 i86pc Solaris 10
VERSION=2.3.8
PSTAMP=8th May 2012
VENDOR=Shrubbery Networks
EMAIL=http://www.shrubbery.net/rancid/
DESC=Router config tracker
ARCH=i386
CATEGORY=utility
CLASSES=none
BASEDIR=/
ISTATES=S s 1 2 3
RSTATES=S s 1 2 3
0707010006f6b8000081a40000000000000000000000014fa8b7d300002e5e000000b500010002ffffffffffffffff0000000700000000pkgmap : 1 3238
1 d none /usr ? ? ?
1 d none /usr/local ? ? ?
1 d none /usr/local/rancid 0755 root root
1 d none /usr/local/rancid/bin 0755 root root
1 f none /usr/local/rancid/bin/agmrancid 0755 root root 16290 17049 1336457150
1 f none /usr/local/rancid/bin/alogin 0755 root root 16231 56032 1336457150
1 f none /usr/local/rancid/bin/arancid 0755 root root 10498 36588 1336457150
1 f none /usr/local/rancid/bin/arrancid 0755 root root 23055 39175 1336457150
1 f none /usr/local/rancid/bin/avologin 0755 root root 21726 39724 1336457150
1 f none /usr/local/rancid/bin/avorancid 0755 root root 9821 53756 1336457150
1 f none /usr/local/rancid/bin/blogin 0755 root root 19300 50675 1336457150
1 f none /usr/local/rancid/bin/brancid 0755 root root 10087 7624 1336457150
1 f none /usr/local/rancid/bin/cat5rancid 0755 root root 37707 54860 1336457150
1 f none /usr/local/rancid/bin/clogin 0755 root root 27096 47032 1336457150
1 f none /usr/local/rancid/bin/control_rancid 0755 root root 14206 43513 1336457150
1 f none /usr/local/rancid/bin/cssrancid 0755 root root 23198 62514 1336457150
1 f none /usr/local/rancid/bin/elogin 0755 root root 14721 4267 1336457150
1 f none /usr/local/rancid/bin/erancid 0755 root root 10579 43442 1336457150
1 f none /usr/local/rancid/bin/f10rancid 0755 root root 21744 16318 1336457150
1 f none /usr/local/rancid/bin/f5rancid 0755 root root 18821 11825 1336457150
1 f none /usr/local/rancid/bin/flogin 0755 root root 20620 12670 1336457150
1 f none /usr/local/rancid/bin/fnlogin 0755 root root 17230 61634 1336457150
1 f none /usr/local/rancid/bin/fnrancid 0755 root root 10488 38270 1336457150
1 f none /usr/local/rancid/bin/francid 0755 root root 15737 36705 1336457150
1 f none /usr/local/rancid/bin/hlogin 0755 root root 22977 65431 1336457150
1 f none /usr/local/rancid/bin/hpuifilter 0755 root root 33100 13569 1336457150
1 f none /usr/local/rancid/bin/hrancid 0755 root root 19837 32126 1336457150
1 f none /usr/local/rancid/bin/htlogin 0755 root root 14653 64820 1336457150
1 f none /usr/local/rancid/bin/htrancid 0755 root root 9358 19678 1336457150
1 f none /usr/local/rancid/bin/jerancid 0755 root root 21360 46190 1336457150
1 f none /usr/local/rancid/bin/jlogin 0755 root root 16634 28324 1336457150
1 f none /usr/local/rancid/bin/jrancid 0755 root root 22842 7771 1336457150
1 f none /usr/local/rancid/bin/lg.cgi 0755 root root 24640 27572 1336457150
1 f none /usr/local/rancid/bin/lgform.cgi 0755 root root 7817 10534 1336457150
1 f none /usr/local/rancid/bin/mrancid 0755 root root 13772 16146 1336457150
1 f none /usr/local/rancid/bin/mrvlogin 0755 root root 22479 23237 1336457150
1 f none /usr/local/rancid/bin/mrvrancid 0755 root root 16399 21311 1336457150
1 f none /usr/local/rancid/bin/mtlogin 0755 root root 15548 859 1336457150
1 f none /usr/local/rancid/bin/mtrancid 0755 root root 8994 48932 1336457150
1 f none /usr/local/rancid/bin/nlogin 0755 root root 17012 58191 1336457150
1 f none /usr/local/rancid/bin/nrancid 0755 root root 11683 55160 1336457150
1 f none /usr/local/rancid/bin/nslogin 0755 root root 19508 49929 1336457150
1 f none /usr/local/rancid/bin/nsrancid 0755 root root 9714 49441 1336457150
1 f none /usr/local/rancid/bin/nxrancid 0755 root root 37705 8525 1336457150
1 f none /usr/local/rancid/bin/par 0755 root root 6044 11432 1336457150
1 f none /usr/local/rancid/bin/prancid 0755 root root 18858 9977 1336457150
1 f none /usr/local/rancid/bin/rancid 0755 root root 69905 237 1336457150
1 f none /usr/local/rancid/bin/rancid-cvs 0755 root root 4672 30394 1336457150
1 f none /usr/local/rancid/bin/rancid-fe 0755 root root 3699 23244 1336457150
1 f none /usr/local/rancid/bin/rancid-run 0755 root root 4880 37672 1336457150
1 f none /usr/local/rancid/bin/rivlogin 0755 root root 23930 27463 1336457150
1 f none /usr/local/rancid/bin/rivrancid 0755 root root 10999 14098 1336457150
1 f none /usr/local/rancid/bin/rrancid 0755 root root 13319 65297 1336457150
1 f none /usr/local/rancid/bin/srancid 0755 root root 13059 29058 1336457150
1 f none /usr/local/rancid/bin/tlogin 0755 root root 24724 9145 1336457150
1 f none /usr/local/rancid/bin/tntlogin 0755 root root 16056 51326 1336457150
1 f none /usr/local/rancid/bin/tntrancid 0755 root root 9996 2774 1336457150
1 f none /usr/local/rancid/bin/trancid 0755 root root 9971 1601 1336457150
1 f none /usr/local/rancid/bin/xrancid 0755 root root 17111 15465 1336457150
1 f none /usr/local/rancid/bin/xrrancid 0755 root root 44520 3380 1336457150
1 f none /usr/local/rancid/bin/zrancid 0755 root root 13908 32572 1336457150
1 d none /usr/local/rancid/etc 0755 root root
1 f none /usr/local/rancid/etc/lg.conf 0644 root root 6441 12844 1336438674
1 f none /usr/local/rancid/etc/rancid.conf 0644 root root 3807 59953 1336438674
1 d none /usr/local/rancid/share 0755 root root
1 d none /usr/local/rancid/share/man 0755 root root
1 d none /usr/local/rancid/share/man/man1 0755 root root
1 f none /usr/local/rancid/share/man/man1/agmrancid.1 0644 root root 18 1446 1336457150
1 f none /usr/local/rancid/share/man/man1/alogin.1 0644 root root 18 1457 1336457150
1 f none /usr/local/rancid/share/man/man1/arancid.1 0644 root root 18 1446 1336457150
1 f none /usr/local/rancid/share/man/man1/arrancid.1 0644 root root 18 1446 1336457150
1 f none /usr/local/rancid/share/man/man1/avologin.1 0644 root root 18 1457 1336457150
1 f none /usr/local/rancid/share/man/man1/avorancid.1 0644 root root 18 1446 1336457150
1 f none /usr/local/rancid/share/man/man1/blogin.1 0644 root root 18 1457 1336457150
1 f none /usr/local/rancid/share/man/man1/brancid.1 0644 root root 18 1446 1336457150
1 f none /usr/local/rancid/share/man/man1/cat5rancid.1 0644 root root 18 1446 1336457150
1 f none /usr/local/rancid/share/man/man1/clogin.1 0644 root root 7036 20869 1336457150
1 f none /usr/local/rancid/share/man/man1/control_rancid.1 0644 root root 1345 48501 1336457150
1 f none /usr/local/rancid/share/man/man1/cssrancid.1 0644 root root 18 1446 1336457150
1 f none /usr/local/rancid/share/man/man1/elogin.1 0644 root root 18 1457 1336457150
1 f none /usr/local/rancid/share/man/man1/erancid.1 0644 root root 18 1446 1336457150
1 f none /usr/local/rancid/share/man/man1/f10rancid.1 0644 root root 18 1446 1336457150
1 f none /usr/local/rancid/share/man/man1/f5rancid.1 0644 root root 18 1446 1336457150
1 f none /usr/local/rancid/share/man/man1/flogin.1 0644 root root 18 1457 1336457150
1 f none /usr/local/rancid/share/man/man1/fnlogin.1 0644 root root 18 1457 1336457150
1 f none /usr/local/rancid/share/man/man1/fnrancid.1 0644 root root 18 1446 1336457150
1 f none /usr/local/rancid/share/man/man1/francid.1 0644 root root 18 1446 1336457150
1 f none /usr/local/rancid/share/man/man1/hlogin.1 0644 root root 18 1457 1336457150
1 f none /usr/local/rancid/share/man/man1/hrancid.1 0644 root root 18 1446 1336457150
1 f none /usr/local/rancid/share/man/man1/htlogin.1 0644 root root 18 1457 1336457150
1 f none /usr/local/rancid/share/man/man1/htrancid.1 0644 root root 18 1446 1336457150
1 f none /usr/local/rancid/share/man/man1/jerancid.1 0644 root root 18 1446 1336457150
1 f none /usr/local/rancid/share/man/man1/jlogin.1 0644 root root 18 1457 1336457150
1 f none /usr/local/rancid/share/man/man1/jrancid.1 0644 root root 18 1446 1336457150
1 f none /usr/local/rancid/share/man/man1/lg_intro.1 0644 root root 2189 60519 1336457150
1 f none /usr/local/rancid/share/man/man1/mrancid.1 0644 root root 18 1446 1336457150
1 f none /usr/local/rancid/share/man/man1/mrvlogin.1 0644 root root 18 1457 1336457150
1 f none /usr/local/rancid/share/man/man1/mrvrancid.1 0644 root root 18 1446 1336457150
1 f none /usr/local/rancid/share/man/man1/mtlogin.1 0644 root root 18 1457 1336457150
1 f none /usr/local/rancid/share/man/man1/mtrancid.1 0644 root root 18 1446 1336457150
1 f none /usr/local/rancid/share/man/man1/nlogin.1 0644 root root 18 1457 1336457150
1 f none /usr/local/rancid/share/man/man1/nrancid.1 0644 root root 18 1446 1336457150
1 f none /usr/local/rancid/share/man/man1/nslogin.1 0644 root root 18 1457 1336457150
1 f none /usr/local/rancid/share/man/man1/nsrancid.1 0644 root root 18 1446 1336457150
1 f none /usr/local/rancid/share/man/man1/nxrancid.1 0644 root root 18 1446 1336457150
1 f none /usr/local/rancid/share/man/man1/par.1 0644 root root 2224 52776 1336457150
1 f none /usr/local/rancid/share/man/man1/prancid.1 0644 root root 18 1446 1336457150
1 f none /usr/local/rancid/share/man/man1/rancid-cvs.1 0644 root root 1415 54999 1336457150
1 f none /usr/local/rancid/share/man/man1/rancid-run.1 0644 root root 3211 10597 1336457150
1 f none /usr/local/rancid/share/man/man1/rancid.1 0644 root root 2980 56426 1336457150
1 f none /usr/local/rancid/share/man/man1/rancid_intro.1 0644 root root 4142 18913 1336457150
1 f none /usr/local/rancid/share/man/man1/rivlogin.1 0644 root root 18 1457 1336457150
1 f none /usr/local/rancid/share/man/man1/rivrancid.1 0644 root root 18 1446 1336457150
1 f none /usr/local/rancid/share/man/man1/rrancid.1 0644 root root 18 1446 1336457150
1 f none /usr/local/rancid/share/man/man1/srancid.1 0644 root root 18 1446 1336457150
1 f none /usr/local/rancid/share/man/man1/tlogin.1 0644 root root 18 1457 1336457150
1 f none /usr/local/rancid/share/man/man1/tntlogin.1 0644 root root 18 1457 1336457150
1 f none /usr/local/rancid/share/man/man1/tntrancid.1 0644 root root 18 1446 1336457150
1 f none /usr/local/rancid/share/man/man1/trancid.1 0644 root root 18 1446 1336457150
1 f none /usr/local/rancid/share/man/man1/xrancid.1 0644 root root 18 1446 1336457150
1 f none /usr/local/rancid/share/man/man1/xrrancid.1 0644 root root 18 1446 1336457150
1 f none /usr/local/rancid/share/man/man1/zrancid.1 0644 root root 18 1446 1336457150
1 d none /usr/local/rancid/share/man/man5 0755 root root
1 f none /usr/local/rancid/share/man/man5/cloginrc.5 0644 root root 9405 41356 1336457150
1 f none /usr/local/rancid/share/man/man5/lg.conf.5 0644 root root 4906 27348 1336457150
1 f none /usr/local/rancid/share/man/man5/rancid.conf.5 0644 root root 7346 45827 1336457150
1 f none /usr/local/rancid/share/man/man5/router.db.5 0644 root root 4455 40642 1336457150
1 d none /usr/local/rancid/share/rancid 0755 root root
1 f none /usr/local/rancid/share/rancid/CHANGES 0644 root root 39032 6023 1336457150
1 f none /usr/local/rancid/share/rancid/COPYING 0644 root root 2387 63441 1336457150
1 f none /usr/local/rancid/share/rancid/FAQ 0644 root root 17967 38297 1336457150
1 f none /usr/local/rancid/share/rancid/README 0644 root root 12738 7416 1336457150
1 f none /usr/local/rancid/share/rancid/README.lg 0644 root root 4096 27756 1336457150
1 f none /usr/local/rancid/share/rancid/README.misc 0644 root root 881 13254 1336457150
1 f none /usr/local/rancid/share/rancid/UPGRADING 0644 root root 3576 45754 1336457150
1 f none /usr/local/rancid/share/rancid/cisco-load.exp 0644 root root 11459 13505 1336457150
1 f none /usr/local/rancid/share/rancid/cisco-reload.exp 0644 root root 6101 35591 1336457150
1 f none /usr/local/rancid/share/rancid/cloginrc.sample 0644 root root 3772 3465 1336457150
1 f none /usr/local/rancid/share/rancid/downreport 0755 root root 3759 37245 1336457150
1 f none /usr/local/rancid/share/rancid/getipacctg 0755 root root 5178 1948 1336457150
1 f none /usr/local/rancid/share/rancid/index.html 0644 root root 490 42477 1336457150
1 f none /usr/local/rancid/share/rancid/lg.conf.sample 0644 root root 6441 12844 1336457150
1 f none /usr/local/rancid/share/rancid/lgnotes.html 0644 root root 2607 32574 1336457150
1 f none /usr/local/rancid/share/rancid/rancid-cvspurge 0755 root root 3245 59831 1336457150
1 f none /usr/local/rancid/share/rancid/rancid.conf.sample 0644 root root 3797 58990 1336457150
1 f none /usr/local/rancid/share/rancid/rtrfilter 0755 root root 5872 11282 1336457150
1 d none /var/rancid 0755 root root
1 i checkinstall 790 2504 1336457171
1 i pkginfo 258 20033 1336457171
0707010006f74f000041ed0000000000000000000000024fa8b7d300000000000000b500010002ffffffffffffffff0000000800000000install 0707010006f750000081ed0000000000000000000000014fa8b7d300000316000000b500010002ffffffffffffffff0000001500000000install/checkinstall #!/bin/sh
#
expected_bits="64"
expected_release="5.10"
expected_platform="i386"
#
release=`uname -r`
platform=`uname -p`
bits=`isainfo -b`
#
if [ ${platform} != ${expected_platform} ]; then
echo "\n\n\n\tThis package must be installed on a ${expected_platform} architecture\n"
echo "\tAborting installation.\n\n\n"
exit 1
fi
if [ ${release} != ${expected_release} ]; then
echo "\n\n\n\tThis package must be installed on a ${expected_release} machine\n"
echo "\tAborting installation.\n\n\n"
exit 1
fi
#if [ ${bits} != ${expected_bits} ]; then
# echo "\n\n\n\tThis package must be installed on a ${expected_bits} bit machine\n"
# echo "\tYour machine is running a ${bits} bit O.S. currently\n"
# echo "\tAborting installation.\n\n\n"
# exit 1
#fi
exit 0
0707010006f6ba000041ed0000000000000000000000034fa8b7d300000000000000b500010002ffffffffffffffff0000000500000000root 0707010006f6bb000041ed0000000000000000000000034fa8b7d300000000000000b500010002ffffffffffffffff0000000900000000root/usr 0707010006f6bc000041ed0000000000000000000000034fa8b7d300000000000000b500010002ffffffffffffffff0000000f00000000root/usr/local 0707010006f6bd000041ed0000000000000000000000054fa8b7d300000000000000b500010002ffffffffffffffff0000001600000000root/usr/local/rancid 0707010006f6f9000041ed0000000000000000000000024fa8b7d300000000000000b500010002ffffffffffffffff0000001a00000000root/usr/local/rancid/etc 0707010006f6fa000081a40000000000000000000000014fa86f9200001929000000b500010002ffffffffffffffff0000002200000000root/usr/local/rancid/etc/lg.conf # rancid 2.3.8
# configuration file for the looking glass
#
# note: these are perl statements! Mind the syntax. "perl -c lg.conf"
# should succeed.
#
# adjust the path to find [cfj]login, telnet, ssh, rsh, etc.
#
$ENV{PATH}="/usr/local/rancid/bin://bin:/usr/local/bin:/usr/sbin:/usr/xpg4/bin:/usr/bin";
#
#
# LG_CACHE_DIR is the location of the cache directory. the LG uses this
# to hold lock files, the default log file (lg.log), and o/p from
# commands that can be very verbose. it defaults to "tmp",
# i.e.: relative to the directory where lg.cgi runs in your
# server's (httpd) DocumentRoot (e.g.:
# /usr/local/www/data/lg/tmp).
#
#$LG_CACHE_DIR="./tmp";
#
#
# LG_CACHE_TIME is the number of seconds the LG should cache o/p from certain
# commands; those that tend to produce a lot of o/p, such as
# 'show ip bgp dampened-paths'. it defaults to 600 seconds
# (10 minutes).
#
#$LG_CACHE_TIME=600;
#
#
# LG_CLOGINRC is the .cloginrc that the LG should use. it defaults to
# /.cloginrc. note that the .cloginrc must be readable
# by the user or group (UID / GID) that will be running the CGI
# and the clogin (and friends) will not allow a world readable
# .cloginrc. this is normally the user the server (httpd) runs
# under.
#
#$LG_CLOGINRC="$ENV(HOME)/.cloginrc";
#
#
# LG_IMAGE is the filename of an image you wish to appear at the top
# of the LG pages. it can also be other html goo, like
# the first example. this is just handed to print, so \n and
# the like will work and mind the character escapes (backslashes).
#
#$LG_IMAGE="\n FOO";
#$LG_IMAGE="\n";
#
#
# LG_INFO is info in html format to output at the bottom of main form.
# it might be local contact information, disclaimer, etc. this
# is just handed to print, so \n and the like will work and mind
# the character escapes (backslashes).
#
#$LG_INFO="For support, contact webmaster";
#
#
# LG_LOG is either a FQPN (fully qualified path name) or the syslog
# facility to use for logging. if not defined, the LG
# will log to LG_CACHE_DIR/lg.log. possible syslog facility
# values are from the facility codes in /usr/include/syslog.h
# minus the 'LOG_' and lower case.
#
#$LG_LOG="$LG_CACHE_DIR/lg.log";
#$LG_LOG="/tmp/lg.log";
#$LG_LOG="local0";
#
#
# LG_ROUTERDB is the router.db in rancid's router.db format, listing
# the routers and their platform that should be available to
# the looking glass. if defined, the LG will use this variable
# to find the router.db. if not defined, it will look for it
# at //router.db. if it does not exist, it
# will build the list from /*/router.db (i.e.: the
# router.db's from all your groups). note that if you choose
# this last option; the group directories and router.db files'
# modes may have to be changed, depending upon the UID/GID of
# the user your server (httpd) runs under, since rancid's default
# mask is 007 (see etc/rancid.conf). routers not marked 'up' are
# skipped.
#
#$LG_ROUTERDB="/usr/local/rancid/etc/router.db";
#
#
# LG_STYLE define a style sheet to be used for formatting HTML.
#
#$LG_STYLE="http://www.your.site/style/style.css";
#
#
# Options:
#
# LG_AS_REG *** not implemented.
#
#@LG_AS_REG=();
#
#
# LG_BGP_RT allows a few bgp commands which can produce long output (heavy
# router load), such as sh ip bgp neighbor advertised-routes
# would for a transit customer or sh ip b neigh
# received-routes would for a transit provider.
#
#$LG_BGP_RT=1;
#
#
# LG_SINGLE serializes and limits queries per-router to one at a time via
# per-router lock files.
#
#$LG_SINGLE=0;
#
# LG_STRIP strips login o/p from the looking glass results. Expect
# occassionally screws up disabling echo when passwords are
# entered (NOTE: SECURITY CONCERN). However, this o/p can be
# very useful for debugging clogin/flogin/jlogin problems.
#
$LG_STRIP=1;
#
#
# Commands/Queries:
# Un-comment/Comment the commands that are desired/not desired.
# The Commands are separated into a few categories. The value
# of each variable is the string which will appear in the
# (lgform.cgi) menu. Mind the ,'s within hash assignments.
#
# The double-commented (##) queries are not implemented or have
# not been tested.
#
$queries = {};
#
# Interface queries
$queries->{"interface"} = {
framerelay => "show frame-relay PVC [DLCI]",
interface => "show interface [interface]"
};
#
# Routing queries
$queries->{"routing"} = {
damp => "show ip bgp dampened-paths",
neighbor => "show ip bgp neighbor ",
prefix => "show ip bgp [netmask]",
prefixlist => "show ip prefix-list ",
regex => "show ip bgp regex ",
route => "show ip route [netmask]",
routemap => "show route-map ",
summary => "show ip bgp summary"
};
#
# Debug queries
$queries->{"debug"} = {
log => "Show Logs [ | ]",
ping => "ping ",
trace => "traceroute "
};
#
# Multicast queries
$queries->{"multicast"} = {
mbgp => "Show ip mbgp [netmask]",
mbgpsum => "Show ip mbgp summary",
# show ip pim interface/show pim interface
## pim_interface => "Show PIM Interfaces",
# ???/show pim join (extensive)
## pim_join => "Show PIM Join [group_address]",
# show ip mroute/show multicast route [active]
## mroute => "Show Multicast Forwarding Table [active]",
# show ip msdp summary/show msdp
## msdp => "Show MSDP Peering Status",
# show ip msdp sa cache/show msdp source-active
## msdpsa => "Show MSDP Source Active Table",
# show ip sdr|show multicast sessions
## msess => "Show Multicast SDR sessions [detail]",
# show ip pim neighbor/show pim neighbors
## pim_neighbor => "Show PIM Neighbors [detail]",
# show ip pim rp mapping/show pim rps
## pim_rp => "Show PIM Rendez-vous Points [detail]",
# show ip rpf [address] /show multicast rpf [address]
## rpf => "Test Multicast RPF "
};
#
# IPv6 commands
$queries->{"ipv6"} = {
# show bgp ipv6 / ???
## v6_bgp => "Show IPv6 BGP table";
# show ipv6 interface / show interface
## v6_interface => "Show IPv6 interface parameters [interface]";
# show bgp ipv6 summary / show bgp summary
## v6_summary => "Show IPv6 BGP Summary";
# show ipv6 route / show route table inet6.0
## v6_route => "Show IPv6 Routes ";
};
#
# %EOF%
0707010006f6fb000081a40000000000000000000000014fa86f9200000edf000000b500010002ffffffffffffffff0000002600000000root/usr/local/rancid/etc/rancid.conf # rancid 2.3.8
# This file sets up the environment used for rancid. see rancid.conf(5)
#
# This will be site specific
#
TERM=network;export TERM
#
# Collating locale
LC_COLLATE="POSIX"; export LC_COLLATE
#
# Create files w/o world read/write/exec permissions, but read/exec permissions
# for group.
umask 027
#
# Under BASEDIR (i.e.: --localstatedir), there will be a "logs" directory for
# the logs from rancid and a directory for each group of routers defined in
# LIST_OF_GROUPS (below). In addition to these, there will be a "CVS"
# directory which is the cvs (or Subversion) repository.
#
# Use a full path (no sym-links) for BASEDIR.
#
TMPDIR=/tmp; export TMPDIR
# Be careful changing this, it affects CVSROOT below. It should be a FQPN, not
# relative.
BASEDIR=/usr/local/rancid/var; export BASEDIR
PATH=/usr/local/rancid/bin://bin:/usr/local/bin:/usr/sbin:/usr/xpg4/bin:/usr/bin; export PATH
# Location of the CVS/SVN repository. Be careful changing this.
# If RCSSYS is svn, this can be:
# - an (absolute) path (a subdirectory of BASEDIR by default).
# - any URL that subversion understands, but beware that:
# - no attempt will be made to create the repository when running rancid-cvs.
# - authentication credentials, if necessary, MUST be cached (see the SVN
# book, Ch. 3, Network Model, Caching credentials) before non-interactive
# commands can run, e.g. by running rancid-cvs after installation.
CVSROOT=$BASEDIR/CVS; export CVSROOT
# Location of log files produced by rancid-run(1).
LOGDIR=$BASEDIR/logs; export LOGDIR
#
# Select which RCS system to use, "cvs" (default) or "svn". Do not change
# this after CVSROOT has been created with rancid-cvs. Changing between these
# requires manual conversions.
RCSSYS=svn; export RCSSYS
#
# if ACLSORT is NO, access-lists will NOT be sorted.
#ACLSORT=YES; export ACLSORT
#
# if NOPIPE is set, temp files will be used instead of a cmd pipe during
# collection from the router(s).
#NOPIPE=YES; export NOPIPE
#
# FILTER_PWDS determines which passwords are filtered from configs by the
# value set (NO | YES | ALL). see rancid.conf(5).
#FILTER_PWDS=YES; export FILTER_PWDS
#
# if NOCOMMSTR is set, snmp community strings will be stripped from the configs
#NOCOMMSTR=YES; export NOCOMMSTR
#
# How many times failed collections are retried (for each run) before
# giving up. Minimum: 1
#MAX_ROUNDS=4; export MAX_ROUNDS
#
# How many hours should pass before complaining about routers that
# can not be reached. The value should be greater than the number
# of hours between your rancid-run cron job. Default: 24
#OLDTIME=4; export OLDTIME
#
# How many hours should pass before complaining that a group's collection
# (the age of it's lock file) is hung.
#LOCKTIME=4; export LOCKTIME
#
# The number of devices to collect simultaneously.
#PAR_COUNT=5; export PAR_COUNT
#
# list of rancid groups
#LIST_OF_GROUPS="sl joebobisp"
# more groups...
#LIST_OF_GROUPS="$LIST_OF_GROUPS noc billybobisp"
#
# For each group, define a list of people to receive the diffs.
# in sendmail's /etc/aliases.
# rancid-group: joe,moe@foo
# rancid-admin-group: hostmaster
# be sure to read ../README regarding aliases.
#
# If your MTA configuration is broken or you want mail to be forwarded to a
# domain not the same as the local one, define that domain here. "@" must be
# included, as this is simply appended to the usual recipients. It is NOT
# appended to recipients specified in rancid-run's -m option.
#MAILDOMAIN="@example.com"; export MAILDOMAIN
#
# By default, rancid mail is marked with precedence "bulk". This may be
# changed by setting the MAILHEADERS variable; for example no header by setting
# it to "" or adding X- style headers. Individual headers must be separated
# by a \n.
#MAILHEADERS="Precedence: bulk"; export MAILHEADERS
0707010006f6fc000041ed0000000000000000000000044fa8b7d300000000000000b500010002ffffffffffffffff0000001c00000000root/usr/local/rancid/share 0707010006f73c000041ed0000000000000000000000024fa8b7d300000000000000b500010002ffffffffffffffff0000002300000000root/usr/local/rancid/share/rancid 0707010006f74e000081ed0000000000000000000000014fa8b7be000016f0000000b500010002ffffffffffffffff0000002d00000000root/usr/local/rancid/share/rancid/rtrfilter #! /usr/local/bin/perl
##
## $Id: rtrfilter.in 2096 2009-06-17 21:49:46Z heas $
##
## Copyright (c) 1997-2007 by Terrapin Communications, Inc.
## All rights reserved.
##
## This code is derived from software contributed to and maintained by
## Terrapin Communications, Inc. by Henry Kilmer, John Heasley, Andrew Partan,
## Pete Whiting, Austin Schutz, and Andrew Fort.
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## 1. Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## 2. Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## 3. All advertising materials mentioning features or use of this software
## must display the following acknowledgement:
## This product includes software developed by Terrapin Communications,
## Inc. and its contributors for RANCID.
## 4. Neither the name of Terrapin Communications, Inc. nor the names of its
## contributors may be used to endorse or promote products derived from
## this software without specific prior written permission.
## 5. It is requested that non-binding fixes and modifications be contributed
## back to Terrapin Communications, Inc.
##
## THIS SOFTWARE IS PROVIDED BY Terrapin Communications, INC. AND CONTRIBUTORS
## ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
## TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COMPANY OR CONTRIBUTORS
## BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
## CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
## SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
## INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
## CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
## ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
## POSSIBILITY OF SUCH DAMAGE.
#
# The expect login scripts were based on Erik Sherk's gwtn, by permission.
#
# The original looking glass software was written by Ed Kern, provided by
# permission and modified beyond recognition.
#
# rtrtfilter - "| rtrfilter -x -i -f \
# -u -s "
# expects to read an email message on stdin containing a diff from
# rancid and emails a filtered copy to with the subject of the
# original msg or the contents of -s . the perl regex(es) specified
# via -x or -i (exclusive and inclusive, respectively) are applied to the
# router names (i.e.: files) from the "Index:" of the diff o/p. alternatively,
# the regex's may be specified in -f in the form:
# # comment
# x
# # comment
# i
# do not include /'s in the regex's.
# e.g.:
# #i inc1
# i a0[12]\.
# i a0[34]\.
# # comment
# x router\.db
# x ^r0[0-9]
# #i foo
#
# exclusion takes precedence and defaults to nothing. inclusion defaults to
# everything.
#
# this program requires the Mail::Mailer module which can be found on CPAN.
##
BEGIN {
$me = $0;
$me =~ s/.*\/(\S+)$/$1/;
}
require 'newgetopt.pl';
use Mail::Mailer;
# process command line options
$newgetopt'ignorecase=0;
$newgetopt'autoabbrev=1;
$result = &NGetOpt('h','x=s@','i=s@','f=s','s=s');
&usage($result) if (defined($opt_h) || $result == 0);
if ($#ARGV < 0) {
usage;
}
my($rcpts) = join(',', @ARGV);
# if specified, read the regex file and append to @opt_i / @opt_x
if (defined($opt_f)) {
open(FILE, "< $opt_f") || die "Cant open the regex file $opt_f: $!";
while () {
next if (! /^(i|x)\s+(.*$)/);
#/(i|x)\s+(.*)$/;
if ($1 eq "i" ) {
push(@opt_i, $2);
} else {
push(@opt_x, $2);
}
}
close(FILE);
}
# read the header, grok the subject line
my($subject, $from);
while () {
last if (/^$/);
if (s/^from: //i) {
chomp;
$from = $_;
}
if (s/^subject: //i) {
chomp;
$subject = $_;
}
}
if (defined($opt_s)) { $subject = $opt_s;}
if (defined($opt_u)) { $from = $opt_u;}
# filter the remainder of the mail. save mail in memory to avoid empty msgs
my(@mail);
my($skip) = 1;
while () {
# look for /^Index: ", the filtering key
if (/^Index: (.*)$/) {
# strip the directory before passing to filter()
my($line) = ($1 =~ /.*\/([^\/\s]*)$/);
$skip = filter($line);
}
next if ($skip);
push(@mail, $_);
}
# send mail, if any
if ($#mail < 0) { exit; }
$mailer = new Mail::Mailer 'sendmail', ('-t');
$headers{From} = $from;
$headers{"Reply-To"} = $from;
$headers{"Errors-To"} = $from;
$headers{Subject} = $subject;
$headers{To} = $rcpts;
$headers{Precedence} = "bulk";
$mailer->open(\%headers);
print $mailer @mail;
$mailer->close;
exit;
# filter $line inclusive/exclusive (0 / 1)
sub filter {
my($line) = shift;
# exclusion
if (defined(@opt_x)) {
foreach $regex (@opt_x) {
if ($line =~ /$regex/) { return(1); }
}
}
# inclusion / default inclusion
if (! @opt_i) { return(0); }
foreach $regex (@opt_i) {
if ($line =~ /$regex/) { return(0); }
}
# inclusion regex specified, but fall through
return(1);
}
sub usage {
print STDERR <] [-x ] [-f ] [-u ] [-s ] [ ...]
-h prints this message
-f file containing perl regex matching router names (mind the cwd())
-i perl regex matching router names (inclusive)
-u From: address
-s mail subject
-x perl regex matching router names (exclusive)
USAGE
exit $_;
}
0707010006f74a000081a40000000000000000000000014fa8b7be00001929000000b500010002ffffffffffffffff0000003200000000root/usr/local/rancid/share/rancid/lg.conf.sample # rancid 2.3.8
# configuration file for the looking glass
#
# note: these are perl statements! Mind the syntax. "perl -c lg.conf"
# should succeed.
#
# adjust the path to find [cfj]login, telnet, ssh, rsh, etc.
#
$ENV{PATH}="/usr/local/rancid/bin:/usr/local/bin:/usr/sbin://bin:/usr/xpg4/bin:/usr/bin";
#
#
# LG_CACHE_DIR is the location of the cache directory. the LG uses this
# to hold lock files, the default log file (lg.log), and o/p from
# commands that can be very verbose. it defaults to "tmp",
# i.e.: relative to the directory where lg.cgi runs in your
# server's (httpd) DocumentRoot (e.g.:
# /usr/local/www/data/lg/tmp).
#
#$LG_CACHE_DIR="./tmp";
#
#
# LG_CACHE_TIME is the number of seconds the LG should cache o/p from certain
# commands; those that tend to produce a lot of o/p, such as
# 'show ip bgp dampened-paths'. it defaults to 600 seconds
# (10 minutes).
#
#$LG_CACHE_TIME=600;
#
#
# LG_CLOGINRC is the .cloginrc that the LG should use. it defaults to
# /.cloginrc. note that the .cloginrc must be readable
# by the user or group (UID / GID) that will be running the CGI
# and the clogin (and friends) will not allow a world readable
# .cloginrc. this is normally the user the server (httpd) runs
# under.
#
#$LG_CLOGINRC="$ENV(HOME)/.cloginrc";
#
#
# LG_IMAGE is the filename of an image you wish to appear at the top
# of the LG pages. it can also be other html goo, like
# the first example. this is just handed to print, so \n and
# the like will work and mind the character escapes (backslashes).
#
#$LG_IMAGE="\n FOO";
#$LG_IMAGE="\n";
#
#
# LG_INFO is info in html format to output at the bottom of main form.
# it might be local contact information, disclaimer, etc. this
# is just handed to print, so \n and the like will work and mind
# the character escapes (backslashes).
#
#$LG_INFO="For support, contact webmaster";
#
#
# LG_LOG is either a FQPN (fully qualified path name) or the syslog
# facility to use for logging. if not defined, the LG
# will log to LG_CACHE_DIR/lg.log. possible syslog facility
# values are from the facility codes in /usr/include/syslog.h
# minus the 'LOG_' and lower case.
#
#$LG_LOG="$LG_CACHE_DIR/lg.log";
#$LG_LOG="/tmp/lg.log";
#$LG_LOG="local0";
#
#
# LG_ROUTERDB is the router.db in rancid's router.db format, listing
# the routers and their platform that should be available to
# the looking glass. if defined, the LG will use this variable
# to find the router.db. if not defined, it will look for it
# at //router.db. if it does not exist, it
# will build the list from /*/router.db (i.e.: the
# router.db's from all your groups). note that if you choose
# this last option; the group directories and router.db files'
# modes may have to be changed, depending upon the UID/GID of
# the user your server (httpd) runs under, since rancid's default
# mask is 007 (see etc/rancid.conf). routers not marked 'up' are
# skipped.
#
#$LG_ROUTERDB="/usr/local/rancid/etc/router.db";
#
#
# LG_STYLE define a style sheet to be used for formatting HTML.
#
#$LG_STYLE="http://www.your.site/style/style.css";
#
#
# Options:
#
# LG_AS_REG *** not implemented.
#
#@LG_AS_REG=();
#
#
# LG_BGP_RT allows a few bgp commands which can produce long output (heavy
# router load), such as sh ip bgp neighbor advertised-routes
# would for a transit customer or sh ip b neigh
# received-routes would for a transit provider.
#
#$LG_BGP_RT=1;
#
#
# LG_SINGLE serializes and limits queries per-router to one at a time via
# per-router lock files.
#
#$LG_SINGLE=0;
#
# LG_STRIP strips login o/p from the looking glass results. Expect
# occassionally screws up disabling echo when passwords are
# entered (NOTE: SECURITY CONCERN). However, this o/p can be
# very useful for debugging clogin/flogin/jlogin problems.
#
$LG_STRIP=1;
#
#
# Commands/Queries:
# Un-comment/Comment the commands that are desired/not desired.
# The Commands are separated into a few categories. The value
# of each variable is the string which will appear in the
# (lgform.cgi) menu. Mind the ,'s within hash assignments.
#
# The double-commented (##) queries are not implemented or have
# not been tested.
#
$queries = {};
#
# Interface queries
$queries->{"interface"} = {
framerelay => "show frame-relay PVC [DLCI]",
interface => "show interface [interface]"
};
#
# Routing queries
$queries->{"routing"} = {
damp => "show ip bgp dampened-paths",
neighbor => "show ip bgp neighbor ",
prefix => "show ip bgp [netmask]",
prefixlist => "show ip prefix-list ",
regex => "show ip bgp regex ",
route => "show ip route [netmask]",
routemap => "show route-map ",
summary => "show ip bgp summary"
};
#
# Debug queries
$queries->{"debug"} = {
log => "Show Logs [ | ]",
ping => "ping ",
trace => "traceroute "
};
#
# Multicast queries
$queries->{"multicast"} = {
mbgp => "Show ip mbgp [netmask]",
mbgpsum => "Show ip mbgp summary",
# show ip pim interface/show pim interface
## pim_interface => "Show PIM Interfaces",
# ???/show pim join (extensive)
## pim_join => "Show PIM Join [group_address]",
# show ip mroute/show multicast route [active]
## mroute => "Show Multicast Forwarding Table [active]",
# show ip msdp summary/show msdp
## msdp => "Show MSDP Peering Status",
# show ip msdp sa cache/show msdp source-active
## msdpsa => "Show MSDP Source Active Table",
# show ip sdr|show multicast sessions
## msess => "Show Multicast SDR sessions [detail]",
# show ip pim neighbor/show pim neighbors
## pim_neighbor => "Show PIM Neighbors [detail]",
# show ip pim rp mapping/show pim rps
## pim_rp => "Show PIM Rendez-vous Points [detail]",
# show ip rpf [address] /show multicast rpf [address]
## rpf => "Test Multicast RPF "
};
#
# IPv6 commands
$queries->{"ipv6"} = {
# show bgp ipv6 / ???
## v6_bgp => "Show IPv6 BGP table";
# show ipv6 interface / show interface
## v6_interface => "Show IPv6 interface parameters [interface]";
# show bgp ipv6 summary / show bgp summary
## v6_summary => "Show IPv6 BGP Summary";
# show ipv6 route / show route table inet6.0
## v6_route => "Show IPv6 Routes ";
};
#
# %EOF%
0707010006f743000081a40000000000000000000000014fa8b7be00000df8000000b500010002ffffffffffffffff0000002d00000000root/usr/local/rancid/share/rancid/UPGRADING Rancid 2.3 introduces a new directory layout. It has been changed to more
closely follow the standard path hierarchy, which is defined by the FHS
standard and autoconf, and/or make these locations more easily configurable
within rancid.
The obvious advantage of this is making rancid more easily packagable; i.e.:
NetBSD pkgsrc, FreeBSD port, Linux RPM, etc.
Make sure your rancid repository is quiet before upgrading; disable rancid
cron jobs, wait for running jobs to complete, etc.
Autoconf defines the following (see configure --help):
Installation directories:
--prefix=PREFIX install architecture-independent files in PREFIX
[/usr/local/rancid]
--exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
[PREFIX]
Fine tuning of the installation directories:
--bindir=DIR user executables [EPREFIX/bin]
--sbindir=DIR system admin executables [EPREFIX/sbin]
--libexecdir=DIR program executables [EPREFIX/libexec]
--datadir=DIR read-only architecture-independent data [PREFIX/share]
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
--mandir=DIR man documentation [PREFIX/man]
Also defined, though not mentioned above, is:
pkgdatadir same as datadir, but datadir/rancid
File and directory movement:
bin/env the rancid configuration file has moved to
sysconfdir/rancid.conf
util/lg/lg.conf the looking glass configuration has moved to
sysconfdir/lg.conf
util/lg/lg.cgi
util/lg/lgform.cgi the looking glass CGI scripts have moved to bindir
util/lg/* the remainder of looking glass html, README, etc
files have moved to pkgdatadir
util/* misc examples, scripts, etc have moved to pkgdatadir
cloginrc.sample moved to pkgdatadir
For those upgrading, there is one basic choice to make; to move your CVS
repository and logs or not. Prior to rancid 2.3, these were placed in
. They are now in "localstatedir". The user who runs rancid will
need write access to this directory.
To maintain the same location as was used prior to rancid 2.3, provide
the --localstatedir option to configure. e.g.:
./configure --localstatedir=/usr/local/rancid
/usr/local/rancid is, and has been, the default .
To move them elsewhere, accept the default (e.g.: /usr/local/rancid/var) or
specify your own and move the existing directories. e.g.:
./configure --localstatedir=/var/rancid
make install
edit /rancid.conf # merge with your old bin/env
# configuration file
mv /usr/local/rancid/logs /var/rancid
mv /usr/local/rancid/CVS /var/rancid
cd /var/rancid
su - rancid_user
/bin/sh
. /rancid.conf
for grp in $LIST_OF_GROUPS; do
cvs -d /var/rancid/CVS co $grp
done
Note that the first rancid-run will send messages about routers being added,
marked up or down, etc., because the routers.{all,down,up} will have been
lost. Afterward, it will be back to normal.
Note also that any non-rancid files that may have been placed in these CVS
trees will be lost. You have been warned.
*** We strongly suggest that if a DIR used as the install prefix, as in
--prefix=DIR, is not dedicated to rancid that "/rancid" should be
appended to the --localstatedir, as in the example above.
Note that not all operating systems have a mv command that will move
directories across file systems. It may be necessary to use 'cp -r' or
'tar cf - | (cd ; tar xpf -)'.
0707010006f744000081a40000000000000000000000014fa8b7be00002cc3000000b500010002ffffffffffffffff0000003200000000root/usr/local/rancid/share/rancid/cisco-load.exp ##
## $Id: cisco-load.exp 2096 2009-06-17 21:49:46Z heas $
##
##
## Copyright (c) 1997-2007 by Terrapin Communications, Inc.
## All rights reserved.
##
## This code is derived from software contributed to and maintained by
## Terrapin Communications, Inc. by Henry Kilmer, John Heasley, Andrew Partan,
## Pete Whiting, Austin Schutz, and Andrew Fort.
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## 1. Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## 2. Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## 3. All advertising materials mentioning features or use of this software
## must display the following acknowledgement:
## This product includes software developed by Terrapin Communications,
## Inc. and its contributors for RANCID.
## 4. Neither the name of Terrapin Communications, Inc. nor the names of its
## contributors may be used to endorse or promote products derived from
## this software without specific prior written permission.
## 5. It is requested that non-binding fixes and modifications be contributed
## back to Terrapin Communications, Inc.
##
## THIS SOFTWARE IS PROVIDED BY Terrapin Communications, INC. AND CONTRIBUTORS
## ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
## TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COMPANY OR CONTRIBUTORS
## BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
## CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
## SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
## INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
## CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
## ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
## POSSIBILITY OF SUCH DAMAGE.
#
# The expect login scripts were based on Erik Sherk's gwtn, by permission.
#
# The original looking glass software was written by Ed Kern, provided by
# permission and modified beyond recognition.
#
# This expect snippet is sourced by clogin (-s option) to load a configuration
# file (named -confg into nvram from an rcp/tftp host. This is an
# _example_ as it not guaranteed to work for all applications. PLEASE test
# for your environment.
#
# It expects the following variables via the -E option:
# rcphost ='host to rcp from' such as 'foo.org' or '192.168.0.1'
# confgpath ='path under /tftpboot where configs are held'
#
# The config file is expected to be routername-confg, where routername is the
# name as grok'd from the router's cmd-line prompt
#
# example usage:
# % clogin -s ./cisco-load.exp -Ercphost=foo.shrubbery.net router
# router
# loading router config from foo.shrubbery.net
#
# exit is called at the end, so only one router can be handled per clogin.
#
# Keep in mind that it is important to NOT polute the global variable space.
# Particularly, do not use variables used within clogin. This may result in
# indeterministic results. An easy way to avoid this is to use a variable
# name prefix (like 'E' or '_').
#
# Useful variables from clogin global space:
# router router name as provided on the cmd-line
# prompt cmd-line prompt as determined by clogin
#
# note: the tcl/expect parser is extremely stoopid. Comment lines are NOT
# completely ignored!! so, a '{' or '}' in a comment might produce
# unexpected results.
##
# log_user 1
# exp_internal 1
# sometimes this is a bit slow. note: this overrides clogin -t
set timeout 90
# take rcp host from -Ercphost='foo'
if ([info exists Ercphost]) {
#puts "CONFGHOST == $Ercphost"
set confghost [string tolower $Ercphost]
} else {
send_error "ERROR: -Ercphost= was not set on the command-line.\n"
exit
}
#
# logout of the router
#
proc logout { ecode } {
global prompt
send "quit\r"
expect {
"$prompt" { logout $ecode }
timeout { send_error "Error: timeout waiting for EOF after quit\n"}
eof {
send_user "\n"
exit $ecode
}
}
}
#
# erase the nvram
#
proc erase { } {
global prompt
send "\r"
expect $prompt {}
send "write erase\r"
expect {
-re " Continue\[^\n\]\*confirm\]" {
send "\r"
exp_continue
}
"$prompt" { }
timeout {
send_error "Error: timeout waiting for write erase.\n"
logout 1
}
eof { logout 1 }
}
}
#
# load a config via rcp into nvram
#
proc doload { confghost routername config retry } {
global prompt
# send a return just to be sure we have a prompt.
send "\r"
expect "$prompt"
# start the copy and send the host to load from
# use tftp if retry == 1
if { $retry == 0 } {
send "copy tftp startup-config\r"
} else {
send "copy rcp startup-config\r"
}
expect {
timeout {
send_error "\nError: timeout exceeded waiting for rcp/tftp host prompt\r"
logout 1 }
"mbiguous command" {
if { $retry == 0 } {
send "copy tftp: startup-config\r"
} else {
send "copy rcp: startup-config\r"
}
exp_continue }
-re "Host or network .*\]\?" {
send "host\r"
exp_continue }
"\]\?" {
send "$confghost\r" }
}
#
# fill in the rest of the blanks. username (12.0), filename, dest, etc.
#
expect {
-re "Source username .\*\]\?" {
send "$routername\r";
exp_continue }
-re "Source filename .\*\]\?" {
send "$config\r";
exp_continue }
-re "Name of configur.\*\]\?" {
send "$config\r";
exp_continue }
-re "Destination filename .\*\]\?" {
send "startup-config\r";
exp_continue }
-re "Configure using .\*confirm\]" { send "\r" }
"proceed\? \\\[" { send "yes\r" }
-re "Do you want to over write.\*confirm\]" { send "\r" }
-re "Accessing (rcp|tftp):" { }
timeout {
send_error "\n\tError: timeout exceeded while matching load prompts\n";
send "" }
}
expect {
timeout {
send_error "Error: timeout exceeded while loading config\n"
logout 1 }
-re "\[^\n\]*Connection refused" {
send_error "Error: $expect_out(0,string)\n"
logout 1 }
-re "\[^\n\]*Destination unreachable" {
send_error "Error: $expect_out(0,string)\n"
logout 1 }
-re "\[^\n\]*Permission denied" {
send_error "Error: $expect_out(0,string)\n"
logout 1 }
-re "\[^\n]*No such file or directory" {
send_error "Error: $expect_out(0,string)\n"
logout 1 }
-re "\[^\n]*Error copying\[^\n]*Not enough space on device\[^\n]*\r" {
send_error "Error: $expect_out(0,string)\n"
if { $retry == 2 } {
# erase stomps ssh rsa key
# send_user "erasing nvram\n"
# erase
send_user "retrying load\n"
doload $confghost $routername $config 1
} elseif { $retry == 1 } {
# erase stomps ssh rsa key
# send_user "erasing nvram\n"
# erase
send_user "retrying load with tftp.\n"
doload $confghost $routername $config 0
} else {
send_error "Error: $expect_out(0,string)\n"
logout 1
} }
-re "\[^\n]*.*configuration is too large.*\n" {
send_error "Error: $expect_out(0,string)\n"
expect {
-re "\[^\n]*Truncate config.*:" { send "no\r" }
}
logout 1 }
-re "\[^\n]*Error (opening|copying).*\r" {
send_error "Error: $expect_out(0,string)\n"
logout 1 }
-nocase -re "\[^\n]* error\[^a-z\n]+\[^\n]*" {
send_error "$expect_out(0,string)\n"
logout 1
}
"\n" { exp_continue }
-re "^\[^ ]*\#" {
send_user "load successful.\n"
}
}
return 0;
}
send_user "loading $router config from $confghost\n";
# look for router hostname in prompt (i.e.: deal with fqdn)
send "\r"
expect {
timeout {
send_error "Error: did not receive prompt\n"
exit }
"\n" { exp_continue }
-re "^(\[^ ]*)\#" {
set routername $expect_out(1,string) }
}
# deal with config subdir? from Econfgpath
if ([info exists confgpath]) {
set config "$confgpath/$routername-confg"
} else {
set config "$routername-confg"
}
# load the config
if { [doload $confghost $routername $config 1] != 0 } {
logout 1
}
logout 0
# these were my original transcripts of performing loads. it is a useful
# example of info you may collect to get an idea of what needs to be handled
# in the expect{}s
#
# pdx-oob#
# pdx-oob#copy rcp start
# Address of remote host [255.255.255.255]? 205.238.52.35
# Name of configuration file [a]? pdx-oob-confg
# Configure using pdx-oob-confg from 205.238.52.35? [confirm]
#
# Connected to 205.238.52.35
# Loading 8131 byte file pdx-oob-confg: !!!! [OK]
# Compressing configuration from 8131 bytes to 3886 bytes
# [OK]
# pdx-oob#
#
# 12.0S-isms
# pao2#cop rcp sta
# Address or name of remote host []? eng0
# Translating "eng0"...domain server (205.238.52.46) [OK]
#
# Source username [pao2]?
# Source filename []? pao2-confg
# Destination filename [startup-config]?
# Warning: Copying this config directly into the nvram from a network server may
# cause damage the the startup config. It is advisable to copy the file
# into the running config first, and then save it using copy run start.
# Do you wish to proceed? [no]: yes
# Accessing rcp://pao2@eng0/pao2-confg...
# Connected to 205.238.52.35
# Loading 30138 byte file pao2-confg: !!!!!! [OK]
#
# 30138 bytes copied in 2.576 secs (15069 bytes/sec)
# pao2#
# OR IS IT
# sea0#cop rcp sta
# Address or name of remote host []? eng0
# Source username [sea0]?
# Source filename []? sea0-confg
# Destination filename [startup-config]?
# Accessing rcp://sea0@eng0/sea0-confg...!!!!!!!!!!!!!!!!!!
# 89794 bytes copied in 0.704 secs
# sea0#q
# Connection closed by foreign host.
# pdx-oob#copy rcp start
# Address of remote host [255.255.255.255]? 205.238.52.35
# Name of configuration file [a]? pdx-oob-confg
# Configure using pdx-oob-confg from 205.238.52.35? [confirm]
#
# Connected to 205.238.52.35
# Loading 8131 byte file pdx-oob-confg: !!!! [OK]
# Compressing configuration from 8131 bytes to 3886 bytes
# [OK]
# pdx-oob#copy rcp start
# Address of remote host [205.238.52.35]? 205.238.52.35
# Name of configuration file [pdx-oob-confg]? pdx-oob-confg
# Configure using pdx-oob-confg from 205.238.52.35? [confirm]
#
# Connected to 205.238.52.35
# %rcp: /tftpboot/pdx-oob-confg: No such file or directory
# pdx-oob#
#
# pdx-oob#copy rcp start
# Address of remote host [205.238.52.35]? 205.238.52.35
# Name of configuration file [pdx-oob-confg]? pdx-oob-confg
# Configure using pdx-oob-confg from 205.238.52.35? [confirm]
#
# Connected to 205.238.52.35
# %rcp: /tftpboot/pdx-oob-confg: Permission denied
# pdx-oob#
#
# *** response from filtered pkt
# pdx-oob#copy rcp sta
# Address of remote host [205.238.52.35]? 205.238.1.94
# Name of configuration file [pdx-oob-confg]?
# Configure using pdx-oob-confg from 205.238.1.94? [confirm]
# % Destination unreachable; gateway or host down
#
# pdx-oob#
#
# *** response from host w/o rcp daemon
# pdx-oob#cop rcp sta
# Address of remote host [205.238.52.35]? 205.238.1.66
# Name of configuration file [pdx-oob-confg]?
# Configure using pdx-oob-confg from 205.238.1.66? [confirm]
# % Connection refused by remote host
#
# pdx-oob#
#
0707010006f748000081ed0000000000000000000000014fa8b7be0000143a000000b500010002ffffffffffffffff0000002e00000000root/usr/local/rancid/share/rancid/getipacctg #! /bin/sh
##
## $Id: getipacctg 2096 2009-06-17 21:49:46Z heas $
##
## Copyright (c) 1997-2007 by Terrapin Communications, Inc.
## All rights reserved.
##
## This code is derived from software contributed to and maintained by
## Terrapin Communications, Inc. by Henry Kilmer, John Heasley, Andrew Partan,
## Pete Whiting, Austin Schutz, and Andrew Fort.
##
## Redistribution and use in source and binary forms, with or without
## modification, are permitted provided that the following conditions
## are met:
## 1. Redistributions of source code must retain the above copyright
## notice, this list of conditions and the following disclaimer.
## 2. Redistributions in binary form must reproduce the above copyright
## notice, this list of conditions and the following disclaimer in the
## documentation and/or other materials provided with the distribution.
## 3. All advertising materials mentioning features or use of this software
## must display the following acknowledgement:
## This product includes software developed by Terrapin Communications,
## Inc. and its contributors for RANCID.
## 4. Neither the name of Terrapin Communications, Inc. nor the names of its
## contributors may be used to endorse or promote products derived from
## this software without specific prior written permission.
## 5. It is requested that non-binding fixes and modifications be contributed
## back to Terrapin Communications, Inc.
##
## THIS SOFTWARE IS PROVIDED BY Terrapin Communications, INC. AND CONTRIBUTORS
## ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
## TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
## PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COMPANY OR CONTRIBUTORS
## BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
## CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
## SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
## INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
## CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
## ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
## POSSIBILITY OF SUCH DAMAGE.
#
# The expect login scripts were based on Erik Sherk's gwtn, by permission.
#
# The original looking glass software was written by Ed Kern, provided by
# permission and modified beyond recognition.
#
# getipacctg uses clogin to login to a cisco router, collect the o/p of
# show ip accounting, and sort by the greatest number of bytes. If a
# second argument is supplied, it is a number indicating the top N producers.
# a third (3 to N) argument(s) specify a prefix(es) to match/select src/dst
# IPs, while others will be filtered.
#
# usage: getipacctg [] \
# [ [...]]
# example:
# getipacctg router 25 192.168.0.0/24
# will display the top 25 for src or dst ip's within prefix
# 192.168.0.0/24
#
# Contributed to rancid by Steve Neighorn of SCN Reasearch.
TMP="/tmp/ipacct.$$.prefixes"
TMP2="/tmp/ipacct.$$.sorted"
TMP3="/tmp/ipacct.$$.pl"
if [ $# -eq 0 ] ; then
echo "usage: getipacctg router_name [] [ [...]]" >&2
exit 1;
fi
trap 'rm -fr /tmp/ipacct.$$ $TMP $TMP2 $TMP3;' 1 2 15
clogin -c 'show ip accounting' $1 > /tmp/ipacct.$$
if [ $? -ne 0 ] ; then
echo "clogin failed." >&2
exit 1
fi
# rest of the command-line options
exec 6>$TMP
HEAD="cat"
shift
while [ $# -ne 0 ] ; do
echo $1 | grep '/' > /dev/null
if [ $? -eq 1 ] ; then
HEAD="head -$1"
else
echo $1 1>&6
fi
shift
done
6>&-
egrep '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+ +[0-9]+\.[0-9]+\.' /tmp/ipacct.$$ | \
sed -e 's/^ *//' -e 's/ */ /g' -e 's/.$//' | \
awk '{print $4":"$0;}' | sort -nr | \
sed -e 's/^[^:]*://' > $TMP2
if [ -s $TMP ] ; then
cat > $TMP3 <) {
chomp;
s/\s*//g;
/(.*)\/(.*)\$/;
my(\$ip) = \$1; my(\$mask) = \$2;
\$ip = ip_to_int(\$ip);
\$mask = (~0) << (32 - \$mask);
\$ip = \$ip & (\$mask);
\$prefs[\$nprefs++] = \$ip;
\$prefs[\$nprefs++] = \$mask;
}
close(PREFS);
open(DATA, "< \$ARGV[1]") || die "could not open \$ARGV[1]\n";
while () {
chomp;
@A = split(/ /);
\$A[0] = ip_to_int(\$A[0]);
\$A[1] = ip_to_int(\$A[1]);
for (\$f = 0; \$f < \$nprefs; \$f += 2) {
if ((\$A[0] & \$prefs[\$f + 1]) == \$prefs[\$f] ||
(\$A[1] & \$prefs[\$f + 1]) == \$prefs[\$f]) {
print "\$_\n";
break;
}
}
}
PERL
perl $TMP3 $TMP $TMP2 | $HEAD
else
$HEAD $TMP2
fi
rm -fr /tmp/ipacct.$$ $TMP $TMP2 $TMP3
trap ';' 1 2 15
exit 0
0707010006f740000081a40000000000000000000000014fa8b7be000031c2000000b500010002ffffffffffffffff0000002a00000000root/usr/local/rancid/share/rancid/README Rancid is a "Really Awesome New Cisco confIg Differ" developed to
maintain CVS controlled copies of router configs.
*** The Following Information is Very Important ****
Rancid 2.3 introduces a new directory layout. It has been changed to more
closely follow the standard path hierarchy, which is defined by the FHS
standard and autoconf, and/or make these locations more easily configurable
within rancid.
The obvious advantage of this is making rancid more easily packagable; i.e.:
NetBSD pkgsrc, FreeBSD port, Linux RPM, etc.
Please please please please read the UPGRADING file for more information.
**********
The following is the packing list for Rancid, excluding files supporting
configure (autoconf) and make. .in is stripped from the files below by
configure as substitutions are completed:
README This file.
README.lg Information about the Looking Glass.
BUGS Bug list.
CHANGES List of changes to Rancid.
COPYING RANCID license.
FAQ Frequently Asked Questions
Todo Partial list of what needs to be done.
UPGRADING Notes on upgrading rancid to a new version.
cloginrc.sample TCL commands to set passwords, usernames etc. used by clogin
and jlogin. See cloginrc(5)
etc/
lg.conf.sample Sample Looking Glass configuration
rancid.conf.sample Sample RANCID configuration
bin/
clogin.in Expect script that logs into routers and either presents
an interactive shell, runs a set of commands, or runs
another expect script. It handles Cisco, Extreme,
Force10, Juniper E-series, Procket, Redback, Zebra/MRT.
control_rancid.in
Builds router list, calls rancid on each router and
handles cvs routines.
hpuifilter.c HP procurve login filter - see hlogin(1).
par.in Parallel processing of commands - any commands.
rancid-cvs.in Creates all of the CVS and config directories.
rancid-run.in Script designed to be run from cron.
rancid-fe.in Chooses between rancid/[abefhjrx]rancid/cat5rancid.
rancid.in Runs commands on cisco routers and processes the output.
agmrancid.in Version of rancid.in for Cisco Anomaly Guard Module (AGM)
arancid.in Version of rancid.in for Alteon switches.
brancid.in Version of rancid.in for baynet/nortel routers.
cat5rancid.in Version of rancid.in for Cisco Catalyst switches.
cssrancid.in Version of rancid.in for Cisco CSS switches.
erancid.in Version of rancid.in for ADC EZ-T3 muxes.
f10rancid.in Version of rancid.in for Force10 routers.
f5rancid.in Version of rancid.in for F5 BigIPs.
fnrancid.in Version of rancid.in for Fortinet Firewalls.
francid.in Version of rancid.in for Foundry switches.
hrancid.in Version of rancid.in for HP Procurve switches.
htrancid.in Version of rancid.in for Hitatchi routers.
jerancid.in Version of rancid.in for Juniper E-series routers.
jrancid.in Version of rancid.in for Juniper routers.
mrancid.in Version of rancid.in for MRT daemons.
nrancid.in Version of rancid.in for Netscreen firewalls.
nsrancid.in Version of rancid.in for Netscalars.
prancid.in Version of rancid.in for Procket routers.
rivancid.in Version of rancid.in for Riverstone routers.
rrancid.in Version of rancid.in for Redback routers.
srancid.in Version of rancid.in for SMC switches.
tntrancid.in Version of rancid.in for TNT access servers.
xrancid.in Version of rancid.in for Extreme switches.
zrancid.in Version of rancid.in for Zebra routers.
alogin.in Version of clogin.in for Alteon switches.
blogin.in Version of clogin.in for baynet/Nortel routers.
elogin.in Version of clogin.in for ADC EZ-T3 muxes.
flogin.in Version of clogin.in for Foundry switches. If foundry
cleaned-up their bloody UI, clogin should do the job.
hlogin.in Version of clogin.in for HP procurve switches.
htlogin.in Version of clogin.in for Hitatchi routers.
jlogin.in Version of clogin.in for Juniper routers.
nlogin.in Version of clogin.in for Netscreen firewalls.
nslogin.in Version of clogin.in for Netscalars.
rivlogin.in Version of clogin.in for Riverstone routers.
tntlogin.in Version of clogin.in for TNT access servers.
man/ man pages
share/ Readmes, samples, utilities, contribs, etc
include/ Include files and rancid version.h
Also see rancid_intro(1), rancid(1), and clogin(1).
The following (non-exhaustive list) are included as part of the installation
and configuration tools:
Makefile.am processed by automake to produce Makefile.in
Makefile.in processed by configure to produce Makefile
acinclude.m4 sets some GNU autoconf options
aclocal.m4 Output of GNU autoconf script
configure GNU autoconf script
configure.in Input file for autoconf to procide configure
depcomp part of GNU autoconf
install-sh GNU autoconf shell script to simulate BSD style install
missing part of GNU autoconf
mkinstalldirs GNU autoconf shell script to make installation directories
rancid will also need to have the following packages:
cvs Code revision system available from prep.ai.mit.edu:/pub/gnu
gnudiff gnudiff provides the uni-diff (-u) option. If you do not have
a diff that supports -u, configure will set-up rancid to use
'diff -c' or 'diff -C'.
perl5 perl version 5 or greater available from www.cpan.org
expect http://expect.nist.gov/ We highly suggest that you stick to
expect 5.24.1 (or so). This seems to work best. Note that
you need to have the accompanying tcl &/ tk.
svn Code revision system, an alternative to cvs. Available from
http://subversion.tigris.org/tarballs/. Use the configure
option --with-svn to configure for Subversion.
tcl Required by expect.
Bill Fenner (now maintained by others) has a cgi script for interacting
with CVS repositories via a web interface. This provides a great way to
view rancid diffs and full configs, especially for those unfamiliar with
cvs. The package is not included, but can be found here:
http://www.freebsd.org/projects/cvsweb.html
Quick Installation Guide (an example):
1) ./configure [--prefix=]
By default, rancid will be installed under /usr/local/rancid (the default
"prefix"). This can be overridden with the --prefix option. E.g.:
./configure --prefix=/home/rancid
Rancid uses autoconf's "localstatedir" as the location of it's logs,
CVS or Subversion respository, and directories where it's groups are
placed. The user who will run rancid (from cron, etc) will need write
access to these directories. By default, this is /var, or
/home/rancid/var following the example above.
We realize that this is not optimal, but it follows the standards. We
suggest that this be altered to include the package name, like so:
./configure --prefix=/home/rancid \
--localstatedir=/home/rancid/var/rancid
The user who will run rancid must have write permission in "localstatedir".
See ./configure --help for other configure options.
2) make install
3) Modify /rancid.conf (e.g.: /etc/rancid.conf). The
variable LIST_OF_GROUPS is a space delimited list of router "groups".
E.g.:
LIST_OF_GROUPS="backbone aggregation switches"
4) Put .cloginrc in the home directory of the user who will run rancid.
.cloginrc must be not be readable/writable/executable by "others",
i.e.: .cloginrc must be mode 0600 or 0640.
5) Modify .cloginrc.
Test to make sure that you can log into every router.
Note: the juniper user you use *must* log into a cli shell (which
is the default on a juniper).
See the file cloginrc.sample, located in (/share/rancid),
for examples and good starting point. Also take a look at the cloginrc
manual page, 'man -M /man cloginrc'.
6) Modify /etc/aliases
Rancid sends the diffs and other administrative emails to rancid-
and problems to rancid-admin-, where is the "GROUP" of
routers. This way you can separate your backbone routers from your
access routers or separate based upon network etc... Different router
uses forced different people being interested in router "groups" -
thus this setup. Make sure email to rancid- works. /etc/aliases
can be maintainable by Majordomo stuff, but make sure the user that
runs rancid can post to the list.
The Precedence header set to bulk or junk *hopefully* avoids replies from
auto-responders and vacation type mail filters.
The --enable-mail-plus option to configure will set each of the "rancid-"
addresses mentioned above to "rancid+". See sendmail's operation manual
for more information on handling of '+'.
The --enable-adminmail-plus configure option will set each of the
"rancid-admin-" addresses mentioned above to "rancid-admin+". If this
option is not used, the value of --enable-mail-plus is assumed. That is,
the addresses will be "rancid+", if it is specified.
7) Run rancid-cvs.
This creates all of the necessary directories and config files for
each of the groups in LIST_OF_GROUPS and imports them into CVS (or
Subversion). This will also be run each time a new group is added. Do
not create the directories or CVS repository manually, allow rancid-cvs
do it. Also see 'man -M /man rancid-cvs'.
8) For each "group", modify the router.db file in the group directory.
The file is of the form "router:mfg:state" where "router" is
the name (we use FQDN) of the router, mfg is the manufacturer
from the set of (cat5|cisco|juniper) (see router.db.5 for a complete
list and description), and "state" is either up or down. Each router
listed as "up" will have the configuration grabbed. Note: manufacturer
cat5 is intended only for cisco catalyst switches running catalyst (not
IOS) code.
e.g.: //router.db:
cisco-router.domain.com:cisco:up
adc-mux.domain.com:ezt3:up
foundry-switch-router.domain.com:foundry:up
juniper-router.domain.com:juniper:up
redback-dsl-router.domain.com:redback:down
extreme-switch.domain.com:extreme:down
9) For first-time users or new installations, run bin/rancid-run (with no
arguments) and check the resulting log file(s) (in logs/*) for errors.
Repeat until there are no errors.
10) Put rancid-run in cron to be called however often you want it to
run for each group (rancid-run []). If you run it less
often than once/hour, check the setting of OLDTIME in etc/rancid.conf.
E.g.:
# run config differ hourly
1 * * * * /bin/rancid-run
# clean out config differ logs
50 23 * * * /usr/bin/find /logs -type f -mtime +2 -exec rm {} \;
11) Note: If you are using any of these programs (other than
rancid-run) out of cron, make sure that you set your $PATH
correctly so that they work. E.g.: if you are using clogin,
it can call id, telnet, ssh, and/or rsh.
configure already makes sure that $PATH is set correctly in
etc/rancid.conf for rancid-run, so you could use the $PATH from there. e.g.:
50 23 * * * . /rancid.conf; clogin -c 'sh vers' router
12) Send any bugs, suggestions or updates to rancid@shrubbery.net.
See the web page at http://www.shrubbery.net/rancid. We have
created the standard mailing lists for those interested;
rancid-announce@shrubbery.net and rancid-discuss@shrubbery.net.
Subscribe by sending an email whose body contains "subscribe
rancid-" to majordomo@shrubbery.net.
If you are reporting problems, please include the version of rancid,
expect, and your OS in the email.
Problem with clogin/telnet hanging within rancid or scripts?
If you have experienced rancid (or more precisely, telnet) hanging on a
solaris 2.6 box; check to be sure you have the following two o/s patches
installed (see showrev -p). There may be more recent versions of these
patches and they are likely included with 2.7 and 2.8:
Patch-ID# 105529-08
Keywords: security tcp rlogin TCP ACK FIN packet listen
Synopsis: SunOS 5.6: /kernel/drv/tcp patch
Patch-ID# 105786-11
Keywords: security ip tcp_priv_stream routing ip_enable_group_ifs ndd
Synopsis: SunOS 5.6: /kernel/drv/ip patch
Another contributor to rancid "hanging", with or without the o/s patches
mentioned above, is a bug in expect/tcl. We've noticed that expect (from
5.24.1 forward), and whatever tcl happens to compile with it, exhibits a
problem on Linux and Solaris where rancid's scripts hang waiting for input
from the device. Patches to expect are available on the rancid web page.
Also, for rancid 2.3 and later, changes were made to the login scripts
which use some more elaborate regexes that have failed with expect versions
prior to 5.40. While 5.40 works, it still seems to need the patch offered
on the rancid web page for Linux and Solaris.
See www.shrubbery.net/rancid for additional notes on this.
0707010006f74b000081a40000000000000000000000014fa8b7be00000a2f000000b500010002ffffffffffffffff0000003000000000root/usr/local/rancid/share/rancid/lgnotes.html
Looking Glass Notes
Looking Glass Notes
Just a few straight forward notes on our implementation of
Ed Kern's looking glass (which was http://nitrous.digex.net).
- Some items are not implemented for the junipers/foundrys yet (so, as i get
to it) or no equivalent command exists.
- If there is something which you feel is missing, feel free to ask
and/or send comments to
rancid@shrubbery.net. No guarantees.
- Only one query per router allowed at any given time. This is to avoid
resource deprivation on the looking glass host or the router. The
looking glass will attempt to serialize queries.
- The looking glass will ping a router prior to querying it to avoid
trying to query routers which are down or otherwise inaccessible.
- Login failures can be intermittent or permanent, either due to the
router being inaccessible from the looking glass machine,
or authorization failure(s). Contact your local network engineering
folks to resolve login failures.
- Queries followed by <something> require an argument(s) in the text
window below the query list. Some queries take optional arguments
denoted by [something]. Multiple arguments should be separated by a
space.
- Note that output from certain queries is cached by the server and may
be slightly out of date. These queries will be noted as such in the
output. This is limited to queries which could produce lots of output,
such as 'sh ip bgp dampened-paths'.
- Note that some queries have potential to produce great load on the router
and produce lots of output, such as 'sh ip bgp' or 'sh ip bgp reg '^3561'.
The looking glass attempts to deny such commands.
Some useful hints:
- Show interfaces can take arguments other than an interface name, assuming
the router is running an O/S version with the capability. For example; a
cisco can take 'descriptions' or 'brief' and 'terse' for the juniper.
- Show ip bgp neighbor can take additional arguments (if configured to allow
it), such as 'advertised routes', 'flap-statistics', 'received-routes',
and 'routes'. The argument will be converted for the platform.