You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by ba...@apache.org on 2008/07/15 11:11:24 UTC
svn commit: r676840 - in /james/mime4j/branches/streams-refactoring/src:
main/java/org/apache/james/mime4j/MimeEntity.java
test/resources/testmsgs/missing-inner-boundary.xml
test/resources/testmsgs/missing-inner-boundary_decoded.xml
Author: bago
Date: Tue Jul 15 02:11:23 2008
New Revision: 676840
URL: http://svn.apache.org/viewvc?rev=676840&view=rev
Log:
Make sure outer boundaries are always recognized when parsing nested content (MIME4J-56)
This introduce double bufferings but at least provide RFC compliant behaviour.
Also updated "missing-inner-boundary.msg" expected output to what Niklas suggested (corresponding to what RFC mandates).
Modified:
james/mime4j/branches/streams-refactoring/src/main/java/org/apache/james/mime4j/MimeEntity.java
james/mime4j/branches/streams-refactoring/src/test/resources/testmsgs/missing-inner-boundary.xml
james/mime4j/branches/streams-refactoring/src/test/resources/testmsgs/missing-inner-boundary_decoded.xml
Modified: james/mime4j/branches/streams-refactoring/src/main/java/org/apache/james/mime4j/MimeEntity.java
URL: http://svn.apache.org/viewvc/james/mime4j/branches/streams-refactoring/src/main/java/org/apache/james/mime4j/MimeEntity.java?rev=676840&r1=676839&r2=676840&view=diff
==============================================================================
--- james/mime4j/branches/streams-refactoring/src/main/java/org/apache/james/mime4j/MimeEntity.java (original)
+++ james/mime4j/branches/streams-refactoring/src/main/java/org/apache/james/mime4j/MimeEntity.java Tue Jul 15 02:11:23 2008
@@ -122,6 +122,7 @@
clearMimeStream();
state = EntityStates.T_END_MULTIPART;
} else {
+ clearMimeStream();
createMimeStream();
state = T_IN_BODYPART;
return nextMimeEntity();
@@ -133,6 +134,7 @@
monitor(Event.MIME_BODY_PREMATURE_END);
} else {
if (!mimeStream.isLastPart()) {
+ clearMimeStream();
createMimeStream();
state = T_IN_BODYPART;
return nextMimeEntity();
@@ -160,7 +162,11 @@
}
private void createMimeStream() throws IOException {
- mimeStream = new MimeBoundaryInputStream(inbuffer, body.getBoundary());
+ if (mimeStream != null) {
+ mimeStream = new MimeBoundaryInputStream(new InputBuffer(mimeStream, 4 * 1024), body.getBoundary());
+ } else {
+ mimeStream = new MimeBoundaryInputStream(inbuffer, body.getBoundary());
+ }
dataStream = new BufferingInputStreamAdaptor(mimeStream);
// If multipart message is embedded into another multipart message
// make sure to reset parent's mime stream
Modified: james/mime4j/branches/streams-refactoring/src/test/resources/testmsgs/missing-inner-boundary.xml
URL: http://svn.apache.org/viewvc/james/mime4j/branches/streams-refactoring/src/test/resources/testmsgs/missing-inner-boundary.xml?rev=676840&r1=676839&r2=676840&view=diff
==============================================================================
--- james/mime4j/branches/streams-refactoring/src/test/resources/testmsgs/missing-inner-boundary.xml (original)
+++ james/mime4j/branches/streams-refactoring/src/test/resources/testmsgs/missing-inner-boundary.xml Tue Jul 15 02:11:23 2008
@@ -24,9 +24,6 @@
<multipart>
<preamble>
AAA
-
---outer-boundary--
-Outer epilouge
</preamble>
<body-part>
<header>
@@ -39,6 +36,7 @@
</multipart>
</body-part>
<epilogue>
+Outer epilouge
</epilogue>
</multipart>
</message>
Modified: james/mime4j/branches/streams-refactoring/src/test/resources/testmsgs/missing-inner-boundary_decoded.xml
URL: http://svn.apache.org/viewvc/james/mime4j/branches/streams-refactoring/src/test/resources/testmsgs/missing-inner-boundary_decoded.xml?rev=676840&r1=676839&r2=676840&view=diff
==============================================================================
--- james/mime4j/branches/streams-refactoring/src/test/resources/testmsgs/missing-inner-boundary_decoded.xml (original)
+++ james/mime4j/branches/streams-refactoring/src/test/resources/testmsgs/missing-inner-boundary_decoded.xml Tue Jul 15 02:11:23 2008
@@ -22,9 +22,6 @@
<multipart>
<preamble>
AAA
-
---outer-boundary--
-Outer epilouge
</preamble>
<body-part>
<header>
@@ -36,6 +33,7 @@
</multipart>
</body-part>
<epilogue>
+Outer epilouge
</epilogue>
</multipart>
</message>
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org