From 14f76023b3c55a590e1870d540142547d9821619 Mon Sep 17 00:00:00 2001 From: Anders Broman Date: Sun, 14 Sep 2008 14:33:01 +0000 Subject: Remove the rest of the ANSI TCAP stuff. svn path=/trunk/; revision=26191 --- asn1/tcap/packet-tcap-template.c | 21 ---------- asn1/tcap/tcap.asn | 83 +++++-------------------------------- asn1/tcap/tcap.cnf | 88 ---------------------------------------- 3 files changed, 10 insertions(+), 182 deletions(-) (limited to 'asn1') diff --git a/asn1/tcap/packet-tcap-template.c b/asn1/tcap/packet-tcap-template.c index 7318547352..a2ffe8490d 100644 --- a/asn1/tcap/packet-tcap-template.c +++ b/asn1/tcap/packet-tcap-template.c @@ -102,9 +102,7 @@ static dissector_handle_t ansi_tcap_handle; static void raz_tcap_private(struct tcap_private_t * p_tcap_private); static int dissect_tcap_param(asn1_ctx_t *actx, proto_tree *tree, tvbuff_t *tvb, int offset); -static int dissect_tcap_UserInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, asn1_ctx_t *actx _U_, proto_tree *tree, int hf_index _U_); static int dissect_tcap_ITU_ComponentPDU(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, asn1_ctx_t *actx _U_, proto_tree *tree, int hf_index _U_); -static int dissect_tcap_TheExternUserInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset,asn1_ctx_t *actx _U_, proto_tree *tree, int hf_index _U_); static GHashTable* ansi_sub_dissectors = NULL; static GHashTable* itu_sub_dissectors = NULL; @@ -649,25 +647,6 @@ dissect_tcap_ITU_ComponentPDU(gboolean implicit_tag _U_, tvbuff_t *tvb, int offs return offset; } - -static int -dissect_tcap_TheExternUserInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, asn1_ctx_t *actx _U_, proto_tree *tree, int hf_index _U_) -{ - /* - * ok lets look at the oid and ssn and try and find a dissector, otherwise lets decode it. - */ - ber_oid_dissector_table = find_dissector_table("ber.oid"); - - if (ber_oid_dissector_table && tcapext_oid){ - if(!dissector_try_string(ber_oid_dissector_table, tcapext_oid, tvb, actx->pinfo, tree)) - { - return dissect_tcap_param(actx,tree,tvb,0); - } - } - return offset; -} - - void call_tcap_dissector(dissector_handle_t handle, tvbuff_t* tvb, packet_info* pinfo, proto_tree* tree) { requested_subdissector_handle = handle; diff --git a/asn1/tcap/tcap.asn b/asn1/tcap/tcap.asn index 99e3e5f24c..f16b6c7c30 100644 --- a/asn1/tcap/tcap.asn +++ b/asn1/tcap/tcap.asn @@ -26,18 +26,9 @@ ExternalPDU ::= [UNIVERSAL 8] IMPLICIT SEQUENCE dialog [0] IMPLICIT Dialog1 } -UserInformation ::= [UNIVERSAL 8] IMPLICIT SEQUENCE - { - useroid UserInfoOID, - externuserinfo [0] IMPLICIT ExternUserInfo - } - -ExternUserInfo ::= OCTET STRING - + Dialog1 ::= OCTET STRING -UserInfoOID ::= OBJECT IDENTIFIER - Applicationcontext ::= OBJECT IDENTIFIER AARQ-apdu ::= [APPLICATION 0] IMPLICIT SEQUENCE { @@ -53,31 +44,30 @@ AARE-apdu ::= [APPLICATION 1] IMPLICIT SEQUENCE { application-context-name [1] OBJECT IDENTIFIER, result [2] Associate-result, result-source-diagnostic [3] Associate-source-diagnostic, - user-information [30] IMPLICIT User-information - OPTIONAL } + user-information [30] IMPLICIT SEQUENCE OF EXTERNAL OPTIONAL +} -- RLRQ PDU is currently not used. -- It is included for completeness only. RLRQ-apdu ::= [APPLICATION 2] IMPLICIT SEQUENCE { reasonrq [0] IMPLICIT Release-request-reason OPTIONAL, - user-information [30] IMPLICIT User-information - OPTIONAL } + user-information [30] IMPLICIT SEQUENCE OF EXTERNAL OPTIONAL + } -- RLRE PDU is currently not used. -- It is included for completeness only RLRE-apdu ::= [APPLICATION 3] IMPLICIT SEQUENCE { reasonre [0] IMPLICIT Release-response-reason OPTIONAL, - user-information [30] IMPLICIT User-information - OPTIONAL } + user-information [30] IMPLICIT SEQUENCE OF EXTERNAL OPTIONAL + } ABRT-apdu ::= [APPLICATION 4] IMPLICIT SEQUENCE { abort-source [0] IMPLICIT ABRT-source, - user-information [30] IMPLICIT User-information - OPTIONAL } + user-information [30] IMPLICIT SEQUENCE OF EXTERNAL OPTIONAL + } -User-information ::= OCTET STRING ABRT-source ::= INTEGER { dialogue-service-user (0), dialogue-service-provider (1) } @@ -130,13 +120,7 @@ TCMessage ::= CHOICE { begin [APPLICATION 2] IMPLICIT Begin, end [APPLICATION 4] IMPLICIT End, continue [APPLICATION 5] IMPLICIT Continue, - abort [APPLICATION 7] IMPLICIT Abort , - -- and we now get clever making this ansi and itu! - ansiqueryWithPerm [ PRIVATE 2 ] IMPLICIT TransactionPDU , - ansiqueryWithoutPerm [ PRIVATE 3 ] IMPLICIT TransactionPDU , - ansiresponse [ PRIVATE 4 ] IMPLICIT TransactionPDU , - ansiconversationWithPerm [ PRIVATE 5 ] IMPLICIT TransactionPDU , - ansiconversationWithoutPerm [ PRIVATE 6 ] IMPLICIT TransactionPDU + abort [APPLICATION 7] IMPLICIT Abort } Unidirectional ::= SEQUENCE{ @@ -351,53 +335,6 @@ ReturnErrorProblem ::= INTEGER { unrecognizedInvokeID (0), mistypedParameter (4) } -TransactionPDU ::= SEQUENCE - { - - identifier TransactionID , - dialoguePortionansi DialoguePortionANSI OPTIONAL - } - ---TransactionPDU should include either a Dialogue Portion , a Component Sequence or both - -TransactionID ::= [PRIVATE 7 ] IMPLICIT OCTET STRING - --- 0 (zero) Octet for Unidirectional,4 Octet for Query , Response And Abort - --- 8 Octet for Conversation in the order Originating then Responding TID - -DialoguePortionANSI ::= [ PRIVATE 25 ] IMPLICIT SEQUENCE { - version ProtocolVersion OPTIONAL , - applicationContext [0] CHOICE { - integerApplicationId IntegerApplicationContext , - objectApplicationId ObjectIDApplicationContext - } OPTIONAL , - userInformation UserInformation OPTIONAL , - securityContext CHOICE { - integerSecurityId [ 0 ] IMPLICIT INTEGER , - objectSecurityId [ 1 ] IMPLICIT OBJECT IDENTIFIER - } OPTIONAL , - confidentiality [ 2 ] IMPLICIT Confidentiality OPTIONAL , - ... } - - -ProtocolVersion ::= [ PRIVATE 26 ] IMPLICIT OCTET STRING ( SIZE(1) ) - -IntegerApplicationContext ::= [ PRIVATE 27 ] IMPLICIT INTEGER - -ObjectIDApplicationContext ::= [ PRIVATE 28 ] IMPLICIT OBJECT IDENTIFIER - ---UserInformation ::= [ PRIVATE 29 ] IMPLICIT SEQUENCE OF EXTERNAL - -Confidentiality ::= SEQUENCE { - confidentialityId CHOICE { - integerConfidentialityId [ 0 ] IMPLICIT INTEGER , - objectConfidentialityId [ 1 ] IMPLICIT OBJECT IDENTIFIER - } OPTIONAL , - ... } - ---UserAbortInformation ::= [ PRIVATE 24 ] EXTERNAL - ErrorCode ::= CHOICE { nationaler [PRIVATE 19] IMPLICIT INTEGER (-32768..32767), diff --git a/asn1/tcap/tcap.cnf b/asn1/tcap/tcap.cnf index 98b4577aec..e2e75e8764 100644 --- a/asn1/tcap/tcap.cnf +++ b/asn1/tcap/tcap.cnf @@ -66,11 +66,6 @@ return dissect_tcap_DialoguePDU(TRUE, tvb, offset, actx, tree, -1); return dissect_tcap_param(actx,tree,tvb,offset); -#---------------------------------------------------------------------------------------- -#.FN_BODY User-information - -return dissect_tcap_UserInformation(FALSE, tvb, offset, actx, tree, -1); - #---------------------------------------------------------------------------------------- #.FN_BODY Component tvbuff_t *next_tvb; @@ -109,36 +104,6 @@ if (!next_tvb) %(DEFAULT_BODY)s tcap_private.oid= (void*) cur_oid; tcap_private.acv=TRUE; -#---------------------------------------------------------------------------------------- -# Do not overwrite the ApplicationContext with the UserInfoOID ! -# -#---------------------------------------------------------------------------------------- -#.FN_BODY UserInfoOID FN_VARIANT = _str VAL_PTR = &tcapext_oid -%(DEFAULT_BODY)s - -#---------------------------------------------------------------------------------------- -#.FN_BODY ExternUserInfo -tvbuff_t *next_tvb; -gint8 class; -gboolean pc; -gint tag; -guint32 len, comp_offset; -gint ind_field; - -comp_offset = dissect_ber_identifier(actx->pinfo, tree, tvb, offset, &class, &pc, &tag); -comp_offset = dissect_ber_length(actx->pinfo, tree, tvb, comp_offset, &len, &ind_field); -/* we can believe the length now */ -next_tvb = tvb_new_subset(tvb, offset, len+comp_offset-offset, len+comp_offset-offset); - -if (!next_tvb) - return comp_offset; - -%(DEFAULT_BODY)s - -dissect_tcap_TheExternUserInfo(implicit_tag, next_tvb, 0, actx, tcap_top_tree, hf_index); - -return comp_offset+len; - #---------------------------------------------------------------------------------------- #.FN_BODY OrigTransactionID tvbuff_t *parameter_tvb; @@ -251,56 +216,3 @@ gp_tcapsrt_info->ope=TC_ABORT; if (check_col(actx->pinfo->cinfo, COL_INFO)) col_set_str(actx->pinfo->cinfo, COL_INFO, "Abort "); #.END - - -#.FN_HDR TCMessage/ansiqueryWithPerm -gp_tcapsrt_info->ope=TC_ANSI_ALL; -if (check_col(actx->pinfo->cinfo, COL_INFO)) - col_set_str(actx->pinfo->cinfo, COL_INFO, "QueryWithPerm "); -#.FN_HDR TCMessage/ansiqueryWithoutPerm -gp_tcapsrt_info->ope=TC_ANSI_ALL; -if (check_col(actx->pinfo->cinfo, COL_INFO)) - col_set_str(actx->pinfo->cinfo, COL_INFO, "QueryWithOutPerm "); -#.FN_HDR TCMessage/ansiresponse -gp_tcapsrt_info->ope=TC_ANSI_ALL; -if (check_col(actx->pinfo->cinfo, COL_INFO)) - col_set_str(actx->pinfo->cinfo, COL_INFO, "Response "); -#.FN_HDR TCMessage/ansiconversationWithPerm -gp_tcapsrt_info->ope=TC_ANSI_ALL; -if (check_col(actx->pinfo->cinfo, COL_INFO)) - col_set_str(actx->pinfo->cinfo, COL_INFO, "ConversationWithPerm "); -#.FN_HDR TCMessage/ansiconversationWithoutPerm -gp_tcapsrt_info->ope=TC_ANSI_ALL; -if (check_col(actx->pinfo->cinfo, COL_INFO)) - col_set_str(actx->pinfo->cinfo, COL_INFO, "ConversationWithoutPerm "); - -#.END - -#---------------------------------------------------------------------------------------- -#.FN_BODY TransactionID/_untag VAL_PTR = &next_tvb - -tvbuff_t *next_tvb; -guint8 len; - -%(DEFAULT_BODY)s - -if(next_tvb) { - tcap_private.TransactionID_str = tvb_bytes_to_str(next_tvb, 0,tvb_length(next_tvb)); - len = tvb_length_remaining(next_tvb, 0); - switch(len) { - case 1: - gp_tcapsrt_info->src_tid=tvb_get_guint8(next_tvb, 0); - break; - case 2: - gp_tcapsrt_info->src_tid=tvb_get_ntohs(next_tvb, 0); - break; - case 4: - gp_tcapsrt_info->src_tid=tvb_get_ntohl(next_tvb, 0); - break; - default: - gp_tcapsrt_info->src_tid=0; - break; - } -} - -#.END -- cgit v1.2.3