Ethereal-dev: Re: [Ethereal-dev] Patch to prevent rtp/rtcp to register conversationwhen disabl

Note: This archive is from the project's previous web site, This list is no longer active.

From: Ruud Linders <[email protected]>
Date: Sat, 17 Jul 2004 14:05:43 +0200

Guy Harris wrote:
On Tue, Jul 06, 2004 at 01:17:00PM +0200, Ruud Linders wrote:

Note that my patch to disable RTP/RTCP creating conversations
when disabled should still go in IMHO.
(When the resp. protocols are disabled, they shouldn't claim frames
in a conversation, preventing other dissectors to decode).

Is the problem that the conversation is created and has a dissector
assigned to it, or that "try_conversation_dissector()" returns TRUE,
rather than FALSE, if "call_dissector()" fails?  The RTCP dissector
won't claim the frame if it's disabled; the problem is that
"try_conversation_dissector()" won't check whether it was disabled (if
it is, "call_dissector()" won't call the dissector, and will return 0),
so its *caller* won't try anything else (so the packet will be dissected
as raw data, not as RTCP).

I didn't really check what the exact sequence of *dissector calls is.
If you are saying that rt(c)p_add_address adding a conversation even
when resp. protocols are disabled is fine because a
try_conversation_dissector will (should?) handle  that, then I agree
that would be the root-cause of the whoel problem.

What I'm seeing now is that DISabling RTCP (showing
"unknown packet type") will cause the packet to be decoded as raw
UDP. A subsequent manual decode->as does not work either.
I.e. this indeed indicates your analysis is correct.

Ethereal-dev mailing list
[email protected]