aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Andree <matthias.andree@gmx.de>2011-06-16 21:44:42 +0200
committerMatthias Andree <matthias.andree@gmx.de>2019-08-25 17:16:35 +0200
commit5256f6122e9843b1e9988a742ed6c2a4923bc2bd (patch)
tree851eb2aaedf69adf3f2b7e00fbd22a83fc7705e9
parent525a4c43284dbb325e6c628ba26065f6ca23e312 (diff)
downloadfetchmail-5256f6122e9843b1e9988a742ed6c2a4923bc2bd.tar.gz
fetchmail-5256f6122e9843b1e9988a742ed6c2a4923bc2bd.tar.bz2
fetchmail-5256f6122e9843b1e9988a742ed6c2a4923bc2bd.zip
mimedecode: Fix multipart/mixed detection.
Fixes a regression introduced in release 5.0.0 in March 1999 that was attributed to Henrik Storner. (cherry-pick from master, e45e718a80379391f8ba457e64e19f75f061741a)
-rw-r--r--NEWS4
-rw-r--r--unmime.c3
2 files changed, 5 insertions, 2 deletions
diff --git a/NEWS b/NEWS
index e53c32b2..c9c65a1b 100644
--- a/NEWS
+++ b/NEWS
@@ -171,6 +171,10 @@ fetchmail-6.4.0 (not yet released):
Fixes Debian Bug#928916, reported by Paul Kimoto.
* fetchmailconf would ignore Edit or Delete actions on the first (topmost)
item in a list (no matter if server list, user list, ...).
+* The mimedecode feature now properly detects multipart/mixed-type matches, so
+ that quoted-printable-encoded multipart messages can get decoded.
+ (Regression in 5.0.0 on 1999-03-27, as a side effect of a PGP-mimedecode fix
+ attributed to Henrik Storner.)
## UPDATED TRANSLATIONS - THANKS TO:
* CS: Petr Pisar <petr.pisar@atlas.cz> [Czech]
diff --git a/unmime.c b/unmime.c
index f799ff92..5f743e36 100644
--- a/unmime.c
+++ b/unmime.c
@@ -459,7 +459,7 @@ int MimeBodyType(char *hdrs, int WantDecode)
/* Check Content-Type to see if this is a multipart message */
if ( (CntType != NULL) &&
- ((strncasecmp(CntType, "multipart/mixed", 16) == 0) ||
+ ((strncasecmp(CntType, "multipart/mixed", 15) == 0) ||
(strncasecmp(CntType, "message/", 8) == 0)) ) {
char *p1 = GetBoundary(CntType);
@@ -469,7 +469,6 @@ int MimeBodyType(char *hdrs, int WantDecode)
the boundary string */
strcpy(MultipartDelimiter, "--");
strlcat(MultipartDelimiter, p1, sizeof(MultipartDelimiter));
- MultipartDelimiter[sizeof(MultipartDelimiter)-1] = '\0';
BodyType = (MSG_IS_8BIT | MSG_NEEDS_DECODE);
}
}