76 lines
1.9 KiB
Bash
Executable File
76 lines
1.9 KiB
Bash
Executable File
#! /bin/sh
|
|
# implements secret censoring for barf
|
|
# Copyright (C) 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: _secretcensor.in,v 1.1 2004/03/15 20:35:27 as Exp $
|
|
|
|
usage="Usage: $0 [file ...]"
|
|
me="ipsec _secretcensor"
|
|
|
|
for dummy
|
|
do
|
|
case "$1" in
|
|
--help) echo "$usage" ; exit 0 ;;
|
|
--version) echo "$me $IPSEC_VERSION" ; exit 0 ;;
|
|
--) shift ; break ;;
|
|
-*) echo "$0: unknown option \`$1'" >&2 ; exit 2 ;;
|
|
*) break ;;
|
|
esac
|
|
shift
|
|
done
|
|
|
|
awk ' function cool(hot, q, cooled, run) {
|
|
# warning: may destroy input line!
|
|
q = "'"'"'" # single quote
|
|
if (hot ~ q)
|
|
return "[cannot be summed]"
|
|
if (hot ~ /^0s/)
|
|
return "[keyid " substr(hot, 3, 9) "]"
|
|
run = "echo " q hot q " | md5sum"
|
|
run | getline
|
|
close(run)
|
|
return "[sums to " substr($1, 1, 4) "...]"
|
|
}
|
|
/"/ {
|
|
i = match($0, /"[^"]+"/)
|
|
cold1 = substr($0, 1, i)
|
|
cold2 = substr($0, i+RLENGTH-1)
|
|
hot = substr($0, i+1, RLENGTH-2)
|
|
print cold1 cool(hot) cold2
|
|
next
|
|
}
|
|
/#pubkey=/ {
|
|
i = match($0, /^.*#pubkey=/)
|
|
i += RLENGTH-1
|
|
cold = substr($0, 1, i)
|
|
hot = substr($0, i+1)
|
|
print cold cool(hot)
|
|
next
|
|
}
|
|
/#IN KEY / {
|
|
i = match($0, /^.*[ \t][^ \t]/)
|
|
i += RLENGTH-2
|
|
cold = substr($0, 1, i)
|
|
hot = substr($0, i+1)
|
|
print cold cool("0s" hot)
|
|
next
|
|
}
|
|
/^[ \t]+(Modulus|P[a-z]+Exponent|Prime[12]|Exponent[12]|Coefficient):/ {
|
|
i = match($0, /^[^:]*:[ \t]*/)
|
|
i += RLENGTH-1
|
|
cold = substr($0, 1, i)
|
|
print cold "[...]"
|
|
next
|
|
}
|
|
{ print }' $*
|