X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=uip%2Fmhsign.sh;h=44b387081b386fcd4d4225245d975d134231d709;hp=9d6c747ee059bac1e655b4fd5632671d5b2da4c4;hb=HEAD;hpb=f841083f6f8afa8583f92595aa84d381623c9f12 diff --git a/uip/mhsign.sh b/uip/mhsign.sh index 9d6c747..44b3870 100755 --- a/uip/mhsign.sh +++ b/uip/mhsign.sh @@ -22,10 +22,11 @@ if [ -z "$userid" ] ; then userid="`mhparam pgpkey`" fi if [ -z "$userid" ] ; then - userid="`gpg --list-secret-keys --with-colons 2>/dev/null | + userid="`gpg --list-secret-keys --with-colons --fixed-list-mode \ + 2>/dev/null | grep '^sec' | sort -t: -k3,3nr -k 6,6nr | awk -F: ' - $7=="" || $7 > "'"\`date +%Y-%m-%d\`"'" { + $7=="" || $7 > "'"\`date +%s\`"'" { print $5; exit; } '`" @@ -100,6 +101,12 @@ lookupkeyring() { return 0 } +### Do a best guess at FQDN +mh_hostname() +{ + hostname -f 2>/dev/null || uname -n +} + ### lookupkeys file -- set $KL to list of recipient keys lookupkeys() { KL= @@ -119,7 +126,7 @@ lookupkeys() { '|'*) echo "Ignoring pipe address" >&2 continue ;; *@*) ;; - *) i="$i@`hostname -f`" ;; + *) i="$i@`mh_hostname`" ;; esac if k=`lookupkeyfile "$i"` ; then KL="$KL $k" @@ -175,7 +182,7 @@ fixheaders() { ### newboundary -- output a suitable boundary marker newboundary() { - b=$$_`date|sed 's/[ : ]/_/g'` + b=$$_`LC_ALL=C date|sed 's/[ : ]/_/g'` for i in 0 x '=' _ + , Z 9 4 ; do if grep "^--$b" $TEMP/body >/dev/null 2>&1 ; then ## oops, bad boundary -- try again