That explains why we did not hit a problem earlier.
I added a check for content-length being greater than zero in
HttpClientDispatch and that broke content buffering for replaying for
SPNego.
If I  undo my change we would be good for now.
But,  we should still clean up the code not to return content length
value of -1.
If anybody uses that code, like I did, we would hit problems.


On Fri, Jun 21, 2013 at 7:27 AM, Kevin Minder (JIRA) <[email protected]> wrote:
>
>     [ 
> https://issues.apache.org/jira/browse/KNOX-80?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13690326#comment-13690326
>  ]
>
> Kevin Minder commented on KNOX-80:
> ----------------------------------
>
> Currently we never write the Content-Length header to Hadoop.  This is a very 
> difficult problem to solve due to the streaming nature of the gateway.  The 
> headers are written before any entity body has been filtered.
>
>> Knox should not set HTTP request content length as -1
>> -----------------------------------------------------
>>
>>                 Key: KNOX-80
>>                 URL: https://issues.apache.org/jira/browse/KNOX-80
>>             Project: Apache Knox
>>          Issue Type: Bug
>>          Components: Server
>>    Affects Versions: 0.3.0
>>            Reporter: Dilli Arumugam
>>             Fix For: 0.3.0
>>
>>
>> I see gateway-provider-identity-assertion-  
>> pseudo/src/main/java/org/apache/hadoop/gateway/filter/IdentityAssertionHttpServletRequestWrapper.java
>> is returning -1 as Content-Length  if contentType.startsWith( 
>> "application/x-www-form-urlencoded" ).
>> This not standard compatible and I believe is error prone.
>> Please see http 1.1 specs at
>> http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.13
>> Quoting from the specs:
>> Any Content-Length greater than or equal to zero is a valid value. Section 
>> 4.4 describes how to determine the length of a message-body if a 
>> Content-Length is not given.
>> So, we should not return content-length value as -1.
>> If we rewrite the content and change the entity length in the process, we 
>> have to compute and set the correct content-length or try to leverage 
>> chunked encoding where you do not specify the content-length header.
>
> --
> This message is automatically generated by JIRA.
> If you think it was sent incorrectly, please contact your JIRA administrators
> For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to