1
0
mirror of https://github.com/apache/httpd.git synced 2025-11-06 16:49:32 +03:00
Files
apache/support/check_forensic
Justin Erenkrantz 1731589f3c * support/check_forensic: Fix script on platforms that do not have either
mktemp or tempfile (such as Solaris).

Also tested on Darwin & FreeBSD.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@126224 13f79535-47bb-0310-9956-ffa450edef68
2005-01-23 17:36:32 +00:00

52 lines
950 B
Bash
Executable File

#!/bin/sh
# check_forensic <forensic log file>
# check the forensic log for requests that did not complete
# output the request log for each one
F=$1
temp_create_method=file
if test -f `which mktemp`; then
temp_create_method=mktemp
elif test -f `which tempfile`; then
temp_create_method=tempfile
fi
create_temp()
{
prefix=$1
case "$temp_create_method" in
file)
name="/tmp/$1.$$"
;;
mktemp)
name=`mktemp -t $1.XXXXXX`
;;
tempfile)
name=`tempfile --prefix=$1`
;;
*)
echo "$0: Cannot create temporary file"
exit 1
;;
esac
}
create_temp fcall
all=$name
create_temp fcin
in=$name
create_temp fcout
out=$name
trap "rm -f -- \"$all\" \"$in\" \"$out\";" 0 1 2 3 13 15
cut -f 1 -d '|' $F > $all
grep + < $all | cut -c2- | sort > $in
grep -- - < $all | cut -c2- | sort > $out
# use -i instead of -I for GNU xargs
join -v 1 $in $out | xargs -I xx egrep "^\\+xx" $F
exit 0