- added a pointer to raw rtp data to _rtp_info that can be used by
taps;
- RTP packets are passed to the tap queue only if they are not
error packets (so that you don't need to filter out ICMP
packets)
- use that pointer in rtp_stream, so it handles packets with
padding, and should handle RTP packets fragmented across
lower-level packets
- moved rtp_stream from tap sources to normal files
(prevents on-start-up registration of the rtp_stream tap
listener)
- rtp_stream tap gets registered/unregistered with the "RTP
Streams" dialog box
i.e. the tap is registered as long as the dialog box is open.
Alternatively, it is de-/registered on demand if RTP Analysis is
called directly on a packet.
- rtp_stream tap listener no longer uses a filter in dissection
` and does not need to have a proto tree being built.
(performance increase)
- fixed: RTP Streams list will get updated in real time if the
dialog box is open while a redissection takes place.
svn path=/trunk/; revision=9051
Use #if 0/#endif rather than comments to remove the code that used to
refer to those routines - it's a bit more robust in the presence of
comments (there aren't currently any, but, just in case somebody adds
them...).
svn path=/trunk/; revision=9050
* Fix an incorrectly #ifdef'ed return introduced by the previous
patch
* Remove the parsed_length parameter from the function signature
of the tag and attribute dissectors - have it return the
parsed length, instead
* Throw ReportedBoundsError exceptions if we run past the end of
the tvbuff, rather than putting a special entry in
* Produce consistent and extensive debug logging (enabled by
defining DEBUG_wbxml)
* Get rid of the dozens of "#ifdef DEBUG ... #endif" constructs
for debug logging
svn path=/trunk/; revision=9047
does not understand. SHARE_INFO_1004, 1005, 1006, 1007, and 1501 seem not
to be understood by any, and it can screw up dissections.
svn path=/trunk/; revision=9044
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