summaryrefslogtreecommitdiff
blob: 96e71677153bbbcfd0afaba559dc9f9ce7e5fee8 (plain)
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
Index: signing-party-1.1.3/gpg-mailkeys/gpg-mailkeys
===================================================================
--- signing-party-1.1.3.orig/gpg-mailkeys/gpg-mailkeys
+++ signing-party-1.1.3/gpg-mailkeys/gpg-mailkeys
@@ -58,19 +58,21 @@ if [ -z "$TEXT" ]; then
 
 Here is your signed GPG key.
 
-Enjoy,
+Regards,
 $NAME"
 fi
 
 get_local_charset
 
 FAILKEYS=
+# Contains all the mail addresses for a specific key id
+ADDR=`gpg --with-colons --fixed-list-mode --list-key $1 | sed -e 's/^uid:[^re][^:]*:[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:\([^:<]*<[^:>]*>\):.*/@@uid@@ \1/' -e '/^@@uid@@ /!d' -e 's/([^)]*)//g' -e 's/  */ /g' -e 's/^@@uid@@ //' -e 's/.*< *//' -e 's/ *>.*//'`
 
 while [ -n "$1" ]; do
+    for addr in ${ADDR}; do
 	printf "[$1] "
 	TEMPFILE=`mktemp -t gpg2mail.XXXXXX`
-	ADDR=`gpg --with-colons --fixed-list-mode --list-key $1 | sed -e 's/^uid:[^re][^:]*:[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:\([^:<]*<[^:>]*>\):.*/@@uid@@ \1/' -e '/^@@uid@@ /!d' -e 's/([^)]*)//g' -e 's/  */ /g' -e 's/^@@uid@@ //' | head -1`
-	if [ -z "$ADDR" ]; then
+	if [ -z "$addr" ]; then
 		printf "(no usable user ids)\n"
 		FAILKEYS="$FAILKEYS:$1"
 		shift 1
@@ -79,12 +81,13 @@ while [ -n "$1" ]; do
 	NANOTIME=`date +%s-%N`
 	BOUNDARY="ksp-$$-boundary-$NANOTIME"
 	
-	printf "$ADDR:"
+	printf "$addr:"
 	if [ $FROM ]; then
 		printf >$TEMPFILE "From: $NAME <$FROM>\n"
 	fi
+
 cat << EOM >> $TEMPFILE
-To: $ADDR
+To: $addr
 Subject: $SUBJECT
 User-Agent: gpg-mailkeys/$VERSION
 MIME-Version: 1.0
@@ -115,7 +118,7 @@ cat << EOM >> $TEMPFILE
 Content-Type: application/pgp-keys
 Content-Disposition: attachment; filename="$1.asc"
 
-`gpg --armor --export $1`
+`gpg --armor --export ${addr}`
 
 --$BOUNDARY--
 EOM
@@ -123,7 +126,8 @@ EOM
 	/usr/sbin/sendmail -ti <$TEMPFILE
 	rm $TEMPFILE
 	printf " done.\n"
-	shift 1
+    done
+    shift 1
 done
 
 if [ -n "$FAILKEYS" ]; then