#!/bin/sh # Please see detailed Copyright below PATH=/bin:/usr/bin:/usr/pkg/bin ; export PATH umask 077 TDIR=`mktemp -d -t ppf_mime` trap "rm -f ${TDIR}/* ; rmdir ${TDIR} ; exit" 0 1 2 15 pgp_failed () { echo "$0: Your pgp command failed" >&2 echo '' >&2 cat ${TDIR}/stderr >&2 exit 1 } split -p 'Content-Type: ' - ${TDIR}/f # The last two lines of the file are added by MIME encoding, # so they must be stripped in order for the signature to verify. sed -n -e :a -e '1,2!{P;N;D;}' -e 'N;ba' ${TDIR}/fac >${TDIR}/message if [ -x /usr/pkg/bin/gpg ]; then gpg --verify ${TDIR}/fad ${TDIR}/message 2>${TDIR}/stderr || pgp_failed elif [ -x /usr/pkg/bin/pgp ]; then pgp ${TDIR}/fad ${TDIR}/message >${TDIR}/stdout 2>${TDIR}/stderr || pgp_failed echo ' -----------------------------------------------------' >>${TDIR}/stderr egrep -v 'has signature, but with no text.|Text is assumed to be' \ ${TDIR}/stdout >>${TDIR}/stderr # This probably doesn't work #elif [ -x /usr/pkg/bin/pgpv ]; then # # pgpv ${TDIR}/fad ${TDIR}/message >${TDIR}/stdout 2>${TDIR}/stderr || pgp_failed # cat ${TDIR}/stdout >>${TDIR}/stderr else echo "$0: Can't find pgp on this system!" >&2 exit 1 fi egrep -hi '^(From|Resent-From|To|Resent-To|Cc|Resent-cc|Bcc|Newsgroups|Followup-To|Date|Resent-Date|Organization|Subject|Resent-Subject|Reply-To):' ${TDIR}/fa[ab] echo '' echo '----------------------------- PGP Command Output -----------------------------' grep -v '^$' ${TDIR}/stderr echo '------------------------------- End PGP Output -------------------------------' # Remove the MIME headers from the message sed -e '1,2d' -e '3s/^Content-.*//' ${TDIR}/message exit 0 # Copyright (c) 2003 Doug Barton # All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE.