diff options
-rw-r--r-- | asn1/MAP_Dialogue/Makefile.nmake | 4 | ||||
-rw-r--r-- | asn1/Makefile.nmake | 2 | ||||
-rw-r--r-- | asn1/cmip/Makefile.nmake | 4 | ||||
-rw-r--r-- | asn1/ftam/Makefile.nmake | 4 | ||||
-rw-r--r-- | asn1/ftbp/Makefile.nmake | 4 | ||||
-rw-r--r-- | asn1/gnm/Makefile.nmake | 4 | ||||
-rw-r--r-- | asn1/gsm_ss/Makefile.nmake | 4 | ||||
-rw-r--r-- | asn1/gsmmap/GSMMAP.asn | 44 | ||||
-rw-r--r-- | asn1/gsmmap/gsmmap.cnf | 13 | ||||
-rw-r--r-- | asn1/gsmmap/packet-gsm_map-template.c | 5 | ||||
-rw-r--r-- | asn1/gsmmap/packet-gsm_map-template.h | 2 | ||||
-rw-r--r-- | asn1/logotype-cert-extn/Makefile.nmake | 4 | ||||
-rw-r--r-- | asn1/mms/Makefile.nmake | 4 | ||||
-rw-r--r-- | asn1/ns-cert-exts/Makefile.nmake | 4 | ||||
-rw-r--r-- | asn1/ocsp/Makefile.nmake | 4 | ||||
-rw-r--r-- | asn1/smrse/Makefile.nmake | 4 | ||||
-rw-r--r-- | asn1/spnego/Makefile.nmake | 4 | ||||
-rw-r--r-- | epan/dissectors/packet-gsm_map.c | 101 | ||||
-rw-r--r-- | epan/dissectors/packet-gsm_map.h | 4 |
19 files changed, 173 insertions, 46 deletions
diff --git a/asn1/MAP_Dialogue/Makefile.nmake b/asn1/MAP_Dialogue/Makefile.nmake index d18717a7a3..8bb63e1834 100644 --- a/asn1/MAP_Dialogue/Makefile.nmake +++ b/asn1/MAP_Dialogue/Makefile.nmake @@ -37,6 +37,6 @@ fix_eol: generate_dissector del /f packet-$(PROTOCOL_NAME).c.tmp packet-$(PROTOCOL_NAME).h.tmp copy_files: generate_dissector fix_eol - xcopy packet-$(PROTOCOL_NAME).c ..\..\epan\dissectors /d - xcopy packet-$(PROTOCOL_NAME).h ..\..\epan\dissectors /d + xcopy packet-$(PROTOCOL_NAME).c ..\..\epan\dissectors /d /y + xcopy packet-$(PROTOCOL_NAME).h ..\..\epan\dissectors /d /y diff --git a/asn1/Makefile.nmake b/asn1/Makefile.nmake index ccd5147ef9..7e6b6bc370 100644 --- a/asn1/Makefile.nmake +++ b/asn1/Makefile.nmake @@ -51,7 +51,6 @@ all: \ wlancertextn \ x411 \ x420 \ - x501 \ x509af \ x509ce \ x509if \ @@ -260,7 +259,6 @@ ber: \ wlancertextn \ x411 \ x420 \ - x501 \ x509af \ x509ce \ x509if \ diff --git a/asn1/cmip/Makefile.nmake b/asn1/cmip/Makefile.nmake index 6f21eb1a43..28ff717d0b 100644 --- a/asn1/cmip/Makefile.nmake +++ b/asn1/cmip/Makefile.nmake @@ -37,5 +37,5 @@ fix_eol: generate_dissector del /f packet-$(PROTOCOL_NAME).c.tmp packet-$(PROTOCOL_NAME).h.tmp copy_files: generate_dissector fix_eol - xcopy packet-$(PROTOCOL_NAME).c ..\..\epan\dissectors /d - xcopy packet-$(PROTOCOL_NAME).h ..\..\epan\dissectors /d + xcopy packet-$(PROTOCOL_NAME).c ..\..\epan\dissectors /d /y + xcopy packet-$(PROTOCOL_NAME).h ..\..\epan\dissectors /d /y diff --git a/asn1/ftam/Makefile.nmake b/asn1/ftam/Makefile.nmake index 3c58aa3fbe..56388dfa7b 100644 --- a/asn1/ftam/Makefile.nmake +++ b/asn1/ftam/Makefile.nmake @@ -37,6 +37,6 @@ fix_eol: generate_dissector del /f packet-$(PROTOCOL_NAME).c.tmp packet-$(PROTOCOL_NAME).h.tmp copy_files: generate_dissector fix_eol - xcopy packet-$(PROTOCOL_NAME).c ..\..\epan\dissectors /d - xcopy packet-$(PROTOCOL_NAME).h ..\..\epan\dissectors /d + xcopy packet-$(PROTOCOL_NAME).c ..\..\epan\dissectors /d /y + xcopy packet-$(PROTOCOL_NAME).h ..\..\epan\dissectors /d /y diff --git a/asn1/ftbp/Makefile.nmake b/asn1/ftbp/Makefile.nmake index 8fb08977e8..98f9f6640c 100644 --- a/asn1/ftbp/Makefile.nmake +++ b/asn1/ftbp/Makefile.nmake @@ -37,6 +37,6 @@ fix_eol: generate_dissector del /f packet-$(PROTOCOL_NAME).c.tmp packet-$(PROTOCOL_NAME).h.tmp copy_files: generate_dissector fix_eol - xcopy packet-$(PROTOCOL_NAME).c ..\..\epan\dissectors /d - xcopy packet-$(PROTOCOL_NAME).h ..\..\epan\dissectors /d + xcopy packet-$(PROTOCOL_NAME).c ..\..\epan\dissectors /d /y + xcopy packet-$(PROTOCOL_NAME).h ..\..\epan\dissectors /d /y diff --git a/asn1/gnm/Makefile.nmake b/asn1/gnm/Makefile.nmake index c385cd1017..53ea858b5e 100644 --- a/asn1/gnm/Makefile.nmake +++ b/asn1/gnm/Makefile.nmake @@ -37,6 +37,6 @@ fix_eol: generate_dissector del /f packet-$(PROTOCOL_NAME).c.tmp packet-$(PROTOCOL_NAME).h.tmp copy_files: generate_dissector fix_eol - xcopy packet-$(PROTOCOL_NAME).c ..\..\epan\dissectors /d - xcopy packet-$(PROTOCOL_NAME).h ..\..\epan\dissectors /d + xcopy packet-$(PROTOCOL_NAME).c ..\..\epan\dissectors /d /y + xcopy packet-$(PROTOCOL_NAME).h ..\..\epan\dissectors /d /y diff --git a/asn1/gsm_ss/Makefile.nmake b/asn1/gsm_ss/Makefile.nmake index 23c800c53e..5309456316 100644 --- a/asn1/gsm_ss/Makefile.nmake +++ b/asn1/gsm_ss/Makefile.nmake @@ -37,5 +37,5 @@ fix_eol: generate_dissector del /f packet-$(PROTOCOL_NAME).c.tmp packet-$(PROTOCOL_NAME).h.tmp copy_files: generate_dissector fix_eol - xcopy packet-$(PROTOCOL_NAME).c ..\..\epan\dissectors /d - xcopy packet-$(PROTOCOL_NAME).h ..\..\epan\dissectors /d + xcopy packet-$(PROTOCOL_NAME).c ..\..\epan\dissectors /d /y + xcopy packet-$(PROTOCOL_NAME).h ..\..\epan\dissectors /d /y diff --git a/asn1/gsmmap/GSMMAP.asn b/asn1/gsmmap/GSMMAP.asn index bd76d58683..c1ece2596f 100644 --- a/asn1/gsmmap/GSMMAP.asn +++ b/asn1/gsmmap/GSMMAP.asn @@ -5410,6 +5410,50 @@ ExtensionContainer ::= SEQUENCE { pcsExtensions [1] IMPLICIT PcsExtensions OPTIONAL, ... } +-- Private extensions +accessType-id OBJECT IDENTIFIER ::= + {1 3 12 2 1107 3 66 1 1} + + --iso (1) + --identified-organization (3) + --ecma (12) + --member-company (2) + --siemens-units (1107) + --oen (3) + --mn (66) + --proprietary-extensions (1) + --accessType (1) + +accessTypeNotAllowed-id OBJECT IDENTIFIER ::= + {1 3 12 2 1107 3 66 1 2} + + --iso (1) + --identified-organization (3) + --ecma (12) + --member-company (2) + --siemens-units (1107) + --oen (3) + --mn (66) + --proprietary-extensions (1) + --accessTypeNotAllowed (2) + +--accessType MAP-EXTENSION ::= { +-- &ExtensionType AccessType, +-- &extensionId accessType-id} + +AccessTypePriv ::= SEQUENCE { + access Access, + version Version, + ...} + +Access ::= ENUMERATED { + gsm (1), + geran (2), + utran (3), + ...} + +Version ::= INTEGER (1..20) + END diff --git a/asn1/gsmmap/gsmmap.cnf b/asn1/gsmmap/gsmmap.cnf index 112c6783bd..ec1db9bdb5 100644 --- a/asn1/gsmmap/gsmmap.cnf +++ b/asn1/gsmmap/gsmmap.cnf @@ -445,9 +445,15 @@ Component #---------------------------------------------------------------------------------------- #.FN_BODY PrivateExtension/extType + proto_tree_add_text(tree, tvb, offset, -1, "Extension Data"); - call_dissector(data_handle, tvb, pinfo, tree); - offset = tvb_length_remaining(tvb,offset); + if (obj_id){ + offset=call_ber_oid_callback(obj_id, tvb, offset, pinfo, tree); + }else{ + call_dissector(data_handle, tvb, pinfo, tree); + offset = tvb_length_remaining(tvb,offset); + } + #.END #.FN_FTR ForwardingOptions @@ -583,6 +589,9 @@ Component subtree = proto_item_add_subtree(item, ett_gsm_map_LAIFixedLength); dissect_e212_mcc_mnc(parameter_tvb, subtree, 0); +#.FN_PARS OBJECT_IDENTIFIER + FN_VARIANT = _str VAL_PTR = &obj_id + #---------------------------------------------------------------------------------------- #.TYPE_ATTR SS-Code TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(ssCode_vals) diff --git a/asn1/gsmmap/packet-gsm_map-template.c b/asn1/gsmmap/packet-gsm_map-template.c index 487cd8a6aa..ba527a29e1 100644 --- a/asn1/gsmmap/packet-gsm_map-template.c +++ b/asn1/gsmmap/packet-gsm_map-template.c @@ -146,6 +146,7 @@ static proto_tree *top_tree; static int application_context_version; gint protocolId; gint AccessNetworkProtocolId; +const char *obj_id = NULL; static int gsm_map_tap = -1; /* Forward declarations */ @@ -1927,6 +1928,10 @@ void proto_register_gsm_map(void) { BASE_DEC); gsm_map_tap = register_tap("gsm_map"); + +/* #include "packet-gsm_map-dis-tab.c" */ + register_ber_oid_name("1.2.826.0.1249.58.1.0","iso(1) member-body(2) bsi(826) disc(0) ericsson(1249) gsmNetworkApplicationsDefinition(58) gsm-Map(1) gsm-Map-Ext(0)" ); + register_ber_oid_name("1.3.12.2.1107.3.66.1.2","accessTypeNotAllowed-id" ); /*register_ber_oid_name("0.4.0.0.1.0.1.3","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) networkLocUp(1) version3(3)" ); * * Register our configuration options, particularly our ssn:s diff --git a/asn1/gsmmap/packet-gsm_map-template.h b/asn1/gsmmap/packet-gsm_map-template.h index e58b2c4c60..4892d378ab 100644 --- a/asn1/gsmmap/packet-gsm_map-template.h +++ b/asn1/gsmmap/packet-gsm_map-template.h @@ -1,6 +1,6 @@ /* packet-gsm_map-template.h * Routines for GSM MAP packet dissection - * Copyright 2004, Anders Broman <anders.broman@ericsson.com> + * Copyright 2004 - 2006, Anders Broman <anders.broman@ericsson.com> * * $Id$ * diff --git a/asn1/logotype-cert-extn/Makefile.nmake b/asn1/logotype-cert-extn/Makefile.nmake index ae5cb46c62..61b43654f3 100644 --- a/asn1/logotype-cert-extn/Makefile.nmake +++ b/asn1/logotype-cert-extn/Makefile.nmake @@ -37,5 +37,5 @@ fix_eol: generate_dissector del /f packet-$(PROTOCOL_NAME).c.tmp packet-$(PROTOCOL_NAME).h.tmp copy_files: generate_dissector fix_eol - xcopy packet-$(PROTOCOL_NAME).c ..\..\epan\dissectors /d - xcopy packet-$(PROTOCOL_NAME).h ..\..\epan\dissectors /d + xcopy packet-$(PROTOCOL_NAME).c ..\..\epan\dissectors /d /y + xcopy packet-$(PROTOCOL_NAME).h ..\..\epan\dissectors /d /y diff --git a/asn1/mms/Makefile.nmake b/asn1/mms/Makefile.nmake index cd99128111..44b20e7f72 100644 --- a/asn1/mms/Makefile.nmake +++ b/asn1/mms/Makefile.nmake @@ -37,6 +37,6 @@ fix_eol: generate_dissector del /f packet-$(PROTOCOL_NAME).c.tmp packet-$(PROTOCOL_NAME).h.tmp copy_files: generate_dissector fix_eol - xcopy packet-$(PROTOCOL_NAME).c ..\..\epan\dissectors /d - xcopy packet-$(PROTOCOL_NAME).h ..\..\epan\dissectors /d + xcopy packet-$(PROTOCOL_NAME).c ..\..\epan\dissectors /d /y + xcopy packet-$(PROTOCOL_NAME).h ..\..\epan\dissectors /d /y diff --git a/asn1/ns-cert-exts/Makefile.nmake b/asn1/ns-cert-exts/Makefile.nmake index 13469557af..62bc1e9c81 100644 --- a/asn1/ns-cert-exts/Makefile.nmake +++ b/asn1/ns-cert-exts/Makefile.nmake @@ -37,5 +37,5 @@ fix_eol: generate_dissector del /f packet-$(PROTOCOL_NAME).c.tmp packet-$(PROTOCOL_NAME).h.tmp copy_files: generate_dissector fix_eol - xcopy packet-$(PROTOCOL_NAME).c ..\..\epan\dissectors /d - xcopy packet-$(PROTOCOL_NAME).h ..\..\epan\dissectors /d + xcopy packet-$(PROTOCOL_NAME).c ..\..\epan\dissectors /d /y + xcopy packet-$(PROTOCOL_NAME).h ..\..\epan\dissectors /d /y diff --git a/asn1/ocsp/Makefile.nmake b/asn1/ocsp/Makefile.nmake index efc1637df8..c0ce092994 100644 --- a/asn1/ocsp/Makefile.nmake +++ b/asn1/ocsp/Makefile.nmake @@ -37,5 +37,5 @@ fix_eol: generate_dissector del /f packet-$(PROTOCOL_NAME).c.tmp packet-$(PROTOCOL_NAME).h.tmp copy_files: generate_dissector fix_eol - xcopy packet-$(PROTOCOL_NAME).c ..\..\epan\dissectors /d - xcopy packet-$(PROTOCOL_NAME).h ..\..\epan\dissectors /d + xcopy packet-$(PROTOCOL_NAME).c ..\..\epan\dissectors /d /y + xcopy packet-$(PROTOCOL_NAME).h ..\..\epan\dissectors /d /y diff --git a/asn1/smrse/Makefile.nmake b/asn1/smrse/Makefile.nmake index 9e6537ab51..90efacbefc 100644 --- a/asn1/smrse/Makefile.nmake +++ b/asn1/smrse/Makefile.nmake @@ -37,5 +37,5 @@ fix_eol: generate_dissector del /f packet-$(PROTOCOL_NAME).c.tmp packet-$(PROTOCOL_NAME).h.tmp copy_files: generate_dissector fix_eol - xcopy packet-$(PROTOCOL_NAME).c ..\..\epan\dissectors /d - xcopy packet-$(PROTOCOL_NAME).h ..\..\epan\dissectors /d + xcopy packet-$(PROTOCOL_NAME).c ..\..\epan\dissectors /d /y + xcopy packet-$(PROTOCOL_NAME).h ..\..\epan\dissectors /d /y diff --git a/asn1/spnego/Makefile.nmake b/asn1/spnego/Makefile.nmake index 6cf110c046..d99f44207d 100644 --- a/asn1/spnego/Makefile.nmake +++ b/asn1/spnego/Makefile.nmake @@ -37,6 +37,6 @@ fix_eol: generate_dissector del /f packet-$(PROTOCOL_NAME).c.tmp packet-$(PROTOCOL_NAME).h.tmp copy_files: generate_dissector fix_eol - xcopy packet-$(PROTOCOL_NAME).c ..\..\epan\dissectors /d - xcopy packet-$(PROTOCOL_NAME).h ..\..\epan\dissectors /d + xcopy packet-$(PROTOCOL_NAME).c ..\..\epan\dissectors /d /y + xcopy packet-$(PROTOCOL_NAME).h ..\..\epan\dissectors /d /y diff --git a/epan/dissectors/packet-gsm_map.c b/epan/dissectors/packet-gsm_map.c index d0eb142468..47445819c8 100644 --- a/epan/dissectors/packet-gsm_map.c +++ b/epan/dissectors/packet-gsm_map.c @@ -1,6 +1,6 @@ /* Do not modify this file. */ /* It is created automatically by the ASN.1 to Ethereal dissector compiler */ -/* ./packet-gsm_map.c */ +/* .\packet-gsm_map.c */ /* ../../tools/asn2eth.py -X -b -e -p gsm_map -c gsmmap.cnf -s packet-gsm_map-template GSMMAP.asn */ /* Input file: packet-gsm_map-template.c */ @@ -836,6 +836,8 @@ static int hf_gsm_map_diagnosticInfo = -1; /* SignalInfo */ static int hf_gsm_map_unauthorizedLCSClient_Diagnostic = -1; /* T_unauthorizedLCSClient_Diagnostic */ static int hf_gsm_map_positionMethodFailure_Diagnostic = -1; /* PositionMethodFailure_Diagnostic */ static int hf_gsm_map_pcsExtensions = -1; /* PcsExtensions */ +static int hf_gsm_map_access = -1; /* Access */ +static int hf_gsm_map_version = -1; /* Version */ /* named bits */ static int hf_gsm_map_SupportedCamelPhases_phase1 = -1; static int hf_gsm_map_SupportedCamelPhases_phase2 = -1; @@ -1358,6 +1360,7 @@ static gint ett_gsm_map_MM_EventNotSupported_Param = -1; static gint ett_gsm_map_TargetCellOutsideGCA_Param = -1; static gint ett_gsm_map_SecureTransportErrorParam = -1; static gint ett_gsm_map_ExtensionContainer = -1; +static gint ett_gsm_map_AccessTypePriv = -1; /*--- End of included file: packet-gsm_map-ett.c ---*/ #line 132 "packet-gsm_map-template.c" @@ -1378,6 +1381,7 @@ static proto_tree *top_tree; static int application_context_version; gint protocolId; gint AccessNetworkProtocolId; +const char *obj_id = NULL; static int gsm_map_tap = -1; /* Forward declarations */ @@ -1713,7 +1717,7 @@ static int dissect_localValue(packet_info *pinfo, proto_tree *tree, tvbuff_t *tv static int dissect_gsm_map_OBJECT_IDENTIFIER(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) { - offset = dissect_ber_object_identifier(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL); + offset = dissect_ber_object_identifier_str(implicit_tag, pinfo, tree, tvb, offset, hf_index, &obj_id); return offset; } @@ -2574,9 +2578,15 @@ static int dissect_gsm_map_T_extType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) { #line 447 "gsmmap.cnf" + proto_tree_add_text(tree, tvb, offset, -1, "Extension Data"); - call_dissector(data_handle, tvb, pinfo, tree); - offset = tvb_length_remaining(tvb,offset); + if (obj_id){ + offset=call_ber_oid_callback(obj_id, tvb, offset, pinfo, tree); + }else{ + call_dissector(data_handle, tvb, pinfo, tree); + offset = tvb_length_remaining(tvb,offset); + } + @@ -3074,7 +3084,7 @@ static int dissect_vlr_Capability_impl(packet_info *pinfo, proto_tree *tree, tvb int dissect_gsm_map_GSN_Address(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) { -#line 525 "gsmmap.cnf" +#line 531 "gsmmap.cnf" tvbuff_t *parameter_tvb; guint8 octet; @@ -3470,7 +3480,7 @@ static int dissect_numberOfRequestedVectors(packet_info *pinfo, proto_tree *tree int dissect_gsm_map_LAIFixedLength(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) { -#line 573 "gsmmap.cnf" +#line 579 "gsmmap.cnf" tvbuff_t *parameter_tvb; proto_item *item; @@ -5565,7 +5575,7 @@ static int dissect_gsm_map_T_forwardingOptions(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) { offset = dissect_gsm_map_Ext_ForwOptions(implicit_tag, tvb, offset, pinfo, tree, hf_index); -#line 460 "gsmmap.cnf" +#line 466 "gsmmap.cnf" proto_tree_add_item(tree, hf_gsm_map_notification_to_forwarding_party, tvb, 0,1,FALSE); proto_tree_add_item(tree, hf_gsm_map_redirecting_presentation, tvb, 0,1,FALSE); @@ -6994,7 +7004,7 @@ static int dissect_pdp_ContextIdentifier_impl(packet_info *pinfo, proto_tree *tr static int dissect_gsm_map_PDP_Type(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) { -#line 471 "gsmmap.cnf" +#line 477 "gsmmap.cnf" guint8 pdp_type_org; tvbuff_t *parameter_tvb; @@ -7043,7 +7053,7 @@ static int dissect_pdp_Address_impl(packet_info *pinfo, proto_tree *tree, tvbuff int dissect_gsm_map_QoS_Subscribed(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) { -#line 497 "gsmmap.cnf" +#line 503 "gsmmap.cnf" tvbuff_t *parameter_tvb; @@ -7089,7 +7099,7 @@ static int dissect_lcsAPN_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *t int dissect_gsm_map_Ext_QoS_Subscribed(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) { -#line 511 "gsmmap.cnf" +#line 517 "gsmmap.cnf" tvbuff_t *parameter_tvb; @@ -8319,7 +8329,7 @@ dissect_gsm_map_ForwardingOptions(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL); -#line 454 "gsmmap.cnf" +#line 460 "gsmmap.cnf" proto_tree_add_item(tree, hf_gsm_map_notification_to_forwarding_party, tvb, 0,1,FALSE); proto_tree_add_item(tree, hf_gsm_map_redirecting_presentation, tvb, 0,1,FALSE); @@ -9201,7 +9211,7 @@ static int dissect_subscriberState(packet_info *pinfo, proto_tree *tree, tvbuff_ int dissect_gsm_map_RAIdentity(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) { -#line 555 "gsmmap.cnf" +#line 561 "gsmmap.cnf" tvbuff_t *parameter_tvb; proto_item *item; @@ -14456,6 +14466,54 @@ dissect_gsm_map_SecureTransportErrorParam(gboolean implicit_tag _U_, tvbuff_t *t return offset; } + +static const value_string gsm_map_Access_vals[] = { + { 1, "gsm" }, + { 2, "geran" }, + { 3, "utran" }, + { 0, NULL } +}; + + +static int +dissect_gsm_map_Access(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, + NULL); + + return offset; +} +static int dissect_access(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) { + return dissect_gsm_map_Access(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_access); +} + + + +static int +dissect_gsm_map_Version(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, + NULL); + + return offset; +} +static int dissect_version(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) { + return dissect_gsm_map_Version(FALSE, tvb, offset, pinfo, tree, hf_gsm_map_version); +} + + +static const ber_sequence_t AccessTypePriv_sequence[] = { + { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_access }, + { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_version }, + { 0, 0, 0, NULL } +}; + +static int +dissect_gsm_map_AccessTypePriv(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset, + AccessTypePriv_sequence, hf_index, ett_gsm_map_AccessTypePriv); + + return offset; +} + /*--- PDUs ---*/ static void dissect_Component_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { @@ -14464,7 +14522,7 @@ static void dissect_Component_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree /*--- End of included file: packet-gsm_map-fn.c ---*/ -#line 350 "packet-gsm_map-template.c" +#line 351 "packet-gsm_map-template.c" const value_string gsm_map_opr_code_strings[] = { { 2, "updateLocation" }, @@ -18867,6 +18925,14 @@ void proto_register_gsm_map(void) { { "pcsExtensions", "gsm_map.pcsExtensions", FT_NONE, BASE_NONE, NULL, 0, "ExtensionContainer/pcsExtensions", HFILL }}, + { &hf_gsm_map_access, + { "access", "gsm_map.access", + FT_UINT32, BASE_DEC, VALS(gsm_map_Access_vals), 0, + "AccessTypePriv/access", HFILL }}, + { &hf_gsm_map_version, + { "version", "gsm_map.version", + FT_UINT32, BASE_DEC, NULL, 0, + "AccessTypePriv/version", HFILL }}, { &hf_gsm_map_SupportedCamelPhases_phase1, { "phase1", "gsm_map.phase1", FT_BOOLEAN, 8, NULL, 0x80, @@ -19285,7 +19351,7 @@ void proto_register_gsm_map(void) { "", HFILL }}, /*--- End of included file: packet-gsm_map-hfarr.c ---*/ -#line 1898 "packet-gsm_map-template.c" +#line 1899 "packet-gsm_map-template.c" }; /* List of subtrees */ @@ -19702,9 +19768,10 @@ void proto_register_gsm_map(void) { &ett_gsm_map_TargetCellOutsideGCA_Param, &ett_gsm_map_SecureTransportErrorParam, &ett_gsm_map_ExtensionContainer, + &ett_gsm_map_AccessTypePriv, /*--- End of included file: packet-gsm_map-ettarr.c ---*/ -#line 1916 "packet-gsm_map-template.c" +#line 1917 "packet-gsm_map-template.c" }; /* Register protocol */ @@ -19719,6 +19786,10 @@ void proto_register_gsm_map(void) { BASE_DEC); gsm_map_tap = register_tap("gsm_map"); + +/* #include "packet-gsm_map-dis-tab.c" */ + register_ber_oid_name("1.2.826.0.1249.58.1.0","iso(1) member-body(2) bsi(826) disc(0) ericsson(1249) gsmNetworkApplicationsDefinition(58) gsm-Map(1) gsm-Map-Ext(0)" ); + register_ber_oid_name("1.3.12.2.1107.3.66.1.2","accessTypeNotAllowed-id" ); /*register_ber_oid_name("0.4.0.0.1.0.1.3","itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) map-ac(0) networkLocUp(1) version3(3)" ); * * Register our configuration options, particularly our ssn:s diff --git a/epan/dissectors/packet-gsm_map.h b/epan/dissectors/packet-gsm_map.h index 5641dbddff..9fb3fae17c 100644 --- a/epan/dissectors/packet-gsm_map.h +++ b/epan/dissectors/packet-gsm_map.h @@ -1,6 +1,6 @@ /* Do not modify this file. */ /* It is created automatically by the ASN.1 to Ethereal dissector compiler */ -/* ./packet-gsm_map.h */ +/* .\packet-gsm_map.h */ /* ../../tools/asn2eth.py -X -b -e -p gsm_map -c gsmmap.cnf -s packet-gsm_map-template GSMMAP.asn */ /* Input file: packet-gsm_map-template.h */ @@ -8,7 +8,7 @@ #line 1 "packet-gsm_map-template.h" /* packet-gsm_map-template.h * Routines for GSM MAP packet dissection - * Copyright 2004, Anders Broman <anders.broman@ericsson.com> + * Copyright 2004 - 2006, Anders Broman <anders.broman@ericsson.com> * * $Id$ * |