diff --git a/CHANGES b/CHANGES index b22b434acc..e7cdcdaa06 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,7 @@ +6015. [bug] Some browsers (Firefox) send more than 10 HTTP + headers. Bump the number of allowed HTTP headers + to 100. [GL #3670] + 6013. [bug] Fix a crash that could happen when you change a dnssec-policy zone with NSEC3 to start using inline-signing. [GL #3591] diff --git a/bin/tests/system/statschannel/tests.sh b/bin/tests/system/statschannel/tests.sh index 4a95dfb99a..7d102af3c6 100644 --- a/bin/tests/system/statschannel/tests.sh +++ b/bin/tests/system/statschannel/tests.sh @@ -432,13 +432,13 @@ if [ -x "${CURL}" ] && ! ("${CURL}" --next 2>&1 | grep 'option --next: is unknow CURL_NEXT="${CURL}" fi -echo_i "Check HTTP with more than 10 headers ($n)" +echo_i "Check HTTP with more than 100 headers ($n)" ret=0 i=0 if [ -x "${CURL_NEXT}" ] ; then # build input stream. : > header.in$n - while test $i -lt 11 + while test $i -lt 101 do printf 'X-Bloat%d: VGhlIG1vc3QgY29tbW9uIHJlYXNvbiBmb3IgYmxvYXRpbmcgaXMgaGF2aW5nIGEgbG90IG9mIGdhcyBpbiB5b3VyIGd1dC4gCg==\r\n' $i >> header.in$n i=$((i+1)) diff --git a/doc/notes/notes-current.rst b/doc/notes/notes-current.rst index d06d938e2d..9dfbd0b908 100644 --- a/doc/notes/notes-current.rst +++ b/doc/notes/notes-current.rst @@ -35,7 +35,9 @@ Feature Changes Bug Fixes ~~~~~~~~~ -- None. +- Increase the number of HTTP headers in the statistics channel from + 10 to 100 to accomodate for some browsers that send more that 10 + headers by default. :gl:`#3670` Known Issues ~~~~~~~~~~~~ diff --git a/lib/isc/httpd.c b/lib/isc/httpd.c index 7760d4e867..612b51137d 100644 --- a/lib/isc/httpd.c +++ b/lib/isc/httpd.c @@ -51,7 +51,7 @@ */ #define HTTP_RECVLEN ISC_NETMGR_TCP_RECVBUF_SIZE * 2 #define HTTP_SENDLEN ISC_NETMGR_TCP_RECVBUF_SIZE -#define HTTP_HEADERS_NUM 10 +#define HTTP_HEADERS_NUM 100 #define HTTP_MAX_REQUEST_LEN 4096 #define HTTPD_CLOSE 0x0001 /* Got a Connection: close header */