diff options
author | Jan Bartel | 2013-01-07 09:10:54 +0000 |
---|---|---|
committer | Jan Bartel | 2013-01-07 09:10:54 +0000 |
commit | 3265c334cb954a758280523df41ada21880eb763 (patch) | |
tree | 7e647e902570da2a2bf4e55888f51afbb1cbbfd0 | |
parent | a4c547d61fbe2cc60eac38f0c9624774c77f1081 (diff) | |
download | org.eclipse.jetty.project-3265c334cb954a758280523df41ada21880eb763.tar.gz org.eclipse.jetty.project-3265c334cb954a758280523df41ada21880eb763.tar.xz org.eclipse.jetty.project-3265c334cb954a758280523df41ada21880eb763.zip |
397130 maxFormContentSize set in jetty.xml is ignored
-rw-r--r-- | jetty-server/src/main/java/org/eclipse/jetty/server/Request.java | 38 | ||||
-rw-r--r-- | jetty-server/src/main/java/org/eclipse/jetty/server/handler/ContextHandler.java | 4 |
2 files changed, 33 insertions, 9 deletions
diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/Request.java b/jetty-server/src/main/java/org/eclipse/jetty/server/Request.java index 4d927bc317..e3f7f6c0d8 100644 --- a/jetty-server/src/main/java/org/eclipse/jetty/server/Request.java +++ b/jetty-server/src/main/java/org/eclipse/jetty/server/Request.java @@ -255,18 +255,42 @@ public class Request implements HttpServletRequest maxFormContentSize = _context.getContextHandler().getMaxFormContentSize(); maxFormKeys = _context.getContextHandler().getMaxFormKeys(); } - else + + if (maxFormContentSize < 0) + { + Object obj = _connection.getConnector().getServer().getAttribute("org.eclipse.jetty.server.Request.maxFormContentSize"); + if (obj == null) + maxFormContentSize = 200000; + else if (obj instanceof Number) + { + Number size = (Number)obj; + maxFormContentSize = size.intValue(); + } + else if (obj instanceof String) + { + maxFormContentSize = Integer.valueOf((String)obj); + } + } + + if (maxFormKeys < 0) { - Number size = (Number)_connection.getConnector().getServer() - .getAttribute("org.eclipse.jetty.server.Request.maxFormContentSize"); - maxFormContentSize = size == null?200000:size.intValue(); - Number keys = (Number)_connection.getConnector().getServer().getAttribute("org.eclipse.jetty.server.Request.maxFormKeys"); - maxFormKeys = keys == null?1000:keys.intValue(); + Object obj = _connection.getConnector().getServer().getAttribute("org.eclipse.jetty.server.Request.maxFormKeys"); + if (obj == null) + maxFormKeys = 1000; + else if (obj instanceof Number) + { + Number keys = (Number)obj; + maxFormKeys = keys.intValue(); + } + else if (obj instanceof String) + { + maxFormKeys = Integer.valueOf((String)obj); + } } if (content_length > maxFormContentSize && maxFormContentSize > 0) { - throw new IllegalStateException("Form too large" + content_length + ">" + maxFormContentSize); + throw new IllegalStateException("Form too large " + content_length + ">" + maxFormContentSize); } InputStream in = getInputStream(); diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/handler/ContextHandler.java b/jetty-server/src/main/java/org/eclipse/jetty/server/handler/ContextHandler.java index 60b1f24ff1..beb9f81f3b 100644 --- a/jetty-server/src/main/java/org/eclipse/jetty/server/handler/ContextHandler.java +++ b/jetty-server/src/main/java/org/eclipse/jetty/server/handler/ContextHandler.java @@ -129,8 +129,8 @@ public class ContextHandler extends ScopedHandler implements Attributes, Server. private EventListener[] _eventListeners; private Logger _logger; private boolean _allowNullPathInfo; - private int _maxFormKeys = Integer.getInteger("org.eclipse.jetty.server.Request.maxFormKeys",1000).intValue(); - private int _maxFormContentSize = Integer.getInteger("org.eclipse.jetty.server.Request.maxFormContentSize",200000).intValue(); + private int _maxFormKeys = Integer.getInteger("org.eclipse.jetty.server.Request.maxFormKeys",-1).intValue(); + private int _maxFormContentSize = Integer.getInteger("org.eclipse.jetty.server.Request.maxFormContentSize",-1).intValue(); private boolean _compactPath = false; private boolean _aliases = false; |