summaryrefslogtreecommitdiff
path: root/programs/barf
diff options
context:
space:
mode:
Diffstat (limited to 'programs/barf')
-rw-r--r--programs/barf/.cvsignore1
-rw-r--r--programs/barf/Makefile38
-rw-r--r--programs/barf/barf.884
-rwxr-xr-xprograms/barf/barf.in296
4 files changed, 0 insertions, 419 deletions
diff --git a/programs/barf/.cvsignore b/programs/barf/.cvsignore
deleted file mode 100644
index bca77a6ee..000000000
--- a/programs/barf/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-barf
diff --git a/programs/barf/Makefile b/programs/barf/Makefile
deleted file mode 100644
index 6a20d4ee2..000000000
--- a/programs/barf/Makefile
+++ /dev/null
@@ -1,38 +0,0 @@
-# Makefile for miscelaneous programs
-# Copyright (C) 2002 Michael Richardson <mcr@freeswan.org>
-#
-# This program is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by the
-# Free Software Foundation; either version 2 of the License, or (at your
-# option) any later version. See <http://www.fsf.org/copyleft/gpl.txt>.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
-# for more details.
-#
-# RCSID $Id: Makefile,v 1.1 2004/03/15 20:35:27 as Exp $
-
-FREESWANSRCDIR=../..
-include ${FREESWANSRCDIR}/Makefile.inc
-
-PROGRAM=barf
-
-include ../Makefile.program
-
-#
-# $Log: Makefile,v $
-# Revision 1.1 2004/03/15 20:35:27 as
-# added files from freeswan-2.04-x509-1.5.3
-#
-# Revision 1.2 2002/06/02 22:02:14 mcr
-# changed TOPDIR->FREESWANSRCDIR in all Makefiles.
-# (note that linux/net/ipsec/Makefile uses TOPDIR because this is the
-# kernel sense.)
-#
-# Revision 1.1 2002/04/24 07:55:32 mcr
-# #include patches and Makefiles for post-reorg compilation.
-#
-#
-#
-
diff --git a/programs/barf/barf.8 b/programs/barf/barf.8
deleted file mode 100644
index e692a4e5f..000000000
--- a/programs/barf/barf.8
+++ /dev/null
@@ -1,84 +0,0 @@
-.TH IPSEC_BARF 8 "17 March 2002"
-.\" RCSID $Id: barf.8,v 1.1 2004/03/15 20:35:27 as Exp $
-.SH NAME
-ipsec barf \- spew out collected IPsec debugging information
-.SH SYNOPSIS
-.B ipsec
-.B barf
-[
-.B \-\-short
-]
-.sp
-.SH DESCRIPTION
-.I Barf
-outputs (on standard output) a collection of debugging information
-(contents of files, selections from logs, etc.)
-related to the IPsec encryption/authentication system.
-It is primarily a convenience for remote debugging,
-a single command which packages up (and labels) all information
-that might be relevant to diagnosing a problem in IPsec.
-.PP
-.PP
-The
-.B \-\-short
-option limits the length of
-the log portion of
-.IR barf 's
-output, which can otherwise be extremely voluminous
-if debug logging is turned on.
-.PP
-.I Barf
-censors its output,
-replacing keys
-and secrets with brief checksums to avoid revealing sensitive information.
-.PP
-Beware that the output of both commands is aimed at humans,
-not programs,
-and the output format is subject to change without warning.
-.PP
-.I Barf
-has to figure out which files in
-.I /var/log
-contain the IPsec log messages.
-It looks for KLIPS and general log messages first in
-.IR messages
-and
-.IR syslog ,
-and for Pluto messages first in
-.IR secure ,
-.IR auth.log ,
-and
-.IR debug .
-In both cases,
-if it does not find what it is looking for in one of those ``likely'' places,
-it will resort to a brute-force search of most (non-compressed) files in
-.IR /var/log .
-.SH FILES
-.nf
-/proc/net/*
-/var/log/*
-/etc/ipsec.conf
-/etc/ipsec.secrets
-.fi
-.SH HISTORY
-Written for the Linux FreeS/WAN project
-<http://www.freeswan.org>
-by Henry Spencer.
-.SH BUGS
-.I Barf
-uses heuristics to try to pick relevant material out of the logs,
-and relevant messages
-which are not labelled with any of the tags that
-.I barf
-looks for will be lost.
-We think we've eliminated the last such case, but one never knows...
-.PP
-Finding
-.I updown
-scripts (so they can be included in output) is, in general, difficult.
-.I Barf
-uses a very simple heuristic that is easily fooled.
-.PP
-The brute-force search for the right log files can get expensive on
-systems with a lot of clutter in
-.IR /var/log .
diff --git a/programs/barf/barf.in b/programs/barf/barf.in
deleted file mode 100755
index 99cc3546c..000000000
--- a/programs/barf/barf.in
+++ /dev/null
@@ -1,296 +0,0 @@
-#! /bin/sh
-# dump assorted information of use in debugging
-# Copyright (C) 1998, 1999 Henry Spencer.
-#
-# This program is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by the
-# Free Software Foundation; either version 2 of the License, or (at your
-# option) any later version. See <http://www.fsf.org/copyleft/gpl.txt>.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
-# for more details.
-#
-# RCSID $Id: barf.in,v 1.4 2004/09/23 21:08:23 as Exp $
-
-IPSEC_NAME="strongSwan"
-
-KERNSRC=${KERNSRC-/usr/src/linux}
-LOGS=${LOGS-/var/log}
-CONFS=${IPSEC_CONFS-/etc}
-CONFDDIR=${IPSEC_CONFDDIR-/etc/ipsec.d}
-me="ipsec barf"
-
-# kludge to produce no barf output mentioning policygroups if none are present.
-# This will not catch ".file" policygroups.
-PREPOLICIES=${CONFDDIR}/policies
-if [ `ls $PREPOLICIES 2> /dev/null | wc -l` -ne 0 ]
-then
- POLICIES=$PREPOLICIES
-fi
-
-# message patterns that start relevant parts of logs
-fstart="Starting $IPSEC_NAME"
-pstart='Starting Pluto subsystem'
-
-case "$1" in
---help) echo "Usage: ipsec barf" ; exit 0 ;;
---version) echo "$me $IPSEC_VERSION" ; exit 0 ;;
-esac
-
-# make sure output is in English
-unset LANG LANGUAGE LC_ALL LC_MESSAGES
-
-# log-location guesser, results in $findlog_file and $findlog_startline
-# Fine point: startline is the *last* line containing "string", or
-# failing that, the *first* line containing "fallbackstring".
-findlog() { # findlog string fallbackstring possiblefile ...
- s="$1"
- shift
- t="$1"
- shift
- # try the suggested files first
- for f in $*
- do
- if test -r $LOGS/$f -a -f $LOGS/$f && egrep -q "$s" $LOGS/$f
- then
- # aha, this one has it
- findlog_file=$LOGS/$f
- findlog_startline=`egrep -n "$s" $LOGS/$f |
- sed -n '$s/:.*//p'`
- return 0
- fi
- done
- for f in $*
- do
- if test -r $LOGS/$f -a -f $LOGS/$f && egrep -q "$t" $LOGS/$f
- then
- # aha, this one has it
- findlog_file=$LOGS/$f
- findlog_startline=`egrep -n "$t" $LOGS/$f |
- sed -n '1s/:.*//p'`
- return 0
- fi
- done
- # nope, resort to a search, newest first, of uncompressed logs
- for f in `ls -t $LOGS | egrep -v '^mail' | egrep -v '\.(gz|Z)$'`
- do
- if test -r $LOGS/$f -a ! -d $LOGS/$f && egrep -q "$s" $LOGS/$f
- then
- # found it
- findlog_file=$LOGS/$f
- findlog_startline=`egrep -n "$s" $LOGS/$f |
- sed -n '$s/:.*//p'`
- return 0
- fi
- done
- for f in `ls -t $LOGS | egrep -v '^mail' | egrep -v '\.(gz|Z)$'`
- do
- if test -r $LOGS/$f -a -f $LOGS/$f && egrep -q "$t" $LOGS/$f
- then
- # found it
- findlog_file=$LOGS/$f
- findlog_startline=`egrep -n "$t" $LOGS/$f |
- sed -n '1s/:.*//p'`
- return 0
- fi
- done
-# echo "$0: unable to find $LOGS/$1 or local equivalent" >&2
- findlog_file=/dev/null
- findlog_startline=1 # arbitrary
-}
-
-# try to guess where logs are
-findlog "$fstart" "klips" messages syslog
-if test " $findlog_file" = " /dev/null"
-then
-echo "Unable to find KLIPS messages, typically found in /var/log/messages or equivalent. You may need to run $IPSEC_NAME for the first time; alternatively, your log files have been emptied (ie, logwatch) or we do not understand your logging configuration."
-fi
-klog=$findlog_file
-kline=$findlog_startline
-
-findlog "$pstart" "Pluto" secure auth.log debug
-if test " $findlog_file" = " /dev/null"
-then
-echo "Unable to find Pluto messages, typically found in /var/log/secure or equivalent. You may need to run $IPSEC_NAME for the first time; alternatively, your log files have been emptied (ie, logwatch) or we do not understand your logging configuration."
-fi
-plog=$findlog_file
-pline=$findlog_startline
-
-# /lib/modules examiner
-modulegoo() {
- set +x
- for d in `ls /lib/modules`
- do
- if test -d /lib/modules/$d
- then
- f=/lib/modules/$d/$1
- if test -f $f
- then
- nm -g $f | egrep "$2"
- else
- echo
- fi | sed "s;^;$d: ;"
- fi
- done
- set -x
-}
-
-# advanced shell deviousness to get dividers into output
-_________________________() {
- $2 # something to do nothing and not echo anything
-}
-
-exec 2>&1 # stderr on stdout, so errors go into main output
-
-hostname ; date
-set -x
-_________________________ version
-ipsec --version
-_________________________ proc/version
-cat /proc/version
-_________________________ proc/net/ipsec_eroute
-sort -sg +3 /proc/net/ipsec_eroute || cat /proc/net/ipsec_eroute
-_________________________ netstat-rn
-netstat -nr
-_________________________ proc/net/ipsec_spi
-cat /proc/net/ipsec_spi
-_________________________ proc/net/ipsec_spigrp
-cat /proc/net/ipsec_spigrp
-_________________________ proc/net/ipsec_tncfg
-cat /proc/net/ipsec_tncfg
-_________________________ proc/net/pf_key
-cat /proc/net/pf_key
-_________________________ proc/net/pf_key-star
-( cd /proc/net && egrep '^' pf_key_* )
-_________________________ proc/sys/net/ipsec-star
-( cd /proc/sys/net/ipsec && egrep '^' * )
-_________________________ ipsec/statusall
-ipsec auto --statusall
-_________________________ ifconfig-a
-ifconfig -a
-_________________________ mii-tool
-if [ -x /sbin/mii-tool ]
-then
- /sbin/mii-tool -v
-elif [ -x /usr/sbin/mii-tool ]
-then
- /usr/sbin/mii-tool -v
-else
- mii-tool -v
-fi
-_________________________ ipsec/directory
-ipsec --directory
-_________________________ hostname/fqdn
-hostname --fqdn
-_________________________ hostname/ipaddress
-hostname --ip-address
-_________________________ uptime
-uptime
-_________________________ ps
-# -i ppid picks up the header
-ps alxwf | egrep -i 'ppid|pluto|ipsec|klips'
-_________________________ ipsec/showdefaults
-ipsec showdefaults
-_________________________ ipsec/conf
-ipsec _include $CONFS/ipsec.conf | ipsec _keycensor
-_________________________ ipsec/secrets
-ipsec _include $CONFS/ipsec.secrets | ipsec _secretcensor
-_________________________ ipsec/listall
-ipsec auto --listall
-if [ $POLICIES ]
-then
- for policy in $POLICIES/*; do base=`basename $policy`;
- _________________________ ipsec/policies/$base
- cat $policy
- done
-fi
-_________________________ ipsec/ls-libdir
-ls -l ${IPSEC_LIBDIR-/usr/local/lib/ipsec}
-_________________________ ipsec/ls-execdir
-ls -l ${IPSEC_EXECDIR-/usr/local/libexec/ipsec}
-_________________________ ipsec/updowns
-for f in `ls ${IPSEC_EXECDIR-/usr/local/libexec/ipsec} | egrep updown`
-do
- cat ${IPSEC_EXECDIR-/usr/local/libexec/ipsec}/$f
-done
-_________________________ proc/net/dev
-cat /proc/net/dev
-_________________________ proc/net/route
-cat /proc/net/route
-_________________________ proc/sys/net/ipv4/ip_forward
-cat /proc/sys/net/ipv4/ip_forward
-_________________________ proc/sys/net/ipv4/conf/star-rp_filter
-( cd /proc/sys/net/ipv4/conf && egrep '^' */rp_filter )
-_________________________ uname-a
-uname -a
-_________________________ redhat-release
-if test -r /etc/redhat-release
-then
- cat /etc/redhat-release
-fi
-_________________________ proc/net/ipsec_version
-cat /proc/net/ipsec_version
-_________________________ iptables/list
-iptables -L -v -n
-_________________________ ipchains/list
-ipchains -L -v -n
-_________________________ ipfwadm/forward
-ipfwadm -F -l -n -e
-_________________________ ipfwadm/input
-ipfwadm -I -l -n -e
-_________________________ ipfwadm/output
-ipfwadm -O -l -n -e
-_________________________ iptables/nat
-iptables -t nat -L -v -n
-_________________________ ipchains/masq
-ipchains -M -L -v -n
-_________________________ ipfwadm/masq
-ipfwadm -M -l -n -e
-_________________________ iptables/mangle
-iptables -t mangle -L -v -n
-_________________________ proc/modules
-cat /proc/modules
-_________________________ proc/meminfo
-cat /proc/meminfo
-_________________________ dev/ipsec-ls
-ls -l /dev/ipsec*
-_________________________ proc/net/ipsec-ls
-ls -l /proc/net/ipsec_*
-_________________________ usr/src/linux/.config
-if test -f $KERNSRC/.config
-then
- egrep 'IP|NETLINK' $KERNSRC/.config
-fi
-_________________________ etc/syslog.conf
-cat /etc/syslog.conf
-_________________________ etc/resolv.conf
-cat /etc/resolv.conf
-_________________________ lib/modules-ls
-ls -ltr /lib/modules
-_________________________ proc/ksyms-netif_rx
-egrep netif_rx /proc/ksyms
-_________________________ lib/modules-netif_rx
-modulegoo kernel/net/ipv4/ipip.o netif_rx
-_________________________ kern.debug
-if test -f $LOGS/kern.debug
-then
- tail -100 $LOGS/kern.debug
-fi
-_________________________ klog
-sed -n $kline,'$'p $klog |
- egrep -i 'ipsec|klips|pluto' |
- case "$1" in
- --short) tail -500 ;;
- *) cat ;;
- esac
-_________________________ plog
-sed -n $pline,'$'p $plog |
- egrep -i 'pluto' |
- case "$1" in
- --short) tail -500 ;;
- *) cat ;;
- esac
-_________________________ date
-date