aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGraeme Lunt <graeme.lunt@smhs.co.uk>2006-05-08 17:46:58 +0000
committerGraeme Lunt <graeme.lunt@smhs.co.uk>2006-05-08 17:46:58 +0000
commite0f8325deb24244b16af10f7dc3c09b8a5afeb8e (patch)
tree1e4d3a4299e396ddc9873da36af287534c3a1a7d
parentc725ebe2420ce6c43a4538a8be4ec0c8fd329c41 (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.c2
-rw-r--r--asn1/s4406/s4406.asn18
-rw-r--r--asn1/s4406/s4406.cnf16
-rw-r--r--asn1/x420/x420-exp.cnf6
-rw-r--r--asn1/x420/x420.cnf14
-rw-r--r--epan/dissectors/packet-s4406.c211
-rw-r--r--epan/dissectors/packet-x420.c37
-rw-r--r--epan/dissectors/packet-x420.h3
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"