Yes, that's the main side effect, and if all the registering is with 
proprietary dissectors, it's your users that have to deal with it.
Solutions are:
1. Change dissector table to allow duplicates.
2. Create "placeholder" protocols (you'll see a few examples in native 
Wireshark dissectors) so that each can show up differently in Decode As.
 
 
-----Original Message-----
From: Juan Jose Martin Carrascosa <[email protected]>
To: Developer support list for Wireshark <[email protected]>
Sent: Mon, Aug 29, 2016 8:54 pm
Subject: Re: [Wireshark-dev] Duplicate dissectors error



Hi Guy,


Thanks for your answer. What I meant regarding the logging API is to use 
something that can be disabled changing the verbosity of Wireshark. I've seen 
that previously.


The plugins are added using dissector_add_string() to the rtps.type_name table. 
What is the side effect of adding duplicated protocols? Just issues with 
"decode as"? If that is the only side effect, I can live with it.


Let me know if I can provide more information.


Thanks,
Juanjo Martin



On Mon, Aug 29, 2016 at 5:31 PM, Guy Harris <[email protected]> wrote:

On Aug 29, 2016, at 3:59 PM, Juan Jose Martin Carrascosa <[email protected]> wrote:

> Hi everybody,
>
> I am adding plugins to my Wireshark installation, so they register themselves 
> in the table rtps.type_name (created in packet-rtps.c).
>
> Duplicate dissectors (null) and (null) for protocol Custom in dissector table 
> rtps.type_name
> Duplicate dissectors (null) and (null) for protocol Custom_A in dissector 
> table rtps.type_name
> Duplicate dissectors (null) and (null) for protocol Custom_A in dissector 
> table rtps.type_name
> Duplicate dissectors (null) and (null) for protocol Custom_A in dissector 
> table rtps.type_name
> Duplicate dissectors (null) and (null) for protocol (none) in dissector table 
> rtps.type_name
>
> That error message comes from dissector_add_for_decode_as(). Actually, I 
> don't expect my dissectors to be called from decode_as...
>
> Few things:
>
> 1) This message is printed to stderr instead of using any Logging API. Should 
> we change that?

Well, that would first involve having a logging API to use.

For command-line based programs such as TShark, it would print them to stderr; 
for Wireshark, it could put them in an "error console" window that the user 
could pop up.  (On some OSes, output to stderr from GUI programs shows up in a 
log window, but that's not guaranteed.)

> 2) Which is the right way to design this so I don't get those errors? I could 
> change the value DISSECTOR_TABLE_NOT_ALLOW_DUPLICATE to 
> DISSECTOR_TABLE_ALLOW_DUPLICATE when I create the rtps.type_name table but 
> I'd prefer to solve the issue instead of patching it.

So what's the code that's registering your plugins (the reg_handoff routines 
for them)?
___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <[email protected]>
Archives:    https://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
             mailto:[email protected]?subject=unsubscribe






-- 







Juanjo Martin
Senior Application Engineer
Professional Services Group
Office: +34 958 27 88 62
Mobile: +34 656 30 20 56
[email protected]
www.rti.com






___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <[email protected]>
Archives:    https://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
             mailto:[email protected]?subject=unsubscribe
___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <[email protected]>
Archives:    https://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
             mailto:[email protected]?subject=unsubscribe

Reply via email to