RTP/RFC 4571: Wrong desegmentation/reassembly in RTP over TCP packets
Summary
The RTP packets are wrongly dissected when dissecting rfc4571(RTP over TCP) packets.
There is a large tvb with tvb_captured_length
over 8k(9786), which contains more than one RTP rfc4571 packet(each PDU has a length of 2+1412), the last sub-tvb with length 1302(with reported length 1414), which are treated as truncated, all subsequential are unable to dissect.
Steps to reproduce
- Open the capture file with Wireshark;
- 'Decode as' RTP;
What is the current bug behavior?
Packets are mis dissected.
What is the expected correct behavior?
RTP packets are dissected properly before the wrong packet(there is a problem within the packet captured).
Sample capture file
Relevant logs and/or screenshots
Mac OS X Intel
4.0.8
Mac OS X Silicon
4.0.7
Build information
Mac OS X Intel
Also tried the master version.
Version 4.0.8 (v4.0.8-0-g81696bb74857).
Compiled (64-bit) using Clang 11.0.0 (clang-1100.0.33.16), with GLib 2.68.4,
with PCRE2, with zlib 1.2.11, with Qt 6.2.4, with libpcap, without POSIX
capabilities, with Lua 5.2.4, with GnuTLS 3.6.15 and PKCS #11 support, with
Gcrypt 1.8.7, with Kerberos (MIT), with MaxMind, with nghttp2 1.46.0, with
brotli, with LZ4, with Zstandard, with Snappy, with libxml2 2.9.9, with libsmi
0.4.8, with QtMultimedia, with automatic updates using Sparkle, with SpeexDSP
(using system library), with Minizip, with binary plugins.
Running on Mac OS X 10.16, build 22G91 (Darwin 22.6.0), with Intel(R) Core(TM)
i5-8257U CPU @ 1.40GHz (with SSE4.2), with 8192 MB of physical memory, with GLib
2.68.4, with PCRE2 10.39 2021-10-29, with zlib 1.2.11, with Qt 6.2.4, with
libpcap 1.10.1, with c-ares 1.15.0, with GnuTLS 3.6.15, with Gcrypt 1.8.7, with
nghttp2 1.46.0, with brotli 1.0.9, with LZ4 1.9.2, with Zstandard 1.4.2, with
libsmi 0.4.8, with light display mode, with mixed DPI, with LC_TYPE=C, binary
plugins supported.
Edited by Xiaofeng Wang