Updated Branches: refs/heads/wicket-1.5.x dff45e1e5 -> 70674289c
WICKET-4715 WebApplication doesn't recognize if an incoming request is multipart. Re-check the already parsed FileItems for max size (set by the form). Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/70674289 Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/70674289 Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/70674289 Branch: refs/heads/wicket-1.5.x Commit: 70674289c5df1afce96409b9580aa9034157ac1f Parents: dff45e1 Author: Martin Tzvetanov Grigorov <[email protected]> Authored: Tue Sep 4 09:53:51 2012 +0200 Committer: Martin Tzvetanov Grigorov <[email protected]> Committed: Tue Sep 4 09:57:42 2012 +0200 ---------------------------------------------------------------------- .../servlet/MultipartServletWebRequestImpl.java | 16 +++++++++++++++ 1 files changed, 16 insertions(+), 0 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/wicket/blob/70674289/wicket-core/src/main/java/org/apache/wicket/protocol/http/servlet/MultipartServletWebRequestImpl.java ---------------------------------------------------------------------- diff --git a/wicket-core/src/main/java/org/apache/wicket/protocol/http/servlet/MultipartServletWebRequestImpl.java b/wicket-core/src/main/java/org/apache/wicket/protocol/http/servlet/MultipartServletWebRequestImpl.java index 73f109d..2869cec 100644 --- a/wicket-core/src/main/java/org/apache/wicket/protocol/http/servlet/MultipartServletWebRequestImpl.java +++ b/wicket-core/src/main/java/org/apache/wicket/protocol/http/servlet/MultipartServletWebRequestImpl.java @@ -35,6 +35,7 @@ import org.apache.wicket.util.string.StringValue; import org.apache.wicket.util.upload.DiskFileItemFactory; import org.apache.wicket.util.upload.FileItem; import org.apache.wicket.util.upload.FileItemFactory; +import org.apache.wicket.util.upload.FileUploadBase; import org.apache.wicket.util.upload.FileUploadException; import org.apache.wicket.util.upload.ServletFileUpload; import org.apache.wicket.util.upload.ServletRequestContext; @@ -400,6 +401,21 @@ public class MultipartServletWebRequestImpl extends MultipartServletWebRequest public MultipartServletWebRequest newMultipartWebRequest(Bytes maxSize, String upload) throws FileUploadException { + for (Map.Entry<String, List<FileItem>> entry : files.entrySet()) + { + List<FileItem> fileItems = entry.getValue(); + for (FileItem fileItem : fileItems) + { + if (fileItem.getSize() > maxSize.bytes()) + { + String fieldName = entry.getKey(); + FileUploadException fslex = new FileUploadBase.FileSizeLimitExceededException("The field " + + fieldName + " exceeds its maximum permitted " + " size of " + + maxSize + " characters.", fileItem.getSize(), maxSize.bytes()); + throw fslex; + } + } + } return this; }
