talons

Fork of Claws Mail https://www.claws-mail
Log | Files | Refs | README | LICENSE

commit 0917354b3457a36115c423cdc7faa384f2a0feea
parent e1026f520af1b0021eb21c09d9133f7412a80962
Author: Colin Leroy <colin@colino.net>
Date:   Sat, 18 Dec 2010 21:06:39 +0000

2010-12-18 [colin]	3.7.8cvs10

	* src/compose.c
		Fix bug #2148, "Attachment content-transfer-encoding
		incorrectly set when signing emails". The RFC 2045
		states that message/* and multipart/* encoding must
		be either 7-bit, 8-bit or binary.

Diffstat:
MChangeLog | 8++++++++
MPATCHSETS | 1+
Mconfigure.ac | 2+-
Msrc/compose.c | 7++++++-
4 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/ChangeLog b/ChangeLog @@ -1,3 +1,11 @@ +2010-12-18 [colin] 3.7.8cvs10 + + * src/compose.c + Fix bug #2148, "Attachment content-transfer-encoding + incorrectly set when signing emails". The RFC 2045 + states that message/* and multipart/* encoding must + be either 7-bit, 8-bit or binary. + 2010-12-18 [mones] 3.7.8cvs9 * src/ldaputil.c diff --git a/PATCHSETS b/PATCHSETS @@ -4083,3 +4083,4 @@ ( cvs diff -u -r 1.213.2.197 -r 1.213.2.198 src/folder.c; ) > 3.7.8cvs7.patchset ( cvs diff -u -r 1.654.2.4156 -r 1.654.2.4157 configure.ac; cvs diff -u -r 1.8.2.38 -r 1.8.2.39 src/editldap.c; cvs diff -u -r 1.3.2.36 -r 1.3.2.37 src/ldapquery.c; cvs diff -u -r 1.4.2.20 -r 1.4.2.21 src/ldapserver.c; cvs diff -u -r 1.1.2.26 -r 1.1.2.27 src/ldapupdate.c; cvs diff -u -r 1.1.4.18 -r 1.1.4.19 src/ldaputil.c; cvs diff -u -r 1.1.4.10 -r 1.1.4.11 src/ldaputil.h; ) > 3.7.8cvs8.patchset ( cvs diff -u -r 1.1.4.19 -r 1.1.4.20 src/ldaputil.c; ) > 3.7.8cvs9.patchset +( cvs diff -u -r 1.382.2.561 -r 1.382.2.562 src/compose.c; ) > 3.7.8cvs10.patchset diff --git a/configure.ac b/configure.ac @@ -12,7 +12,7 @@ MINOR_VERSION=7 MICRO_VERSION=8 INTERFACE_AGE=0 BINARY_AGE=0 -EXTRA_VERSION=9 +EXTRA_VERSION=10 EXTRA_RELEASE= EXTRA_GTK2_VERSION= diff --git a/src/compose.c b/src/compose.c @@ -5973,12 +5973,17 @@ static int compose_add_attachments(Compose *compose, MimeInfo *parent) } } - if (compose->use_signing) { + if (mimepart->type == MIMETYPE_MESSAGE + || mimepart->type == MIMETYPE_MULTIPART) + ainfo->encoding = ENC_BINARY; + else if (compose->use_signing) { if (ainfo->encoding == ENC_7BIT) ainfo->encoding = ENC_QUOTED_PRINTABLE; else if (ainfo->encoding == ENC_8BIT) ainfo->encoding = ENC_BASE64; } + + procmime_encode_content(mimepart, ainfo->encoding);