For now use Jeff's fix:
"The REAL problem is that the GSM_MAP dissector is using this value_string_ext
in the hf without BASE_EXT_STRING:
{ &hf_gsm_old_localValue,
{ "localValue", "gsm_old.localValue",
FT_INT32, BASE_DEC, &gsm_old_GSMMAPOperationLocalvalue_vals_ext, 0,
"OperationLocalvalue", HFILL }},
This, in turn, appears to be caused because OperationLocalValue is an alias
for/of GSMMAPOperationLocalValue and only the latter is defined with
.USE_VALS_EXT.
I can fix it by doing:
Index: asn1/gsm_map/gsm_map.cnf
===================================================================
--- asn1/gsm_map/gsm_map.cnf (revision 39628)
+++ asn1/gsm_map/gsm_map.cnf (working copy)
@@ -54,6 +54,7 @@
#.USE_VALS_EXT
GSMMAPOperationLocalvalue
+OperationLocalvalue
#.EXPORTS
AddressString
But it seems to be that asn2wrs should arguably be figuring this out on its
own."
svn path=/trunk/; revision=40033
Specifically: Replace FALSE|0 and TRUE|1 by ENC_BIG_ENDIAN|ENC_LITTLE_ENDIAN as
the encoding parameter for proto_tree_add_item() calls which directly reference
an item in hf[] which has a type of:
FT_BOOLEAN
FT_IPv4
FT_EUI64
FT_GUID
FT_UINT_STRING
Also: For type FT_IPv6 use ENC_NA. (This was missed in SVN #39260)
svn path=/trunk/; revision=39332
Specifically: Replace FALSE|0 and TRUE|1 by ENC_BIG_ENDIAN|ENC_LITTLE_ENDIAN as
the encoding parameter for proto_tree_add_item() calls which directly reference
an item in hf[] which has a type of:
FT_UINT8
FT_UINT16
FT_UINT24
FT_UINT32
FT_UINT64
FT_INT8
FT_INT16
FT_INT24
FT_INT32
FT_INT64
FT_FLOAT
FT_DOUBLE
svn path=/trunk/; revision=39294
Use tvb_ip_to_str() and tvb_ip6_to_str().
There's no need to pass the result of tvb_get_ptr() as the 'value' in
proto_tree_add_*(): just use proto_tree_add_item().
Replace some tvb_get_ptr()s with tvb_get_ephemeral_string()s to ensure the
return string is NULL terminated.
svn path=/trunk/; revision=35546
keys to have _uint in their names, to match the routines that handle
dissector tables with string keys. (Using _port can confuse people into
thinking they're intended solely for use with TCP/UDP/etc. ports when,
in fact, they work better for things such as Ethernet types, where the
binding of particular values to particular protocols are a lot
stronger.)
svn path=/trunk/; revision=35224
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=5076
Use:
/*
* Dissect Multiple Choice Message
* This function is used to decode a message, when several encoding may be used.
* For exemple, in the last MAP version, the Cancel Location is defined like this:
* CancelLocationArg ::= [3] IMPLICIT SEQUENCE
* But in the previous MAP version, it was a CHOICE between a SEQUENCE and an IMSI
* As ASN1 encoders (or software) still uses the old encoding, this function allows
* the decoding of both versions.
* Moreover, some optimizations (or bad practice ?) in ASN1 encoder, removes the
* SEQUENCE tag, when only one parameter is present in the SEQUENCE.
* This explain why the function expects 3 parameters:
* - a [3] SEQUENCE corresponding the recent ASN1 MAP encoding
* - a SEQUENCE for old style
* - and a single parameter, for old version or optimizations
*
* The analyze of the first ASN1 tag, indicate what kind of decoding should be used,
* if the decoding function is provided (so not a NULL function)
*/
svn path=/trunk/; revision=34001
- Change spaces in the name to underscores before comparing it to the blurb.
- Check if the type simply as T_ prepended to the name.
- Don't put in a blurb of "NULL".
and regenerate the dissectors.
svn path=/trunk/; revision=32748
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=3477 by not using blurbs
that look like abbreviations (filter strings).
While we're at it try to avoid giving blurbs that are identical (or nearly so)
to the field name.
Regenerate a couple of dissectors like this to prove out the idea.
svn path=/trunk/; revision=32673