You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mg...@apache.org on 2012/09/04 09:57:50 UTC

git commit: WICKET-4715 WebApplication doesn't recognize if an incoming request is multipart.

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 <mg...@apache.org>
Authored: Tue Sep 4 09:53:51 2012 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
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;
 	}