2010-12-18 [colin] 3.7.8cvs10
authorColin Leroy <colin@colino.net>
Sat, 18 Dec 2010 21:06:39 +0000 (21:06 +0000)
committerColin Leroy <colin@colino.net>
Sat, 18 Dec 2010 21:06:39 +0000 (21:06 +0000)
* 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.

ChangeLog
PATCHSETS
configure.ac
src/compose.c

index 34c68cd..9813a61 100644 (file)
--- 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
index cbb52aa..cb1ec8c 100644 (file)
--- a/PATCHSETS
+++ b/PATCHSETS
 ( 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
index 111da60..5cda4de 100644 (file)
@@ -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=
 
index 0870ee9..9dd9ae9 100644 (file)
@@ -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);