summaryrefslogtreecommitdiffstats
path: root/util
diff options
context:
space:
mode:
Diffstat (limited to 'util')
-rw-r--r--util/Makefile.in37
-rw-r--r--util/README9
-rw-r--r--util/cisco-load.exp331
-rw-r--r--util/cisco-reload.exp141
-rwxr-xr-xutil/configure990
-rw-r--r--util/configure.in26
-rwxr-xr-xutil/downreport.in62
-rwxr-xr-xutil/getipacctg.in103
-rw-r--r--util/lg/Makefile.in43
-rw-r--r--util/lg/README76
-rwxr-xr-xutil/lg/configure991
-rw-r--r--util/lg/configure.in27
-rw-r--r--util/lg/index.html9
-rwxr-xr-xutil/lg/lg.cgi.in783
-rw-r--r--util/lg/lg.conf.in105
-rwxr-xr-xutil/lg/lgform.cgi.in245
-rw-r--r--util/lg/lgnotes.html61
-rw-r--r--util/rtrfilter.README14
-rwxr-xr-xutil/rtrfilter.in158
19 files changed, 0 insertions, 4211 deletions
diff --git a/util/Makefile.in b/util/Makefile.in
deleted file mode 100644
index ed8db01..0000000
--- a/util/Makefile.in
+++ /dev/null
@@ -1,37 +0,0 @@
-PREFIX = @prefix@
-
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-
-UTIL_PROGS = @RD_UTIL_PROGS@
-
-all:
-
-install: all
- for file in $(UTIL_PROGS) ; do \
- $(INSTALL) $$file $(PREFIX)/util; \
- done; \
- for file in *README* *.exp; do \
- $(INSTALL_DATA) $$file $(PREFIX)/util; \
- done; \
- cd lg; $(MAKE) -e install
-
-clean:
- @if [ -f lg/Makefile ] ; then \
- cd lg; $(MAKE) -e clean; \
- fi
-
-distclean: clean
- @if [ -f lg/Makefile ] ; then \
- cd lg; $(MAKE) -e distclean; \
- fi
- rm -f Makefile $(UTIL_PROGS) config.log config.status
-
-distdir:
- for file in Makefile.in configure.in *README* *.exp; do \
- $(INSTALL_DATA) $$file $(distdir); \
- done; \
- for file in configure $(UTIL_PROGS:=.in) ; do \
- $(INSTALL) $$file $(distdir); \
- done; \
- cd lg; $(MAKE) -e distdir
diff --git a/util/README b/util/README
deleted file mode 100644
index 56d5673..0000000
--- a/util/README
+++ /dev/null
@@ -1,9 +0,0 @@
-rancid/util includes some utilities that either don't seem to belong
-in rancid/bin (ie: not part of the core pkg), contributed sources, or
-sources included for convenience/example.
-
-README This file.
-downreport Daily report of routers not listed as up in router.db
-getipacctg get and sort show ip accounting o/p from cisco router
-lg looking glass pkg
-rtrfilter mail filter for diffs
diff --git a/util/cisco-load.exp b/util/cisco-load.exp
deleted file mode 100644
index 58277e2..0000000
--- a/util/cisco-load.exp
+++ /dev/null
@@ -1,331 +0,0 @@
-##
-## Copyright (C) 1997-2001 by Henry Kilmer.
-## All rights reserved.
-##
-## This software may be freely copied, modified and redistributed without
-## fee for non-commerical purposes provided that this copyright notice is
-## preserved intact on all copies and modified copies.
-##
-## There is no warranty or other guarantee of fitness of this software.
-## It is provided solely "as is". The author(s) disclaim(s) all
-## responsibility and liability with respect to this software's usage
-## or its effect upon hardware, computer systems, other software, or
-## anything else.
-#
-# this expect snipit is sourced by clogin (-s option) to load a configuration
-# file (named <routername>-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
-#
-# 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 (ie: 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#
-#
diff --git a/util/cisco-reload.exp b/util/cisco-reload.exp
deleted file mode 100644
index 095a3b2..0000000
--- a/util/cisco-reload.exp
+++ /dev/null
@@ -1,141 +0,0 @@
-##
-## Copyright (C) 1997-2001 by Henry Kilmer.
-## All rights reserved.
-##
-## This software may be freely copied, modified and redistributed without
-## fee for non-commerical purposes provided that this copyright notice is
-## preserved intact on all copies and modified copies.
-##
-## There is no warranty or other guarantee of fitness of this software.
-## It is provided solely "as is". The author(s) disclaim(s) all
-## responsibility and liability with respect to this software's usage
-## or its effect upon hardware, computer systems, other software, or
-## anything else.
-#
-# this expect snipit is sourced by clogin (-s option) to issue a reload
-# command on a cisco router. it DOES NOT save the config if it has been
-# modified. 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:
-# reload_arg ='command argument' such as 'at 05:00' or 'cancel
-#
-# eg usage:
-# % clogin -s cisco-reload.exp -Ereload_arg='at 01:00' router
-# router
-# Reload scheduled for 01:00:00 UTC Sat Jun 23 2001 (in 7 hours and 16 minutes)
-# % clogin -s cisco-reload.exp -Ereload_arg='at cancel' router
-# router
-# % Ambiguous command: "reload at cancel"
-#
-# % clogin -s cisco-reload.exp -Ereload_arg='cancel' router
-# router
-# SHUTDOWN ABORTED
-#
-#
-# 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.
-##
-# exp_internal 1
-# log_user 1
-
-# take reload command from -Ereload_arg='at 05:00'
-if ([info exists Ereload_arg]) {
- #puts "reload_arg == $Ereload_arg"
- set reloadcmd "reload $Ereload_arg"
-} else {
- send_error "ERROR: -Ereload_arg= was not set on the command-line.\n"
- exit
-}
-
-#send_user "$router\n"
-
-send "\r"
-expect {
- timeout { send_error "Error: did not receive prompt\n"
- exit }
- -re "^.*$prompt" { send "$reloadcmd\r"
- expect * {} }
-}
-# look for response
-expect {
- -re "configuration has been modified.*no.:" { send "no\r";
- exp_continue }
- -re "Reload scheduled .*\r" { set sched $expect_out(0,string)
- exp_continue }
- -re "SHUTDOWN ABORTED" { set sched $expect_out(0,string) }
- -re "Proceed with .*confirm\]" { send "\r" }
- -re "\n.*No reload " { set sched "no reload scheduled"
- send "\r" }
- -re "% Ambig\[^\n\r]*" { set sched $expect_out(0,string) }
-}
-send "\r"
-expect "$prompt"
-if ([info exists sched]) {
- send_user "\t$sched\n"
-}
-send "quit\r"
-expect {
- timeout { send_error "Error: timeout waiting for EOF after quit\n"}
- eof { exit 0 }
-}
-
-## dennis#reload in ?
-## Delay before reload (mmm or hhh:mm)
-##
-## dennis#reload in 100:10
-##
-## System configuration has been modified. Save? [yes/no]: no
-## Reload scheduled in 100 hours and 9 minutes
-## Proceed with reload? [confirm]
-## dennis#reload ca
-## dennis#reload cancel
-## dennis#
-##
-##
-## ***
-## *** --- SHUTDOWN ABORTED ---
-## ***
-##
-## dennis#wr
-## Building configuration...
-## [OK]
-## dennis#reload in 100:10
-## Reload scheduled in 100 hours and 10 minutes
-## Proceed with reload? [confirm]
-## dennis#rel
-## dennis#reload can
-## dennis#reload cancel
-## dennis#
-##
-##
-## ***
-## *** --- SHUTDOWN ABORTED ---
-## ***
-## System configuration has been modified. Save? [yes/no]: no
-## Reload scheduled for 11:51:48 PST Thu Dec 10 1998 (in 299 hours and 59 minutes)
-## Proceed with reload? [confirm]
-## ultra#reload can
-## ultra#
-##
-##
-## ***
-## *** --- SHUTDOWN ABORTED ---
-## ***
-## ultra# reload at 8:10 10 dec
-##
-## System configuration has been modified. Save? [yes/no]: no
-## Reload scheduled for 08:10:00 PST Thu Dec 10 1998 (in 296 hours and 17 minutes)
-## Proceed with reload? [confirm]
-## ultra#
-##
diff --git a/util/configure b/util/configure
deleted file mode 100755
index fb8e766..0000000
--- a/util/configure
+++ /dev/null
@@ -1,990 +0,0 @@
-#! /bin/sh
-
-# Guess values for system-dependent variables and create Makefiles.
-# Generated automatically using autoconf version 2.13
-# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
-#
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-
-# Defaults:
-ac_help=
-ac_default_prefix=/usr/local
-# Any additions from configure.in:
-ac_default_prefix=/usr/local/rancid
-
-# Initialize some variables set by options.
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-build=NONE
-cache_file=./config.cache
-exec_prefix=NONE
-host=NONE
-no_create=
-nonopt=NONE
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-target=NONE
-verbose=
-x_includes=NONE
-x_libraries=NONE
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datadir='${prefix}/share'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-libdir='${exec_prefix}/lib'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-infodir='${prefix}/info'
-mandir='${prefix}/man'
-
-# Initialize some other variables.
-subdirs=
-MFLAGS= MAKEFLAGS=
-SHELL=${CONFIG_SHELL-/bin/sh}
-# Maximum number of lines to put in a shell here document.
-ac_max_here_lines=12
-
-ac_prev=
-for ac_option
-do
-
- # If the previous option needs an argument, assign it.
- if test -n "$ac_prev"; then
- eval "$ac_prev=\$ac_option"
- ac_prev=
- continue
- fi
-
- case "$ac_option" in
- -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
- *) ac_optarg= ;;
- esac
-
- # Accept the important Cygnus configure options, so we can diagnose typos.
-
- case "$ac_option" in
-
- -bindir | --bindir | --bindi | --bind | --bin | --bi)
- ac_prev=bindir ;;
- -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
- bindir="$ac_optarg" ;;
-
- -build | --build | --buil | --bui | --bu)
- ac_prev=build ;;
- -build=* | --build=* | --buil=* | --bui=* | --bu=*)
- build="$ac_optarg" ;;
-
- -cache-file | --cache-file | --cache-fil | --cache-fi \
- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
- ac_prev=cache_file ;;
- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
- cache_file="$ac_optarg" ;;
-
- -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
- ac_prev=datadir ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
- | --da=*)
- datadir="$ac_optarg" ;;
-
- -disable-* | --disable-*)
- ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
- { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
- fi
- ac_feature=`echo $ac_feature| sed 's/-/_/g'`
- eval "enable_${ac_feature}=no" ;;
-
- -enable-* | --enable-*)
- ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
- { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
- fi
- ac_feature=`echo $ac_feature| sed 's/-/_/g'`
- case "$ac_option" in
- *=*) ;;
- *) ac_optarg=yes ;;
- esac
- eval "enable_${ac_feature}='$ac_optarg'" ;;
-
- -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
- | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
- | --exec | --exe | --ex)
- ac_prev=exec_prefix ;;
- -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
- | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
- | --exec=* | --exe=* | --ex=*)
- exec_prefix="$ac_optarg" ;;
-
- -gas | --gas | --ga | --g)
- # Obsolete; use --with-gas.
- with_gas=yes ;;
-
- -help | --help | --hel | --he)
- # Omit some internal or obsolete options to make the list less imposing.
- # This message is too long to be a string in the A/UX 3.1 sh.
- cat << EOF
-Usage: configure [options] [host]
-Options: [defaults in brackets after descriptions]
-Configuration:
- --cache-file=FILE cache test results in FILE
- --help print this message
- --no-create do not create output files
- --quiet, --silent do not print \`checking...' messages
- --version print the version of autoconf that created configure
-Directory and file names:
- --prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
- --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- [same as prefix]
- --bindir=DIR user executables in DIR [EPREFIX/bin]
- --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
- --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
- --datadir=DIR read-only architecture-independent data in DIR
- [PREFIX/share]
- --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data in DIR
- [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
- --libdir=DIR object code libraries in DIR [EPREFIX/lib]
- --includedir=DIR C header files in DIR [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
- --infodir=DIR info documentation in DIR [PREFIX/info]
- --mandir=DIR man documentation in DIR [PREFIX/man]
- --srcdir=DIR find the sources in DIR [configure dir or ..]
- --program-prefix=PREFIX prepend PREFIX to installed program names
- --program-suffix=SUFFIX append SUFFIX to installed program names
- --program-transform-name=PROGRAM
- run sed PROGRAM on installed program names
-EOF
- cat << EOF
-Host type:
- --build=BUILD configure for building on BUILD [BUILD=HOST]
- --host=HOST configure for HOST [guessed]
- --target=TARGET configure for TARGET [TARGET=HOST]
-Features and packages:
- --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
- --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
- --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
- --x-includes=DIR X include files are in DIR
- --x-libraries=DIR X library files are in DIR
-EOF
- if test -n "$ac_help"; then
- echo "--enable and --with options recognized:$ac_help"
- fi
- exit 0 ;;
-
- -host | --host | --hos | --ho)
- ac_prev=host ;;
- -host=* | --host=* | --hos=* | --ho=*)
- host="$ac_optarg" ;;
-
- -includedir | --includedir | --includedi | --included | --include \
- | --includ | --inclu | --incl | --inc)
- ac_prev=includedir ;;
- -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
- | --includ=* | --inclu=* | --incl=* | --inc=*)
- includedir="$ac_optarg" ;;
-
- -infodir | --infodir | --infodi | --infod | --info | --inf)
- ac_prev=infodir ;;
- -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
- infodir="$ac_optarg" ;;
-
- -libdir | --libdir | --libdi | --libd)
- ac_prev=libdir ;;
- -libdir=* | --libdir=* | --libdi=* | --libd=*)
- libdir="$ac_optarg" ;;
-
- -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
- | --libexe | --libex | --libe)
- ac_prev=libexecdir ;;
- -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
- | --libexe=* | --libex=* | --libe=*)
- libexecdir="$ac_optarg" ;;
-
- -localstatedir | --localstatedir | --localstatedi | --localstated \
- | --localstate | --localstat | --localsta | --localst \
- | --locals | --local | --loca | --loc | --lo)
- ac_prev=localstatedir ;;
- -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* \
- | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
- localstatedir="$ac_optarg" ;;
-
- -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
- ac_prev=mandir ;;
- -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
- mandir="$ac_optarg" ;;
-
- -nfp | --nfp | --nf)
- # Obsolete; use --without-fp.
- with_fp=no ;;
-
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c)
- no_create=yes ;;
-
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
- no_recursion=yes ;;
-
- -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
- | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
- | --oldin | --oldi | --old | --ol | --o)
- ac_prev=oldincludedir ;;
- -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
- | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
- | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
- oldincludedir="$ac_optarg" ;;
-
- -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
- ac_prev=prefix ;;
- -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
- prefix="$ac_optarg" ;;
-
- -program-prefix | --program-prefix | --program-prefi | --program-pref \
- | --program-pre | --program-pr | --program-p)
- ac_prev=program_prefix ;;
- -program-prefix=* | --program-prefix=* | --program-prefi=* \
- | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
- program_prefix="$ac_optarg" ;;
-
- -program-suffix | --program-suffix | --program-suffi | --program-suff \
- | --program-suf | --program-su | --program-s)
- ac_prev=program_suffix ;;
- -program-suffix=* | --program-suffix=* | --program-suffi=* \
- | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
- program_suffix="$ac_optarg" ;;
-
- -program-transform-name | --program-transform-name \
- | --program-transform-nam | --program-transform-na \
- | --program-transform-n | --program-transform- \
- | --program-transform | --program-transfor \
- | --program-transfo | --program-transf \
- | --program-trans | --program-tran \
- | --progr-tra | --program-tr | --program-t)
- ac_prev=program_transform_name ;;
- -program-transform-name=* | --program-transform-name=* \
- | --program-transform-nam=* | --program-transform-na=* \
- | --program-transform-n=* | --program-transform-=* \
- | --program-transform=* | --program-transfor=* \
- | --program-transfo=* | --program-transf=* \
- | --program-trans=* | --program-tran=* \
- | --progr-tra=* | --program-tr=* | --program-t=*)
- program_transform_name="$ac_optarg" ;;
-
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- silent=yes ;;
-
- -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
- ac_prev=sbindir ;;
- -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
- | --sbi=* | --sb=*)
- sbindir="$ac_optarg" ;;
-
- -sharedstatedir | --sharedstatedir | --sharedstatedi \
- | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
- | --sharedst | --shareds | --shared | --share | --shar \
- | --sha | --sh)
- ac_prev=sharedstatedir ;;
- -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
- | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
- | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
- | --sha=* | --sh=*)
- sharedstatedir="$ac_optarg" ;;
-
- -site | --site | --sit)
- ac_prev=site ;;
- -site=* | --site=* | --sit=*)
- site="$ac_optarg" ;;
-
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- srcdir="$ac_optarg" ;;
-
- -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
- | --syscon | --sysco | --sysc | --sys | --sy)
- ac_prev=sysconfdir ;;
- -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
- | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
- sysconfdir="$ac_optarg" ;;
-
- -target | --target | --targe | --targ | --tar | --ta | --t)
- ac_prev=target ;;
- -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
- target="$ac_optarg" ;;
-
- -v | -verbose | --verbose | --verbos | --verbo | --verb)
- verbose=yes ;;
-
- -version | --version | --versio | --versi | --vers)
- echo "configure generated by autoconf version 2.13"
- exit 0 ;;
-
- -with-* | --with-*)
- ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
- { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
- fi
- ac_package=`echo $ac_package| sed 's/-/_/g'`
- case "$ac_option" in
- *=*) ;;
- *) ac_optarg=yes ;;
- esac
- eval "with_${ac_package}='$ac_optarg'" ;;
-
- -without-* | --without-*)
- ac_package=`echo $ac_option|sed -e 's/-*without-//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
- { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
- fi
- ac_package=`echo $ac_package| sed 's/-/_/g'`
- eval "with_${ac_package}=no" ;;
-
- --x)
- # Obsolete; use --with-x.
- with_x=yes ;;
-
- -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
- | --x-incl | --x-inc | --x-in | --x-i)
- ac_prev=x_includes ;;
- -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
- | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
- x_includes="$ac_optarg" ;;
-
- -x-libraries | --x-libraries | --x-librarie | --x-librari \
- | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
- ac_prev=x_libraries ;;
- -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
- | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
- x_libraries="$ac_optarg" ;;
-
- -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
- ;;
-
- *)
- if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
- echo "configure: warning: $ac_option: invalid host type" 1>&2
- fi
- if test "x$nonopt" != xNONE; then
- { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
- fi
- nonopt="$ac_option"
- ;;
-
- esac
-done
-
-if test -n "$ac_prev"; then
- { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
-fi
-
-trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
-
-# File descriptor usage:
-# 0 standard input
-# 1 file creation
-# 2 errors and warnings
-# 3 some systems may open it to /dev/tty
-# 4 used on the Kubota Titan
-# 6 checking for... messages and results
-# 5 compiler messages saved in config.log
-if test "$silent" = yes; then
- exec 6>/dev/null
-else
- exec 6>&1
-fi
-exec 5>./config.log
-
-echo "\
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-" 1>&5
-
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Also quote any args containing shell metacharacters.
-ac_configure_args=
-for ac_arg
-do
- case "$ac_arg" in
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c) ;;
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
- ac_configure_args="$ac_configure_args '$ac_arg'" ;;
- *) ac_configure_args="$ac_configure_args $ac_arg" ;;
- esac
-done
-
-# NLS nuisances.
-# Only set these to C if already set. These must not be set unconditionally
-# because not all systems understand e.g. LANG=C (notably SCO).
-# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
-# Non-C LC_CTYPE values break the ctype check.
-if test "${LANG+set}" = set; then LANG=C; export LANG; fi
-if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
-if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
-if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -rf conftest* confdefs.h
-# AIX cpp loses on an empty file, so make sure it contains at least a newline.
-echo > confdefs.h
-
-# A filename unique to this package, relative to the directory that
-# configure is in, which we can look for to find out if srcdir is correct.
-ac_unique_file=
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
- ac_srcdir_defaulted=yes
- # Try the directory containing this script, then its parent.
- ac_prog=$0
- ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
- test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
- srcdir=$ac_confdir
- if test ! -r $srcdir/$ac_unique_file; then
- srcdir=..
- fi
-else
- ac_srcdir_defaulted=no
-fi
-if test ! -r $srcdir/$ac_unique_file; then
- if test "$ac_srcdir_defaulted" = yes; then
- { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
- else
- { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
- fi
-fi
-srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
-
-# Prefer explicitly selected file to automatically selected ones.
-if test -z "$CONFIG_SITE"; then
- if test "x$prefix" != xNONE; then
- CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
- else
- CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
- fi
-fi
-for ac_site_file in $CONFIG_SITE; do
- if test -r "$ac_site_file"; then
- echo "loading site script $ac_site_file"
- . "$ac_site_file"
- fi
-done
-
-if test -r "$cache_file"; then
- echo "loading cache $cache_file"
- . $cache_file
-else
- echo "creating cache $cache_file"
- > $cache_file
-fi
-
-ac_ext=c
-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-cross_compiling=$ac_cv_prog_cc_cross
-
-ac_exeext=
-ac_objext=o
-if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
- # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
- if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
- ac_n= ac_c='
-' ac_t=' '
- else
- ac_n=-n ac_c= ac_t=
- fi
-else
- ac_n= ac_c='\c' ac_t=
-fi
-
-
-
-ac_aux_dir=
-for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
- if test -f $ac_dir/install-sh; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install-sh -c"
- break
- elif test -f $ac_dir/install.sh; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install.sh -c"
- break
- fi
-done
-if test -z "$ac_aux_dir"; then
- { echo "configure: error: can not find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." 1>&2; exit 1; }
-fi
-ac_config_guess=$ac_aux_dir/config.guess
-ac_config_sub=$ac_aux_dir/config.sub
-ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
-
-subdirs="lg"
-
-
-
-
-# Find a good install program. We prefer a C program (faster),
-# so one script is as good as another. But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# ./install, which can be erroneously created by make from ./install.sh.
-echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:563: checking for a BSD compatible install" >&5
-if test -z "$INSTALL"; then
-if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
- for ac_dir in $PATH; do
- # Account for people who put trailing slashes in PATH elements.
- case "$ac_dir/" in
- /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
- *)
- # OSF1 and SCO ODT 3.0 have their own names for install.
- # Don't use installbsd from OSF since it installs stuff as root
- # by default.
- for ac_prog in ginstall scoinst install; do
- if test -f $ac_dir/$ac_prog; then
- if test $ac_prog = install &&
- grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
- # AIX install. It has an incompatible calling convention.
- :
- else
- ac_cv_path_install="$ac_dir/$ac_prog -c"
- break 2
- fi
- fi
- done
- ;;
- esac
- done
- IFS="$ac_save_IFS"
-
-fi
- if test "${ac_cv_path_install+set}" = set; then
- INSTALL="$ac_cv_path_install"
- else
- # As a last resort, use the slow shell script. We don't cache a
- # path for INSTALL within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the path is relative.
- INSTALL="$ac_install_sh"
- fi
-fi
-echo "$ac_t""$INSTALL" 1>&6
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-
-RD_UTIL_PROGS=$rd_cv_rd_util_progs
-
-
-PERLV_PATH=$ac_cv_path_PERLV_PATH
-
-EXPECT_PATH=$ac_cv_path_EXPECT_PATH
-
-
-MAILPLUS=$rd_cv_MAILPLUS
-
-
-trap '' 1 2 15
-cat > confcache <<\EOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs. It is not useful on other systems.
-# If it contains results you don't want to keep, you may remove or edit it.
-#
-# By default, configure uses ./config.cache as the cache file,
-# creating it if it does not exist already. You can give configure
-# the --cache-file=FILE option to use a different cache file; that is
-# what configure does when it calls configure scripts in
-# subdirectories, so they share the cache.
-# Giving --cache-file=/dev/null disables caching, for debugging configure.
-# config.status only pays attention to the cache file if you give it the
-# --recheck option to rerun configure.
-#
-EOF
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, don't put newlines in cache variables' values.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(set) 2>&1 |
- case `(ac_space=' '; set | grep ac_space) 2>&1` in
- *ac_space=\ *)
- # `set' does not quote correctly, so add quotes (double-quote substitution
- # turns \\\\ into \\, and sed turns \\ into \).
- sed -n \
- -e "s/'/'\\\\''/g" \
- -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
- ;;
- *)
- # `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
- ;;
- esac >> confcache
-if cmp -s $cache_file confcache; then
- :
-else
- if test -w $cache_file; then
- echo "updating cache $cache_file"
- cat confcache > $cache_file
- else
- echo "not updating unwritable cache $cache_file"
- fi
-fi
-rm -f confcache
-
-trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-# Any assignment to VPATH causes Sun make to only execute
-# the first set of double-colon rules, so remove it if not needed.
-# If there is a colon in the path, we need to keep it.
-if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
-fi
-
-trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
-
-# Transform confdefs.h into DEFS.
-# Protect against shell expansion while executing Makefile rules.
-# Protect against Makefile macro expansion.
-cat > conftest.defs <<\EOF
-s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
-s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
-s%\[%\\&%g
-s%\]%\\&%g
-s%\$%$$%g
-EOF
-DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
-rm -f conftest.defs
-
-
-# Without the "./", some shells look in PATH for config.status.
-: ${CONFIG_STATUS=./config.status}
-
-echo creating $CONFIG_STATUS
-rm -f $CONFIG_STATUS
-cat > $CONFIG_STATUS <<EOF
-#! /bin/sh
-# Generated automatically by configure.
-# Run this file to recreate the current configuration.
-# This directory was configured as follows,
-# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-#
-# $0 $ac_configure_args
-#
-# Compiler output produced by configure, useful for debugging
-# configure, is in ./config.log if it exists.
-
-ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
-for ac_option
-do
- case "\$ac_option" in
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
- exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
- -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
- echo "$CONFIG_STATUS generated by autoconf version 2.13"
- exit 0 ;;
- -help | --help | --hel | --he | --h)
- echo "\$ac_cs_usage"; exit 0 ;;
- *) echo "\$ac_cs_usage"; exit 1 ;;
- esac
-done
-
-ac_given_srcdir=$srcdir
-ac_given_INSTALL="$INSTALL"
-
-trap 'rm -fr `echo "Makefile $RD_UTIL_PROGS" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
-EOF
-cat >> $CONFIG_STATUS <<EOF
-
-# Protect against being on the right side of a sed subst in config.status.
-sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
- s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
-$ac_vpsub
-$extrasub
-s%@SHELL@%$SHELL%g
-s%@CFLAGS@%$CFLAGS%g
-s%@CPPFLAGS@%$CPPFLAGS%g
-s%@CXXFLAGS@%$CXXFLAGS%g
-s%@FFLAGS@%$FFLAGS%g
-s%@DEFS@%$DEFS%g
-s%@LDFLAGS@%$LDFLAGS%g
-s%@LIBS@%$LIBS%g
-s%@exec_prefix@%$exec_prefix%g
-s%@prefix@%$prefix%g
-s%@program_transform_name@%$program_transform_name%g
-s%@bindir@%$bindir%g
-s%@sbindir@%$sbindir%g
-s%@libexecdir@%$libexecdir%g
-s%@datadir@%$datadir%g
-s%@sysconfdir@%$sysconfdir%g
-s%@sharedstatedir@%$sharedstatedir%g
-s%@localstatedir@%$localstatedir%g
-s%@libdir@%$libdir%g
-s%@includedir@%$includedir%g
-s%@oldincludedir@%$oldincludedir%g
-s%@infodir@%$infodir%g
-s%@mandir@%$mandir%g
-s%@subdirs@%$subdirs%g
-s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
-s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
-s%@INSTALL_DATA@%$INSTALL_DATA%g
-s%@RD_UTIL_PROGS@%$RD_UTIL_PROGS%g
-s%@PERLV_PATH@%$PERLV_PATH%g
-s%@EXPECT_PATH@%$EXPECT_PATH%g
-s%@MAILPLUS@%$MAILPLUS%g
-
-CEOF
-EOF
-
-cat >> $CONFIG_STATUS <<\EOF
-
-# Split the substitutions into bite-sized pieces for seds with
-# small command number limits, like on Digital OSF/1 and HP-UX.
-ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
-ac_file=1 # Number of current file.
-ac_beg=1 # First line for current file.
-ac_end=$ac_max_sed_cmds # Line after last line for current file.
-ac_more_lines=:
-ac_sed_cmds=""
-while $ac_more_lines; do
- if test $ac_beg -gt 1; then
- sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
- else
- sed "${ac_end}q" conftest.subs > conftest.s$ac_file
- fi
- if test ! -s conftest.s$ac_file; then
- ac_more_lines=false
- rm -f conftest.s$ac_file
- else
- if test -z "$ac_sed_cmds"; then
- ac_sed_cmds="sed -f conftest.s$ac_file"
- else
- ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
- fi
- ac_file=`expr $ac_file + 1`
- ac_beg=$ac_end
- ac_end=`expr $ac_end + $ac_max_sed_cmds`
- fi
-done
-if test -z "$ac_sed_cmds"; then
- ac_sed_cmds=cat
-fi
-EOF
-
-cat >> $CONFIG_STATUS <<EOF
-
-CONFIG_FILES=\${CONFIG_FILES-"Makefile $RD_UTIL_PROGS"}
-EOF
-cat >> $CONFIG_STATUS <<\EOF
-for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
- case "$ac_file" in
- *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
- ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
- *) ac_file_in="${ac_file}.in" ;;
- esac
-
- # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
-
- # Remove last slash and all that follows it. Not all systems have dirname.
- ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
- if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
- # The file is in a subdirectory.
- test ! -d "$ac_dir" && mkdir "$ac_dir"
- ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
- # A "../" for each directory in $ac_dir_suffix.
- ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
- else
- ac_dir_suffix= ac_dots=
- fi
-
- case "$ac_given_srcdir" in
- .) srcdir=.
- if test -z "$ac_dots"; then top_srcdir=.
- else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
- /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
- *) # Relative path.
- srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
- top_srcdir="$ac_dots$ac_given_srcdir" ;;
- esac
-
- case "$ac_given_INSTALL" in
- [/$]*) INSTALL="$ac_given_INSTALL" ;;
- *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
- esac
-
- echo creating "$ac_file"
- rm -f "$ac_file"
- configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
- case "$ac_file" in
- *Makefile*) ac_comsub="1i\\
-# $configure_input" ;;
- *) ac_comsub= ;;
- esac
-
- ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
- sed -e "$ac_comsub
-s%@configure_input@%$configure_input%g
-s%@srcdir@%$srcdir%g
-s%@top_srcdir@%$top_srcdir%g
-s%@INSTALL@%$INSTALL%g
-" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
-fi; done
-rm -f conftest.s*
-
-EOF
-cat >> $CONFIG_STATUS <<EOF
-
-EOF
-cat >> $CONFIG_STATUS <<\EOF
-
-exit 0
-EOF
-chmod +x $CONFIG_STATUS
-rm -fr confdefs* $ac_clean_files
-test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
-
-if test "$no_recursion" != yes; then
-
- # Remove --cache-file and --srcdir arguments so they do not pile up.
- ac_sub_configure_args=
- ac_prev=
- for ac_arg in $ac_configure_args; do
- if test -n "$ac_prev"; then
- ac_prev=
- continue
- fi
- case "$ac_arg" in
- -cache-file | --cache-file | --cache-fil | --cache-fi \
- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
- ac_prev=cache_file ;;
- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
- ;;
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- ;;
- *) ac_sub_configure_args="$ac_sub_configure_args $ac_arg" ;;
- esac
- done
-
- for ac_config_dir in lg; do
-
- # Do not complain, so a configure script can configure whichever
- # parts of a large source tree are present.
- if test ! -d $srcdir/$ac_config_dir; then
- continue
- fi
-
- echo configuring in $ac_config_dir
-
- case "$srcdir" in
- .) ;;
- *)
- if test -d ./$ac_config_dir || mkdir ./$ac_config_dir; then :;
- else
- { echo "configure: error: can not create `pwd`/$ac_config_dir" 1>&2; exit 1; }
- fi
- ;;
- esac
-
- ac_popdir=`pwd`
- cd $ac_config_dir
-
- # A "../" for each directory in /$ac_config_dir.
- ac_dots=`echo $ac_config_dir|sed -e 's%^\./%%' -e 's%[^/]$%&/%' -e 's%[^/]*/%../%g'`
-
- case "$srcdir" in
- .) # No --srcdir option. We are building in place.
- ac_sub_srcdir=$srcdir ;;
- /*) # Absolute path.
- ac_sub_srcdir=$srcdir/$ac_config_dir ;;
- *) # Relative path.
- ac_sub_srcdir=$ac_dots$srcdir/$ac_config_dir ;;
- esac
-
- # Check for guested configure; otherwise get Cygnus style configure.
- if test -f $ac_sub_srcdir/configure; then
- ac_sub_configure=$ac_sub_srcdir/configure
- elif test -f $ac_sub_srcdir/configure.in; then
- ac_sub_configure=$ac_configure
- else
- echo "configure: warning: no configuration information is in $ac_config_dir" 1>&2
- ac_sub_configure=
- fi
-
- # The recursion is here.
- if test -n "$ac_sub_configure"; then
-
- # Make the cache file name correct relative to the subdirectory.
- case "$cache_file" in
- /*) ac_sub_cache_file=$cache_file ;;
- *) # Relative path.
- ac_sub_cache_file="$ac_dots$cache_file" ;;
- esac
- case "$ac_given_INSTALL" in
- [/$]*) INSTALL="$ac_given_INSTALL" ;;
- *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
- esac
-
- echo "running ${CONFIG_SHELL-/bin/sh} $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_sub_srcdir"
- # The eval makes quoting arguments work.
- if eval ${CONFIG_SHELL-/bin/sh} $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_sub_srcdir
- then :
- else
- { echo "configure: error: $ac_sub_configure failed for $ac_config_dir" 1>&2; exit 1; }
- fi
- fi
-
- cd $ac_popdir
- done
-fi
-
-
-# fix permissions on scripts.
-for file in $RD_UTIL_PROGS; do chmod a+x $file; done
diff --git a/util/configure.in b/util/configure.in
deleted file mode 100644
index c23c556..0000000
--- a/util/configure.in
+++ /dev/null
@@ -1,26 +0,0 @@
-dnl Process this file with autoconf to produce a configure script.
-AC_INIT()
-
-AC_CONFIG_SUBDIRS(lg)
-
-dnl default install location
-AC_PREFIX_DEFAULT(/usr/local/rancid)
-
-dnl install program(s)
-AC_PROG_INSTALL
-
-RD_UTIL_PROGS=$rd_cv_rd_util_progs
-AC_SUBST(RD_UTIL_PROGS)
-
-PERLV_PATH=$ac_cv_path_PERLV_PATH
-AC_SUBST(PERLV_PATH)
-EXPECT_PATH=$ac_cv_path_EXPECT_PATH
-AC_SUBST(EXPECT_PATH)
-
-MAILPLUS=$rd_cv_MAILPLUS
-AC_SUBST(MAILPLUS)
-
-AC_OUTPUT(Makefile $RD_UTIL_PROGS)
-
-# fix permissions on scripts.
-for file in $RD_UTIL_PROGS; do chmod a+x $file; done
diff --git a/util/downreport.in b/util/downreport.in
deleted file mode 100755
index edb3ae0..0000000
--- a/util/downreport.in
+++ /dev/null
@@ -1,62 +0,0 @@
-#!/bin/sh
-
-# Reports the list of routers not listed as 'up'.
-
-# Put this in your crontab to run once a day:
-# 0 0 * * * @prefix@/util/downreport
-
-# It can optionally
-# take a space list of groups on the command line
-# It will use the list of groups defined in env otherwise.
-
-
-ENVFILE="`dirname $0`../bin/env"
-
-. $ENVFILE
-
-if [ $# -ge 1 ] ; then
- LIST_OF_GROUPS="$*"
-elif [ "$LIST_OF_GROUPS" = "" ] ; then
- echo "LIST_OF_GROUPS is empty in $ENVFILE"
- exit 1
-fi
-
-
-for GROUP in $LIST_OF_GROUPS; do
- (
- echo "To: @MAILPLUS@admin-$GROUP"
- echo "Subject: Down router report - $GROUP"
- echo "Precedence: bulk"
- echo ""
- DIR=$BASEDIR/$GROUP
- if [ -s $DIR/routers.down ]; then
- (
-
- cat << EOM
-
- The following $GROUP routers are listed as other than up.
-
- Routers listed as "up" in rancid's router.db are polled several
-times daily. This list is of routers that are not listed as up and therefore
-not polled.
-
-EOM
-
- cat $DIR/routers.down;
-
- )
-
- else
- (
-
- cat << EOM
-
- No routers are down/ticketed for router group $GROUP (yay).
-
-EOM
-
- )
- fi
- ) | sendmail -t
-
-done
diff --git a/util/getipacctg.in b/util/getipacctg.in
deleted file mode 100755
index d77c919..0000000
--- a/util/getipacctg.in
+++ /dev/null
@@ -1,103 +0,0 @@
-#! /bin/sh
-#
-# 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 <router name> [<number of lines off the top>] \
-# [<src/dest prefix filter> [...]]
-# 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 by steve neighorn.
-
-TMP="/tmp/ipacct.$$.prefixes"
-TMP2="/tmp/ipacct.$$.sorted"
-TMP3="/tmp/ipacct.$$.pl"
-
-if [ $# -eq 0 ] ; then
- echo "usage: getipacctg router_name [<number of lines off the top>] [<src/dest prefix filter> [...]]" >&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 <<PERL
- my(@prefs);
- my(\$nprefs) = 0;
- sub ip_to_int {
- # Given xxx.xxx.xxx.xxx return corresponding integer.
- my(\$int);
- my(\$ip) = shift;
- \$ip=~s/\s*//g;
- \$ip =~ /^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\$/;
- my (\$a,\$b,\$c,\$d) = (int(\$1),int(\$2),int(\$3),int(\$4));
- return 0 + ((\$a << 24) + (\$b << 16) + (\$c << 8) + \$d) ;
- }
- open(PREFS, "< \$ARGV[0]") || die "could not open \$ARGV[0]\n";
- while (<PREFS>) {
- 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 (<DATA>) {
- 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
-
diff --git a/util/lg/Makefile.in b/util/lg/Makefile.in
deleted file mode 100644
index 54b42a6..0000000
--- a/util/lg/Makefile.in
+++ /dev/null
@@ -1,43 +0,0 @@
-PREFIX = @prefix@
-
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-
-UTIL_LG_PROGS = @RD_UTIL_LG_PROGS@
-
-DISTDIR=../$(distdir)/lg
-
-all:
-
-install: all
- for file in $(UTIL_LG_PROGS) ; do \
- $(INSTALL) $$file $(PREFIX)/util/lg; \
- done; \
- if test -f $(PREFIX)/util/lg/lg.conf ; then \
- echo "WARNING: *** $(PREFIX)/util/lg/lg.conf exists: installing as lg.conf.new."; \
- echo " *** review lg.conf.new for new/deprecated switches"; \
- $(INSTALL_DATA) lg.conf $(PREFIX)/util/lg/lg.conf.new; \
- else \
- $(INSTALL_DATA) lg.conf $(PREFIX)/util/lg; \
- fi; \
- for file in *README* *.html; do \
- $(INSTALL_DATA) $$file $(PREFIX)/util/lg; \
- done
-
-clean:
-
-distclean: clean
- rm -f Makefile $(UTIL_LG_PROGS) lg.conf
- rm -f config.log config.status
-
-distdir:
- test -d $(DISTDIR) \
- || mkdir $(DISTDIR) \
- || exit 1; \
- chmod 777 $(DISTDIR); \
- for file in Makefile.in configure.in *README* *.html lg.conf.in ; do \
- $(INSTALL_DATA) $$file $(DISTDIR); \
- done; \
- for file in configure $(UTIL_LG_PROGS:=.in) ; do \
- $(INSTALL) $$file $(DISTDIR); \
- done
diff --git a/util/lg/README b/util/lg/README
deleted file mode 100644
index faa4120..0000000
--- a/util/lg/README
+++ /dev/null
@@ -1,76 +0,0 @@
-This is a looking glass based on Ed Kern's which used to be available on
-http://nitrous.digex.net/. This version supports cisco, juniper, and
-foundry, using rancid's [cfj]login to login (so rcmd is not necessary,
-it can use telnet, ssh, or rsh), and has some additional commands
-implemented. There are a few cisco commands where either no juniper or
-foundry equivalent exists or we have not had time to implement yet.
-
-packing list:
-README This file.
-index.html often the default document the server will load, contains
- an html redirect to load lgform.cgi
-lg.conf looking glass configuration file
-lg.cgi work horse of the looking glass
-lgform.cgi front-end form for the looking glass engine
-lgnotes.html user info for the looking glass
-
-the looking glass requires the CGI and LockFile-Simple perl modules.
-these can be retrieved from CPAN, http://www.cpan.org/. CGI's home is
-ftp://ftp-genome.wi.mit.edu/pub/software/WWW/. it also requires
-the POSIX module (for strftime) and Sys::Syslog, which i believe come
-with perl5 and/or are converted with h2ph(1).
-
-basic installation instructions:
-
-The configure and make install process will make variable substitutions
-and install bits in /usr/local/rancid/util/lg (or <prefix>/util/lg).
-
-1) make the scripts/html available to your server (httpd) by
- creating a directory in your server's document root directory
- (apache's httpd.conf "DocumentRoot" variable).
- eg: assuming the default in freebsd's apache pkg
- mkdir /usr/local/www/data/lg
-
- then either:
- - copy the files {lgnotes.html, lg.cgi, lgform.cgi} to
- /usr/local/www/data/lg
- OR
- - create symlinks from /usr/local/www/data/lg to each of {lgnotes.html,
- lg.cgi, lgform.cgi} in /usr/local/rancid/util/lg
-
- note on links: if you use symlinks, you have to configure apache to
- allow following symlinks. eg:
- % cat /usr/local/www/data/lg/.htaccess
- Options FollowSymLinks ExecCGI
-
- note on index.html: index.html is typically the default file loaded
- when a url ends with a '/'. index.html can be used to redirect this
- to lgform.cgi using a netscape meta refresh. Though this is supported
- by many browsers, it is supposedly netscape specific and non-standard.
- In apache, the same thing can be acheived by altering the default
- directory index like this:
-
- % cat /usr/local/www/data/lg/.htaccess
- DirectoryIndex lgform.cgi
-
-2) the LG needs to be able to find and read lg.conf. by default this
- is installed as <PREFIX>/util/lg/lg.conf and the LG will first look in
- its CWD (current working directory) and then <PREFIX>/util/lg/lg.conf if
- it does not exist in the CWD. However the LG_CONF environment variable can
- be used to move it elsewhere.
-
- to get LG_CONF into the enviroment, you can use SetEnvIf in apache's
- httpd.conf. for example:
- SetEnvIf Request_URI "\/lg/.*.cgi" LG_CONF=/usr/local/util/lg/lg.conf
-
-3) edit <PREFIX>/util/lg/lg.conf.
-
-4) set-up cron jobs to rotate the log file and clean out old cache files.
- see LG_CACHE_DIR & LG_LOG in lg.conf. something like (YMMV):
-
- # rotate lookingglass log
- #0 0 * * * cd /usr/local/www/data/lg/tmp; /usr/local/etc/savelog -m 666 -c14 lg.log
- 0 0 * * * cd /usr/local/www/data/lg/tmp; /bin/mv lg.log lg.log.0
- # clean out the lookingglass cache
- 0 0 * * * cd /usr/local/www/data/lg/tmp; /usr/local/bin/find . -type f -maxdepth 1 \( \! -name lg.log\* \) -mtime +1 -exec rm -f {} \;
-
diff --git a/util/lg/configure b/util/lg/configure
deleted file mode 100755
index e41f619..0000000
--- a/util/lg/configure
+++ /dev/null
@@ -1,991 +0,0 @@
-#! /bin/sh
-
-# Guess values for system-dependent variables and create Makefiles.
-# Generated automatically using autoconf version 2.13
-# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
-#
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-
-# Defaults:
-ac_help=
-ac_default_prefix=/usr/local
-# Any additions from configure.in:
-ac_default_prefix=/usr/local/rancid
-
-# Initialize some variables set by options.
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-build=NONE
-cache_file=./config.cache
-exec_prefix=NONE
-host=NONE
-no_create=
-nonopt=NONE
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-target=NONE
-verbose=
-x_includes=NONE
-x_libraries=NONE
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datadir='${prefix}/share'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-libdir='${exec_prefix}/lib'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-infodir='${prefix}/info'
-mandir='${prefix}/man'
-
-# Initialize some other variables.
-subdirs=
-MFLAGS= MAKEFLAGS=
-SHELL=${CONFIG_SHELL-/bin/sh}
-# Maximum number of lines to put in a shell here document.
-ac_max_here_lines=12
-
-ac_prev=
-for ac_option
-do
-
- # If the previous option needs an argument, assign it.
- if test -n "$ac_prev"; then
- eval "$ac_prev=\$ac_option"
- ac_prev=
- continue
- fi
-
- case "$ac_option" in
- -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
- *) ac_optarg= ;;
- esac
-
- # Accept the important Cygnus configure options, so we can diagnose typos.
-
- case "$ac_option" in
-
- -bindir | --bindir | --bindi | --bind | --bin | --bi)
- ac_prev=bindir ;;
- -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
- bindir="$ac_optarg" ;;
-
- -build | --build | --buil | --bui | --bu)
- ac_prev=build ;;
- -build=* | --build=* | --buil=* | --bui=* | --bu=*)
- build="$ac_optarg" ;;
-
- -cache-file | --cache-file | --cache-fil | --cache-fi \
- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
- ac_prev=cache_file ;;
- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
- cache_file="$ac_optarg" ;;
-
- -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
- ac_prev=datadir ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
- | --da=*)
- datadir="$ac_optarg" ;;
-
- -disable-* | --disable-*)
- ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
- { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
- fi
- ac_feature=`echo $ac_feature| sed 's/-/_/g'`
- eval "enable_${ac_feature}=no" ;;
-
- -enable-* | --enable-*)
- ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
- { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
- fi
- ac_feature=`echo $ac_feature| sed 's/-/_/g'`
- case "$ac_option" in
- *=*) ;;
- *) ac_optarg=yes ;;
- esac
- eval "enable_${ac_feature}='$ac_optarg'" ;;
-
- -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
- | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
- | --exec | --exe | --ex)
- ac_prev=exec_prefix ;;
- -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
- | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
- | --exec=* | --exe=* | --ex=*)
- exec_prefix="$ac_optarg" ;;
-
- -gas | --gas | --ga | --g)
- # Obsolete; use --with-gas.
- with_gas=yes ;;
-
- -help | --help | --hel | --he)
- # Omit some internal or obsolete options to make the list less imposing.
- # This message is too long to be a string in the A/UX 3.1 sh.
- cat << EOF
-Usage: configure [options] [host]
-Options: [defaults in brackets after descriptions]
-Configuration:
- --cache-file=FILE cache test results in FILE
- --help print this message
- --no-create do not create output files
- --quiet, --silent do not print \`checking...' messages
- --version print the version of autoconf that created configure
-Directory and file names:
- --prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
- --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- [same as prefix]
- --bindir=DIR user executables in DIR [EPREFIX/bin]
- --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
- --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
- --datadir=DIR read-only architecture-independent data in DIR
- [PREFIX/share]
- --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data in DIR
- [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
- --libdir=DIR object code libraries in DIR [EPREFIX/lib]
- --includedir=DIR C header files in DIR [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
- --infodir=DIR info documentation in DIR [PREFIX/info]
- --mandir=DIR man documentation in DIR [PREFIX/man]
- --srcdir=DIR find the sources in DIR [configure dir or ..]
- --program-prefix=PREFIX prepend PREFIX to installed program names
- --program-suffix=SUFFIX append SUFFIX to installed program names
- --program-transform-name=PROGRAM
- run sed PROGRAM on installed program names
-EOF
- cat << EOF
-Host type:
- --build=BUILD configure for building on BUILD [BUILD=HOST]
- --host=HOST configure for HOST [guessed]
- --target=TARGET configure for TARGET [TARGET=HOST]
-Features and packages:
- --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
- --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
- --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
- --x-includes=DIR X include files are in DIR
- --x-libraries=DIR X library files are in DIR
-EOF
- if test -n "$ac_help"; then
- echo "--enable and --with options recognized:$ac_help"
- fi
- exit 0 ;;
-
- -host | --host | --hos | --ho)
- ac_prev=host ;;
- -host=* | --host=* | --hos=* | --ho=*)
- host="$ac_optarg" ;;
-
- -includedir | --includedir | --includedi | --included | --include \
- | --includ | --inclu | --incl | --inc)
- ac_prev=includedir ;;
- -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
- | --includ=* | --inclu=* | --incl=* | --inc=*)
- includedir="$ac_optarg" ;;
-
- -infodir | --infodir | --infodi | --infod | --info | --inf)
- ac_prev=infodir ;;
- -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
- infodir="$ac_optarg" ;;
-
- -libdir | --libdir | --libdi | --libd)
- ac_prev=libdir ;;
- -libdir=* | --libdir=* | --libdi=* | --libd=*)
- libdir="$ac_optarg" ;;
-
- -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
- | --libexe | --libex | --libe)
- ac_prev=libexecdir ;;
- -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
- | --libexe=* | --libex=* | --libe=*)
- libexecdir="$ac_optarg" ;;
-
- -localstatedir | --localstatedir | --localstatedi | --localstated \
- | --localstate | --localstat | --localsta | --localst \
- | --locals | --local | --loca | --loc | --lo)
- ac_prev=localstatedir ;;
- -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* \
- | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
- localstatedir="$ac_optarg" ;;
-
- -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
- ac_prev=mandir ;;
- -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
- mandir="$ac_optarg" ;;
-
- -nfp | --nfp | --nf)
- # Obsolete; use --without-fp.
- with_fp=no ;;
-
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c)
- no_create=yes ;;
-
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
- no_recursion=yes ;;
-
- -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
- | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
- | --oldin | --oldi | --old | --ol | --o)
- ac_prev=oldincludedir ;;
- -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
- | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
- | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
- oldincludedir="$ac_optarg" ;;
-
- -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
- ac_prev=prefix ;;
- -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
- prefix="$ac_optarg" ;;
-
- -program-prefix | --program-prefix | --program-prefi | --program-pref \
- | --program-pre | --program-pr | --program-p)
- ac_prev=program_prefix ;;
- -program-prefix=* | --program-prefix=* | --program-prefi=* \
- | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
- program_prefix="$ac_optarg" ;;
-
- -program-suffix | --program-suffix | --program-suffi | --program-suff \
- | --program-suf | --program-su | --program-s)
- ac_prev=program_suffix ;;
- -program-suffix=* | --program-suffix=* | --program-suffi=* \
- | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
- program_suffix="$ac_optarg" ;;
-
- -program-transform-name | --program-transform-name \
- | --program-transform-nam | --program-transform-na \
- | --program-transform-n | --program-transform- \
- | --program-transform | --program-transfor \
- | --program-transfo | --program-transf \
- | --program-trans | --program-tran \
- | --progr-tra | --program-tr | --program-t)
- ac_prev=program_transform_name ;;
- -program-transform-name=* | --program-transform-name=* \
- | --program-transform-nam=* | --program-transform-na=* \
- | --program-transform-n=* | --program-transform-=* \
- | --program-transform=* | --program-transfor=* \
- | --program-transfo=* | --program-transf=* \
- | --program-trans=* | --program-tran=* \
- | --progr-tra=* | --program-tr=* | --program-t=*)
- program_transform_name="$ac_optarg" ;;
-
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- silent=yes ;;
-
- -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
- ac_prev=sbindir ;;
- -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
- | --sbi=* | --sb=*)
- sbindir="$ac_optarg" ;;
-
- -sharedstatedir | --sharedstatedir | --sharedstatedi \
- | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
- | --sharedst | --shareds | --shared | --share | --shar \
- | --sha | --sh)
- ac_prev=sharedstatedir ;;
- -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
- | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
- | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
- | --sha=* | --sh=*)
- sharedstatedir="$ac_optarg" ;;
-
- -site | --site | --sit)
- ac_prev=site ;;
- -site=* | --site=* | --sit=*)
- site="$ac_optarg" ;;
-
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- srcdir="$ac_optarg" ;;
-
- -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
- | --syscon | --sysco | --sysc | --sys | --sy)
- ac_prev=sysconfdir ;;
- -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
- | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
- sysconfdir="$ac_optarg" ;;
-
- -target | --target | --targe | --targ | --tar | --ta | --t)
- ac_prev=target ;;
- -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
- target="$ac_optarg" ;;
-
- -v | -verbose | --verbose | --verbos | --verbo | --verb)
- verbose=yes ;;
-
- -version | --version | --versio | --versi | --vers)
- echo "configure generated by autoconf version 2.13"
- exit 0 ;;
-
- -with-* | --with-*)
- ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
- { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
- fi
- ac_package=`echo $ac_package| sed 's/-/_/g'`
- case "$ac_option" in
- *=*) ;;
- *) ac_optarg=yes ;;
- esac
- eval "with_${ac_package}='$ac_optarg'" ;;
-
- -without-* | --without-*)
- ac_package=`echo $ac_option|sed -e 's/-*without-//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
- { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
- fi
- ac_package=`echo $ac_package| sed 's/-/_/g'`
- eval "with_${ac_package}=no" ;;
-
- --x)
- # Obsolete; use --with-x.
- with_x=yes ;;
-
- -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
- | --x-incl | --x-inc | --x-in | --x-i)
- ac_prev=x_includes ;;
- -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
- | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
- x_includes="$ac_optarg" ;;
-
- -x-libraries | --x-libraries | --x-librarie | --x-librari \
- | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
- ac_prev=x_libraries ;;
- -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
- | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
- x_libraries="$ac_optarg" ;;
-
- -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
- ;;
-
- *)
- if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
- echo "configure: warning: $ac_option: invalid host type" 1>&2
- fi
- if test "x$nonopt" != xNONE; then
- { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
- fi
- nonopt="$ac_option"
- ;;
-
- esac
-done
-
-if test -n "$ac_prev"; then
- { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
-fi
-
-trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
-
-# File descriptor usage:
-# 0 standard input
-# 1 file creation
-# 2 errors and warnings
-# 3 some systems may open it to /dev/tty
-# 4 used on the Kubota Titan
-# 6 checking for... messages and results
-# 5 compiler messages saved in config.log
-if test "$silent" = yes; then
- exec 6>/dev/null
-else
- exec 6>&1
-fi
-exec 5>./config.log
-
-echo "\
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-" 1>&5
-
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Also quote any args containing shell metacharacters.
-ac_configure_args=
-for ac_arg
-do
- case "$ac_arg" in
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c) ;;
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
- ac_configure_args="$ac_configure_args '$ac_arg'" ;;
- *) ac_configure_args="$ac_configure_args $ac_arg" ;;
- esac
-done
-
-# NLS nuisances.
-# Only set these to C if already set. These must not be set unconditionally
-# because not all systems understand e.g. LANG=C (notably SCO).
-# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
-# Non-C LC_CTYPE values break the ctype check.
-if test "${LANG+set}" = set; then LANG=C; export LANG; fi
-if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
-if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
-if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -rf conftest* confdefs.h
-# AIX cpp loses on an empty file, so make sure it contains at least a newline.
-echo > confdefs.h
-
-# A filename unique to this package, relative to the directory that
-# configure is in, which we can look for to find out if srcdir is correct.
-ac_unique_file=
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
- ac_srcdir_defaulted=yes
- # Try the directory containing this script, then its parent.
- ac_prog=$0
- ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
- test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
- srcdir=$ac_confdir
- if test ! -r $srcdir/$ac_unique_file; then
- srcdir=..
- fi
-else
- ac_srcdir_defaulted=no
-fi
-if test ! -r $srcdir/$ac_unique_file; then
- if test "$ac_srcdir_defaulted" = yes; then
- { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
- else
- { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
- fi
-fi
-srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
-
-# Prefer explicitly selected file to automatically selected ones.
-if test -z "$CONFIG_SITE"; then
- if test "x$prefix" != xNONE; then
- CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
- else
- CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
- fi
-fi
-for ac_site_file in $CONFIG_SITE; do
- if test -r "$ac_site_file"; then
- echo "loading site script $ac_site_file"
- . "$ac_site_file"
- fi
-done
-
-if test -r "$cache_file"; then
- echo "loading cache $cache_file"
- . $cache_file
-else
- echo "creating cache $cache_file"
- > $cache_file
-fi
-
-ac_ext=c
-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-cross_compiling=$ac_cv_prog_cc_cross
-
-ac_exeext=
-ac_objext=o
-if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
- # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
- if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
- ac_n= ac_c='
-' ac_t=' '
- else
- ac_n=-n ac_c= ac_t=
- fi
-else
- ac_n= ac_c='\c' ac_t=
-fi
-
-
-
-ac_aux_dir=
-for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do
- if test -f $ac_dir/install-sh; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install-sh -c"
- break
- elif test -f $ac_dir/install.sh; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install.sh -c"
- break
- fi
-done
-if test -z "$ac_aux_dir"; then
- { echo "configure: error: can not find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." 1>&2; exit 1; }
-fi
-ac_config_guess=$ac_aux_dir/config.guess
-ac_config_sub=$ac_aux_dir/config.sub
-ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
-
-subdirs="lg"
-
-
-
-
-# Find a good install program. We prefer a C program (faster),
-# so one script is as good as another. But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# ./install, which can be erroneously created by make from ./install.sh.
-echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:563: checking for a BSD compatible install" >&5
-if test -z "$INSTALL"; then
-if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
- for ac_dir in $PATH; do
- # Account for people who put trailing slashes in PATH elements.
- case "$ac_dir/" in
- /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
- *)
- # OSF1 and SCO ODT 3.0 have their own names for install.
- # Don't use installbsd from OSF since it installs stuff as root
- # by default.
- for ac_prog in ginstall scoinst install; do
- if test -f $ac_dir/$ac_prog; then
- if test $ac_prog = install &&
- grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
- # AIX install. It has an incompatible calling convention.
- :
- else
- ac_cv_path_install="$ac_dir/$ac_prog -c"
- break 2
- fi
- fi
- done
- ;;
- esac
- done
- IFS="$ac_save_IFS"
-
-fi
- if test "${ac_cv_path_install+set}" = set; then
- INSTALL="$ac_cv_path_install"
- else
- # As a last resort, use the slow shell script. We don't cache a
- # path for INSTALL within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the path is relative.
- INSTALL="$ac_install_sh"
- fi
-fi
-echo "$ac_t""$INSTALL" 1>&6
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-
-RD_UTIL_LG_PROGS=$rd_cv_rd_util_lg_progs
-
-
-PERLV_PATH=$ac_cv_path_PERLV_PATH
-
-
-LG_PING_CMD=$rd_cv_lg_ping_cmd
-
-
-ENV_PATH=$ac_cv_env_path
-
-
-trap '' 1 2 15
-cat > confcache <<\EOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs. It is not useful on other systems.
-# If it contains results you don't want to keep, you may remove or edit it.
-#
-# By default, configure uses ./config.cache as the cache file,
-# creating it if it does not exist already. You can give configure
-# the --cache-file=FILE option to use a different cache file; that is
-# what configure does when it calls configure scripts in
-# subdirectories, so they share the cache.
-# Giving --cache-file=/dev/null disables caching, for debugging configure.
-# config.status only pays attention to the cache file if you give it the
-# --recheck option to rerun configure.
-#
-EOF
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, don't put newlines in cache variables' values.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(set) 2>&1 |
- case `(ac_space=' '; set | grep ac_space) 2>&1` in
- *ac_space=\ *)
- # `set' does not quote correctly, so add quotes (double-quote substitution
- # turns \\\\ into \\, and sed turns \\ into \).
- sed -n \
- -e "s/'/'\\\\''/g" \
- -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
- ;;
- *)
- # `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
- ;;
- esac >> confcache
-if cmp -s $cache_file confcache; then
- :
-else
- if test -w $cache_file; then
- echo "updating cache $cache_file"
- cat confcache > $cache_file
- else
- echo "not updating unwritable cache $cache_file"
- fi
-fi
-rm -f confcache
-
-trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-# Any assignment to VPATH causes Sun make to only execute
-# the first set of double-colon rules, so remove it if not needed.
-# If there is a colon in the path, we need to keep it.
-if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
-fi
-
-trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
-
-# Transform confdefs.h into DEFS.
-# Protect against shell expansion while executing Makefile rules.
-# Protect against Makefile macro expansion.
-cat > conftest.defs <<\EOF
-s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g
-s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g
-s%\[%\\&%g
-s%\]%\\&%g
-s%\$%$$%g
-EOF
-DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '`
-rm -f conftest.defs
-
-
-# Without the "./", some shells look in PATH for config.status.
-: ${CONFIG_STATUS=./config.status}
-
-echo creating $CONFIG_STATUS
-rm -f $CONFIG_STATUS
-cat > $CONFIG_STATUS <<EOF
-#! /bin/sh
-# Generated automatically by configure.
-# Run this file to recreate the current configuration.
-# This directory was configured as follows,
-# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-#
-# $0 $ac_configure_args
-#
-# Compiler output produced by configure, useful for debugging
-# configure, is in ./config.log if it exists.
-
-ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
-for ac_option
-do
- case "\$ac_option" in
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
- exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
- -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
- echo "$CONFIG_STATUS generated by autoconf version 2.13"
- exit 0 ;;
- -help | --help | --hel | --he | --h)
- echo "\$ac_cs_usage"; exit 0 ;;
- *) echo "\$ac_cs_usage"; exit 1 ;;
- esac
-done
-
-ac_given_srcdir=$srcdir
-ac_given_INSTALL="$INSTALL"
-
-trap 'rm -fr `echo "Makefile lg.conf $RD_UTIL_LG_PROGS" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
-EOF
-cat >> $CONFIG_STATUS <<EOF
-
-# Protect against being on the right side of a sed subst in config.status.
-sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
- s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
-$ac_vpsub
-$extrasub
-s%@SHELL@%$SHELL%g
-s%@CFLAGS@%$CFLAGS%g
-s%@CPPFLAGS@%$CPPFLAGS%g
-s%@CXXFLAGS@%$CXXFLAGS%g
-s%@FFLAGS@%$FFLAGS%g
-s%@DEFS@%$DEFS%g
-s%@LDFLAGS@%$LDFLAGS%g
-s%@LIBS@%$LIBS%g
-s%@exec_prefix@%$exec_prefix%g
-s%@prefix@%$prefix%g
-s%@program_transform_name@%$program_transform_name%g
-s%@bindir@%$bindir%g
-s%@sbindir@%$sbindir%g
-s%@libexecdir@%$libexecdir%g
-s%@datadir@%$datadir%g
-s%@sysconfdir@%$sysconfdir%g
-s%@sharedstatedir@%$sharedstatedir%g
-s%@localstatedir@%$localstatedir%g
-s%@libdir@%$libdir%g
-s%@includedir@%$includedir%g
-s%@oldincludedir@%$oldincludedir%g
-s%@infodir@%$infodir%g
-s%@mandir@%$mandir%g
-s%@subdirs@%$subdirs%g
-s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
-s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
-s%@INSTALL_DATA@%$INSTALL_DATA%g
-s%@RD_UTIL_LG_PROGS@%$RD_UTIL_LG_PROGS%g
-s%@PERLV_PATH@%$PERLV_PATH%g
-s%@LG_PING_CMD@%$LG_PING_CMD%g
-s%@ENV_PATH@%$ENV_PATH%g
-
-CEOF
-EOF
-
-cat >> $CONFIG_STATUS <<\EOF
-
-# Split the substitutions into bite-sized pieces for seds with
-# small command number limits, like on Digital OSF/1 and HP-UX.
-ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
-ac_file=1 # Number of current file.
-ac_beg=1 # First line for current file.
-ac_end=$ac_max_sed_cmds # Line after last line for current file.
-ac_more_lines=:
-ac_sed_cmds=""
-while $ac_more_lines; do
- if test $ac_beg -gt 1; then
- sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
- else
- sed "${ac_end}q" conftest.subs > conftest.s$ac_file
- fi
- if test ! -s conftest.s$ac_file; then
- ac_more_lines=false
- rm -f conftest.s$ac_file
- else
- if test -z "$ac_sed_cmds"; then
- ac_sed_cmds="sed -f conftest.s$ac_file"
- else
- ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
- fi
- ac_file=`expr $ac_file + 1`
- ac_beg=$ac_end
- ac_end=`expr $ac_end + $ac_max_sed_cmds`
- fi
-done
-if test -z "$ac_sed_cmds"; then
- ac_sed_cmds=cat
-fi
-EOF
-
-cat >> $CONFIG_STATUS <<EOF
-
-CONFIG_FILES=\${CONFIG_FILES-"Makefile lg.conf $RD_UTIL_LG_PROGS"}
-EOF
-cat >> $CONFIG_STATUS <<\EOF
-for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
- case "$ac_file" in
- *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
- ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
- *) ac_file_in="${ac_file}.in" ;;
- esac
-
- # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
-
- # Remove last slash and all that follows it. Not all systems have dirname.
- ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
- if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
- # The file is in a subdirectory.
- test ! -d "$ac_dir" && mkdir "$ac_dir"
- ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
- # A "../" for each directory in $ac_dir_suffix.
- ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
- else
- ac_dir_suffix= ac_dots=
- fi
-
- case "$ac_given_srcdir" in
- .) srcdir=.
- if test -z "$ac_dots"; then top_srcdir=.
- else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
- /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
- *) # Relative path.
- srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
- top_srcdir="$ac_dots$ac_given_srcdir" ;;
- esac
-
- case "$ac_given_INSTALL" in
- [/$]*) INSTALL="$ac_given_INSTALL" ;;
- *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
- esac
-
- echo creating "$ac_file"
- rm -f "$ac_file"
- configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
- case "$ac_file" in
- *Makefile*) ac_comsub="1i\\
-# $configure_input" ;;
- *) ac_comsub= ;;
- esac
-
- ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
- sed -e "$ac_comsub
-s%@configure_input@%$configure_input%g
-s%@srcdir@%$srcdir%g
-s%@top_srcdir@%$top_srcdir%g
-s%@INSTALL@%$INSTALL%g
-" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
-fi; done
-rm -f conftest.s*
-
-EOF
-cat >> $CONFIG_STATUS <<EOF
-
-EOF
-cat >> $CONFIG_STATUS <<\EOF
-
-exit 0
-EOF
-chmod +x $CONFIG_STATUS
-rm -fr confdefs* $ac_clean_files
-test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
-
-if test "$no_recursion" != yes; then
-
- # Remove --cache-file and --srcdir arguments so they do not pile up.
- ac_sub_configure_args=
- ac_prev=
- for ac_arg in $ac_configure_args; do
- if test -n "$ac_prev"; then
- ac_prev=
- continue
- fi
- case "$ac_arg" in
- -cache-file | --cache-file | --cache-fil | --cache-fi \
- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
- ac_prev=cache_file ;;
- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
- ;;
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- ;;
- *) ac_sub_configure_args="$ac_sub_configure_args $ac_arg" ;;
- esac
- done
-
- for ac_config_dir in lg; do
-
- # Do not complain, so a configure script can configure whichever
- # parts of a large source tree are present.
- if test ! -d $srcdir/$ac_config_dir; then
- continue
- fi
-
- echo configuring in $ac_config_dir
-
- case "$srcdir" in
- .) ;;
- *)
- if test -d ./$ac_config_dir || mkdir ./$ac_config_dir; then :;
- else
- { echo "configure: error: can not create `pwd`/$ac_config_dir" 1>&2; exit 1; }
- fi
- ;;
- esac
-
- ac_popdir=`pwd`
- cd $ac_config_dir
-
- # A "../" for each directory in /$ac_config_dir.
- ac_dots=`echo $ac_config_dir|sed -e 's%^\./%%' -e 's%[^/]$%&/%' -e 's%[^/]*/%../%g'`
-
- case "$srcdir" in
- .) # No --srcdir option. We are building in place.
- ac_sub_srcdir=$srcdir ;;
- /*) # Absolute path.
- ac_sub_srcdir=$srcdir/$ac_config_dir ;;
- *) # Relative path.
- ac_sub_srcdir=$ac_dots$srcdir/$ac_config_dir ;;
- esac
-
- # Check for guested configure; otherwise get Cygnus style configure.
- if test -f $ac_sub_srcdir/configure; then
- ac_sub_configure=$ac_sub_srcdir/configure
- elif test -f $ac_sub_srcdir/configure.in; then
- ac_sub_configure=$ac_configure
- else
- echo "configure: warning: no configuration information is in $ac_config_dir" 1>&2
- ac_sub_configure=
- fi
-
- # The recursion is here.
- if test -n "$ac_sub_configure"; then
-
- # Make the cache file name correct relative to the subdirectory.
- case "$cache_file" in
- /*) ac_sub_cache_file=$cache_file ;;
- *) # Relative path.
- ac_sub_cache_file="$ac_dots$cache_file" ;;
- esac
- case "$ac_given_INSTALL" in
- [/$]*) INSTALL="$ac_given_INSTALL" ;;
- *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
- esac
-
- echo "running ${CONFIG_SHELL-/bin/sh} $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_sub_srcdir"
- # The eval makes quoting arguments work.
- if eval ${CONFIG_SHELL-/bin/sh} $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_sub_srcdir
- then :
- else
- { echo "configure: error: $ac_sub_configure failed for $ac_config_dir" 1>&2; exit 1; }
- fi
- fi
-
- cd $ac_popdir
- done
-fi
-
-
-# fix permissions on scripts.
-for file in $RD_UTIL_LG_PROGS; do chmod a+x $file; done
diff --git a/util/lg/configure.in b/util/lg/configure.in
deleted file mode 100644
index 445b74d..0000000
--- a/util/lg/configure.in
+++ /dev/null
@@ -1,27 +0,0 @@
-dnl Process this file with autoconf to produce a configure script.
-AC_INIT()
-
-AC_CONFIG_SUBDIRS(lg)
-
-dnl default install location
-AC_PREFIX_DEFAULT(/usr/local/rancid)
-
-dnl install program(s)
-AC_PROG_INSTALL
-
-RD_UTIL_LG_PROGS=$rd_cv_rd_util_lg_progs
-AC_SUBST(RD_UTIL_LG_PROGS)
-
-PERLV_PATH=$ac_cv_path_PERLV_PATH
-AC_SUBST(PERLV_PATH)
-
-LG_PING_CMD=$rd_cv_lg_ping_cmd
-AC_SUBST(LG_PING_CMD)
-
-ENV_PATH=$ac_cv_env_path
-AC_SUBST(ENV_PATH)
-
-AC_OUTPUT(Makefile lg.conf $RD_UTIL_LG_PROGS)
-
-# fix permissions on scripts.
-for file in $RD_UTIL_LG_PROGS; do chmod a+x $file; done
diff --git a/util/lg/index.html b/util/lg/index.html
deleted file mode 100644
index 0087a90..0000000
--- a/util/lg/index.html
+++ /dev/null
@@ -1,9 +0,0 @@
-<!--
- this is just a redirection page to load lg.cgi - is there a way to
- make the server load a .cgi as it's default document?
- this can also be done with a redirect (which is supposedly more universally
- supported. something like <redirect URL=lgform.cgi>. not sure...i'm not
- a web person. but this works for netscape.
--->
-
-<meta http-equiv=Refresh content="0; URL=lgform.cgi">
diff --git a/util/lg/lg.cgi.in b/util/lg/lg.cgi.in
deleted file mode 100755
index 2921f72..0000000
--- a/util/lg/lg.cgi.in
+++ /dev/null
@@ -1,783 +0,0 @@
-#!@PERLV_PATH@
-## The original original lookingglass s/w was written by Ed Kern. it
-## is a single script and used to be available at http://nitrous.digex.net/
-#
-## Copyright (C) 1997-2001 by Henry Kilmer.
-## All rights reserved.
-##
-## This software may be freely copied, modified and redistributed without
-## fee for non-commerical purposes provided that this copyright notice is
-## preserved intact on all copies and modified copies.
-##
-## There is no warranty or other guarantee of fitness of this software.
-## It is provided solely "as is". The author(s) disclaim(s) all
-## responsibility and liability with respect to this software's usage
-## or its effect upon hardware, computer systems, other software, or
-## anything else.
-#
-# Looking glass
-# vars: query, router, args
-
-BEGIN {
-$me = $0;
-$me =~ s/.*\/(\S+)$/$1/;
-}
-
-use CGI qw/:standard/;
-use POSIX qw(strftime);
-use Sys::Syslog;
-use LockFile::Simple qw(lock trylock unlock);
-
-my($BASEDIR) = "@prefix@";
-my($pingcmd) = "@LG_PING_CMD@";
-
-my($query, $max_time_diff, $cache_dir, $cloginrc, @results);
-my($type, $router_param, $remote_user, $arg, $router, $mfg);
-
-my($LG_CACHE_DIR, $LG_CLOGINRC, $LG_IMAGE, $LG_LOG, $LG_ROUTERDB, $LG_AS_REG);
-my($LG_BGP_RT, $LG_CACHE_TIME, $LG_SINGLE, $LG_STRIP);
-
-if (!defined($ENV{HOME})) { $ENV{HOME} = "."; }
-
-# note: the following functions are duplicated between lgform.cgi and lg.cgi
-# to avoid the need for module inclusion headaches from within a httpd context.
-# it is just easier to be self-contained.
-# SO, ANY CHANGES HERE SHOULD BE REFLECTED IN THE OTHER .cgi.
-
-# logging
-sub dolog
-{
- my($level, $msg) = @_;
-
- if (defined($LG_LOG) && $LG_LOG !~ /\//) {
- openlog($me, "pid", $LG_LOG);
- syslog($level, "%s", $msg);
- closelog;
- } else {
- local(*LOG);
- my($file);
- if (defined($LG_LOG)) {
- $file = $LG_LOG;
- } else {
- $file = "$cache_dir/lg.log";
- }
- # log date, hostname, query, addr
- if (open(LOG, ">>$file") == 0) {
- # stderr, if all else fails
- printf(STDERR "[" . strftime("%a %b %e %H:%M:%S %Y", gmtime) .
- "] could not open log file $file: $!\n");
- printf(STDERR $msg);
- } else {
- printf(LOG $msg);
- close(LOG);
- }
- }
- return;
-}
-# read LG configuration file
-sub readconf
-{
- my($conffile, $cmds);
- local(*CONF);
- if (defined($env{LG_CONF})) {
- $conffile = $env{LG_CONF};
- } elsif (-e "lg.conf") {
- $conffile = "lg.conf";
- } else {
- $conffile = "$BASEDIR/util/lg/lg.conf";
- }
-
- if (! -f $conffile) {
- return;
- }
-
- if (open(CONF, "< $conffile")) {
- while (<CONF>) {
- next if (/^\s*(#|$)/);
- $cmds .= $_;
- }
- close(CONF);
- eval $cmds;
- } else {
- printf(STDERR "ERROR: couldn\'t open the configuration file: $conffile: $!\n");
- exit(1);
- }
-
- return;
-}
-# read router.db file
-sub readrouters
-{
- my($rtrdb);
- local(*RTR);
-
- if (defined($LG_ROUTERDB)) {
- $rtrdb = $LG_ROUTERDB;
- } else {
- $rtrdb = "$BASEDIR/util/lg/router.db";
- }
-
- if (! -f $rtrdb) {
- my(@dirs, $dir);
- # if the router.db file does not exist, try to compile the list from
- # the rancid group router.db files.
- local(*DIR);
- if (! opendir(DIR, $BASEDIR)) {
- dolog(LOG_ERR, "ERROR: couldn\'t read $BASEDIR: $!\n");
- } else {
- while ($dir = readdir(DIR)) {
- next if ($dir =~ /^(\.|\.\.|CVS|bin|logs|util)$/);
- push(@dirs, $dir) if (-d "$BASEDIR/$dir");
- }
- closedir(DIR);
-
- foreach $dir (@dirs) {
- if (! opendir(DIR, "$BASEDIR/$dir")) {
- dolog(LOG_ERR, "ERROR: couldn\'t read $BASEDIR/$dir: $!\n");
- next;
- }
- closedir(DIR);
- next if (! -f "$BASEDIR/$dir/router.db");
- if (open(RTR, "< $BASEDIR/$dir/router.db")) {
- while (<RTR>) {
- next if (/^\s*(#|$)/);
- # fqdn:mfg:state
- @record = split('\:', $_);
- next if ($record[2] !~ /up/i || $record[1] !~ /(cisco|foundry|juniper)/);
- push(@rtrlist, join(':', ($record[0], $record[1])));
- $rtrlabels{join(':', ($record[0], $record[1]))} = $record[0];
- }
- close(RTR);
- } else {
- dolog(LOG_ERR, "ERROR: couldn\'t open the router.db file: $BASEDIR/$dir/router.db: $!\n");
- }
- }
- }
- } else {
- if (open(RTR, "< $rtrdb")) {
- while (<RTR>) {
- next if (/^\s*(#|$)/);
- # fqdn:mfg:state
- @record = split('\:', $_);
- next if ($record[2] !~ /up/i || $record[1] !~ /(cisco|foundry|juniper)/);
- push(@rtrlist, join(':', ($record[0], $record[1])));
- $rtrlabels{join(':', ($record[0], $record[1]))} = $record[0];
- }
- close(RTR);
- } else {
- dolog(LOG_ERR, "ERROR: couldn\'t open the router.db file: $rtrdb: $!\n");
- exit(1);
- }
- }
-
- return;
-}
-
-# the functions remaining are particular to lg.cgi.
-
-# return true if $router is a member of @rtrlist
-sub arraymember {
- my($rtrlist) = shift;
- my($router) = shift;
- my($r);
-
- foreach $r (@$rtrlist) {
- $r = (split(':', $r))[0];
- return(1) if ($r eq $router);
- }
-
- return(0);
-}
-# check reachability and lock file before attempting to connect to device
-# return non-zero on error.
-sub DoRsh
-{
- my ($router, $mfg, $cmd, $arg) = @_;
- my($ctime) = time();
- my($val);
-
- my($lckobj) = LockFile::Simple->make(-delay => $lock_int,
- -max => $max_lock_wait, -hold => $max_lock_hold);
-
- if ($pingcmd =~ /\d$/) {
- `$pingcmd $router`;
- } else {
- `$pingcmd $router 56 1`;
- }
- if ($?) {
- push(@results, "$router is unreachable. Try again later.\n");
- print @results;
- return(-1);
- }
- if (! $lckobj->lock("$cache_dir/$router")) {
- push(@results, "$router is busy. Try again later.\n");
- print @results;
- return(-1);
- }
- $val = &DoCmd($router, $mfg, $cmd, $arg);
- $lckobj->unlock("$cache_dir/$router");
- return ($val);
-}
-# run commands on the router. return non-zero on error.
-sub DoCmd
-{
- my($rtr, $mfg, $cmd, $arg) = @_;
- local(*CMD);
-
- if ($mfg =~ /foundry/i) {
- $cmd = $foundryCmd{$type};
- open(CMD, "sh -c \"flogin -f $cloginrc -c \'$cmd $arg\' $rtr\" 2>&1 |");
- } elsif ($mfg =~ /juniper/i) {
- $cmd = $juniperCmd{$type};
- open(CMD, "sh -c \"jlogin -f $cloginrc -c \'$cmd $arg\' $rtr\" 2>&1 |");
- } else {
- $cmd = $ciscoCmd{$type};
- open(CMD, "sh -c \"clogin -noenable -f $cloginrc -c \'$cmd $arg\' $rtr\" 2>&1 |");
- }
- while (<CMD>) {
- tr/\015//d;
- if (/^error:/i) {
- dolog(LOG_ERR, $_);
- if ($LG_STRIP) { undef(@results); }
- push(@results, $_);
- print @results;
- return(-1);
- }
- push(@results, $_);
- if (/$cmd/) {
- ($prompt) = /^(\S*)[\#>]/;
- if ($LG_STRIP) {
- undef(@results);
- } else {
- print @results;
- }
- last;
- }
- }
-
- while (<CMD>) {
- last if /^$prompt[\#>]/;
- tr/\015//d;
- print $_;
- push(@results, $_);
- }
- while (<CMD>) {}
- close(CMD);
-
- return(0);
-}
-# Subroutine: Error
-# Usage: &Error("msg"));
-# Description: displays an error and exits.
-##
-sub Error {
- my($msg) = @_;
-
- my($q) = new CGI();
- print $q->header;
- print $q->start_html("Looking Glass Error");
-
- print "<BODY>";
-
- # add the company image, LG_IMAGE
- print $LG_IMAGE;
-
-
- print <<EOF ;
-<br>
-<B><FONT SIZE=+2>Looking Glass Error:</FONT></B>
-<p>
-$msg
-<br>
-</body>
-EOF
-
- print $q->end_html;
- exit(0);
-}
-# convert a ipv4 address mask to prefix length
-sub mask2len {
- my($mask) = shift;
- my($a, $b, $c, $d) = split('\.', $mask);
- my($p, $len);
-
- $p = ~ (($a << 24) + ($b << 16) + ($c << 8) + $d);
- for ($len = 32; $p > 0; $len --) {
- $p = $p >> 1;
- }
-
- return($len);
-}
-# end the page and exit.
-sub end_page {
-
- print <<END ;
- </pre>
- <!--- end page content --->
- </body>
-END
-
- print $query->end_html;
- exit(0);
-}
-# start the page and log the transaction...
-sub start_page {
- my($mfg) = @_;
- my($cmd);
-
- my($timestr) = strftime("%a %b %e %H:%M:%S %Y", gmtime);
- dolog(LOG_INFO, sprintf("%s %s %s %s\n",
- $ENV{REMOTE_HOST}, $ENV{REMOTE_ADDR}, $ENV{REMOTE_USER},
- "- - [$timestr] $type $router $arg"));
- print $query->header;
- print $query->start_html("Looking Glass Results - $router");
-
- $timestr = strftime("%a %b %e %H:%M:%S %Y %Z", gmtime);
-
- # add the company image, LG_IMAGE
- print $LG_IMAGE;
-
- if ($mfg =~ /foundry/i) {
- $cmd = $foundryCmd{$type};
- } elsif ($mfg =~ /juniper/i) {
- $cmd = $juniperCmd{$type};
- } else {
- $cmd = $ciscoCmd{$type};
- }
-
- print <<HEAD ;
- </b></font>
- <font size=+3><b><h1>Looking Glass Results - $router
- </b></h1></font>
- <hr>
-
- <center>
- <b>Date:</b> $timestr
- <p>
- <b>Query:</b> $cmd
- <br>
-HEAD
-
- if ($arg) { print "<b>Argument(s):</b> $arg\n"; }
- print "</center>\n";
-
- print <<END ;
- <!--$cached-->
- </center>
- <p>
- <pre>
-END
-
- return;
-} #end sub start_page
-
-
-# Main()
-# read the configuration file if it exists.
-readconf();
-
-## The script will now cache the results as simple files in the $cache_dir,
-## named after the type of query (queries must, of course, be one word no
-## spaces). Modify $max_time_diff to set the lifetime for each cache.
-## Currently, cache lifetime is the same for all queries.
-# for most web servers, cache_dir must be writable by uid nobody
-if (defined($LG_CACHE_DIR)) {
- $cache_dir = $LG_CACHE_DIR;
-} else {
- $cache_dir = "./tmp";
-}
-
-# read routers table to get @rtrlist
-readrouters();
-
-# when to display cache? max time difference (in seconds)
-if (defined($LG_CACHE_TIME)) {
- $max_time_diff = $LG_CACHE_TIME;
-} else {
- $max_time_diff = "600" ;
-}
-
-# max seconds to wait for a 'router' lock to free up
-$max_lock_wait = 30;
-$lock_int = 5;
-$max_lock_hold = 300;
-
-# clogin setup
-if (defined($LG_CLOGINRC)) {
- $cloginrc = $LG_CLOGINRC;
-} else {
- $cloginrc = "$BASEDIR/.cloginrc";
-}
-
-$query = new CGI;
-
-# get form data and validate
-$type = ($query->param('query'))[0];
-$router_param = ($query->param('router'))[0];
-$remote_user = $ENV{REMOTE_USER};
-$arg = ($query->param('args'))[0];
-# handle multiple args
-$arg =~ s/["'`]//g; # these are BS in any arg for any query
-@arg = split(' ', $arg);
-
-# verify router, commands, arguments, etc.
-($router, $mfg) = split(':', $router_param);
-if (!defined($type) || !defined($router)) {
- $results[0] = "You must at least choose a Query and a router. Try buying a clue.\n";
- &Error("You must at least choose a Query and a router. Try buying a clue.\n");
-}
-
-if (! arraymember(\@rtrlist, $router)) {
- my($timestr) = strftime("%a %b %e %H:%M:%S %Y", gmtime);
- dolog(LOG_WARNING, sprintf("%s %s %s %s\n",
- $ENV{REMOTE_HOST}, $ENV{REMOTE_ADDR}, $ENV{REMOTE_USER},
- "- - [$timestr] lg.cgi: attempt to access $router\n"));
- Error("access to $router not permitted");
-}
-
-# conversion of command "type" passed from lgform.cgi to the vendor's syntax.
-%ciscoCmd = (
- #acl => "show access-list",
- #aspath => "show ip as-path-access-list",
- #communitylist => "show ip community-list",
- damp => "show ip bgp dampened-paths",
- framerelay => "show frame-relay pvc",
- interface => "show interface",
- intbrief => "show ip interface", # switch in {interface}
- log => "show logging",
- mbgp => "show ip mbgp",
- mbgpsum => "show ip mbgp summary",
- mneighbor => "show ip bgp neighbor",
- neighbor => "show ip bgp neighbor",
- regex => "show ip bgp regex",
- route => "show ip route",
- routemap => "show route-map",
- ping => "ping",
- prefix => "show ip bgp",
- prefixlist => "show ip prefix-list",
- summary => "show ip bgp summary",
- trace => "traceroute"
- );
-%foundryCmd = (
- #acl => "show access-list",
- #aspath => "show ip as-path-access-list",
- #communitylist => "show ip community-list",
- damp => "show ip bgp dampened-paths",
- #framerelay => "show frame-relay pvc", # no frame relay
- interface => "show interface",
- log => "show log",
- #mbgp => "show ip mbgp",
- #mbgpsum => "show bgp summary",
- #mneighbor => "show ip bgp neighbor",
- neighbor => "show ip bgp neighbor",
- #regex => "show ip bgp aspath-regex",
- route => "show ip route",
- routemap => "show route-map",
- ping => "ping",
- prefix => "show ip bgp",
- prefixlist => "show ip prefix-list",
- summary => "show ip bgp summary",
- trace => "traceroute"
- );
-%juniperCmd = (
- #acl => "show access-list",
- #aspath => "show ip as-path-access-list",
- #communitylist => "show ip community-list",
- damp => "show route damping suppressed terse table inet.0",
- framerelay => "show frame-relay pvc",
- interface => "show interface",
- log => "show log messages",
- mbgp => "show route table inet.2 terse",
- mbgpsum => "show bgp summary",
- mneighbor => "show bgp neighbor",
- neighbor => "show bgp neighbor",
- regex => "show route table inet.0 aspath-regex",
- route => "show route table inet.0 terse",
- routemap => "show policy",
- ping => "ping rapid count 5",
- prefix => "show route table inet.0",
- prefixlist => "show policy",
- summary => "show bgp summary",
- trace => "traceroute"
- );
-%cmdDisp = (
- #acl => "show access-list",
- #aspath => "show ip as-path-access-list",
- #communitylist => "show ip community-list",
- damp => "show ip bgp dampened-paths",
- framerelay => "show frame-relay pvc",
- interface => "show interface",
- log => "show logging",
- mbgp => "show ip mbgp",
- mbgpsum => "show ip mbgp summary",
- mneighbor => "show ip mbgp neighbor",
- neighbor => "show ip bgp neighbor",
- regex => "show ip bgp regex",
- route => "show ip route",
- routemap => "show route-map",
- ping => "ping",
- prefix => "show ip bgp",
- prefixlist => "show ip prefix-list",
- summary => "show ip bgp summary",
- trace => "traceroute"
- );
-
-# not all cmds/queries are implemented for junipers
-if ($mfg =~ /juniper/) {
- if (! defined($juniperCmd{$type})) {
- Error("$cmdDisp{$type} not implemented for junipers. sorry.\n");
- }
- $cmd = $juniperCmd{$type};
-} elsif ($mfg =~ /foundry/) {
- if(! defined($foundryCmd{$type})) {
- Error("$cmdDisp{$type} not implemented for foundrys. sorry.\n");
- }
- $cmd = $foundryCmd{$type};
-} else {
- if(! defined($ciscoCmd{$type})) {
- Error("$cmdDisp{$type} not implemented for cisco. sorry.\n");
- }
- $cmd = $ciscoCmd{$type};
-}
-
-if ($type eq "prefix" || $type eq "mbgp" || $type eq "route" ) {
- if ($arg[0] !~ /^\d+\.\d+\.\d+\.\d+$/) {
- &Error("The IP address \"$arg[0]\" is not valid and lacking an address would over-burden our router.\n");
- } elsif (defined($arg[1]) && $arg[1] !~ /^\d+\.\d+\.\d+\.\d+$/) {
- &Error("The IP netmask \"$arg[1]\" is not valid.\n");
- }
- if ($mfg =~ /juniper/i && defined($arg[1])) {
- $arg = $arg[0] . "/" . mask2len($arg[1]);
- }
-} elsif ($type eq "framerelay") {
- if ($mfg =~ /juniper/) {
- &Error("Juniper does not have a show frame-relay pvc command. " .
- "Use show interface.\n");
- }
- if ($arg[0] > 15 && $arg[0] < 1024) {
- $arg = $arg[0];
- } else {
- undef($arg);
- }
-} elsif ($type eq "interface") {
- if ($mfg =~ /(cisco|foundry)/) {
- if ($arg[0] !~ /^b[^ ]+[0-9]/i && $arg[0] =~ /^b/i) {
- $type = "intbrief";
- $arg = "brief";
- } else {
- $arg = $arg[0];
- }
- } elsif ($mfg =~ /juniper/) {
- my($optind) = 0;
- # arg 0 may be an intf name or a display option, but there can
- # only be 2 args
- $arg = "";
- while ($optind <= $#arg && $optind < 2) {
- $arg[$optind] =~ s/brief/terse/;
- if ($arg[$optind] =~ /^([a-z0-9]{2}\-\d+\/\d+\/\d+(:\d+)?)/i) {
- $arg .= " $1";
- } elsif ($arg[$optind] =~ /^det/i) {
- $arg .= " detail";
- } elsif ($arg[$optind] =~ /^ter/i) {
- $arg .= " terse";
- } elsif ($arg[$optind] =~ /^ext/i) {
- $arg .= " extensive";
- }
- $optind += 1;
- }
- }
-} elsif ($type eq "log") {
- if ($arg[0] =~ /^\s*\|?$/) {
- shift(@arg);
- }
- $arg[0] =~ s/^\s*\|?//;
- if ($arg[0] !~ /^\s*$/) {
- if ($mfg =~ /cisco/i) {
- $arg = " | include " . join(' ', @arg);
- } elsif ($mfg =~ /juniper/i) {
- $arg = " | match \"" . join(' ', @arg) . "\"";
- } else {
- undef($arg);
- }
- } else {
- undef($arg);
- }
-} elsif ($type eq "ping" || $type eq "trace") {
- if ($arg[0] !~ /^\d+\.\d+\.\d+\.\d+$/) {
- if ($arg[0] !~ /^[A-Za-z0-9._-]+$/) {
- &Error("That argument ($arg[0]) is not valid.\n");
- }
- }
- $arg = $arg[0];
-} elsif ($type eq "aspath" || $type eq "communitylist") {
- if ($arg[0] !~ /^\d+$/ || ($arg[0] < 1 && $arg[0] > 199)) {
- &Error("That argument ($arg[0]) is not valid.\n");
- }
- $arg = $arg[0];
-} elsif ($type eq "acl") {
- if ($arg[0] !~ /^\d+$/ || ($arg[0] < 100 && $arg[0] > 199) ||
- ($arg[0] < 1300 && $arg[0] > 2699)) {
- &Error("That argument ($arg[0]) is not valid.\n");
- }
- $arg = $arg[0];
- # don't show the jewels
- # XXX: this error msg is useless, but show acl is un-implemented.
- &Error($mfg) if ($arg == 98 || $arg == 99);
-} elsif ($type eq "prefixlist" || $type eq "routemap") {
- if ($arg[0] !~ /^[0-9A-Za-z][^\s\"]*$/) {
- &Error("That argument ($arg[0]) is not valid.\n");
- }
- $arg = $arg[0];
-} elsif ($type eq "regex") {
- $arg = $arg[0];
- if ($#arg >= 1) {
- for ($n = 1; $n <= $#arg; $n++) { $arg .= " " . $arg[$n]; }
- }
- # remove leading/trailing whitespace
- $arg =~ s/^\s*//; $arg =~ s/\s*$//;
- if ($arg !~ /^[0-9_ ^.*+?[\])\(-]*\$?$/ || $arg =~ /^\s*$/) {
- &Error("That argument ($arg[0]) is not valid.\n");
- }
- # pathetic excuses for lookups
- if ($arg =~ /^[_.* ^]*(\*|1|701|1239|1280|1740|3561|5462|10303)+[_\$]*$/ ||
- $arg =~ /^[_.* ^]*(1|701|1239|1280|1740|3561|5462|10303)+[_ .]*[\[*.]/) {
- &Error("Get real. Such a query has potential to over-burden our " .
- "router.\nLook that up on your own router.\n");
- }
- if ($mfg =~ /juniper/) {
- $arg =~ s/_/ /g;
- # pre-junos 4.4 do not allow anchors
- if ($arg =~ /\^\$/) {
- $arg =~ "()";
- } else {
- $arg =~ s/[\$^]/ /g;
- }
- $arg = "\"$arg\"";
- }
- # escape any ()s
- $arg =~ s/([\(\)])/\\$1/g;
-} elsif ($type eq "neighbor") {
- if ($arg[0] !~ /^\d+\.\d+\.\d+\.\d+$/) {
- if ($arg[0] !~ /([A-Za-z0-9-]*.)*[A-Za-z0-9-]*.(com|edu|net|org)/) {
- &Error("That argument ($arg[0]) is not valid.\n");
- }
- }
- $arg = $arg[0];
- if (defined($arg[1]) && $arg[1] =~ /^(a|ro|f|re)/) {
- if ($mfg =~ /juniper/) {
- if ($arg[1] =~ /^a/) {
- if (defined($LG_BGP_RT)) {
- $cmd = "show route table inet.0 all advertising-protocol ".
- "bgp";
- }
- } elsif ($arg[1] =~ /^f/) {
- if (defined($LG_BGP_RT)) {
- $cmd = "show route damping table inet.0 all ".
- "receive-protocol bgp";
- }
- } elsif ($arg[1] =~ /^r/) {
- if (defined($LG_BGP_RT)) {
- $cmd = "show route table inet.0 all receive-protocol bgp";
- }
- }
- } else {
- if ($arg[1] =~ /^a/) {
- if (defined($LG_BGP_RT)) { $arg .= " advertised-routes"; }
- } elsif ($arg[1] =~ /^f/) {
- $arg .= " flap-statistics";
- } elsif ($arg[1] =~ /^ro/) {
- if (defined($LG_BGP_RT)) { $arg .= " routes"; }
- } elsif ($arg[1] =~ /^re/) {
- if (defined($LG_BGP_RT)) { $arg .= " received-routes"; }
- }
- }
- }
-} elsif ($type eq "mneighbor") {
- if ($arg[0] !~ /^\d+\.\d+\.\d+\.\d+$/) {
- if ($arg[0] !~ /([A-Za-z0-9-]*.)*[A-Za-z0-9-]*.(com|edu|net|org)/) {
- &Error("That argument ($arg[0]) is not valid.\n");
- }
- }
- $arg = $arg[0];
- if (defined($arg[1]) && $arg[1] =~ /^(a|ro|f|re)/) {
- if ($mfg =~ /juniper/) {
- if ($arg[1] =~ /^a/) {
- $cmd .= " advertised-routes";
- } elsif ($arg[1] =~ /^f/) {
- $cmd .= " flap-statistics";
- } elsif ($arg[1] =~ /^ro/) {
- $cmd .= " routes";
- } elsif ($arg[1] =~ /^re/) {
- $cmd .= " received-routes";
- }
- } else {
- if ($arg[1] =~ /^a/) {
- $arg .= " advertised-routes";
- } elsif ($arg[1] =~ /^f/) {
- $arg .= " flap-statistics";
- } elsif ($arg[1] =~ /^ro/) {
- $arg .= " routes";
- } elsif ($arg[1] =~ /^re/) {
- $arg .= " received-routes";
- }
- }
- }
-} elsif ($type eq "damp" || $type eq "summary" || $type eq "mbgpsum") {
- undef($arg);
-}
-
-# make stdout unbuffered, so result page streams.
-$| = 1;
-start_page();
-
-# cache the following
-if ($type eq "summary" || $type eq "mbgpsu" || $type eq "damp"
- || $type eq "log") {
- if (!$arg) {
- # cache requests with no addr/argument
- local(*CACHE);
-
- my($file) = "$cache_dir/$type" ;
- $file =~ s/\s+/_/g;
- $file .= "_$router";
-
- if (-e $file) {
- # see if cache exists
- @stat = stat($file);
- $ftime = $stat[9];
- $dtime = time() - $stat[9];
-
- # see if we are within cache time
- if ($dtime <= $max_time_diff) {
- if (open(CACHE, "<$file") == 0) {
- dolog(LOG_ERR, "couldnt open cache file $file: $!\n");
- } else {
- print "<b>From cache (number of seconds old (max " .
- "$max_time_diff)):</b> $dtime\n\n";
- while (<CACHE>) { print $_; }
- close(CACHE);
- &end_page();
- }
- }
- }
-
- # else, execute command and save to a new cache file
- if (! &DoRsh($router, $mfg, $cmd, $arg)) {
- if (open(CACHE, ">$file") == 0) {
- dolog(LOG_ERR, "couldnt create cache file $file: $!\n");
- exit(1);
- } else {
- printf(CACHE "@results");
- close(CACHE);
- }
- }
- } else {
- &DoRsh($router, $mfg, $cmd, $arg);
- }
- &end_page();
-} else {
- &DoRsh($router, $mfg, $cmd, $arg);
- &end_page();
-}
-
-exit(0);
diff --git a/util/lg/lg.conf.in b/util/lg/lg.conf.in
deleted file mode 100644
index d13d9fd..0000000
--- a/util/lg/lg.conf.in
+++ /dev/null
@@ -1,105 +0,0 @@
-# configuration file for the looking glass
-#
-# note: these are perl statements! mind the syntax
-#
-# adjust the path to find [cfj]login, telnet, ssh, rsh, etc.
-#
-$ENV{PATH}="@prefix@/bin:@ENV_PATH@";
-#
-#
-# 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",
-# ie: relative to the directory where lg.cgi runs in your
-# server's (httpd) DocumentRoot (eg: /usr/local/www/data/lg/tmp).
-#
-#$LG_CACHE_DIR="./tmp";
-#
-#
-# LG_CLOGINRC is the .cloginrc that the LG should use. it defaults to
-# <prefix>/.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="@prefix@/.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.
-#
-#$LG_IMAGE="<img src=/icons/rancid.gif hspace=0>\n <font size=+2>FOO</font>";
-#$LG_IMAGE="<img src=rancid.gif hspace=0>\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.
-#
-#$LG_INFO="For support, contact <a href=\"mailto:webmaster\@localhost\">webmaster</a>";
-#
-#
-# 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 <prefix>/util/lg/router.db. if it does not exist, it will
-# build the list from <prefix>/*/router.db (ie: 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 bin/env). routers not marked 'up' are skipped.
-#
-#$LG_ROUTERDB="@prefix@/util/lg/router.db";
-#
-#
-# 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 <ip> advertised-routes
-# for a transit customer, sh ip b neigh <ip> received-routes for
-# a transit provider.
-#
-#$LG_BGP_RT=1
-#
-#
-# 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_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 problems.
-#
-$LG_STRIP=1;
-#
diff --git a/util/lg/lgform.cgi.in b/util/lg/lgform.cgi.in
deleted file mode 100755
index 97a0c71..0000000
--- a/util/lg/lgform.cgi.in
+++ /dev/null
@@ -1,245 +0,0 @@
-#!@PERLV_PATH@
-## Copyright (C) 1997-2001 by Henry Kilmer.
-## All rights reserved.
-##
-## This software may be freely copied, modified and redistributed without
-## fee for non-commerical purposes provided that this copyright notice is
-## preserved intact on all copies and modified copies.
-##
-## There is no warranty or other guarantee of fitness of this software.
-## It is provided solely "as is". The author(s) disclaim(s) all
-## responsibility and liability with respect to this software's usage
-## or its effect upon hardware, computer systems, other software, or
-## anything else.
-#
-# lgform.cgi - Looking glass front-end
-# produces html form for calling lg.cgi
-
-use CGI qw/:standard/;
-
-my(@rtrlist, %rtrlabels);
-my($BASEDIR) = "@prefix@";
-
-# note: the following functions are duplicated between lgform.cgi and lg.cgi
-# to avoid the need for module inclusion headaches from within a httpd context.
-# it is just easier to be self-contained.
-# SO, ANY CHANGES HERE SHOULD BE REFLECTED IN THE OTHER .cgi.
-
-# logging
-sub dolog
-{
- my($level, $msg) = @_;
-
- if (defined($LG_LOG) && $LG_LOG !~ /\//) {
- openlog($me, "pid", $LG_LOG);
- syslog($level, "%s", $msg);
- closelog;
- } else {
- local(*LOG);
- my($file);
- if (defined($LG_LOG)) {
- $file = $LG_LOG;
- } else {
- $file = "$cache_dir/lg.log";
- }
- # log date, hostname, query, addr
- if (open(LOG, ">>$file") == 0) {
- # stderr, if all else fails
- printf(STDERR "[" . strftime("%a %b %e %H:%M:%S %Y", gmtime) .
- "] could not open log file $file: $!\n");
- printf(STDERR $msg);
- } else {
- printf(LOG $msg);
- close(LOG);
- }
- }
- return;
-}
-# read LG configuration file
-sub readconf
-{
- my($conffile, $cmds);
- local(*CONF);
- if (defined($env{LG_CONF})) {
- $conffile = $env{LG_CONF};
- } elsif (-e "lg.conf") {
- $conffile = "lg.conf";
- } else {
- $conffile = "$BASEDIR/util/lg/lg.conf";
- }
-
- if (! -f $conffile) {
- return;
- }
-
- if (open(CONF, "< $conffile")) {
- while (<CONF>) {
- next if (/^\s*(#|$)/);
- $cmds .= $_;
- }
- close(CONF);
- eval $cmds;
- } else {
- printf(STDERR "ERROR: couldn\'t open the configuration file: $conffile: $!\n");
- exit(1);
- }
-
- return;
-}
-# read router.db file
-sub readrouters
-{
- my($rtrdb);
- local(*RTR);
-
- if (defined($LG_ROUTERDB)) {
- $rtrdb = $LG_ROUTERDB;
- } else {
- $rtrdb = "$BASEDIR/util/lg/router.db";
- }
-
- if (! -f $rtrdb) {
- my(@dirs, $dir);
- # if the router.db file does not exist, try to compile the list from
- # the rancid group router.db files.
- local(*DIR);
- if (! opendir(DIR, $BASEDIR)) {
- dolog(LOG_ERR, "ERROR: couldn\'t read $BASEDIR: $!\n");
- } else {
- while ($dir = readdir(DIR)) {
- next if ($dir =~ /^(\.|\.\.|CVS|bin|logs|util)$/);
- push(@dirs, $dir) if (-d "$BASEDIR/$dir");
- }
- closedir(DIR);
-
- foreach $dir (@dirs) {
- if (! opendir(DIR, "$BASEDIR/$dir")) {
- dolog(LOG_ERR, "ERROR: couldn\'t read $BASEDIR/$dir: $!\n");
- next;
- }
- closedir(DIR);
- next if (! -f "$BASEDIR/$dir/router.db");
- if (open(RTR, "< $BASEDIR/$dir/router.db")) {
- while (<RTR>) {
- next if (/^\s*(#|$)/);
- # fqdn:mfg:state
- @record = split('\:', $_);
- next if ($record[2] !~ /up/i || $record[1] !~ /(cisco|foundry|juniper)/);
- push(@rtrlist, join(':', ($record[0], $record[1])));
- $rtrlabels{join(':', ($record[0], $record[1]))} = $record[0];
- }
- close(RTR);
- } else {
- dolog(LOG_ERR, "ERROR: couldn\'t open the router.db file: $BASEDIR/$dir/router.db: $!\n");
- }
- }
- }
- } else {
- if (open(RTR, "< $rtrdb")) {
- while (<RTR>) {
- next if (/^\s*(#|$)/);
- # fqdn:mfg:state
- @record = split('\:', $_);
- next if ($record[2] !~ /up/i || $record[1] !~ /(cisco|foundry|juniper)/);
- push(@rtrlist, join(':', ($record[0], $record[1])));
- $rtrlabels{join(':', ($record[0], $record[1]))} = $record[0];
- }
- close(RTR);
- } else {
- dolog(LOG_ERR, "ERROR: couldn\'t open the router.db file: $rtrdb: $!\n");
- exit(1);
- }
- }
-
- return;
-}
-
-# Main()
-# read the configuration file if it exists.
-readconf();
-
-$query = new CGI;
-
-print $query->header;
-print $query->start_html("LookingGlass form");
-
-print "<BODY>";
-
-# add the company image, LG_IMAGE
-print $LG_IMAGE;
-
-print <<HEAD ;
-<br>
-<B><FONT SIZE=+2>Looking Glass</FONT></B>
-<br>
-<hr>
-HEAD
-
-# start table, etc here
-print <<DOTABLE ;
-<form action=lg.cgi method=GET>
-<center>
-<table border cellspacing=0 width=575 align=center>
-
-DOTABLE
-
-# available query types here
-print <<QTYPES ;
-<tr valign=top>
- <TD><B>Query:</B>
-<dd><input type=radio name="query" value="framerelay">show frame-relay pvc [DLCI]</DD>
-<dd><input type=radio name="query" value="interface">show interface &lt;interface&gt;</DD>
-<dd><input type=radio name="query" value="prefix">show ip bgp &lt;prefix&gt; [netmask]</DD>
-<dd><input type=radio name="query" value="neighbor">show ip bgp neighbor &lt;IP_addr&gt;</DD>
-<dd><input type=radio name="query" value="regex">show ip bgp regex &lt;reg_exp&gt;</DD>
-<dd><input type=radio name="query" value="summary">show ip bgp summary</DD>
-<dd><input type=radio name="query" value="damp">show ip bgp dampened-paths</DD>
-<dd><input type=radio name="query" value="prefixlist">show ip prefix-list &lt;list_name&gt;</DD>
-<dd><input type=radio name="query" value="route">show ip route &lt;prefix&gt; [netmask]</DD>
-<dd><input type=radio name="query" value="routemap">show route-map &lt;map_name&gt;</DD>
-<dd><input type=radio name="query" value="mbgp">show ip mbgp &lt;prefix&gt; [netmask]</dd>
-<dd><input type=radio name="query" value="mbgpsum">show ip mbgp summary</dd>
-<dd><input type=radio name="query" value="log">show logging [ | &lt;match_string&gt;]</DD>
-<dd><input type=radio name="query" value="ping">ping &lt;IP_addr | FQDN&gt;</dd>
-<dd><input type=radio name="query" value="trace">traceroute &lt;IP_addr | FQDN&gt;</DD>
-
-<P><B>Argument(s):</B> <INPUT name="args" size=30></P>
- </TD>
- <td ALIGH=left VALIGN=top>
- <b>Router:</B>
-
-<dd>
-QTYPES
-
-# <dd><input type=radio name="query" value="aspath">sh ip as-path-access-list &lt;list_number&gt;</DD>
-# <dd><input type="radio" name="query" value="acl">sh access-list &lt;list_number&gt;</dd>
-# <dd><input type=radio name="query" value="communitylist">sh ip community-list &lt;list_number&gt;<DD>
-# <dd><input type=radio name="query" value="routemap">sh ip route-map &lt;map_name&gt;</DD>
-
-# read routers table and create the scrolling list
-readrouters();
-print $query->scrolling_list(-name => 'router',
- -values => \@rtrlist,
- -size => 20,
- -labels => \%rtrlabels);
-
-# end
-print <<TAIL ;
-</dd>
-</td>
-</TABLE>
-<p><input type=submit value=Submit> <INPUT type=reset value=Reset></FORM>
-</center>
-<br>
-<a href=lgnotes.html>Looking Glass notes</a>
-TAIL
-
-print <<TAIL ;
-<p>
-$LG_INFO
-</body>
-TAIL
-
-print $query->end_html;
-
-exit(0);
diff --git a/util/lg/lgnotes.html b/util/lg/lgnotes.html
deleted file mode 100644
index 9f28ec3..0000000
--- a/util/lg/lgnotes.html
+++ /dev/null
@@ -1,61 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<html>
-
-<head>
-<meta http-equiv="Content-Type"
-content="text/html; charset=iso-8859-1">
-<title>Looking Glass Notes</title>
-</head>
-
-</strong></font><font face="Arial"> </font><font
-size=+3><strong>&nbsp;&nbsp;&nbsp;Looking Glass Notes
-</strong></font></p>
-<br>
-<p>
-<ul>
-Just a few straight forward notes on our implementation of
-Ed Kern's looking glass. See the original at
-<a href=http://nitrous.digex.net>http://nitrous.digex.net</a>.
-</ul>
-</p>
-<p>
-<UL>
-<li>Some items are not implemented for the junipers/foundrys yet (so, as i get
- to it) or no equivalent command exists.
-<li>If there is something which you feel is missing, feel free to ask
- and/or send comments to <a href=mailto:rancid@shrubbery.net>
- rancid@shrubbery.net</a>. No guarantees.</li>
-<li>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.</li>
-<li>The looking glass will ping a router prior to querying it to avoid
- trying to query routers which are down or otherwise inaccessible.</li>
-<li>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.</li>
-<li>Queries followed by &lt;something&gt; 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.</li>
-<li>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'.</li>
-<li>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.</li>
-</ul>
-<p>
-Some useful hints:
-<UL>
-<li>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. </li>
-<li>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.</li>
-</ul>
-
-</body>
-</html>
diff --git a/util/rtrfilter.README b/util/rtrfilter.README
deleted file mode 100644
index 19b64c3..0000000
--- a/util/rtrfilter.README
+++ /dev/null
@@ -1,14 +0,0 @@
-rtrfilter can be used to filter rancid diffs to avoid sending unwanted
-diffs to certain recipient(s) or diffs which those recipient(s) should
-not see without the need to create separate or duplicate group(s).
-
-/etc/aliases eg:
-
-rancid-foo: engineering,
- customer-ops-foo
-#
-# only send diffs for the SJC routers (aka. *.sjc.shrubbery.net)
-customer-ops-foo: "| /home/rancid/util/rtrfilter -i '\.sjc\.' -s 'sjc router diffs' customer-ops"
-#
-customer-ops: jimbob,
- sally
diff --git a/util/rtrfilter.in b/util/rtrfilter.in
deleted file mode 100755
index 28bd21a..0000000
--- a/util/rtrfilter.in
+++ /dev/null
@@ -1,158 +0,0 @@
-#!@PERLV_PATH@
-##
-## Copyright (C) 1997-2001 by Henry Kilmer.
-## All rights reserved.
-##
-## This software may be freely copied, modified and redistributed without
-## fee for non-commerical purposes provided that this copyright notice is
-## preserved intact on all copies and modified copies.
-##
-## There is no warranty or other guarantee of fitness of this software.
-## It is provided solely "as is". The author(s) disclaim(s) all
-## responsibility and liability with respect to this software's usage
-## or its effect upon hardware, computer systems, other software, or
-## anything else.
-#
-# rtrtfilter - "| rtrfilter -x <perl regex> -i <perl regex> -f <regex file> \
-# -u <From address> -s <subject> <rcpts>"
-# expects to read an email message on stdin containing a diff from
-# rancid and emails a filtered copy to <rcpts> with the subject of the
-# original msg or the contents of -s <subject>. the perl regex(es) specified
-# via -x or -i (exclusive and inclusive, respectively) are applied to the
-# router names (ie: files) from the "Index:" of the diff o/p. alternatively,
-# the regex's may be specified in -f <regex file> in the form:
-# # comment
-# x <regex>
-# # comment
-# i <regex>
-# do not include /'s in the regex's.
-# eg:
-# #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 (<FILE>) {
- 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 (<STDIN>) {
- 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 (<STDIN>) {
- # 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 <<USAGE;
-usage: $me [-h] [-i <perl regex>] [-x <perl regex>] [-f <regex file>] [-u <From: address>] [-s <subject>] <mail rcpt> [<rcpt> ...]
- -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 $_;
-}