Huge thanks to our Platinum Members Endace and LiveAction,
and our Silver Member Veeam, for supporting the Wireshark Foundation and project.

Wireshark-dev: Re: [Wireshark-dev] Exported PUD proto_name

From: Anders Broman <anders.broman@xxxxxxxxxxxx>
Date: Mon, 29 Aug 2016 15:33:59 +0000

 

From: wireshark-dev-bounces@xxxxxxxxxxxxx [mailto:wireshark-dev-bounces@xxxxxxxxxxxxx] On Behalf Of Dario Lombardo
Sent: den 29 augusti 2016 17:03
To: Developer support list for Wireshark <wireshark-dev@xxxxxxxxxxxxx>
Subject: Re: [Wireshark-dev] Exported PUD proto_name

 

I tried again with udpdump using

- http (4 bytes long), aligned ==> works correctly

- dns (3 bytes), not aligned, 1 byte padding ==> works correctly

At this point I guess it's something related to the specific aruba_erm dissector. Alexis, did you try it? Any success?

 

As Pascal said, the problem is probably that packet-aruba_erm.c does not register the dissector by name. Packet-exported_pdu.c has

 

    switch(next_proto_type) {

        case EXPORTED_PDU_NEXT_PROTO_STR:

            proto_handle = find_dissector(proto_name);

            if (proto_handle) {

                col_clear(pinfo->cinfo, COL_PROTOCOL);

                call_dissector_with_data(proto_handle, payload_tvb, pinfo, tree, dissector_data);

            }

            break;

 

We should probably have an expert info if the protocol isn’t found. I have also found this function recently

 

proto_get_id_by_filter_name(const gchar* filter_name);

 

which could be used as a second alternative if the protocol isn’t found. That would make register by name superfluous in most cases I think.

 

Best regards

Anders

 

 

On Fri, Aug 26, 2016 at 10:44 AM, Dario Lombardo <dario.lombardo.ml@xxxxxxxxx> wrote:

Ok, we'll wait for some clarifications from Alexis.