projects
/
mmh
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
add some gcc hint defines
[mmh]
/
uip
/
mhsign.sh
diff --git
a/uip/mhsign.sh
b/uip/mhsign.sh
index
94c19f9
..
44b3870
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,10
+22,11
@@
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 |
+ userid="`gpg --list-secret-keys --with-colons --fixed-list-mode \
+ 2>/dev/null |
grep '^sec' | sort -t: -k3,3nr -k 6,6nr |
awk -F: '
grep '^sec' | sort -t: -k3,3nr -k 6,6nr |
awk -F: '
- $7=="" || $7 > "'"\`date +%Y-%m-%d\`"'" {
+ $7=="" || $7 > "'"\`date +%s\`"'" {
print $5; exit;
}
'`"
print $5; exit;
}
'`"
@@
-100,6
+101,12
@@
lookupkeyring() {
return 0
}
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=
### lookupkeys file -- set $KL to list of recipient keys
lookupkeys() {
KL=
@@
-109,16
+116,18
@@
lookupkeys() {
return 1
fi
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 ;;
*@*) ;;
case "$i" in
'|'*) echo "Ignoring pipe address" >&2
continue ;;
*@*) ;;
- *) i="$i@`hostname -f`" ;;
+ *) i="$i@`mh_hostname`" ;;
esac
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
if k=`lookupkeyfile "$i"` ; then
KL="$KL $k"
elif k=`lookupkeyring "$i"` ; then
@@
-173,7
+182,7
@@
fixheaders() {
### newboundary -- output a suitable boundary marker
newboundary() {
### 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
for i in 0 x '=' _ + , Z 9 4 ; do
if grep "^--$b" $TEMP/body >/dev/null 2>&1 ; then
## oops, bad boundary -- try again