diff options
author | Jeffrey Stedfast <fejj@ximian.com> | 2001-05-27 05:53:42 +0800 |
---|---|---|
committer | Jeffrey Stedfast <fejj@src.gnome.org> | 2001-05-27 05:53:42 +0800 |
commit | 6f7c4bf1ae439847f945807008a921c6d769bde2 (patch) | |
tree | 6cc8758bdf2b6cb045220aac9a1c35478d5b0642 /mail/mail-format.c | |
parent | 1614f33b47f2fdab5cd56eab99102cca2b471b07 (diff) | |
download | gsoc2013-evolution-6f7c4bf1ae439847f945807008a921c6d769bde2.tar.gz gsoc2013-evolution-6f7c4bf1ae439847f945807008a921c6d769bde2.tar.zst gsoc2013-evolution-6f7c4bf1ae439847f945807008a921c6d769bde2.zip |
Fix to work properly.
2001-05-26 Jeffrey Stedfast <fejj@ximian.com>
* mail-format.c (try_inline_pgp_sig): Fix to work properly.
svn path=/trunk/; revision=10015
Diffstat (limited to 'mail/mail-format.c')
-rw-r--r-- | mail/mail-format.c | 27 |
1 files changed, 23 insertions, 4 deletions
diff --git a/mail/mail-format.c b/mail/mail-format.c index 66e90d1e90..95bc7e92f6 100644 --- a/mail/mail-format.c +++ b/mail/mail-format.c @@ -1174,13 +1174,32 @@ try_inline_pgp_sig (char *start, MailDisplay *md) { CamelCipherValidity *valid = NULL; CamelPgpContext *context; - char *end, *pgp_start; + char *end, *msg_start, *pgp_start; + + msg_start = strstr (start, "-----BEGIN PGP SIGNED MESSAGE-----"); + if (msg_start) { + /* skip over -----BEGIN PGP SIGNED MESSAGE----- */ + msg_start = strchr (msg_start, '\n'); + if (!msg_start++) + return start; + + /* skip over Hash: header */ + msg_start = strchr (msg_start, '\n'); + if (!msg_start++) + return start; + } else { + /* Some MUAs don't enclose the signed text in + -----BEGIN PGP SIGNED MESSAGE----- */ + msg_start = start; + } - pgp_start = strstr (start, "-----BEGIN PGP SIGNED MESSAGE-----"); + /* find the beginning of the signature block */ + pgp_start = strstr (msg_start, "-----BEGIN PGP SIGNATURE-----"); if (!pgp_start) return start; - end = strstr (start, "-----END PGP SIGNATURE-----"); + /* find the end of the pgp signature block */ + end = strstr (pgp_start, "-----END PGP SIGNATURE-----"); if (!end) return start; @@ -1208,7 +1227,7 @@ try_inline_pgp_sig (char *start, MailDisplay *md) camel_exception_free (ex); } - mail_text_write (md->html, md->stream, "%.*s", pgp_start - start, start); + mail_text_write (md->html, md->stream, "%.*s", pgp_start - msg_start, msg_start); mail_write_authenticity (md, valid); |