mhsign should work now
authorPhilipp Takacs <philipp@bureaucracy.de>
Mon, 1 Aug 2016 11:14:47 +0000 (13:14 +0200)
committerPhilipp Takacs <philipp@bureaucracy.de>
Fri, 5 Aug 2016 11:31:22 +0000 (13:31 +0200)
test/tests/mhsign/test-mhsign
uip/mhsign.sh

index 7654e5f..3c2bb97 100755 (executable)
@@ -66,9 +66,9 @@ unknownperson@example.org
 !
 
 runandcheck "mhsign -enc $draft" <<!
-Could not find key for <unknownperson>
+Could not find key for <unknownperson@`hostname -f`>
 Could not find key for <unknownperson@example.org>
-Could not find key for <unknownperson>
+Could not find key for <unknownperson@`hostname -f`>
 Could not find key for <unknownperson@example.org>
 Could not find key for <unknownperson@example.org>
 Could not find key for <unknownperson@example.org>
index f28c0fe..9d6c747 100755 (executable)
@@ -109,16 +109,18 @@ lookupkeys() {
                return 1
        fi
 
-       whom -ali -tocc -nobcc "$1" | while read i ; do
+       # extract the actual address
+       format='%<{error}%{error}: %{text}%|%(addr{text})%>'
+       addresses=`whom -ali -tocc -nobcc "$1" |sed 's_$_,_'`
+       addresses=`%libdir%/ap -form "=$format" "$addresses"`
+
+       for i in $addresses ; do
                case "$i" in
                '|'*)   echo "Ignoring pipe address" >&2
                        continue ;;
                *@*)    ;;
                *)      i="$i@`hostname -f`" ;;
                esac
-               # extract the actual address
-               format='%<{error}%{error}: %{text}%|%(addr{text})%>'
-               i=`%libdir%/ap -form "=$format" "$i"`
                if k=`lookupkeyfile "$i"` ; then
                        KL="$KL $k"
                elif k=`lookupkeyring "$i"` ; then