Nmap Development mailing list archives
Re: Error in http.lua's chunked encoding
From: David Fifield <david () bamsoftware com>
Date: Tue, 18 Aug 2009 12:44:37 -0600
On Mon, Aug 17, 2009 at 11:24:25PM -0300, Joao Correa wrote:
The problem happens because the request made was a HEAD request, where no body exists. The following patch fixed the problem for me. Thanks! Index: http.lua =================================================================== --- http.lua (revision 15069) +++ http.lua (working copy) @@ -828,7 +828,7 @@ ( body:match( "\n" ) and "\n" ) or nil -- handle chunked encoding - if result.header['transfer-encoding'] == 'chunked' then + if result.header['transfer-encoding'] == 'chunked' and #body > 0 then local _, chunk local chunks = {} for _, chunk in get_chunks(body, 1, body_delim) do
This patch is fine for a quick solution but it is not correct in general. We shouldn't just ignore it when there is no body; for example if a response to a GET request has a chunked Transfer-Encoding and no body (not even an empty chunk), that's a genuine error that should be reported. In a response to pipelined requests it probably also means that the rest of the stream is messed up. Section 4.3 of RFC 2616 says when a response does not have a body: All responses to the HEAD request method MUST NOT include a message-body, even though the presence of entity- header fields might lead one to believe they do. All 1xx (informational), 204 (no content), and 304 (not modified) responses MUST NOT include a message-body. All other responses do include a message-body, although it MAY be of zero length. So you have to know whether it was a HEAD request and the status code. David Fifield _______________________________________________ Sent through the nmap-dev mailing list http://cgi.insecure.org/mailman/listinfo/nmap-dev Archived at http://SecLists.Org
Current thread:
- Error in http.lua's chunked encoding, (continued)
- Message not available
- Error in http.lua's chunked encoding Joao Correa (Aug 18)
- Re: Error in http.lua's chunked encoding David Fifield (Aug 18)
- Re: Error in http.lua's chunked encoding David Fifield (Aug 18)
- Re: Error in http.lua's chunked encoding Joao Correa (Aug 18)
- Re: Error in http.lua's chunked encoding Ron (Aug 19)
- Re: Error in http.lua's chunked encoding David Fifield (Aug 19)
- Re: Error in http.lua's chunked encoding Joao Correa (Aug 19)
- Re: Error in http.lua's chunked encoding Ron (Aug 20)
- Message not available
- Error in http.lua's chunked encoding Joao Correa (Aug 20)
- Re: Error in http.lua's chunked encoding Ron (Aug 20)