Version: GnuPG v1.4.8 (OpenBSD)
iQEcBAEBAgAGBQJHt89uAAoJEAQBqiBG05f/gjoH/jG6ZABGYnGCWXPhIYQyrQJU
pkHJlBCExxg1kYw9Ig04wfx05secy28mcSQjSEds/TTBqhh0VGC04ZGg0j8N9aBn
NWYtV+gIRDgrqtcUPyQVcTh/3lWwl+/IFVGVnsga+R8pSpnXyxgO4i/eGZXMcG5l
tU3hHp4L7G6u8I1NkB8DtQEc0SVzgWvutaxrktGKTpHhS7izmZRIUsbPdyF16Z3a
DazpAzYYMwaJk4hjNYNyeKm9T3TUfNlG/i9h6vecvQ12iBZ5n+SpOnU2yktgdoxx
3O6ESM5WFmN8Z9AZmZcQ8sWUjEyqV94fSAHYXDwcZArqwkWmWY3NEESlwg7V4d4=
=9iyr
-----END PGP SIGNATURE-----
默认的 mutt 数字签名邮件,在 gmail 中显示为附件 noname,在 live/hotmail
中显示为附件 ATT*.DAT。这个非常不直观/美观,如果能象 Enigmail 等显示为
附件 signature.asc 就好了。下面是我基于
Sertaç Ö. Yıldız <sertac.liste@gmail.com> 的补丁给出的解决方案:
http://marc.info/?l=mutt-users&m=120315252214068&w=3
$OpenBSD$
--- pgp.c.orig Wed Apr 25 04:12:16 2007
+++ pgp.c Sat Feb 16 16:15:36 2008
@@ -35,6 +35,7 @@
#include "pgp.h"
#include "mime.h"
#include "copy.h"
+#include "rfc2047.h" /* for content-description */
#include <sys/wait.h>
#include <string.h>
@@ -1104,9 +1105,13 @@ BODY *pgp_sign_message (BODY *a)
 t->type = TYPEAPPLICATION;
 t->subtype = safe_strdup ("pgp-signature");
 t->filename = safe_strdup (sigfile);
-  t->use_disp = 0;
-  t->disposition = DISPINLINE;
+  t->use_disp = 1;
+  t->disposition = DISPATTACH;
 t->encoding = ENC7BIT;
+  t->d_filename = safe_strdup ("signature.asc");
+  t->description = safe_strdup (_("Digital Signature"));
+  rfc2047_encode_string (&t->description);
+  mutt_set_parameter ("name", "signature.asc", &t->parameter);
 t->unlink = 1; /* ok to remove this file after sending. */
 return (a);
$OpenBSD$
--- crypt-gpgme.c.orig Fri Jul 27 03:43:39 2007
+++ crypt-gpgme.c Sat Feb 16 16:15:14 2008
@@ -34,6 +34,7 @@
#include "copy.h"
#include "pager.h"
#include "sort.h"
+#include "rfc2047.h" /* for content-description */
#include <sys/wait.h>
#include <string.h>
@@ -893,13 +894,19 @@ static BODY *sign_message (BODY *a, int use_smime)
     t->use_disp = 1;
     t->disposition = DISPATTACH;
     t->d_filename = safe_strdup ("smime.p7s");
+      t->description = safe_strdup (_("Digital Signature"));
+      rfc2047_encode_string (&t->description);
   }
 else
   {
     t->subtype = safe_strdup ("pgp-signature");
-      t->use_disp = 0;
-      t->disposition = DISPINLINE;
+      mutt_set_parameter ("name", "signature.asc", &t->parameter);
+      t->use_disp = 1;
+      t->disposition = DISPATTACH;
     t->encoding = ENC7BIT;
+      t->d_filename = safe_strdup ("signature.asc");
+      t->description = safe_strdup (_("Digital Signature"));
+      rfc2047_encode_string (&t->description);
   }
 t->filename = sigfile;
 t->unlink = 1; /* ok to remove this file after sending. */
 
 
没有评论:
发表评论