Wireshark-dev: Re: [Wireshark-dev] asn2wrs problem

From: Pascal Quantin <pascal.quantin@xxxxxxxxx>
Date: Thu, 25 Jun 2015 14:31:32 -0700


2015-06-25 14:24 GMT-07:00 Pascal Quantin <pascal.quantin@xxxxxxxxx>:
Hi Jörg,

2015-06-25 14:21 GMT-07:00 Joerg Mayer <jmayer@xxxxxxxxx>:
Hello,

after running make in the asn1 directory, I found the generated credssp dissector changed:

"""
index d418e17..03eea46 100644
--- a/epan/dissectors/packet-credssp.c
+++ b/epan/dissectors/packet-credssp.c
@@ -387,7 +387,7 @@ dissect_credssp_heur(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree,
               tags_bit_field = EXP_PDU_TAG_IP_SRC_BIT + EXP_PDU_TAG_IP_DST_BIT + EXP_PDU_TAG_SRC_PORT_BIT+
                   EXP_PDU_TAG_DST_PORT_BIT + EXP_PDU_TAG_ORIG_FNO_BIT;

-              exp_pdu_data = load_export_pdu_tags(pinfo, EXP_PDU_TAG_PROTO_NAME, "credssp", &tags_bit_field, 1);
+              exp_pdu_data = load_export_pdu_tags(pinfo, "credssp", -1, &tags_bit_field, 1);

               exp_pdu_data->tvb_captured_length = tvb_captured_length(tvb);
               exp_pdu_data->tvb_reported_length = tvb_reported_length(tvb);
"""

Trying to compile that version fails:

"""
[ 13%] Building C object epan/CMakeFiles/epan.dir/dissectors/packet-credssp.c.o
../../asn1/credssp/packet-credssp-template.c:115:58: error: incompatible pointer to integer conversion
      passing 'const char [8]' to parameter of type 'guint' (aka 'unsigned int')
      [-Werror,-Wint-conversion]
              exp_pdu_data = load_export_pdu_tags(pinfo, "credssp", -1, &tags_bit_field, 1);
                                                         ^~~~~~~~~
/Users/jmayer/tmpwork/wireshark/git/epan/exported_pdu.h:161:78: note: passing argument to parameter
      'tag_type' here
WS_DLL_PUBLIC exp_pdu_data_t *load_export_pdu_tags(packet_info *pinfo, guint tag_type, const char...
                                                                             ^
../../asn1/credssp/packet-credssp-template.c:115:69: error: incompatible integer to pointer conversion
      passing 'int' to parameter of type 'const char *' [-Werror,-Wint-conversion]
              exp_pdu_data = load_export_pdu_tags(pinfo, "credssp", -1, &tags_bit_field, 1);
                                                                    ^~
/Users/jmayer/tmpwork/wireshark/git/epan/exported_pdu.h:161:100: note: passing argument to parameter
      'proto_name' here
  ...exp_pdu_data_t *load_export_pdu_tags(packet_info *pinfo, guint tag_type, const char* proto_name,
                                                                                          ^
2 errors generated.
"""

Any ideas what is going on here?

Yeah that's my fault: I did some API change yesterday and did not realize that CREDSSP was an autogenerated dissector. I will fix this in a few minutes.

Sorry about that,
Pascal.

Done in ga124424.