Commit Graph

11 Commits

Author SHA1 Message Date
Sake Blok a4decea55b Fixes reassembly of chunked http-responses spanning multiple tcp segments
(bugs 1581,1851 and 1868)


svn path=/trunk/; revision=23061
2007-10-03 17:07:19 +00:00
Richard van der Hoff 969bb158f6 From Mike Duigou <wireshark@duigou.org> (bug 1698):
Enclosed is a patch with fixes problems with the desegmentation of chunked HTTP
message bodies.

...

Changing the value of pinfo->desegment_len to DESEGMENT_ONE_MORE_SEGMENT rather
than the current 1 or 2 seems to make everything work. (I'm kind of confused as
to why the headers resassembly code already used DESEGMENT_ONE_MORE_SEGMENT and
the body reassembly code did not).


svn path=/trunk/; revision=22570
2007-08-21 20:57:52 +00:00
Stephen Fisher 8fd3ee0560 Remove almost all of the casts I committed recently and in place of
them, add -Wno-pointer-sign to CFLAGS when gcc will accept it.


svn path=/trunk/; revision=21253
2007-03-28 21:55:11 +00:00
Stephen Fisher 46b8669566 Fix a bunch more warnings. Add -Werror when using --with-warnings-as-errors
under gcc to tools/lemon, plugins/mate and epan/


svn path=/trunk/; revision=21204
2007-03-26 06:10:52 +00:00
Ronnie Sahlberg b6059df9e2 fix for bug 1142
if we dont have a content-length   but we do have a keepalive in the header then we should not do reassemble-until-fin.

convert some tvb_get_String into tvb_get_ephemeral_string at the same time


svn path=/trunk/; revision=19874
2006-11-10 20:53:42 +00:00
Ronnie Sahlberg 5a0ba5b0c7 fix for bug 1200
there used to be a bug in tcp reassembly that even if the dissector only asked for x more bytes from the next segment   the entire segment would still be added to reassembly.
this caused some issues when there was a new multisegment pdu that started at the end of the segment   but this bug was fixed when tcp reassembly was refactored semi-recently.


there was also another "bug" in the http reassembly that it would only ask for one more byte at a time when doing reassembly.
this did work well however when we still had the bug in tcp reassembly   but made wireshark become very very very slow once this tcp bug was fixed  since it is very very very slow to reassemble a huge http pdu just one byte at a time.


this patch adds partial support (what we need for http   which does not use tcp_dissect_pdus() ) for the desegmentation flag : DESEGMENT_ONE_MORE_SEGMENT and also to the http dissector   so that reassembly of http headers spanning multiple semgents now become fast again



svn path=/trunk/; revision=19859
2006-11-07 13:19:31 +00:00
Ronnie Sahlberg 6d3c94a53a implement support to reassemble tcp sessions until the end of the session (FIN)
add required code to the http (and others) code in req_resp_hdrs.c to signal to tcp
when it wants a session to be reassembled to the FIN.

This is currently done for all HTTP packets where we have a Content-type in the header but no content-length.




svn path=/trunk/; revision=19185
2006-09-10 14:03:08 +00:00
Ronnie Sahlberg 89f022b12b name change
svn path=/trunk/; revision=18197
2006-05-21 05:12:17 +00:00
Guy Harris c04a9a4180 There's no guaranteee that "req_resp_hdrs_do_reassembly()" gets called
only at the beginning of a tvbuff, so it needs an argument that's the
starting offset in the tvbuff.

svn path=/trunk/; revision=13128
2005-01-20 04:37:03 +00:00
Guy Harris fe833fc123 From Chris Maynard: free strings fetched with "tvb_get_string()" when
we're done with them.

svn path=/trunk/; revision=12975
2005-01-07 10:49:05 +00:00
Guy Harris 31158d0d0e Move the request/response header helper routines to the epan directory.
svn path=/trunk/; revision=12129
2004-09-29 00:25:05 +00:00