tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mark Thomas <ma...@apache.org>
Subject Re: svn commit: r1602386 - in /tomcat/tc7.0.x/trunk: ./ java/org/apache/coyote/http11/AbstractHttp11Processor.java
Date Fri, 13 Jun 2014 18:01:48 GMT
On 13/06/2014 16:23, Konstantin Kolinko wrote:
> 2014-06-13 15:37 GMT+04:00  <markt@apache.org>:
>> Author: markt
>> Date: Fri Jun 13 11:37:24 2014
>> New Revision: 1602386
>>
>> URL: http://svn.apache.org/r1602386
>> Log:
>> Tiny bit of de-duplication.
>> Add reference to RFC2616 for case insensitivity of transfer encoding
>> names.
>>
>> Modified:
>>     tomcat/tc7.0.x/trunk/   (props changed)
>>     tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/AbstractHttp11Processor.java
>>
>> Propchange: tomcat/tc7.0.x/trunk/
>> ------------------------------------------------------------------------------
>>   Merged /tomcat/trunk:r1599739
>>
>> Modified: tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/AbstractHttp11Processor.java
>> URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/AbstractHttp11Processor.java?rev=1602386&r1=1602385&r2=1602386&view=diff
>> ==============================================================================
>> --- tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/AbstractHttp11Processor.java
(original)
>> +++ tomcat/tc7.0.x/trunk/java/org/apache/coyote/http11/AbstractHttp11Processor.java
Fri Jun 13 11:37:24 2014
>> @@ -713,8 +713,12 @@ public abstract class AbstractHttp11Proc
>>       * Add an input filter to the current request. If the encoding is not
>>       * supported, a 501 response will be returned to the client.
>>       */
>> -    protected void addInputFilter(InputFilter[] inputFilters,
>> -                                     String encodingName) {
>> +    private void addInputFilter(InputFilter[] inputFilters, String encodingName)
{
>> +
>> +        // Trim provided encoding name and convert to lower case since transfer
>> +        // encoding names are case insensitive. (RFC2616, section 3.6)
>> +        encodingName = encodingName.trim().toLowerCase(Locale.ENGLISH);
>> +
>>          if (encodingName.equals("identity")) {
>>              // Skip
>>          } else if (encodingName.equals("chunked")) {
>> @@ -1314,14 +1318,12 @@ public abstract class AbstractHttp11Proc
>>              int commaPos = transferEncodingValue.indexOf(',');
>>              String encodingName = null;
>>              while (commaPos != -1) {
>> -                encodingName = transferEncodingValue.substring(
>> -                        startPos, commaPos).toLowerCase(Locale.ENGLISH).trim();
>> +                encodingName = transferEncodingValue.substring(startPos, commaPos);
> 
> The new code needs "trim()" in the above line.
> 
> Conversion to lowercase can be done once, but trimming must be done
> for each encodingName in the loop there.

Why? The possibly mixed-case, possibly non-trimmed value is passed to
addInputFilter() where it is trimmed and converted to lower case. What
am I missing?

Mark


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Mime
View raw message