mirror of
https://github.com/puma/puma.git
synced 2022-11-09 13:48:40 -05:00
Co-authored-by: Nate Berkopec <nate.berkopec@gmail.com>
This commit is contained in:
parent
8d3db816fa
commit
a04fc21a56
4 changed files with 8 additions and 7 deletions
|
@ -6,6 +6,7 @@
|
|||
* Do not set user_config to quiet by default to allow for file config (#2074)
|
||||
* `GC.compact` is called before fork if available (#2093)
|
||||
* Add `requests_count` to workers stats. (#2106)
|
||||
* Increases maximum URI path length from 2048 to 8196 bytes (#2167)
|
||||
|
||||
* Deprecations, Removals and Breaking API Changes
|
||||
* `Puma.stats` now returns a Hash instead of a JSON string (#2086)
|
||||
|
|
|
@ -30,8 +30,8 @@ public class Http11 extends RubyObject {
|
|||
public final static String MAX_REQUEST_URI_LENGTH_ERR = "HTTP element REQUEST_URI is longer than the 12288 allowed length.";
|
||||
public final static int MAX_FRAGMENT_LENGTH = 1024;
|
||||
public final static String MAX_FRAGMENT_LENGTH_ERR = "HTTP element REQUEST_PATH is longer than the 1024 allowed length.";
|
||||
public final static int MAX_REQUEST_PATH_LENGTH = 2048;
|
||||
public final static String MAX_REQUEST_PATH_LENGTH_ERR = "HTTP element REQUEST_PATH is longer than the 2048 allowed length.";
|
||||
public final static int MAX_REQUEST_PATH_LENGTH = 8192;
|
||||
public final static String MAX_REQUEST_PATH_LENGTH_ERR = "HTTP element REQUEST_PATH is longer than the 8192 allowed length.";
|
||||
public final static int MAX_QUERY_STRING_LENGTH = 1024 * 10;
|
||||
public final static String MAX_QUERY_STRING_LENGTH_ERR = "HTTP element QUERY_STRING is longer than the 10240 allowed length.";
|
||||
public final static int MAX_HEADER_LENGTH = 1024 * (80 + 32);
|
||||
|
|
|
@ -54,7 +54,7 @@ DEF_MAX_LENGTH(FIELD_NAME, 256);
|
|||
DEF_MAX_LENGTH(FIELD_VALUE, 80 * 1024);
|
||||
DEF_MAX_LENGTH(REQUEST_URI, 1024 * 12);
|
||||
DEF_MAX_LENGTH(FRAGMENT, 1024); /* Don't know if this length is specified somewhere or not */
|
||||
DEF_MAX_LENGTH(REQUEST_PATH, 2048);
|
||||
DEF_MAX_LENGTH(REQUEST_PATH, 8196);
|
||||
DEF_MAX_LENGTH(QUERY_STRING, (1024 * 10));
|
||||
DEF_MAX_LENGTH(HEADER, (1024 * (80 + 32)));
|
||||
|
||||
|
|
|
@ -144,15 +144,15 @@ class Http11ParserTest < Minitest::Test
|
|||
parser = Puma::HttpParser.new
|
||||
req = {}
|
||||
|
||||
# Support URI path length to a max of 2048
|
||||
path = "/" + rand_data(1000, 100)
|
||||
# Support URI path length to a max of 8196
|
||||
path = "/" + rand_data(7000, 100)
|
||||
http = "GET #{path} HTTP/1.1\r\n\r\n"
|
||||
parser.execute(req, http, 0)
|
||||
assert_equal path, req['REQUEST_PATH']
|
||||
parser.reset
|
||||
|
||||
# Raise exception if URI path length > 2048
|
||||
path = "/" + rand_data(3000, 100)
|
||||
# Raise exception if URI path length > 8196
|
||||
path = "/" + rand_data(9000, 100)
|
||||
http = "GET #{path} HTTP/1.1\r\n\r\n"
|
||||
assert_raises Puma::HttpParserError do
|
||||
parser.execute(req, http, 0)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue