Jeff Morriss
changed
bug 10335
Comment # 13
on bug 10335
from Jeff Morriss
The problem originated in I9f1c736baaeb86f9fab61601d79e79b4e3a16c38 (change
1334, "Create the HTTP tree and set column info after we're assured it's
HTTP.").
Martin's I2617d1e49030bd5ad85b0e818c48c01dc6fae075 (change 1373, "Limit the
start of HTTP request/response to a printable character.") also contributes.
Fundamentally the problem is that when TCP desegmentation is off the HTTP
dissector is called for packets in the middle of an HTTP stream (in Jim's
example, the download of a binary file). Before those changes the code assumed
it had HTTP and would just mark it as continuation data if it didn't recognize
it.
(I have to admit I'm really, really confused why Martin's FTP session--bug
8822--was being run through this section of the HTTP code.)
Fortunately the HTTP dissector already sets up conversation data when it
recognizes real HTTP. The problem is just that the code doesn't take advantage
of it.
I was half tempted to do more refactoring (e.g., to avoid the slow code when
we're in the middle of a binary byte stream) but I'm pretty sure that would
break things; the conversation data isn't set up to mark the beginning *and
ends* of requests and responses (which is what I think you'd really need to do
it Correctly).
I'll submit a patch that works for me; I haven't really tested it in other
situations though--really I should be doing other stuff right now <sigh>.
You are receiving this mail because:
- You are watching all bug changes.