X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=uip%2Fmhsign.sh;h=94c19f9f55b178c8541984d01bdda1a4975a1549;hp=66ab142d6a97c0766609a0f73e0e34653230541e;hb=1fb6287fc4986668e8f49d7c3bdca27d53e267af;hpb=fe95918ce103e911f20bd14874907d8fd7e1abaa diff --git a/uip/mhsign.sh b/uip/mhsign.sh index 66ab142..94c19f9 100755 --- a/uip/mhsign.sh +++ b/uip/mhsign.sh @@ -23,7 +23,12 @@ if [ -z "$userid" ] ; then fi if [ -z "$userid" ] ; then userid="`gpg --list-secret-keys --with-colons 2>/dev/null | - sed -n '/^sec/{p;q;}' | cut -d: -f5`" + grep '^sec' | sort -t: -k3,3nr -k 6,6nr | + awk -F: ' + $7=="" || $7 > "'"\`date +%Y-%m-%d\`"'" { + print $5; exit; + } + '`" fi if [ -z "$userid" ] ; then echo "No secret key found" >&2 @@ -103,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`" ;; 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