projects
/
mmh
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
merge pick and scan manpage
[mmh]
/
uip
/
mhsign.sh
diff --git
a/uip/mhsign.sh
b/uip/mhsign.sh
index
66ab142
..
39a3f69
100755
(executable)
--- a/
uip/mhsign.sh
+++ b/
uip/mhsign.sh
@@
-9,7
+9,7
@@
# will be removed and any "From " line will be indented for
# best compatibility. Enforced for multipart messages.
# will be removed and any "From " line will be indented for
# best compatibility. Enforced for multipart messages.
-usage="Usage: mhsign [-encrypt] [-mime] file"
+usage="Usage: mhsign [-encrypt] [-mime] [-Version] [-help] file"
# defaults
usemime=n
# defaults
usemime=n
@@
-22,8
+22,14
@@
if [ -z "$userid" ] ; then
userid="`mhparam pgpkey`"
fi
if [ -z "$userid" ] ; then
userid="`mhparam pgpkey`"
fi
if [ -z "$userid" ] ; then
- userid="`gpg --list-secret-keys --with-colons 2>/dev/null |
- sed -n '/^sec/{p;q;}' | cut -d: -f5`"
+ 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 +%s\`"'" {
+ print $5; exit;
+ }
+ '`"
fi
if [ -z "$userid" ] ; then
echo "No secret key found" >&2
fi
if [ -z "$userid" ] ; then
echo "No secret key found" >&2
@@
-103,8
+109,13
@@
lookupkeys() {
echo "Encryption is not supported for BCCs" >&2
return 1
fi
echo "Encryption is not supported for BCCs" >&2
return 1
fi
-
- for i in `whom -ali -tocc -nobcc "$1"` ; 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 ;;
case "$i" in
'|'*) echo "Ignoring pipe address" >&2
continue ;;