#!/bin/sh # Please see detailed Copyright below PATH=/bin:/usr/bin:/usr/pkg/bin ; export PATH umask 077 TDIR=`mktemp -d -t ppf_verify` trap "rm -f ${TDIR}/* ; rmdir ${TDIR} ; exit" 0 1 2 15 pgp_failed () { message_file="${1}" echo '------------------------------------------------------------------------------' >${TDIR}/error echo "$0: ${2:-pgp command failed}" >>${TDIR}/error echo '' >>${TDIR}/error cat ${TDIR}/stderr >>${TDIR}/error echo '------------------------------------------------------------------------------' >>${TDIR}/error echo '' >>${TDIR}/error cp ${message_file} ${TDIR}/message cat ${TDIR}/error ${TDIR}/message > ${message_file} exit 0 } if [ -x /usr/pkg/bin/gpg ]; then gpg --batch --no-tty --decrypt ${1} >${TDIR}/message 2>${TDIR}/stderr || pgp_failed ${1} elif [ -x /usr/pkg/bin/pgp ]; then pgp ${1} -o${TDIR}/message >${TDIR}/stdout 2>${TDIR}/stderr || pgp_failed ${1} echo ' -----------------------------------------------------' >>${TDIR}/stderr egrep -v 'Plaintext filename:|wiping file' ${TDIR}/stdout >>${TDIR}/stderr # This probably doesn't work #elif [ -x /usr/pkg/bin/pgpv ]; then # pgpv ${1} -o${TDIR}/message >${TDIR}/stdout 2>${TDIR}/stderr || pgp_failed ${1} # cat ${TDIR}/stdout >>${TDIR}/stderr else pgp_failed ${1} "Can't find pgp on this system" fi echo '----------------------------- PGP Command Output -----------------------------' >${1} egrep -v '^$|pattern is:' ${TDIR}/stderr >>${1} echo '------------------------------- End PGP Output -------------------------------' >>${1} echo '' >>${1} cat ${TDIR}/message >>${1} 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.