Author: kkolinko
Date: Mon Jul 2 13:01:28 2012
New Revision: 1356208
URL: http://svn.apache.org/viewvc?rev=1356208&view=rev
Log:
Improve InternalNioInputBuffer#parseHeaders()
Move the code and s/end/pos/
It is backport of r1350294 from trunk (r1350301 in Tomcat 7).
Modified:
tomcat/tc6.0.x/trunk/ (props changed)
tomcat/tc6.0.x/trunk/STATUS.txt
tomcat/tc6.0.x/trunk/java/org/apache/coyote/http11/InternalNioInputBuffer.java
tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml
Propchange: tomcat/tc6.0.x/trunk/
------------------------------------------------------------------------------
Merged /tomcat/trunk:r1350294
Modified: tomcat/tc6.0.x/trunk/STATUS.txt
URL:
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/STATUS.txt?rev=1356208&r1=1356207&r2=1356208&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/STATUS.txt (original)
+++ tomcat/tc6.0.x/trunk/STATUS.txt Mon Jul 2 13:01:28 2012
@@ -144,12 +144,6 @@ PATCHES PROPOSED TO BACKPORT:
+1: markt, kfujino
-1:
-* Improve InternalNioInputBuffer.parseHeaders()
- http://svn.apache.org/viewvc?view=revision&revision=1350294
- (r1350301 in Tomcat 7)
- +1: kkolinko, markt, kfujino
- -1:
-
* Implement maxHeaderCount attribute on Connector.
It is equivalent of LimitRequestFields directive of Apache HTTPD
(backport of r1350295)
Modified:
tomcat/tc6.0.x/trunk/java/org/apache/coyote/http11/InternalNioInputBuffer.java
URL:
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/coyote/http11/InternalNioInputBuffer.java?rev=1356208&r1=1356207&r2=1356208&view=diff
==============================================================================
---
tomcat/tc6.0.x/trunk/java/org/apache/coyote/http11/InternalNioInputBuffer.java
(original)
+++
tomcat/tc6.0.x/trunk/java/org/apache/coyote/http11/InternalNioInputBuffer.java
Mon Jul 2 13:01:28 2012
@@ -673,10 +673,6 @@ public class InternalNioInputBuffer impl
do {
status = parseHeader();
- } while ( status == HeaderParseStatus.HAVE_MORE_HEADERS );
- if (status == HeaderParseStatus.DONE) {
- parsingHeader = false;
- end = pos;
// Checking that
// (1) Headers plus request line size does not exceed its limit
// (2) There are enough bytes to avoid expanding the buffer when
@@ -685,11 +681,15 @@ public class InternalNioInputBuffer impl
// limitation to enforce the meaning of headerBufferSize
// From the way how buf is allocated and how blank lines are being
// read, it should be enough to check (1) only.
- if (end - skipBlankLinesBytes > headerBufferSize
- || buf.length - end < socketReadBufferSize) {
+ if (pos - skipBlankLinesBytes > headerBufferSize
+ || buf.length - pos < socketReadBufferSize) {
throw new IllegalArgumentException(
sm.getString("iib.requestheadertoolarge.error"));
}
+ } while ( status == HeaderParseStatus.HAVE_MORE_HEADERS );
+ if (status == HeaderParseStatus.DONE) {
+ parsingHeader = false;
+ end = pos;
return true;
} else {
return false;
Modified: tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml
URL:
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml?rev=1356208&r1=1356207&r2=1356208&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml Mon Jul 2 13:01:28 2012
@@ -183,6 +183,9 @@
client disconnects before the response has been fully written from an
AJP connection using the APR/native connector. (kkolinko)
</fix>
+ <fix>
+ Improve <code>InternalNioInputBuffer.parseHeaders()</code>. (kkolinko)
+ </fix>
</changelog>
</subsection>
<subsection name="Jasper">
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]