#!/bin/sh

# $Id: ppf_encrypt,v 1.6 2007/08/01 05:58:22 doug Exp $

# Please see detailed Copyright below

PATH=/bin:/usr/bin:/usr/local/bin ; export PATH
umask 077

clear 1>&2

pgp_failed () {
	echo '' >&2
	echo "$0: Your pgp command failed" >&2
	exit 1
}

find_user () {
	user=`echo $content | tr -d '[\n\r]'`
	user=${user##*<}
	user=${user%%>*}
}

# Attempt to find the right ID for my signing key
while read header content; do
	case "$header" in
	From:)	case "$user" in
		'') find_user ;;
		esac
		;;
	X-OpenPGP-Key*I[Dd]:)	find_user ;;
	X-OpenPGP:)
		content=${content##*id=}
		content=${content%%;*}
		[ -n "$content" ] && user=$content
		;;
	Content-Type:)		break ;;
	esac
done

while [ -n "${1}" ]; do
	recip_list="${recip_list} --recipient ${1}"
	shift
done

/usr/local/bin/gpg --local-user "$user" --armor --sign --encrypt ${recip_list} || pgp_failed

exit 0

#  Copyright (c) 2003-2007 Douglas 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.

