chiark / gitweb /
Merge; also move moderators from master/
[modbot-ulm.git] / stump / bin / verifySignature
1 #!/bin/sh
2
3 # $Id: verifySignature,v 1.2 2007/05/03 23:50:21 rram Exp $
4 # Modified to work with GPG
5
6 NAME="$1"
7
8 TMPFILE=$TMP/vrfy.$$
9
10 cat > $TMPFILE
11
12 if grep -e "^$BEGIN_PGP_SIGNED_MESSAGE" < $TMPFILE >/dev/null; then
13   SIGNED="YES"
14 else
15   SIGNED="NO"
16 fi
17
18 if [ $SIGNED = "NO" ] ; then 
19   if [ "x$1" != "x" ] ; then
20     echo "No valid sig!" 1>&2
21     rm $TMPFILE
22     exit 1
23   else 
24     rm $TMPFILE
25     exit 0
26   fi
27 fi
28
29 #
30 # this we do under assumption that message IS signed
31 #
32
33 GOODSIG="gpg: Good signature from \""
34
35 DoPGP() {
36 #  stump-pgp -f +batchmode=on +pubring=$MNG_ROOT/data/pubring.pgp < $TMPFILE 2>&1 > /dev/null
37    stump-pgp --no-default-keyring --keyring $MNG_ROOT/data/pubring.gpg < $TMPFILE 2>&1 > /dev/null
38 }
39
40 USERID="`DoPGP | grep -e "^$GOODSIG" | sed \"s/^$GOODSIG//\" | sed 's/"\.$//'`"
41
42
43 rm $TMPFILE
44
45 echo USERID = "$USERID" 1>&2
46
47 if [ "x$1" != "x" ]; then
48   if [ "$USERID" = "$1" ] ; then
49     exit 0
50   else
51     exit 1
52   fi
53 else
54   if [ "x$USERID" = "x" ]; then # bad sig!
55     exit 1;
56   fi
57
58   echo "$USERID"
59   exit 0
60 fi