diff options
author | Graeme Lunt <graeme.lunt@smhs.co.uk> | 2006-05-08 17:46:58 +0000 |
---|---|---|
committer | Graeme Lunt <graeme.lunt@smhs.co.uk> | 2006-05-08 17:46:58 +0000 |
commit | e0f8325deb24244b16af10f7dc3c09b8a5afeb8e (patch) | |
tree | 1e4d3a4299e396ddc9873da36af287534c3a1a7d | |
parent | c725ebe2420ce6c43a4538a8be4ec0c8fd329c41 (diff) |
Better split between dissectors and fixes for s4406 SEQ OF defined extensions
svn path=/trunk/; revision=18108
-rw-r--r-- | asn1/s4406/packet-s4406-template.c | 2 | ||||
-rw-r--r-- | asn1/s4406/s4406.asn | 18 | ||||
-rw-r--r-- | asn1/s4406/s4406.cnf | 16 | ||||
-rw-r--r-- | asn1/x420/x420-exp.cnf | 6 | ||||
-rw-r--r-- | asn1/x420/x420.cnf | 14 | ||||
-rw-r--r-- | epan/dissectors/packet-s4406.c | 211 | ||||
-rw-r--r-- | epan/dissectors/packet-x420.c | 37 | ||||
-rw-r--r-- | epan/dissectors/packet-x420.h | 3 |
8 files changed, 271 insertions, 36 deletions
diff --git a/asn1/s4406/packet-s4406-template.c b/asn1/s4406/packet-s4406-template.c index 8b883f38ac..a3fa7f5dbc 100644 --- a/asn1/s4406/packet-s4406-template.c +++ b/asn1/s4406/packet-s4406-template.c @@ -78,7 +78,7 @@ dissect_s4406(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree) if (check_col(pinfo->cinfo, COL_INFO)) col_add_str(pinfo->cinfo, COL_INFO, "Military"); - dissect_x420_InformationObject(TRUE, tvb, offset, pinfo , tree, -1); + dissect_s4406_InformationObject(TRUE, tvb, offset, pinfo , tree, -1); } diff --git a/asn1/s4406/s4406.asn b/asn1/s4406/s4406.asn index f9251dba39..c759a154cf 100644 --- a/asn1/s4406/s4406.asn +++ b/asn1/s4406/s4406.asn @@ -8,7 +8,7 @@ BEGIN IMPORTS -- IPMS information objects -IPMS-EXTENSION, ORDescriptor +IPMS-EXTENSION, ORDescriptor, IPM, IPN, MessageParameters --- FROM IPMSInformationObjects { joint-iso-ccitt mhs-motis(6) ipms(1) modules(0) information-objects(2) } @@ -43,12 +43,22 @@ FROM IPMSInformationObjects { joint-iso-ccitt mhs-motis(6) ipms(1) FROM MTSAbstractService {joint-iso-ccitt mhs-motis(6) mts(3) modules(0) mts-abstract-service(1) }; +-- Information object +InformationObject ::= CHOICE {mm [0] IPM, + mn [1] IPN +} + +MMMessageData ::= IPM +MMMessageParameters ::= MessageParameters + -- exempted address --exempted-address IPMS-EXTENSION -- VALUE SEQUENCE OF ExemptedAddress -- ::= id-nato-mmhs-mm-exempted-address +ExemptedAddressSeq ::= ExemptedAddress + ExemptedAddress ::= ORDescriptor @@ -180,6 +190,8 @@ MessageIdentifier ::= MilitaryString -- VALUE SEQUENCE OF AddressListDesignator -- ::=id-nato-mmhs-mm-address-list-indicator +AddressListDesignatorSeq ::= SEQUENCE OF AddressListDesignator + AddressListDesignator ::=SET { type [0] INTEGER { primaryAddressList(0), copyAddressList(1) }, @@ -195,6 +207,8 @@ AddressListRequest ::= INTEGER { action(0), info(1), both(2) } -- VALUE SEQUENCE OF OtherRecipientDesignator -- ::=id-nato-mmhs-mm-other-recipients-indicator +OtherRecipientDesignatorSeq ::= SEQUENCE OF OtherRecipientDesignator + OtherRecipientDesignator ::= SET { type [0] INTEGER { primary(0), copy(1) }, designator [1] MilitaryString } @@ -206,6 +220,8 @@ OtherRecipientDesignator ::= SET { -- VALUE SEQUENCE OF PilotInformation -- ::= id-nato-mmhs-mm-pilot-forwarding-info +PilotInformationSeq ::= SEQUENCE OF PilotInformation + PilotInformation ::= SEQUENCE { pilotPrecedence [0] PilotPrecedence OPTIONAL, -- Note: Values 0 to 15 are reserved for NATO defined precedence levels. diff --git a/asn1/s4406/s4406.cnf b/asn1/s4406/s4406.cnf index f5850b38bc..69ff66db9f 100644 --- a/asn1/s4406/s4406.cnf +++ b/asn1/s4406/s4406.cnf @@ -36,22 +36,30 @@ SecurityInformationLabels PrimaryPrecedence B "1.3.26.0.4406.0.2.0" "primary-precedence" CopyPrecedence B "1.3.26.0.4406.0.2.1" "copy-precedence" MessageType B "1.3.26.0.4406.0.2.2" "message-type" -AddressListDesignator B "1.3.26.0.4406.0.2.3" "address-list-indicator" -ExemptedAddress B "1.3.26.0.4406.0.2.4" "exempted-address" +AddressListDesignatorSeq B "1.3.26.0.4406.0.2.3" "address-list-indicator" +ExemptedAddressSeq B "1.3.26.0.4406.0.2.4" "exempted-address" ExtendedAuthorisationInfo B "1.3.26.0.4406.0.2.5" "extended-authorisation-info" DistributionCodes B "1.3.26.0.4406.0.2.6" "distribution-codes" HandlingInstructions B "1.3.26.0.4406.0.2.7" "handling-instructions" MessageInstructions B "1.3.26.0.4406.0.2.8" "message-instructions" CodressMessage B "1.3.26.0.4406.0.2.9" "codress-message" OriginatorReference B "1.3.26.0.4406.0.2.10" "originator-reference" -OtherRecipientDesignator B "1.3.26.0.4406.0.2.11" "other-recipients-indicator" -PilotInformation B "1.3.26.0.4406.0.2.12" "pilot-forwarding-info" +OtherRecipientDesignatorSeq B "1.3.26.0.4406.0.2.11" "other-recipients-indicator" +PilotInformationSeq B "1.3.26.0.4406.0.2.12" "pilot-forwarding-info" Acp127MessageIdentifier B "1.3.26.0.4406.0.2.13" "acp127-message-identifierr" OriginatorPlad B "1.3.26.0.4406.0.2.14" "originator-plad" SecurityInformationLabels B "1.3.26.0.4406.0.2.17" "information-labels" PriorityLevelQualifier B "1.3.26.0.4406.0.8.0" "priority-level-qualifier" + + +MMMessageData B "1.3.26.0.4406.0.7.9" "mm-message" +MMMessageParameters B "1.3.26.0.4406.0.7.10" "mm-message-parameters" + +InformationObject B "2.6.1.4.17.1.3.26.0.4406.0.4.1" "id-et-content-p772" + + #.FN_BODY T_dist_value /* XXX: not implemented */ diff --git a/asn1/x420/x420-exp.cnf b/asn1/x420/x420-exp.cnf index 5596ecc11c..61af6bf794 100644 --- a/asn1/x420/x420-exp.cnf +++ b/asn1/x420/x420-exp.cnf @@ -1,12 +1,18 @@ #.IMPORT_TAG InformationObject BER_CLASS_ANY/*choice*/ -1/*choice*/ +IPM BER_CLASS_UNI BER_UNI_TAG_SEQUENCE ORDescriptor BER_CLASS_UNI BER_UNI_TAG_SET ExtensionsField BER_CLASS_UNI BER_UNI_TAG_SET +MessageParameters BER_CLASS_UNI BER_UNI_TAG_SET +IPN BER_CLASS_UNI BER_UNI_TAG_SET #.END #.TYPE_ATTR InformationObject TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = VALS(x420_InformationObject_vals) BITMASK = 0 +IPM TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0 ORDescriptor TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0 ExtensionsField TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = NULL BITMASK = 0 +MessageParameters TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0 +IPN TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0 #.END diff --git a/asn1/x420/x420.cnf b/asn1/x420/x420.cnf index d46da6e9c7..9eed9c8f3d 100644 --- a/asn1/x420/x420.cnf +++ b/asn1/x420/x420.cnf @@ -1,3 +1,6 @@ +#.TYPE_ATTR +Time TYPE = FT_STRING DISPLAY = BASE_NONE STRING = NULL BITMASK = 0 + #.MODULE_IMPORT MTSAbstractService x411 AuthenticationFramework x509af @@ -13,6 +16,9 @@ ACSE-1 acse ORDescriptor InformationObject ExtensionsField +IPM +IPN +MessageParameters #.FIELD_RENAME @@ -50,7 +56,7 @@ AbsenceAdvice B "2.6.1.19.0" "id-on-absence-advice" ChangeOfAddressAdvice B "2.6.1.19.1" "id-on-change-of-address-advice" IPMAssemblyInstructions B "2.6.1.17.2" "id-mst-assembly-instructions" -IncompleteCopy B "2.6.1.5.0" "id-hex-languages" +IncompleteCopy B "2.6.1.5.0" "id-hex-incomplete-copy" Languages B "2.6.1.5.1" "id-hex-languages" AutoSubmitted B "2.6.1.5.2" "id-hex-auto-submitted" BodyPartSignatures B "2.6.1.5.3" "id-hex-body-part-signatures" @@ -99,8 +105,8 @@ ForwardedContentParameters B "2.6.1.11.17.2.6.1.10.0" "id-ep-content-p2" InformationObject B "2.6.1.4.17.2.6.1.10.0" "id-et-content-p2" #p722 ForwardedContentParameters B "2.6.1.11.17.1.3.26.0.4406.0.4.1" "id-ep-content-p772" -# this will display as P22 for now -InformationObject B "2.6.1.4.17.1.3.26.0.4406.0.4.1" "id-et-content-p772" + + # PKCS#7Bodypart {id-et 18} defined in cms.cnf #.FN_PARS IPMSExtension/type @@ -162,3 +168,5 @@ InformationObject B "2.6.1.4.17.1.3.26.0.4406.0.4.1" "id-et-content-p772" /* XXX Not implemented yet */ +#.END + diff --git a/epan/dissectors/packet-s4406.c b/epan/dissectors/packet-s4406.c index 3db687e7a1..1fbe73be0c 100644 --- a/epan/dissectors/packet-s4406.c +++ b/epan/dissectors/packet-s4406.c @@ -60,6 +60,10 @@ int proto_s4406 = -1; /*--- Included file: packet-s4406-hf.c ---*/ #line 1 "packet-s4406-hf.c" +static int hf_s4406_InformationObject_PDU = -1; /* InformationObject */ +static int hf_s4406_MMMessageData_PDU = -1; /* MMMessageData */ +static int hf_s4406_MMMessageParameters_PDU = -1; /* MMMessageParameters */ +static int hf_s4406_ExemptedAddressSeq_PDU = -1; /* ExemptedAddressSeq */ static int hf_s4406_ExemptedAddress_PDU = -1; /* ExemptedAddress */ static int hf_s4406_ExtendedAuthorisationInfo_PDU = -1; /* ExtendedAuthorisationInfo */ static int hf_s4406_DistributionCodes_PDU = -1; /* DistributionCodes */ @@ -70,13 +74,18 @@ static int hf_s4406_OriginatorReference_PDU = -1; /* OriginatorReference */ static int hf_s4406_PrimaryPrecedence_PDU = -1; /* PrimaryPrecedence */ static int hf_s4406_CopyPrecedence_PDU = -1; /* CopyPrecedence */ static int hf_s4406_MessageType_PDU = -1; /* MessageType */ +static int hf_s4406_AddressListDesignatorSeq_PDU = -1; /* AddressListDesignatorSeq */ static int hf_s4406_AddressListDesignator_PDU = -1; /* AddressListDesignator */ +static int hf_s4406_OtherRecipientDesignatorSeq_PDU = -1; /* OtherRecipientDesignatorSeq */ static int hf_s4406_OtherRecipientDesignator_PDU = -1; /* OtherRecipientDesignator */ +static int hf_s4406_PilotInformationSeq_PDU = -1; /* PilotInformationSeq */ static int hf_s4406_PilotInformation_PDU = -1; /* PilotInformation */ static int hf_s4406_Acp127MessageIdentifier_PDU = -1; /* Acp127MessageIdentifier */ static int hf_s4406_OriginatorPlad_PDU = -1; /* OriginatorPlad */ static int hf_s4406_SecurityInformationLabels_PDU = -1; /* SecurityInformationLabels */ static int hf_s4406_PriorityLevelQualifier_PDU = -1; /* PriorityLevelQualifier */ +static int hf_s4406_mm = -1; /* IPM */ +static int hf_s4406_mn = -1; /* IPN */ static int hf_s4406_sics = -1; /* SEQUENCE_OF_Sic */ static int hf_s4406_sics_item = -1; /* Sic */ static int hf_s4406_dist_Extensions = -1; /* SEQUENCE_OF_DistributionExtensionField */ @@ -87,12 +96,15 @@ static int hf_s4406_HandlingInstructions_item = -1; /* MilitaryString */ static int hf_s4406_MessageInstructions_item = -1; /* MilitaryString */ static int hf_s4406_message_type_type = -1; /* TypeMessage */ static int hf_s4406_identifier = -1; /* MessageIdentifier */ +static int hf_s4406_AddressListDesignatorSeq_item = -1; /* AddressListDesignator */ static int hf_s4406_address_list_type = -1; /* AddressListType */ static int hf_s4406_listName = -1; /* ORDescriptor */ static int hf_s4406_notificationRequest = -1; /* AddressListRequest */ static int hf_s4406_replyRequest = -1; /* AddressListRequest */ +static int hf_s4406_OtherRecipientDesignatorSeq_item = -1; /* OtherRecipientDesignator */ static int hf_s4406_other_recipient_type = -1; /* OtherRecipientType */ static int hf_s4406_designator = -1; /* MilitaryString */ +static int hf_s4406_PilotInformationSeq_item = -1; /* PilotInformation */ static int hf_s4406_pilotPrecedence = -1; /* PilotPrecedence */ static int hf_s4406_pilotRecipient = -1; /* SEQUENCE_OF_ORDescriptor */ static int hf_s4406_pilotRecipient_item = -1; /* ORDescriptor */ @@ -114,6 +126,7 @@ static gint ett_s4406 = -1; /*--- Included file: packet-s4406-ett.c ---*/ #line 1 "packet-s4406-ett.c" +static gint ett_s4406_InformationObject = -1; static gint ett_s4406_DistributionCodes = -1; static gint ett_s4406_SEQUENCE_OF_Sic = -1; static gint ett_s4406_SEQUENCE_OF_DistributionExtensionField = -1; @@ -121,8 +134,11 @@ static gint ett_s4406_DistributionExtensionField = -1; static gint ett_s4406_HandlingInstructions = -1; static gint ett_s4406_MessageInstructions = -1; static gint ett_s4406_MessageType = -1; +static gint ett_s4406_AddressListDesignatorSeq = -1; static gint ett_s4406_AddressListDesignator = -1; +static gint ett_s4406_OtherRecipientDesignatorSeq = -1; static gint ett_s4406_OtherRecipientDesignator = -1; +static gint ett_s4406_PilotInformationSeq = -1; static gint ett_s4406_PilotInformation = -1; static gint ett_s4406_SEQUENCE_OF_ORDescriptor = -1; static gint ett_s4406_SEQUENCE_OF_MilitaryString = -1; @@ -138,6 +154,12 @@ static gint ett_s4406_BodyPartSecurityLabel = -1; #line 1 "packet-s4406-fn.c" /*--- Fields for imported types ---*/ +static int dissect_mm_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) { + return dissect_x420_IPM(TRUE, tvb, offset, pinfo, tree, hf_s4406_mm); +} +static int dissect_mn_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) { + return dissect_x420_IPN(TRUE, tvb, offset, pinfo, tree, hf_s4406_mn); +} static int dissect_listName_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) { return dissect_x420_ORDescriptor(TRUE, tvb, offset, pinfo, tree, hf_s4406_listName); } @@ -158,6 +180,46 @@ static int dissect_body_part_security_label_impl(packet_info *pinfo, proto_tree } +static const value_string s4406_InformationObject_vals[] = { + { 0, "mm" }, + { 1, "mn" }, + { 0, NULL } +}; + +static const ber_choice_t InformationObject_choice[] = { + { 0, BER_CLASS_CON, 0, 0, dissect_mm_impl }, + { 1, BER_CLASS_CON, 1, 0, dissect_mn_impl }, + { 0, 0, 0, 0, NULL } +}; + +static int +dissect_s4406_InformationObject(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) { + offset = dissect_ber_choice(pinfo, tree, tvb, offset, + InformationObject_choice, hf_index, ett_s4406_InformationObject, + NULL); + + return offset; +} + + + +static int +dissect_s4406_MMMessageData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) { + offset = dissect_x420_IPM(implicit_tag, tvb, offset, pinfo, tree, hf_index); + + return offset; +} + + + +static int +dissect_s4406_MMMessageParameters(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) { + offset = dissect_x420_MessageParameters(implicit_tag, tvb, offset, pinfo, tree, hf_index); + + return offset; +} + + static int dissect_s4406_ExemptedAddress(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) { @@ -169,6 +231,15 @@ dissect_s4406_ExemptedAddress(gboolean implicit_tag _U_, tvbuff_t *tvb, int offs static int +dissect_s4406_ExemptedAddressSeq(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) { + offset = dissect_s4406_ExemptedAddress(implicit_tag, tvb, offset, pinfo, tree, hf_index); + + return offset; +} + + + +static int dissect_s4406_ExtendedAuthorisationInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) { offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_UTCTime, pinfo, tree, tvb, offset, hf_index, @@ -223,7 +294,7 @@ static int dissect_dist_type(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb static int dissect_s4406_T_dist_value(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) { -#line 56 "s4406.cnf" +#line 64 "s4406.cnf" /* XXX: not implemented */ @@ -368,7 +439,7 @@ static const value_string s4406_PrimaryPrecedence_vals[] = { static int dissect_s4406_PrimaryPrecedence(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) { -#line 61 "s4406.cnf" +#line 69 "s4406.cnf" int precedence = -1; offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, &precedence); @@ -398,7 +469,7 @@ static const value_string s4406_CopyPrecedence_vals[] = { static int dissect_s4406_CopyPrecedence(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) { -#line 69 "s4406.cnf" +#line 77 "s4406.cnf" int precedence = -1; offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, &precedence); @@ -516,6 +587,22 @@ dissect_s4406_AddressListDesignator(gboolean implicit_tag _U_, tvbuff_t *tvb, in return offset; } +static int dissect_AddressListDesignatorSeq_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) { + return dissect_s4406_AddressListDesignator(FALSE, tvb, offset, pinfo, tree, hf_s4406_AddressListDesignatorSeq_item); +} + + +static const ber_sequence_t AddressListDesignatorSeq_sequence_of[1] = { + { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_AddressListDesignatorSeq_item }, +}; + +static int +dissect_s4406_AddressListDesignatorSeq(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) { + offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset, + AddressListDesignatorSeq_sequence_of, hf_index, ett_s4406_AddressListDesignatorSeq); + + return offset; +} static const value_string s4406_OtherRecipientType_vals[] = { @@ -550,6 +637,22 @@ dissect_s4406_OtherRecipientDesignator(gboolean implicit_tag _U_, tvbuff_t *tvb, return offset; } +static int dissect_OtherRecipientDesignatorSeq_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) { + return dissect_s4406_OtherRecipientDesignator(FALSE, tvb, offset, pinfo, tree, hf_s4406_OtherRecipientDesignatorSeq_item); +} + + +static const ber_sequence_t OtherRecipientDesignatorSeq_sequence_of[1] = { + { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_OtherRecipientDesignatorSeq_item }, +}; + +static int +dissect_s4406_OtherRecipientDesignatorSeq(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) { + offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset, + OtherRecipientDesignatorSeq_sequence_of, hf_index, ett_s4406_OtherRecipientDesignatorSeq); + + return offset; +} static const value_string s4406_PilotPrecedence_vals[] = { @@ -625,6 +728,22 @@ dissect_s4406_PilotInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int off return offset; } +static int dissect_PilotInformationSeq_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) { + return dissect_s4406_PilotInformation(FALSE, tvb, offset, pinfo, tree, hf_s4406_PilotInformationSeq_item); +} + + +static const ber_sequence_t PilotInformationSeq_sequence_of[1] = { + { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_PilotInformationSeq_item }, +}; + +static int +dissect_s4406_PilotInformationSeq(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) { + offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset, + PilotInformationSeq_sequence_of, hf_index, ett_s4406_PilotInformationSeq); + + return offset; +} @@ -725,6 +844,18 @@ dissect_s4406_PriorityLevelQualifier(gboolean implicit_tag _U_, tvbuff_t *tvb, i /*--- PDUs ---*/ +static void dissect_InformationObject_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { + dissect_s4406_InformationObject(FALSE, tvb, 0, pinfo, tree, hf_s4406_InformationObject_PDU); +} +static void dissect_MMMessageData_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { + dissect_s4406_MMMessageData(FALSE, tvb, 0, pinfo, tree, hf_s4406_MMMessageData_PDU); +} +static void dissect_MMMessageParameters_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { + dissect_s4406_MMMessageParameters(FALSE, tvb, 0, pinfo, tree, hf_s4406_MMMessageParameters_PDU); +} +static void dissect_ExemptedAddressSeq_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { + dissect_s4406_ExemptedAddressSeq(FALSE, tvb, 0, pinfo, tree, hf_s4406_ExemptedAddressSeq_PDU); +} static void dissect_ExemptedAddress_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { dissect_s4406_ExemptedAddress(FALSE, tvb, 0, pinfo, tree, hf_s4406_ExemptedAddress_PDU); } @@ -755,12 +886,21 @@ static void dissect_CopyPrecedence_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_ static void dissect_MessageType_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { dissect_s4406_MessageType(FALSE, tvb, 0, pinfo, tree, hf_s4406_MessageType_PDU); } +static void dissect_AddressListDesignatorSeq_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { + dissect_s4406_AddressListDesignatorSeq(FALSE, tvb, 0, pinfo, tree, hf_s4406_AddressListDesignatorSeq_PDU); +} static void dissect_AddressListDesignator_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { dissect_s4406_AddressListDesignator(FALSE, tvb, 0, pinfo, tree, hf_s4406_AddressListDesignator_PDU); } +static void dissect_OtherRecipientDesignatorSeq_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { + dissect_s4406_OtherRecipientDesignatorSeq(FALSE, tvb, 0, pinfo, tree, hf_s4406_OtherRecipientDesignatorSeq_PDU); +} static void dissect_OtherRecipientDesignator_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { dissect_s4406_OtherRecipientDesignator(FALSE, tvb, 0, pinfo, tree, hf_s4406_OtherRecipientDesignator_PDU); } +static void dissect_PilotInformationSeq_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { + dissect_s4406_PilotInformationSeq(FALSE, tvb, 0, pinfo, tree, hf_s4406_PilotInformationSeq_PDU); +} static void dissect_PilotInformation_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { dissect_s4406_PilotInformation(FALSE, tvb, 0, pinfo, tree, hf_s4406_PilotInformation_PDU); } @@ -802,7 +942,7 @@ dissect_s4406(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree) if (check_col(pinfo->cinfo, COL_INFO)) col_add_str(pinfo->cinfo, COL_INFO, "Military"); - dissect_x420_InformationObject(TRUE, tvb, offset, pinfo , tree, -1); + dissect_s4406_InformationObject(TRUE, tvb, offset, pinfo , tree, -1); } @@ -816,6 +956,22 @@ void proto_register_s4406(void) { /*--- Included file: packet-s4406-hfarr.c ---*/ #line 1 "packet-s4406-hfarr.c" + { &hf_s4406_InformationObject_PDU, + { "InformationObject", "s4406.InformationObject", + FT_UINT32, BASE_DEC, VALS(x420_InformationObject_vals), 0, + "InformationObject", HFILL }}, + { &hf_s4406_MMMessageData_PDU, + { "MMMessageData", "s4406.MMMessageData", + FT_NONE, BASE_NONE, NULL, 0, + "MMMessageData", HFILL }}, + { &hf_s4406_MMMessageParameters_PDU, + { "MMMessageParameters", "s4406.MMMessageParameters", + FT_NONE, BASE_NONE, NULL, 0, + "MMMessageParameters", HFILL }}, + { &hf_s4406_ExemptedAddressSeq_PDU, + { "ExemptedAddressSeq", "s4406.ExemptedAddressSeq", + FT_NONE, BASE_NONE, NULL, 0, + "ExemptedAddressSeq", HFILL }}, { &hf_s4406_ExemptedAddress_PDU, { "ExemptedAddress", "s4406.ExemptedAddress", FT_NONE, BASE_NONE, NULL, 0, @@ -856,14 +1012,26 @@ void proto_register_s4406(void) { { "MessageType", "s4406.MessageType", FT_NONE, BASE_NONE, NULL, 0, "MessageType", HFILL }}, + { &hf_s4406_AddressListDesignatorSeq_PDU, + { "AddressListDesignatorSeq", "s4406.AddressListDesignatorSeq", + FT_UINT32, BASE_DEC, NULL, 0, + "AddressListDesignatorSeq", HFILL }}, { &hf_s4406_AddressListDesignator_PDU, { "AddressListDesignator", "s4406.AddressListDesignator", FT_NONE, BASE_NONE, NULL, 0, "AddressListDesignator", HFILL }}, + { &hf_s4406_OtherRecipientDesignatorSeq_PDU, + { "OtherRecipientDesignatorSeq", "s4406.OtherRecipientDesignatorSeq", + FT_UINT32, BASE_DEC, NULL, 0, + "OtherRecipientDesignatorSeq", HFILL }}, { &hf_s4406_OtherRecipientDesignator_PDU, { "OtherRecipientDesignator", "s4406.OtherRecipientDesignator", FT_NONE, BASE_NONE, NULL, 0, "OtherRecipientDesignator", HFILL }}, + { &hf_s4406_PilotInformationSeq_PDU, + { "PilotInformationSeq", "s4406.PilotInformationSeq", + FT_UINT32, BASE_DEC, NULL, 0, + "PilotInformationSeq", HFILL }}, { &hf_s4406_PilotInformation_PDU, { "PilotInformation", "s4406.PilotInformation", FT_NONE, BASE_NONE, NULL, 0, @@ -884,6 +1052,14 @@ void proto_register_s4406(void) { { "PriorityLevelQualifier", "s4406.PriorityLevelQualifier", FT_UINT32, BASE_DEC, VALS(s4406_PriorityLevelQualifier_vals), 0, "PriorityLevelQualifier", HFILL }}, + { &hf_s4406_mm, + { "mm", "s4406.mm", + FT_NONE, BASE_NONE, NULL, 0, + "InformationObject/mm", HFILL }}, + { &hf_s4406_mn, + { "mn", "s4406.mn", + FT_NONE, BASE_NONE, NULL, 0, + "InformationObject/mn", HFILL }}, { &hf_s4406_sics, { "sics", "s4406.sics", FT_UINT32, BASE_DEC, NULL, 0, @@ -924,6 +1100,10 @@ void proto_register_s4406(void) { { "identifier", "s4406.identifier", FT_STRING, BASE_NONE, NULL, 0, "MessageType/identifier", HFILL }}, + { &hf_s4406_AddressListDesignatorSeq_item, + { "Item", "s4406.AddressListDesignatorSeq_item", + FT_NONE, BASE_NONE, NULL, 0, + "AddressListDesignatorSeq/_item", HFILL }}, { &hf_s4406_address_list_type, { "type", "s4406.type", FT_INT32, BASE_DEC, VALS(s4406_AddressListType_vals), 0, @@ -940,6 +1120,10 @@ void proto_register_s4406(void) { { "replyRequest", "s4406.replyRequest", FT_INT32, BASE_DEC, VALS(s4406_AddressListRequest_vals), 0, "AddressListDesignator/replyRequest", HFILL }}, + { &hf_s4406_OtherRecipientDesignatorSeq_item, + { "Item", "s4406.OtherRecipientDesignatorSeq_item", + FT_NONE, BASE_NONE, NULL, 0, + "OtherRecipientDesignatorSeq/_item", HFILL }}, { &hf_s4406_other_recipient_type, { "type", "s4406.type", FT_INT32, BASE_DEC, VALS(s4406_OtherRecipientType_vals), 0, @@ -948,6 +1132,10 @@ void proto_register_s4406(void) { { "designator", "s4406.designator", FT_STRING, BASE_NONE, NULL, 0, "OtherRecipientDesignator/designator", HFILL }}, + { &hf_s4406_PilotInformationSeq_item, + { "Item", "s4406.PilotInformationSeq_item", + FT_NONE, BASE_NONE, NULL, 0, + "PilotInformationSeq/_item", HFILL }}, { &hf_s4406_pilotPrecedence, { "pilotPrecedence", "s4406.pilotPrecedence", FT_INT32, BASE_DEC, VALS(s4406_PilotPrecedence_vals), 0, @@ -1007,6 +1195,7 @@ void proto_register_s4406(void) { /*--- Included file: packet-s4406-ettarr.c ---*/ #line 1 "packet-s4406-ettarr.c" + &ett_s4406_InformationObject, &ett_s4406_DistributionCodes, &ett_s4406_SEQUENCE_OF_Sic, &ett_s4406_SEQUENCE_OF_DistributionExtensionField, @@ -1014,8 +1203,11 @@ void proto_register_s4406(void) { &ett_s4406_HandlingInstructions, &ett_s4406_MessageInstructions, &ett_s4406_MessageType, + &ett_s4406_AddressListDesignatorSeq, &ett_s4406_AddressListDesignator, + &ett_s4406_OtherRecipientDesignatorSeq, &ett_s4406_OtherRecipientDesignator, + &ett_s4406_PilotInformationSeq, &ett_s4406_PilotInformation, &ett_s4406_SEQUENCE_OF_ORDescriptor, &ett_s4406_SEQUENCE_OF_MilitaryString, @@ -1045,20 +1237,23 @@ void proto_reg_handoff_s4406(void) { register_ber_oid_dissector("1.3.26.0.4406.0.2.0", dissect_PrimaryPrecedence_PDU, proto_s4406, "primary-precedence"); register_ber_oid_dissector("1.3.26.0.4406.0.2.1", dissect_CopyPrecedence_PDU, proto_s4406, "copy-precedence"); register_ber_oid_dissector("1.3.26.0.4406.0.2.2", dissect_MessageType_PDU, proto_s4406, "message-type"); - register_ber_oid_dissector("1.3.26.0.4406.0.2.3", dissect_AddressListDesignator_PDU, proto_s4406, "address-list-indicator"); - register_ber_oid_dissector("1.3.26.0.4406.0.2.4", dissect_ExemptedAddress_PDU, proto_s4406, "exempted-address"); + register_ber_oid_dissector("1.3.26.0.4406.0.2.3", dissect_AddressListDesignatorSeq_PDU, proto_s4406, "address-list-indicator"); + register_ber_oid_dissector("1.3.26.0.4406.0.2.4", dissect_ExemptedAddressSeq_PDU, proto_s4406, "exempted-address"); register_ber_oid_dissector("1.3.26.0.4406.0.2.5", dissect_ExtendedAuthorisationInfo_PDU, proto_s4406, "extended-authorisation-info"); register_ber_oid_dissector("1.3.26.0.4406.0.2.6", dissect_DistributionCodes_PDU, proto_s4406, "distribution-codes"); register_ber_oid_dissector("1.3.26.0.4406.0.2.7", dissect_HandlingInstructions_PDU, proto_s4406, "handling-instructions"); register_ber_oid_dissector("1.3.26.0.4406.0.2.8", dissect_MessageInstructions_PDU, proto_s4406, "message-instructions"); register_ber_oid_dissector("1.3.26.0.4406.0.2.9", dissect_CodressMessage_PDU, proto_s4406, "codress-message"); register_ber_oid_dissector("1.3.26.0.4406.0.2.10", dissect_OriginatorReference_PDU, proto_s4406, "originator-reference"); - register_ber_oid_dissector("1.3.26.0.4406.0.2.11", dissect_OtherRecipientDesignator_PDU, proto_s4406, "other-recipients-indicator"); - register_ber_oid_dissector("1.3.26.0.4406.0.2.12", dissect_PilotInformation_PDU, proto_s4406, "pilot-forwarding-info"); + register_ber_oid_dissector("1.3.26.0.4406.0.2.11", dissect_OtherRecipientDesignatorSeq_PDU, proto_s4406, "other-recipients-indicator"); + register_ber_oid_dissector("1.3.26.0.4406.0.2.12", dissect_PilotInformationSeq_PDU, proto_s4406, "pilot-forwarding-info"); register_ber_oid_dissector("1.3.26.0.4406.0.2.13", dissect_Acp127MessageIdentifier_PDU, proto_s4406, "acp127-message-identifierr"); register_ber_oid_dissector("1.3.26.0.4406.0.2.14", dissect_OriginatorPlad_PDU, proto_s4406, "originator-plad"); register_ber_oid_dissector("1.3.26.0.4406.0.2.17", dissect_SecurityInformationLabels_PDU, proto_s4406, "information-labels"); register_ber_oid_dissector("1.3.26.0.4406.0.8.0", dissect_PriorityLevelQualifier_PDU, proto_s4406, "priority-level-qualifier"); + register_ber_oid_dissector("1.3.26.0.4406.0.7.9", dissect_MMMessageData_PDU, proto_s4406, "mm-message"); + register_ber_oid_dissector("1.3.26.0.4406.0.7.10", dissect_MMMessageParameters_PDU, proto_s4406, "mm-message-parameters"); + register_ber_oid_dissector("2.6.1.4.17.1.3.26.0.4406.0.4.1", dissect_InformationObject_PDU, proto_s4406, "id-et-content-p772"); /*--- End of included file: packet-s4406-dis-tab.c ---*/ diff --git a/epan/dissectors/packet-x420.c b/epan/dissectors/packet-x420.c index 13182e243b..b812643f94 100644 --- a/epan/dissectors/packet-x420.c +++ b/epan/dissectors/packet-x420.c @@ -383,7 +383,7 @@ static gint ett_x420_SubmissionProof = -1; /*--- Cyclic dependencies ---*/ /* IPM -> Body -> BodyPart -> MessageBodyPart -> MessageData -> IPM */ -static int dissect_x420_IPM(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index); +int dissect_x420_IPM(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index); static int dissect_ipm_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) { return dissect_x420_IPM(TRUE, tvb, offset, pinfo, tree, hf_x420_ipm); @@ -645,7 +645,7 @@ static int dissect_telex_compatible_impl(packet_info *pinfo, proto_tree *tree, t static int dissect_x420_T_type(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) { -#line 110 "x420.cnf" +#line 116 "x420.cnf" const char *name = NULL; offset = dissect_ber_object_identifier_str(implicit_tag, pinfo, tree, tvb, offset, hf_index, &object_identifier_id); @@ -666,7 +666,7 @@ static int dissect_type(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int static int dissect_x420_T_value(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) { -#line 118 "x420.cnf" +#line 124 "x420.cnf" offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree); @@ -903,7 +903,7 @@ static int dissect_related_IPMs_impl(packet_info *pinfo, proto_tree *tree, tvbuf static int dissect_x420_SubjectField(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) { -#line 140 "x420.cnf" +#line 146 "x420.cnf" tvbuff_t *subject=NULL; offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString, @@ -1235,7 +1235,7 @@ static int dissect_g3_facsimile_impl(packet_info *pinfo, proto_tree *tree, tvbuf static int dissect_x420_Interchange_Data_Element(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) { -#line 159 "x420.cnf" +#line 165 "x420.cnf" /* XXX Not implemented yet */ @@ -1468,7 +1468,7 @@ static const ber_sequence_t MessageParameters_set[] = { { 0, 0, 0, NULL } }; -static int +int dissect_x420_MessageParameters(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) { offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset, MessageParameters_set, hf_index, ett_x420_MessageParameters); @@ -1551,7 +1551,7 @@ static int dissect_bilaterally_defined_impl(packet_info *pinfo, proto_tree *tree static int dissect_x420_NationallyDefinedBodyPart(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) { -#line 162 "x420.cnf" +#line 168 "x420.cnf" /* XXX Not implemented yet */ @@ -1650,9 +1650,9 @@ static const ber_sequence_t IPM_sequence[] = { { 0, 0, 0, NULL } }; -static int +int dissect_x420_IPM(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) { -#line 122 "x420.cnf" +#line 128 "x420.cnf" if((hf_index == hf_x420_ipm) && check_col(pinfo->cinfo, COL_INFO)) col_append_fstr(pinfo->cinfo, COL_INFO, " Message"); @@ -1976,9 +1976,9 @@ static const ber_sequence_t IPN_set[] = { { 0, 0, 0, NULL } }; -static int +int dissect_x420_IPN(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) { -#line 130 "x420.cnf" +#line 136 "x420.cnf" if((hf_index == hf_x420_ipn) && check_col(pinfo->cinfo, COL_INFO)) col_append_fstr(pinfo->cinfo, COL_INFO, " Notification"); @@ -2664,7 +2664,7 @@ dissect_x420_Precedence(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, pa static int dissect_x420_CharacterSetRegistration(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) { -#line 151 "x420.cnf" +#line 157 "x420.cnf" guint32 crs; proto_item *pi; offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index, @@ -3175,11 +3175,11 @@ void proto_register_x420(void) { "Heading/subject", HFILL }}, { &hf_x420_expiry_time, { "expiry-time", "x420.expiry_time", - FT_UINT32, BASE_DEC, VALS(x509af_Time_vals), 0, + FT_STRING, BASE_NONE, NULL, 0, "Heading/expiry-time", HFILL }}, { &hf_x420_reply_time, { "reply-time", "x420.reply_time", - FT_UINT32, BASE_DEC, VALS(x509af_Time_vals), 0, + FT_STRING, BASE_NONE, NULL, 0, "Heading/reply-time", HFILL }}, { &hf_x420_reply_recipients, { "reply-recipients", "x420.reply_recipients", @@ -3491,7 +3491,7 @@ void proto_register_x420(void) { "NonReceiptFields/nrn-extensions", HFILL }}, { &hf_x420_receipt_time, { "receipt-time", "x420.receipt_time", - FT_UINT32, BASE_DEC, VALS(x509af_Time_vals), 0, + FT_STRING, BASE_NONE, NULL, 0, "ReceiptFields/receipt-time", HFILL }}, { &hf_x420_acknowledgment_mode, { "acknowledgment-mode", "x420.acknowledgment_mode", @@ -3527,7 +3527,7 @@ void proto_register_x420(void) { "AbsenceAdvice/advice", HFILL }}, { &hf_x420_next_available, { "next-available", "x420.next_available", - FT_UINT32, BASE_DEC, VALS(x509af_Time_vals), 0, + FT_STRING, BASE_NONE, NULL, 0, "AbsenceAdvice/next-available", HFILL }}, { &hf_x420_new_address, { "new-address", "x420.new_address", @@ -3535,7 +3535,7 @@ void proto_register_x420(void) { "ChangeOfAddressAdvice/new-address", HFILL }}, { &hf_x420_effective_from, { "effective-from", "x420.effective_from", - FT_UINT32, BASE_DEC, VALS(x509af_Time_vals), 0, + FT_STRING, BASE_NONE, NULL, 0, "ChangeOfAddressAdvice/effective-from", HFILL }}, { &hf_x420_assembly_instructions, { "assembly-instructions", "x420.assembly_instructions", @@ -3848,7 +3848,7 @@ void proto_reg_handoff_x420(void) { register_ber_oid_dissector("2.6.1.19.0", dissect_AbsenceAdvice_PDU, proto_x420, "id-on-absence-advice"); register_ber_oid_dissector("2.6.1.19.1", dissect_ChangeOfAddressAdvice_PDU, proto_x420, "id-on-change-of-address-advice"); register_ber_oid_dissector("2.6.1.17.2", dissect_IPMAssemblyInstructions_PDU, proto_x420, "id-mst-assembly-instructions"); - register_ber_oid_dissector("2.6.1.5.0", dissect_IncompleteCopy_PDU, proto_x420, "id-hex-languages"); + register_ber_oid_dissector("2.6.1.5.0", dissect_IncompleteCopy_PDU, proto_x420, "id-hex-incomplete-copy"); register_ber_oid_dissector("2.6.1.5.1", dissect_Languages_PDU, proto_x420, "id-hex-languages"); register_ber_oid_dissector("2.6.1.5.2", dissect_AutoSubmitted_PDU, proto_x420, "id-hex-auto-submitted"); register_ber_oid_dissector("2.6.1.5.3", dissect_BodyPartSignatures_PDU, proto_x420, "id-hex-body-part-signatures"); @@ -3889,7 +3889,6 @@ void proto_reg_handoff_x420(void) { register_ber_oid_dissector("2.6.1.11.17.2.6.1.10.0", dissect_ForwardedContentParameters_PDU, proto_x420, "id-ep-content-p2"); register_ber_oid_dissector("2.6.1.4.17.2.6.1.10.0", dissect_InformationObject_PDU, proto_x420, "id-et-content-p2"); register_ber_oid_dissector("2.6.1.11.17.1.3.26.0.4406.0.4.1", dissect_ForwardedContentParameters_PDU, proto_x420, "id-ep-content-p772"); - register_ber_oid_dissector("2.6.1.4.17.1.3.26.0.4406.0.4.1", dissect_InformationObject_PDU, proto_x420, "id-et-content-p772"); /*--- End of included file: packet-x420-dis-tab.c ---*/ diff --git a/epan/dissectors/packet-x420.h b/epan/dissectors/packet-x420.h index 96acdf698e..3b522376b5 100644 --- a/epan/dissectors/packet-x420.h +++ b/epan/dissectors/packet-x420.h @@ -39,8 +39,11 @@ #line 1 "packet-x420-exp.h" extern const value_string x420_InformationObject_vals[]; int dissect_x420_InformationObject(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index); +int dissect_x420_IPM(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index); int dissect_x420_ORDescriptor(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index); int dissect_x420_ExtensionsField(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index); +int dissect_x420_MessageParameters(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index); +int dissect_x420_IPN(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index); /*--- End of included file: packet-x420-exp.h ---*/ #line 30 "packet-x420-template.h" |