memory if it throws an exception, as it checks whether the entire string
is in the tvbuff *before* allocating a buffer for it, and that also
means that if the length is absurdly large, an exception will be thrown,
rather than the memory allocation failing.
svn path=/trunk/; revision=9043
correct (and document) the offset computation in the parameter()
and parameter_value_q() functions.
From Lo�c Minier:
- a copy-paste with a missing replacement;
- content-disposition uses parameters not q-values;
- missing "+" for the calculation of parameter-offsets;
- white-space cleanup;
- comment fixes.
svn path=/trunk/; revision=9038
I.e. SEQ : seq==0 ack==0
SEQ|ACK seq==0 ack==1
ACK seq==1 ack==1
This looks much more correct.
This change also fixes the problem reported to ethereal-dev
recently with "Follow TCP Stream" dropping the first character of the stream.
svn path=/trunk/; revision=9034
"dissect_smb_logon()" always return TRUE, so just get rid of their
return value.
"call_dissector()" automatically calls the data dissector if the
protocol for the dissector being called is disabled, so we don't have to
check its result and call the data dissector if it returns 0.
svn path=/trunk/; revision=9027
Implement quoted-string parsing by appending the closing quote
to the string value. If the quoted-string value does not start
with a quote, dissection resumes but a warning is displayed.
Textual headers are assumed to be 0x00 terminated (otherwise we
have a malformed packet or a short frame).
The Trailer header is also dissected now, and the charset
parameter dissection has been rewritten.
The Content-ID header dissector was registered at the place of
the Trailer dissector; this has also been fixed.
svn path=/trunk/; revision=9024
Make "proto_is_protocol_enabled()" and "proto_get_protocol_short_name()"
take a "protocol_t *" as an argument, so they don't have to look up the
"protocol_t" - this will probably speed them up considerably, and
they're called on almost every dissector handoff.
Get rid of a number of "proto_is_protocol_enabled()" calls that aren't
necessary (dissectors called through handles, including those called
through dissector tables, or called as heuristic dissectors, aren't even
called if their protocol isn't enabled).
Change some direct dissector calls to go through handles.
svn path=/trunk/; revision=9002
(subdissectors must register their Content-Type values as
all-lower-case).
Don't include parameters in the value we look up in the Content-Type
subdissector table.
svn path=/trunk/; revision=9000
DISPLAY, and CLIENTNAME (in that order). If any of them are set, create
a capture filter that excludes their traffic and set it as the default.
The longer filters should be efficient without being overly long; they
may need some tweaking.
svn path=/trunk/; revision=8994