[MAGNOLIA-1790] Multipart form generated by Transporter (activation) doesn't play well with commons-fileupload Created: 20/Oct/07  Updated: 23/Jan/13  Resolved: 20/Oct/07

Status: Closed
Project: Magnolia
Component/s: activation
Affects Version/s: 3.1 M3
Fix Version/s: 3.5 RC1

Type: Bug Priority: Critical
Reporter: Fabrizio Giustina Assignee: Fabrizio Giustina
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Template:
Acceptance criteria:
Empty
Task DoD:
[ ]* Doc/release notes changes? Comment present?
[ ]* Downstream builds green?
[ ]* Solution information and context easily available?
[ ]* Tests
[ ]* FixVersion filled and not yet released
[ ]  Architecture Decision Record (ADR)
Bug DoR:
[ ]* Steps to reproduce, expected, and actual results filled
[ ]* Affected version filled

 Description   

Looks like the request composed by info.magnolia.module.exchangesimple.Transporter doesn't actually follow standards (header separator missing), this causes a MalformedStreamException when the activation request is parsed by commons-fileupload:

org.apache.commons.fileupload.MultipartStream$MalformedStreamException: Stream ended unexpectedly
at org.apache.commons.fileupload.MultipartStream.readHeaders(MultipartStream.java:542)
at org.apache.commons.fileupload.FileUploadBase$FileItemIteratorImpl.findNextItem(FileUploadBase.java:859)
at org.apache.commons.fileupload.FileUploadBase$FileItemIteratorImpl.hasNext(FileUploadBase.java:916)
at org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:348)
at org.apache.commons.fileupload.servlet.ServletFileUpload.parseRequest(ServletFileUpload.java:126)
at info.magnolia.cms.filters.MultipartRequestFilter.parseRequest(MultipartRequestFilter.java:132)
at info.magnolia.cms.filters.MultipartRequestFilter.doFilter(MultipartRequestFilter.java:105)
at info.magnolia.cms.filters.AbstractMagnoliaFilter.doFilter(AbstractMagnoliaFilter.java:46)
at info.magnolia.cms.filters.MagnoliaFilterChain.doFilter(MagnoliaFilterChain.java:48)
at info.magnolia.cms.security.BaseSecurityFilter.doFilter(BaseSecurityFilter.java:39)
at info.magnolia.cms.filters.AbstractMagnoliaFilter.doFilter(AbstractMagnoliaFilter.java:46)
at info.magnolia.cms.filters.MagnoliaFilterChain.doFilter(MagnoliaFilterChain.java:48)
at info.magnolia.cms.security.LogoutFilter.doFilter(LogoutFilter.java:63)
at info.magnolia.cms.filters.OncePerRequestAbstractMagnoliaFilter.doFilter(OncePerRequestAbstractMagnoliaFilter.java:29)
at info.magnolia.cms.filters.MagnoliaFilterChain.doFilter(MagnoliaFilterChain.java:48)
at info.magnolia.cms.security.auth.login.LoginFilter.doFilter(LoginFilter.java:72)
at info.magnolia.cms.filters.AbstractMagnoliaFilter.doFilter(AbstractMagnoliaFilter.java:46)
at info.magnolia.cms.filters.MagnoliaFilterChain.doFilter(MagnoliaFilterChain.java:48)
at info.magnolia.cms.filters.ContentTypeFilter.doFilter(ContentTypeFilter.java:60)
at info.magnolia.cms.filters.AbstractMagnoliaFilter.doFilter(AbstractMagnoliaFilter.java:46)
at info.magnolia.cms.filters.MagnoliaFilterChain.doFilter(MagnoliaFilterChain.java:48)
at info.magnolia.cms.filters.MgnlContextFilter.doFilter(MgnlContextFilter.java:83)
at info.magnolia.cms.filters.AbstractMagnoliaFilter.doFilter(AbstractMagnoliaFilter.java:46)
at info.magnolia.cms.filters.MagnoliaFilterChain.doFilter(MagnoliaFilterChain.java:48)
at info.magnolia.cms.filters.MagnoliaMainFilter.doFilter(MagnoliaMainFilter.java:116)
at info.magnolia.cms.filters.AbstractMagnoliaFilter.doFilter(AbstractMagnoliaFilter.java:46)



 Comments   
Comment by Fabrizio Giustina [ 20/Oct/07 ]

Looks like our fault was similar to the one traced in https://issues.apache.org/jira/browse/FILEUPLOAD-143

Transporter now correctly marks the end of streams with "--"

Generated at Mon Feb 12 03:30:21 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.