From 4bad3f5577d4b3bb163e12981c5e3fe7fe479005 Mon Sep 17 00:00:00 2001 From: mguessan Date: Mon, 13 Aug 2007 08:43:52 +0000 Subject: [PATCH] Yet another MIME header fix (multiline), need a dedicated parser git-svn-id: http://svn.code.sf.net/p/davmail/code/trunk@72 3d1905a2-6b24-0410-a738-b14d5a86fcbd --- src/java/davmail/exchange/ExchangeSession.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/java/davmail/exchange/ExchangeSession.java b/src/java/davmail/exchange/ExchangeSession.java index 6e8e8815..6293e491 100644 --- a/src/java/davmail/exchange/ExchangeSession.java +++ b/src/java/davmail/exchange/ExchangeSession.java @@ -931,7 +931,7 @@ public class ExchangeSession { if (attachment == null && partHeader.fileName != null) { attachment = attachmentsMap.get(partHeader.fileName); } - + attachmentIndex++; if (attachment == null) { // only warn, could happen depending on IIS config @@ -1531,7 +1531,16 @@ public class ExchangeSession { // TODO : recode with header parser int filenameIndex = line.indexOf("filename=\""); if (filenameIndex >= 0) { - fileName = line.substring(filenameIndex + 10, line.lastIndexOf("\"")); + // handle multiline header + if (line.endsWith("\"")) { + fileName = line.substring(filenameIndex + 10, line.lastIndexOf("\"")); + } else { + fileName = line.substring(filenameIndex + 10); + // read next file name line + line = fixRenamedAttachment(reader.readLine(), currentAttachmentName); + writeLine(os, line); + fileName += line.substring(1, line.lastIndexOf("\"")); + } } } line = fixRenamedAttachment(reader.readLine(), currentAttachmentName);