mhsign: Fix key lookup of aliases when encrypting
[mmh] / uip / mhsign.sh
index 038052b..17b7489 100755 (executable)
@@ -108,14 +108,17 @@ lookupkeys() {
                echo "Encryption is not supported for BCCs" >&2
                return 1
        fi
-               
-       for i in `whom -ali -tocc -nobcc "$1"` ; do
+
+       whom -ali -tocc -nobcc "$1" | while read i ; do
                case "$i" in
                '|'*)   echo "Ignoring pipe address" >&2
                        continue ;;
                *@*)    ;;
-               *)      i="$i@`hostname -f`" ;;
+               *)      a="$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