about summary refs log tree commit diff
path: root/contrib/mgpg
blob: 4190501e60033a6bb3a671fb1c1f9c8ccb33090e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#!/bin/sh -e

if command -v gpg2 >/dev/null; then
	GPG=gpg2
else
	GPG=gpg
fi

tmp=$(mktemp -t mgpg.XXXXXX)
trap "rm -f '$tmp'" INT TERM EXIT

{
	echo "Content-Type: $PIPE_CONTENTTYPE"
	echo
	cat
} > "$tmp"

n=$(mshow -t "$tmp" | awk -F: '
	/: application\/pgp-encrypted/ {supported = 1}
	/: application\/octet-stream/ {if (supported) print $1}')

if [ "$n" ]; then
	mshow -O "$tmp" "$n" | $GPG --quiet -d 2>&1 || exit 0
	exit 64
fi
exit 63