2005-09-04 16:22:12 +00:00
|
|
|
#.TYPE_ATTR
|
2007-10-22 17:13:08 +00:00
|
|
|
CountryName TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = VALS(x411_CountryName_U_vals) BITMASK = 0
|
2005-09-04 16:22:12 +00:00
|
|
|
Time TYPE = FT_STRING DISPLAY = BASE_NONE STRING = NULL BITMASK = 0
|
|
|
|
|
2007-10-16 13:59:40 +00:00
|
|
|
#.IMPORT ../acse/acse-exp.cnf
|
|
|
|
#.IMPORT ../x509ce/x509ce-exp.cnf
|
|
|
|
#.IMPORT ../x509if/x509if-exp.cnf
|
|
|
|
#.IMPORT ../x509sat/x509sat-exp.cnf
|
|
|
|
#.IMPORT ../x509af/x509af-exp.cnf
|
2005-09-04 16:22:12 +00:00
|
|
|
|
|
|
|
#.EXPORTS
|
2006-03-05 11:28:13 +00:00
|
|
|
ContentLength
|
2005-09-04 16:22:12 +00:00
|
|
|
EncodedInformationTypes
|
2006-03-05 11:28:13 +00:00
|
|
|
EncodedInformationTypesConstraints
|
2005-09-04 16:22:12 +00:00
|
|
|
ExtendedCertificates
|
2006-03-05 11:28:13 +00:00
|
|
|
ExtendedContentType
|
2005-09-04 16:22:12 +00:00
|
|
|
G3FacsimileNonBasicParameters
|
2006-03-05 11:28:13 +00:00
|
|
|
MessageDeliveryIdentifier
|
2005-09-04 16:22:12 +00:00
|
|
|
MessageDeliveryTime
|
2006-03-05 11:28:13 +00:00
|
|
|
MessageSubmissionEnvelope
|
|
|
|
ORAddress
|
2005-09-04 16:22:12 +00:00
|
|
|
ORName
|
2006-03-05 11:28:13 +00:00
|
|
|
OriginatingMTACertificate
|
2005-09-04 16:22:12 +00:00
|
|
|
OtherMessageDeliveryFields
|
2006-03-05 11:28:13 +00:00
|
|
|
ProofOfSubmission
|
|
|
|
RequestedDeliveryMethod
|
|
|
|
SecurityContext
|
|
|
|
SecurityLabel
|
2005-09-04 16:22:12 +00:00
|
|
|
SupplementaryInformation
|
|
|
|
TeletexNonBasicParameters
|
2005-12-05 23:00:03 +00:00
|
|
|
UniversalOrBMPString
|
2006-12-14 00:16:06 +00:00
|
|
|
NonDeliveryReasonCode
|
|
|
|
NonDeliveryDiagnosticCode
|
2005-09-04 16:22:12 +00:00
|
|
|
|
|
|
|
#.TYPE_RENAME
|
|
|
|
MTABindArgument/authenticated AuthenticatedArgument
|
|
|
|
MTABindResult/authenticated AuthenticatedResult
|
|
|
|
|
|
|
|
ExtensionField/value ExtensionValue
|
|
|
|
SecurityCategory/value CategoryValue
|
|
|
|
|
|
|
|
#.FIELD_RENAME
|
2007-06-27 18:03:23 +00:00
|
|
|
PrivateDomainName/printable printable-private-domain-name
|
|
|
|
PrivateDomainName/numeric numeric-private-domain-name
|
|
|
|
PrivateDomainIdentifier/printable printable-private-domain-identifier
|
|
|
|
PrivateDomainIdentifier/numeric numeric-private-domain-identifier
|
|
|
|
|
2005-09-04 16:22:12 +00:00
|
|
|
TeletexPersonalName/surname teletex-surname
|
|
|
|
PersonalName/surname printable-surname
|
|
|
|
UniversalPersonalName/surname universal-surname
|
|
|
|
|
|
|
|
TeletexPersonalName/given-name teletex-given-name
|
|
|
|
PersonalName/given-name printable-given-name
|
|
|
|
UniversalPersonalName/given-name universal-given-name
|
|
|
|
|
|
|
|
TeletexPersonalName/initials teletex-initials
|
|
|
|
PersonalName/initials printable-initials
|
|
|
|
UniversalPersonalName/initials universal-initials
|
|
|
|
|
|
|
|
TeletexPersonalName/generation-qualifier teletex-generation-qualifier
|
|
|
|
PersonalName/generation-qualifier printable-generation-qualifier
|
|
|
|
UniversalPersonalName/generation-qualifier universal-generation-qualifier
|
|
|
|
|
|
|
|
BuiltInDomainDefinedAttribute/type printable-type
|
|
|
|
UniversalDomainDefinedAttribute/type universal-type
|
|
|
|
SecurityCategory/type category-type
|
|
|
|
ExtensionField/type extension-type
|
|
|
|
|
|
|
|
TeletexDomainDefinedAttribute/value teletex-value
|
|
|
|
BuiltInDomainDefinedAttribute/value printable-value
|
|
|
|
UniversalDomainDefinedAttribute/value universal-value
|
|
|
|
SecurityCategory/value category-value
|
|
|
|
ExtensionField/value extension-value
|
|
|
|
|
|
|
|
LastTraceInformation/report-type trace-report-type
|
|
|
|
PerRecipientReportDeliveryFields/report-type delivery-report-type
|
|
|
|
PerRecipientReportFields/report-type/delivery report-type-delivery
|
|
|
|
|
|
|
|
PerRecipientMessageSubmissionFields/recipient-name submission-recipient-name
|
|
|
|
PerRecipientProbeSubmissionFields/recipient-name probe-recipient-name
|
|
|
|
|
|
|
|
PerRecipientReportTransferFields/actual-recipient-name mta-actual-recipient-name
|
|
|
|
|
|
|
|
MessageClass/priority class-priority
|
|
|
|
DeliveryQueue/octets delivery-queue-octets
|
|
|
|
PerRecipientReportFields/report-type/non-delivery non-delivery-report
|
|
|
|
|
|
|
|
MTABindResult/authenticated authenticated-result
|
|
|
|
MTABindArgument/authenticated authenticated-argument
|
|
|
|
|
|
|
|
MTABindResult/authenticated/responder-name authenticated-responder-name
|
|
|
|
MTABindArgument/authenticated/initiator-name authenticated-initiator-name
|
|
|
|
|
|
|
|
RegistrationTypes/extensions type-extensions
|
|
|
|
RegistrationTypes/extensions/_item type-extensions-item
|
|
|
|
|
|
|
|
MessageSubmissionArgument/envelope message-submission-envelope
|
|
|
|
|
|
|
|
OtherMessageDeliveryFields/content-type delivered-content-type
|
|
|
|
Report/content report-content
|
|
|
|
|
|
|
|
PerDomainBilateralInformation/domain bilateral-domain
|
|
|
|
|
|
|
|
Report/envelope report-envelope
|
|
|
|
Message/envelope message-envelope
|
|
|
|
|
|
|
|
PerRecipientReportTransferFields/originally-intended-recipient-name report-originally-intended-recipient-name
|
|
|
|
|
|
|
|
MessageSubmissionEnvelope/originator-name mts-originator-name
|
|
|
|
ProbeSubmissionEnvelope/originator-name mts-originator-name
|
|
|
|
|
|
|
|
MessageTransferEnvelope/originator-name mta-originator-name
|
|
|
|
ProbeTransferEnvelope/originator-name mta-originator-name
|
|
|
|
|
|
|
|
MessageSubmissionEnvelope/per-recipient-fields per-recipient-message-submission-fields
|
|
|
|
ProbeTransferEnvelope/per-recipient-fields per-recipient-probe-transfer-fields
|
|
|
|
ProbeSubmissionEnvelope/per-recipient-fields per-recipient-probe-submission-fields
|
|
|
|
ReportDeliveryArgument/per-recipient-fields per-recipient-report-delivery-fields
|
|
|
|
ReportDeliveryEnvelope/per-recipient-fields per-recipient-report-delivery-fields
|
|
|
|
|
|
|
|
MessageSubmissionEnvelope/per-recipient-fields/_item per-recipient-message-submission-fields-item
|
|
|
|
ProbeTransferEnvelope/per-recipient-fields/_item per-recipient-probe-transfer-fields-item
|
|
|
|
ProbeSubmissionEnvelope/per-recipient-fields/_item per-recipient-probe-submission-fields-item
|
|
|
|
ReportDeliveryArgument/per-recipient-fields/_item per-recipient-report-delivery-fields-item
|
|
|
|
ReportDeliveryEnvelope/per-recipient-fields/_item per-recipient-report-delivery-fields-item
|
|
|
|
|
|
|
|
MessageTransferEnvelope/per-recipient-fields/_item per-recipient-message-fields-item
|
|
|
|
|
|
|
|
MessageTransferEnvelope/per-recipient-fields per-recipient-message-fields
|
|
|
|
ReportTransferContent/per-recipient-fields per-recipient-report-fields
|
|
|
|
|
2006-03-25 16:48:28 +00:00
|
|
|
AsymmetricTokenData/name/mta token-mta
|
|
|
|
AsymmetricTokenData/name/recipient-name token-recipient-name
|
|
|
|
|
2006-06-28 19:07:10 +00:00
|
|
|
TokenData/type token-data-type
|
|
|
|
CertificateSelectors/content-integrity-check selectors-content-integrity-check
|
2006-03-25 16:48:28 +00:00
|
|
|
|
2005-10-24 21:42:19 +00:00
|
|
|
#.PDU
|
|
|
|
MTABindArgument
|
|
|
|
MTABindResult
|
|
|
|
MTABindError
|
|
|
|
MTS-APDU
|
|
|
|
|
2005-09-04 16:22:12 +00:00
|
|
|
#.REGISTER
|
2007-08-29 18:39:30 +00:00
|
|
|
RecipientReassignmentProhibited N x411.extension 1
|
|
|
|
MTSOriginatorRequestedAlternateRecipient N x411.extension 2
|
|
|
|
DLExpansionProhibited N x411.extension 3
|
|
|
|
ConversionWithLossProhibited N x411.extension 4
|
|
|
|
LatestDeliveryTime N x411.extension 5
|
|
|
|
RequestedDeliveryMethod N x411.extension 6
|
|
|
|
PhysicalForwardingProhibited N x411.extension 7
|
|
|
|
PhysicalForwardingAddressRequest N x411.extension 8
|
|
|
|
PhysicalDeliveryModes N x411.extension 9
|
|
|
|
RegisteredMailType N x411.extension 10
|
|
|
|
RecipientNumberForAdvice N x411.extension 11
|
|
|
|
PhysicalRenditionAttributes N x411.extension 12
|
|
|
|
OriginatorReturnAddress N x411.extension 13
|
|
|
|
PhysicalDeliveryReportRequest N x411.extension 14
|
|
|
|
OriginatorCertificate N x411.extension 15
|
|
|
|
MessageToken N x411.extension 16
|
|
|
|
ContentConfidentialityAlgorithmIdentifier N x411.extension 17
|
|
|
|
ContentIntegrityCheck N x411.extension 18
|
|
|
|
MessageOriginAuthenticationCheck N x411.extension 19
|
|
|
|
MessageSecurityLabel N x411.extension 20
|
|
|
|
ProofOfSubmissionRequest N x411.extension 21
|
|
|
|
ProofOfDeliveryRequest N x411.extension 22
|
|
|
|
ContentCorrelator N x411.extension 23
|
|
|
|
ProbeOriginAuthenticationCheck N x411.extension 24
|
|
|
|
RedirectionHistory N x411.extension 25
|
|
|
|
DLExpansionHistory N x411.extension 26
|
|
|
|
PhysicalForwardingAddress N x411.extension 27
|
|
|
|
RecipientCertificate N x411.extension 28
|
|
|
|
ProofOfDelivery N x411.extension 29
|
|
|
|
OriginatorAndDLExpansionHistory N x411.extension 30
|
|
|
|
ReportingDLName N x411.extension 31
|
|
|
|
ReportingMTACertificate N x411.extension 32
|
|
|
|
ReportOriginAuthenticationCheck N x411.extension 33
|
|
|
|
ProofOfSubmission N x411.extension 35
|
|
|
|
|
|
|
|
TraceInformation N x411.extension 37
|
|
|
|
InternalTraceInformation N x411.extension 38
|
|
|
|
ReportingMTAName N x411.extension 39
|
|
|
|
ExtendedCertificates N x411.extension 40
|
|
|
|
|
|
|
|
DLExemptedRecipients N x411.extension 42
|
|
|
|
|
|
|
|
CertificateSelectors N x411.extension 45
|
|
|
|
|
|
|
|
CommonName N x411.extension-attribute 1
|
|
|
|
TeletexCommonName N x411.extension-attribute 2
|
|
|
|
TeletexOrganizationName N x411.extension-attribute 3
|
|
|
|
TeletexPersonalName N x411.extension-attribute 4
|
|
|
|
TeletexOrganizationalUnitNames N x411.extension-attribute 5
|
|
|
|
|
|
|
|
PDSName N x411.extension-attribute 7
|
|
|
|
PhysicalDeliveryCountryName N x411.extension-attribute 8
|
|
|
|
PostalCode N x411.extension-attribute 9
|
|
|
|
PhysicalDeliveryOfficeName N x411.extension-attribute 10
|
|
|
|
|
|
|
|
UniversalCommonName N x411.extension-attribute 24
|
|
|
|
UniversalOrganizationName N x411.extension-attribute 25
|
|
|
|
UniversalPersonalName N x411.extension-attribute 26
|
|
|
|
UniversalOrganizationalUnitNames N x411.extension-attribute 27
|
2005-09-04 16:22:12 +00:00
|
|
|
|
2005-12-05 23:00:03 +00:00
|
|
|
ReportDeliveryArgument B "2.6.1.4.14" "id-et-report"
|
|
|
|
|
2006-03-25 16:48:28 +00:00
|
|
|
AsymmetricToken B "2.6.3.6.0" "id-tok-asymmetricToken"
|
|
|
|
MTANameAndOptionalGDI B "2.6.5.6.0" "id-on-mtaName"
|
|
|
|
|
2007-08-29 18:39:30 +00:00
|
|
|
BindTokenSignedData N x411.tokendata 1
|
|
|
|
MessageTokenSignedData N x411.tokendata 2
|
2006-06-28 19:07:10 +00:00
|
|
|
# the next two are unlikely to ever be seen (unless in a bad encoding)
|
2007-08-29 18:39:30 +00:00
|
|
|
MessageTokenEncryptedData N x411.tokendata 3
|
|
|
|
BindTokenEncryptedData N x411.tokendata 4
|
2006-06-28 19:07:10 +00:00
|
|
|
|
2006-03-05 11:28:13 +00:00
|
|
|
# X402 - see master list in acp133.cnf
|
|
|
|
|
|
|
|
ContentLength B "2.6.5.2.0" "id-at-mhs-maximum-content-length"
|
|
|
|
ExtendedContentType B "2.6.5.2.1" "id-at-mhs-deliverable-content-types"
|
|
|
|
ExtendedEncodedInformationType B "2.6.5.2.2" "id-at-mhs-exclusively-acceptable-eits"
|
|
|
|
ORName B "2.6.5.2.3" "id-at-mhs-dl-members"
|
|
|
|
ORAddress B "2.6.5.2.6" "id-at-mhs-or-addresses"
|
|
|
|
ExtendedContentType B "2.6.5.2.9" "id-at-mhs-supported-content-types"
|
|
|
|
ORName B "2.6.5.2.12" "id-at-mhs-dl-archive-service"
|
|
|
|
ORName B "2.6.5.2.15" "id-at-mhs-dl-subscription-service"
|
|
|
|
ExtendedEncodedInformationType B "2.6.5.2.17" "id-at-mhs-acceptable-eits"
|
|
|
|
ExtendedEncodedInformationType B "2.6.5.2.18" "id-at-mhs-unacceptable-eits"
|
|
|
|
|
|
|
|
|
|
|
|
# ACP133 - see master list in acp133.cnf
|
|
|
|
ORName B "2.16.840.1.101.2.1.5.47" "id-at-aLExemptedAddressProcessor"
|
|
|
|
ORAddress B "2.16.840.1.101.2.2.1.134.1" "id-at-collective-mhs-or-addresses"
|
|
|
|
|
2005-09-04 16:22:12 +00:00
|
|
|
#.FN_BODY AdditionalInformation
|
2007-03-23 16:38:52 +00:00
|
|
|
proto_item *item = NULL;
|
|
|
|
int loffset = 0;
|
|
|
|
guint32 len = 0;
|
|
|
|
|
|
|
|
/* work out the length */
|
2007-05-13 20:58:29 +00:00
|
|
|
loffset = dissect_ber_identifier(actx->pinfo, tree, tvb, offset, NULL, NULL, NULL);
|
|
|
|
(void) dissect_ber_length(actx->pinfo, tree, tvb, loffset, &len, NULL);
|
2007-03-23 16:38:52 +00:00
|
|
|
|
|
|
|
item = proto_tree_add_item(tree, hf_index, tvb, offset, len, FALSE);
|
|
|
|
tree = proto_item_add_subtree(item, ett_x411_additional_information);
|
|
|
|
proto_item_append_text(tree, " (The use of this field is \"strongly deprecated\".)");
|
|
|
|
|
2007-05-13 20:58:29 +00:00
|
|
|
offset = dissect_unknown_ber(actx->pinfo, tvb, offset, tree);
|
2005-09-04 16:22:12 +00:00
|
|
|
|
2006-06-15 07:46:07 +00:00
|
|
|
#.FN_BODY RegistrationTypes/extensions/_item
|
2005-09-04 16:22:12 +00:00
|
|
|
/*XXX not implemented yet */
|
|
|
|
|
2007-06-05 12:00:57 +00:00
|
|
|
#.FN_BODY ExtensionField/value
|
2005-12-06 22:59:30 +00:00
|
|
|
const char *name;
|
2005-11-16 07:13:12 +00:00
|
|
|
|
2007-08-29 18:39:30 +00:00
|
|
|
if(extension_id != -1) {
|
|
|
|
proto_item_append_text(tree, " (%%s)", val_to_str(extension_id, x411_StandardExtension_vals, "standard-extension %%d"));
|
|
|
|
if (dissector_try_port(x411_extension_dissector_table, extension_id, tvb, actx->pinfo, tree)) {
|
|
|
|
offset = tvb_length(tvb);
|
|
|
|
} else {
|
|
|
|
proto_item *item = NULL;
|
|
|
|
proto_tree *next_tree = NULL;
|
|
|
|
|
|
|
|
item = proto_tree_add_text(tree, tvb, 0, tvb_length_remaining(tvb, offset),
|
|
|
|
"Dissector for standard-extension %%d not implemented. Contact Wireshark developers if you want this supported", extension_id);
|
|
|
|
next_tree = proto_item_add_subtree(item, ett_x411_unknown_standard_extension);
|
|
|
|
offset = dissect_unknown_ber(actx->pinfo, tvb, offset, next_tree);
|
|
|
|
expert_add_info_format(actx->pinfo, item, PI_UNDECODED, PI_WARN, "Unknown standard-extension");
|
|
|
|
}
|
|
|
|
} else if (object_identifier_id) {
|
2007-05-13 20:58:29 +00:00
|
|
|
call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree);
|
2007-11-01 19:36:39 +00:00
|
|
|
name = oid_resolved_from_string(object_identifier_id);
|
2005-11-16 07:13:12 +00:00
|
|
|
proto_item_append_text(tree, " (%%s)", name ? name : object_identifier_id);
|
|
|
|
}
|
|
|
|
|
2005-09-04 16:22:12 +00:00
|
|
|
|
2007-06-05 12:00:57 +00:00
|
|
|
#.FN_BODY SecurityCategory/value
|
2005-09-04 16:22:12 +00:00
|
|
|
|
2007-05-13 20:58:29 +00:00
|
|
|
offset = dissect_unknown_ber(actx->pinfo, tvb, offset, tree);
|
2005-09-04 16:22:12 +00:00
|
|
|
|
2007-08-29 18:39:30 +00:00
|
|
|
#.FN_PARS ExtensionAttributeType
|
2007-06-27 18:03:23 +00:00
|
|
|
VAL_PTR = &extension_id
|
|
|
|
|
2006-06-15 07:46:07 +00:00
|
|
|
#.FN_BODY ExtensionAttribute/extension-attribute-value
|
2005-09-04 16:22:12 +00:00
|
|
|
|
2007-08-29 18:39:30 +00:00
|
|
|
proto_item_append_text(tree, " (%%s)", val_to_str(extension_id, x411_ExtensionAttributeType_vals, "extension-attribute-type %%d"));
|
|
|
|
if (dissector_try_port(x411_extension_attribute_dissector_table, extension_id, tvb, actx->pinfo, tree)) {
|
|
|
|
offset =tvb_length(tvb);
|
|
|
|
} else {
|
|
|
|
proto_item *item = NULL;
|
|
|
|
proto_tree *next_tree = NULL;
|
|
|
|
|
|
|
|
item = proto_tree_add_text(tree, tvb, 0, tvb_length_remaining(tvb, offset),
|
|
|
|
"Dissector for extension-attribute-type %%d not implemented. Contact Wireshark developers if you want this supported", extension_id);
|
|
|
|
next_tree = proto_item_add_subtree(item, ett_x411_unknown_extension_attribute_type);
|
|
|
|
offset = dissect_unknown_ber(actx->pinfo, tvb, offset, next_tree);
|
|
|
|
expert_add_info_format(actx->pinfo, item, PI_UNDECODED, PI_WARN, "Unknown extension-attribute-type");
|
|
|
|
}
|
|
|
|
|
2005-09-04 16:22:12 +00:00
|
|
|
|
2006-06-15 07:46:07 +00:00
|
|
|
#.FN_BODY RefusedOperation/refused-argument/refused-extension
|
2005-09-04 16:22:12 +00:00
|
|
|
/*XXX not implemented yet */
|
|
|
|
|
|
|
|
#.FN_BODY CountryName
|
2005-11-16 07:13:12 +00:00
|
|
|
if(doing_address)
|
|
|
|
g_strlcat(oraddress, "/C=", MAX_ORA_STR_LEN);
|
2007-10-22 17:13:08 +00:00
|
|
|
|
|
|
|
%(DEFAULT_BODY)s
|
2005-11-16 07:13:12 +00:00
|
|
|
|
|
|
|
|
2005-09-04 16:22:12 +00:00
|
|
|
#.FN_BODY AdministrationDomainName
|
2005-11-16 07:13:12 +00:00
|
|
|
if(doing_address)
|
|
|
|
g_strlcat(oraddress, "/A=", MAX_ORA_STR_LEN);
|
|
|
|
|
2007-10-22 17:13:08 +00:00
|
|
|
%(DEFAULT_BODY)s
|
2005-09-04 16:22:12 +00:00
|
|
|
|
|
|
|
|
2007-08-29 18:39:30 +00:00
|
|
|
#.FN_PARS StandardExtension
|
2005-10-24 21:42:19 +00:00
|
|
|
VAL_PTR = &extension_id
|
2005-09-04 16:22:12 +00:00
|
|
|
|
2007-06-05 12:00:57 +00:00
|
|
|
#.FN_BODY ExtensionType/private-extension FN_VARIANT = _str VAL_PTR = &object_identifier_id
|
2005-11-16 07:13:12 +00:00
|
|
|
|
|
|
|
%(DEFAULT_BODY)s
|
|
|
|
extension_id = -1;
|
|
|
|
|
|
|
|
#.FN_PARS ExtendedContentType
|
|
|
|
FN_VARIANT = _str VAL_PTR = &content_type_id
|
|
|
|
|
|
|
|
#.FN_BODY ExtendedContentType
|
2005-11-17 05:02:30 +00:00
|
|
|
const char *name = NULL;
|
2005-11-16 07:13:12 +00:00
|
|
|
|
|
|
|
%(DEFAULT_BODY)s
|
|
|
|
|
|
|
|
if(content_type_id) {
|
2007-11-01 19:36:39 +00:00
|
|
|
name = oid_resolved_from_string(content_type_id);
|
2005-11-16 07:13:12 +00:00
|
|
|
|
|
|
|
if(!name) name = content_type_id;
|
|
|
|
|
|
|
|
proto_item_append_text(tree, " (%%s)", name);
|
|
|
|
}
|
|
|
|
|
2007-10-22 17:13:08 +00:00
|
|
|
#.FN_PARS BuiltInContentType/_untag VAL_PTR = &ict
|
2005-09-04 16:22:12 +00:00
|
|
|
|
2007-10-22 17:13:08 +00:00
|
|
|
#.FN_BODY BuiltInContentType/_untag
|
|
|
|
static guint32 ict = -1;
|
2005-09-04 16:22:12 +00:00
|
|
|
|
2005-10-24 21:42:19 +00:00
|
|
|
%(DEFAULT_BODY)s
|
2005-09-04 16:22:12 +00:00
|
|
|
|
|
|
|
/* convert integer content type to oid for dispatch when the content is found */
|
|
|
|
switch(ict) {
|
|
|
|
case 2:
|
2005-12-05 23:00:03 +00:00
|
|
|
content_type_id = ep_strdup("2.6.1.10.0");
|
2005-09-04 16:22:12 +00:00
|
|
|
break;
|
|
|
|
case 22:
|
2005-12-05 23:00:03 +00:00
|
|
|
content_type_id = ep_strdup("2.6.1.10.1");
|
2005-09-04 16:22:12 +00:00
|
|
|
break;
|
|
|
|
default:
|
2006-06-28 19:07:10 +00:00
|
|
|
content_type_id = NULL;
|
2005-09-04 16:22:12 +00:00
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
#.FN_BODY Content
|
|
|
|
tvbuff_t *next_tvb;
|
|
|
|
|
|
|
|
/* we can do this now constructed octet strings are supported */
|
2007-05-15 05:49:43 +00:00
|
|
|
offset = dissect_ber_octet_string(FALSE, actx, NULL, tvb, offset, hf_index, &next_tvb);
|
2005-09-04 16:22:12 +00:00
|
|
|
|
2006-06-28 19:07:10 +00:00
|
|
|
if (next_tvb) {
|
|
|
|
if (content_type_id) {
|
2007-05-13 20:58:29 +00:00
|
|
|
(void) call_ber_oid_callback(content_type_id, next_tvb, 0, actx->pinfo, top_tree ? top_tree : tree);
|
2006-06-28 19:07:10 +00:00
|
|
|
} else {
|
|
|
|
proto_item *item = NULL;
|
|
|
|
proto_tree *next_tree = NULL;
|
|
|
|
|
|
|
|
item = proto_tree_add_text(top_tree ? top_tree : tree, next_tvb, 0, tvb_length_remaining(tvb, offset), "X.411 Unknown Content (unknown built-in content-type)");
|
2007-08-29 18:39:30 +00:00
|
|
|
expert_add_info_format(actx->pinfo, item, PI_UNDECODED, PI_WARN, "Unknown built-in content-type");
|
2006-06-28 19:07:10 +00:00
|
|
|
if (item) {
|
|
|
|
next_tree=proto_item_add_subtree(item, ett_x411_content_unknown);
|
|
|
|
}
|
2007-05-13 20:58:29 +00:00
|
|
|
dissect_unknown_ber(actx->pinfo, next_tvb, 0, next_tree);
|
2006-06-28 19:07:10 +00:00
|
|
|
}
|
|
|
|
}
|
2005-10-24 21:42:19 +00:00
|
|
|
|
|
|
|
#.FN_PARS MTAName
|
|
|
|
VAL_PTR = &mtaname
|
|
|
|
|
|
|
|
#.FN_BODY MTAName
|
2005-11-16 07:13:12 +00:00
|
|
|
tvbuff_t *mtaname = NULL;
|
2005-10-24 21:42:19 +00:00
|
|
|
|
|
|
|
%(DEFAULT_BODY)s
|
|
|
|
|
2005-11-16 07:13:12 +00:00
|
|
|
if(doing_address) {
|
|
|
|
|
|
|
|
proto_item_append_text(address_item, " %%s", tvb_format_text(mtaname, 0, tvb_length(mtaname)));
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
2007-05-13 20:58:29 +00:00
|
|
|
if (check_col(actx->pinfo->cinfo, COL_INFO) && mtaname) {
|
|
|
|
col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %%s", tvb_format_text(mtaname, 0, tvb_length(mtaname)));
|
2005-10-24 21:42:19 +00:00
|
|
|
}
|
2005-09-04 16:22:12 +00:00
|
|
|
|
2005-11-16 07:13:12 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
#.FN_PARS X121Address
|
|
|
|
VAL_PTR=&string
|
|
|
|
|
|
|
|
#.FN_BODY X121Address
|
|
|
|
tvbuff_t *string = NULL;
|
|
|
|
|
|
|
|
%(DEFAULT_BODY)s
|
|
|
|
|
|
|
|
if(doing_address && string) {
|
|
|
|
g_strlcat(oraddress, "/X121=", MAX_ORA_STR_LEN);
|
|
|
|
g_strlcat(oraddress, tvb_format_text(string, 0, tvb_length(string)), MAX_ORA_STR_LEN);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
#.FN_PARS TerminalIdentifier
|
|
|
|
VAL_PTR=&string
|
|
|
|
|
|
|
|
#.FN_BODY TerminalIdentifier
|
|
|
|
tvbuff_t *string = NULL;
|
|
|
|
|
|
|
|
%(DEFAULT_BODY)s
|
|
|
|
|
|
|
|
if(doing_address && string) {
|
|
|
|
g_strlcat(oraddress, "/UA-ID=", MAX_ORA_STR_LEN);
|
|
|
|
g_strlcat(oraddress, tvb_format_text(string, 0, tvb_length(string)), MAX_ORA_STR_LEN);
|
|
|
|
}
|
|
|
|
|
|
|
|
#.FN_BODY PrivateDomainName
|
|
|
|
|
|
|
|
if(doing_address)
|
|
|
|
g_strlcat(oraddress, "/P=", MAX_ORA_STR_LEN);
|
|
|
|
|
|
|
|
%(DEFAULT_BODY)s
|
|
|
|
|
|
|
|
#.FN_BODY PrivateDomainIdentifier
|
|
|
|
|
|
|
|
if(doing_address)
|
|
|
|
g_strlcat(oraddress, "/P=", MAX_ORA_STR_LEN);
|
|
|
|
|
|
|
|
%(DEFAULT_BODY)s
|
|
|
|
|
|
|
|
#.FN_PARS OrganizationName
|
|
|
|
VAL_PTR=&string
|
|
|
|
|
|
|
|
#.FN_BODY OrganizationName
|
|
|
|
tvbuff_t *string = NULL;
|
|
|
|
|
|
|
|
%(DEFAULT_BODY)s
|
|
|
|
|
|
|
|
if(doing_address && string) {
|
|
|
|
g_strlcat(oraddress, "/O=", MAX_ORA_STR_LEN);
|
|
|
|
g_strlcat(oraddress, tvb_format_text(string, 0, tvb_length(string)), MAX_ORA_STR_LEN);
|
|
|
|
}
|
|
|
|
|
2007-06-21 16:50:16 +00:00
|
|
|
#.FN_PARS OrganizationalUnitName
|
|
|
|
VAL_PTR=&string
|
|
|
|
|
|
|
|
#.FN_BODY OrganizationalUnitName
|
|
|
|
tvbuff_t *string = NULL;
|
|
|
|
|
|
|
|
%(DEFAULT_BODY)s
|
|
|
|
|
|
|
|
if(doing_address && string) {
|
|
|
|
g_strlcat(oraddress, "/OU=", MAX_ORA_STR_LEN);
|
|
|
|
g_strlcat(oraddress, tvb_format_text(string, 0, tvb_length(string)), MAX_ORA_STR_LEN);
|
|
|
|
}
|
|
|
|
|
2005-11-16 07:13:12 +00:00
|
|
|
#.FN_PARS CommonName
|
|
|
|
VAL_PTR=&string
|
|
|
|
|
|
|
|
#.FN_BODY CommonName
|
|
|
|
tvbuff_t *string = NULL;
|
|
|
|
|
|
|
|
%(DEFAULT_BODY)s
|
|
|
|
|
|
|
|
if(doing_address && string) {
|
|
|
|
g_strlcat(oraddress, "/CN=", MAX_ORA_STR_LEN);
|
|
|
|
g_strlcat(oraddress, tvb_format_text(string, 0, tvb_length(string)), MAX_ORA_STR_LEN);
|
|
|
|
}
|
|
|
|
|
2007-06-06 08:12:27 +00:00
|
|
|
#.VIRTUAL_ASSGN
|
2007-10-22 17:13:08 +00:00
|
|
|
AddrPrintableString CountryName/_untag/iso-3166-alpha2-code AdministrationDomainName/_untag/printable PrivateDomainName/printable PrivateDomainIdentifier/printable PhysicalDeliveryCountryName/iso-3166-alpha2-code
|
2007-06-27 18:03:23 +00:00
|
|
|
|
|
|
|
#.FN_BODY AddrPrintableString VAL_PTR=&nstring
|
|
|
|
tvbuff_t *nstring = NULL;
|
|
|
|
|
|
|
|
%(DEFAULT_BODY)s
|
|
|
|
|
|
|
|
if(doing_address && nstring)
|
|
|
|
g_strlcat(oraddress, tvb_format_text(nstring, 0, tvb_length(nstring)), MAX_ORA_STR_LEN);
|
|
|
|
|
|
|
|
#.VIRTUAL_ASSGN
|
2007-10-22 17:13:08 +00:00
|
|
|
AddrNumericString UserAddress/x121/x121-address CountryName/_untag/x121-dcc-code AdministrationDomainName/_untag/numeric PrivateDomainName/numeric PrivateDomainIdentifier/numeric PhysicalDeliveryCountryName/x121-dcc-code PostalCode/numeric-code
|
2005-11-16 07:13:12 +00:00
|
|
|
|
2007-06-06 08:12:27 +00:00
|
|
|
#.FN_BODY AddrNumericString VAL_PTR=&nstring
|
2005-11-16 07:13:12 +00:00
|
|
|
tvbuff_t *nstring = NULL;
|
|
|
|
|
|
|
|
%(DEFAULT_BODY)s
|
|
|
|
|
|
|
|
if(doing_address && nstring)
|
|
|
|
g_strlcat(oraddress, tvb_format_text(nstring, 0, tvb_length(nstring)), MAX_ORA_STR_LEN);
|
|
|
|
|
2007-06-06 08:12:27 +00:00
|
|
|
#.VIRTUAL_ASSGN
|
|
|
|
AddrTeletexString TeletexPersonalName/surname TeletexPersonalName/given-name TeletexPersonalName/initials TeletexPersonalName/generation-qualifier TeletexDomainDefinedAttribute/type TeletexDomainDefinedAttribute/value
|
2005-11-16 07:13:12 +00:00
|
|
|
|
2007-06-06 08:12:27 +00:00
|
|
|
#.FN_BODY AddrTeletexString VAL_PTR=&tstring
|
2005-11-16 07:13:12 +00:00
|
|
|
tvbuff_t *tstring = NULL;
|
|
|
|
|
|
|
|
%(DEFAULT_BODY)s
|
|
|
|
|
|
|
|
if(doing_address && tstring)
|
|
|
|
g_strlcat(oraddress, tvb_format_text(tstring, 0, tvb_length(tstring)), MAX_ORA_STR_LEN);
|
|
|
|
|
2005-10-24 21:42:19 +00:00
|
|
|
|
2007-06-06 08:12:27 +00:00
|
|
|
#.FN_BODY PersonalName/surname VAL_PTR=&pstring
|
|
|
|
tvbuff_t *pstring = NULL;
|
|
|
|
|
|
|
|
%(DEFAULT_BODY)s
|
2005-11-16 07:13:12 +00:00
|
|
|
|
2007-06-06 08:12:27 +00:00
|
|
|
if(doing_address && pstring) {
|
|
|
|
g_strlcat(oraddress, "/S=", MAX_ORA_STR_LEN);
|
|
|
|
g_strlcat(oraddress, tvb_format_text(pstring, 0, tvb_length(pstring)), MAX_ORA_STR_LEN);
|
|
|
|
}
|
|
|
|
#.FN_BODY PersonalName/given-name VAL_PTR=&pstring
|
2005-11-16 07:13:12 +00:00
|
|
|
tvbuff_t *pstring = NULL;
|
|
|
|
|
|
|
|
%(DEFAULT_BODY)s
|
|
|
|
|
|
|
|
if(doing_address && pstring) {
|
2007-06-06 08:12:27 +00:00
|
|
|
g_strlcat(oraddress, "/G=", MAX_ORA_STR_LEN);
|
|
|
|
g_strlcat(oraddress, tvb_format_text(pstring, 0, tvb_length(pstring)), MAX_ORA_STR_LEN);
|
|
|
|
}
|
|
|
|
#.FN_BODY PersonalName/initials VAL_PTR=&pstring
|
|
|
|
tvbuff_t *pstring = NULL;
|
|
|
|
|
|
|
|
%(DEFAULT_BODY)s
|
|
|
|
|
|
|
|
if(doing_address && pstring) {
|
|
|
|
g_strlcat(oraddress, "/I=", MAX_ORA_STR_LEN);
|
|
|
|
g_strlcat(oraddress, tvb_format_text(pstring, 0, tvb_length(pstring)), MAX_ORA_STR_LEN);
|
|
|
|
}
|
|
|
|
#.FN_BODY PersonalName/generation-qualifier VAL_PTR=&pstring
|
|
|
|
tvbuff_t *pstring = NULL;
|
|
|
|
|
|
|
|
%(DEFAULT_BODY)s
|
|
|
|
|
|
|
|
if(doing_address && pstring) {
|
|
|
|
g_strlcat(oraddress, "/GQ=", MAX_ORA_STR_LEN);
|
|
|
|
g_strlcat(oraddress, tvb_format_text(pstring, 0, tvb_length(pstring)), MAX_ORA_STR_LEN);
|
|
|
|
}
|
|
|
|
|
|
|
|
#.FN_BODY BuiltInDomainDefinedAttribute/type VAL_PTR=&pstring
|
|
|
|
tvbuff_t *pstring = NULL;
|
2005-11-16 07:13:12 +00:00
|
|
|
|
2007-06-06 08:12:27 +00:00
|
|
|
%(DEFAULT_BODY)s
|
|
|
|
|
|
|
|
if(doing_address && pstring) {
|
|
|
|
g_strlcat(oraddress, "/DD.", MAX_ORA_STR_LEN);
|
2005-11-16 07:13:12 +00:00
|
|
|
g_strlcat(oraddress, tvb_format_text(pstring, 0, tvb_length(pstring)), MAX_ORA_STR_LEN);
|
2007-06-06 08:12:27 +00:00
|
|
|
}
|
|
|
|
#.FN_BODY BuiltInDomainDefinedAttribute/value VAL_PTR=&pstring
|
|
|
|
tvbuff_t *pstring = NULL;
|
2005-11-16 07:13:12 +00:00
|
|
|
|
2007-06-06 08:12:27 +00:00
|
|
|
%(DEFAULT_BODY)s
|
|
|
|
|
|
|
|
if(doing_address && pstring) {
|
|
|
|
g_strlcat(oraddress, "=", MAX_ORA_STR_LEN);
|
|
|
|
g_strlcat(oraddress, tvb_format_text(pstring, 0, tvb_length(pstring)), MAX_ORA_STR_LEN);
|
2005-11-16 07:13:12 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
#.FN_BODY ORAddress
|
|
|
|
|
|
|
|
oraddress = ep_alloc(MAX_ORA_STR_LEN); oraddress[0] = '\0';
|
|
|
|
doing_address = TRUE;
|
|
|
|
address_item = NULL;
|
|
|
|
|
|
|
|
%(DEFAULT_BODY)s
|
|
|
|
|
|
|
|
if(*oraddress && address_item)
|
|
|
|
proto_item_append_text(address_item, " %%s/", oraddress);
|
|
|
|
|
|
|
|
doing_address = FALSE;
|
|
|
|
|
|
|
|
#.FN_BODY ORName
|
|
|
|
|
|
|
|
oraddress = ep_alloc(MAX_ORA_STR_LEN); oraddress[0] = '\0';
|
|
|
|
address_item = NULL;
|
|
|
|
doing_address = TRUE;
|
|
|
|
|
|
|
|
%(DEFAULT_BODY)s
|
|
|
|
|
|
|
|
if(*oraddress && address_item)
|
|
|
|
proto_item_append_text(address_item, " (%%s/)", oraddress);
|
|
|
|
|
|
|
|
doing_address = FALSE;
|
|
|
|
|
2007-10-06 20:37:52 +00:00
|
|
|
#.FN_BODY MessageIdentifier
|
|
|
|
|
|
|
|
address_item = NULL;
|
|
|
|
|
|
|
|
%(DEFAULT_BODY)s
|
|
|
|
|
2005-11-16 07:13:12 +00:00
|
|
|
#.FN_BODY GlobalDomainIdentifier
|
|
|
|
|
|
|
|
oraddress = ep_alloc(MAX_ORA_STR_LEN); oraddress[0] = '\0';
|
|
|
|
address_item = tree;
|
|
|
|
|
|
|
|
%(DEFAULT_BODY)s
|
|
|
|
|
2007-05-06 16:38:04 +00:00
|
|
|
if(*oraddress) {
|
2005-11-16 07:13:12 +00:00
|
|
|
proto_item_append_text(address_item, " (%%s/", oraddress);
|
|
|
|
|
2007-05-13 20:58:29 +00:00
|
|
|
if(doing_subjectid && check_col(actx->pinfo->cinfo, COL_INFO)) {
|
|
|
|
col_append_fstr(actx->pinfo->cinfo, COL_INFO, " (%%s/", oraddress);
|
2007-05-06 16:38:04 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2005-11-16 07:13:12 +00:00
|
|
|
|
|
|
|
#.FN_PARS LocalIdentifier
|
|
|
|
VAL_PTR=&id
|
|
|
|
|
|
|
|
#.FN_BODY LocalIdentifier
|
|
|
|
tvbuff_t *id = NULL;
|
|
|
|
|
|
|
|
%(DEFAULT_BODY)s
|
|
|
|
|
2007-05-06 16:38:04 +00:00
|
|
|
if(id) {
|
|
|
|
if(doing_address)
|
|
|
|
proto_item_append_text(address_item, " $ %%s)", tvb_format_text(id, 0, tvb_length(id)));
|
|
|
|
|
2007-05-13 20:58:29 +00:00
|
|
|
if(doing_subjectid && check_col(actx->pinfo->cinfo, COL_INFO))
|
|
|
|
col_append_fstr(actx->pinfo->cinfo, COL_INFO, " $ %%s)", tvb_format_text(id, 0, tvb_length(id)));
|
2007-05-06 16:38:04 +00:00
|
|
|
}
|
2005-11-16 07:13:12 +00:00
|
|
|
|
|
|
|
#.FN_BODY MTSIdentifier
|
|
|
|
|
|
|
|
doing_address = TRUE;
|
|
|
|
|
2007-05-06 16:38:04 +00:00
|
|
|
if(hf_index == hf_x411_subject_identifier)
|
|
|
|
doing_subjectid = TRUE;
|
|
|
|
|
2005-11-16 07:13:12 +00:00
|
|
|
%(DEFAULT_BODY)s
|
|
|
|
|
|
|
|
doing_address = FALSE;
|
|
|
|
|
2007-05-06 16:38:04 +00:00
|
|
|
if(hf_index == hf_x411_subject_identifier)
|
|
|
|
doing_subjectid = FALSE;
|
|
|
|
|
|
|
|
|
2006-03-25 16:48:28 +00:00
|
|
|
#.FN_BODY MTANameAndOptionalGDI
|
|
|
|
|
|
|
|
doing_address = TRUE;
|
|
|
|
|
|
|
|
%(DEFAULT_BODY)s
|
|
|
|
|
|
|
|
doing_address = FALSE;
|
|
|
|
proto_item_append_text(tree, ")");
|
|
|
|
|
2005-11-16 07:13:12 +00:00
|
|
|
#.FN_BODY BuiltInStandardAttributes
|
|
|
|
|
|
|
|
address_item = tree;
|
|
|
|
|
|
|
|
%(DEFAULT_BODY)s
|
|
|
|
|
|
|
|
#.FN_BODY TraceInformationElement
|
|
|
|
|
|
|
|
doing_address = TRUE;
|
|
|
|
|
|
|
|
%(DEFAULT_BODY)s
|
|
|
|
|
|
|
|
doing_address = FALSE;
|
|
|
|
|
|
|
|
#.FN_BODY InternalTraceInformationElement
|
|
|
|
|
|
|
|
doing_address = TRUE;
|
|
|
|
|
|
|
|
%(DEFAULT_BODY)s
|
|
|
|
|
|
|
|
doing_address = FALSE;
|
|
|
|
|
|
|
|
#.FN_BODY DomainSuppliedInformation
|
|
|
|
|
|
|
|
doing_address = FALSE;
|
|
|
|
|
|
|
|
%(DEFAULT_BODY)s
|
|
|
|
|
|
|
|
doing_address = TRUE;
|
|
|
|
proto_item_append_text(tree, ")");
|
|
|
|
|
|
|
|
#.FN_BODY MTASuppliedInformation
|
|
|
|
|
|
|
|
doing_address = FALSE;
|
|
|
|
|
|
|
|
%(DEFAULT_BODY)s
|
|
|
|
|
|
|
|
doing_address = TRUE;
|
|
|
|
proto_item_append_text(tree, ")");
|
|
|
|
|
|
|
|
#.FN_PARS Time
|
|
|
|
VAL_PTR = &arrival
|
|
|
|
|
|
|
|
#.FN_BODY Time
|
|
|
|
tvbuff_t *arrival = NULL;
|
|
|
|
|
|
|
|
%(DEFAULT_BODY)s
|
|
|
|
|
2006-03-25 16:48:28 +00:00
|
|
|
if(arrival && doing_address)
|
2005-11-16 07:13:12 +00:00
|
|
|
proto_item_append_text(address_item, " %%s", tvb_format_text(arrival, 0, tvb_length(arrival)));
|
|
|
|
|
|
|
|
#.FN_PARS RoutingAction
|
|
|
|
VAL_PTR = &action
|
|
|
|
|
|
|
|
#.FN_BODY RoutingAction
|
|
|
|
int action = 0;
|
|
|
|
|
|
|
|
%(DEFAULT_BODY)s
|
|
|
|
|
|
|
|
proto_item_append_text(address_item, " %%s", val_to_str(action, x411_RoutingAction_vals, "action(%%d)"));
|
|
|
|
|
|
|
|
#.FN_PARS MTABindError
|
|
|
|
VAL_PTR=&error
|
|
|
|
|
|
|
|
#.FN_BODY MTABindError
|
|
|
|
int error = -1;
|
|
|
|
%(DEFAULT_BODY)s
|
2007-05-13 20:58:29 +00:00
|
|
|
if((error != -1) && check_col(actx->pinfo->cinfo, COL_INFO))
|
|
|
|
col_append_fstr(actx->pinfo->cinfo, COL_INFO, " (%%s)", val_to_str(error, x411_MTABindError_vals, "error(%%d)"));
|
2005-11-16 07:13:12 +00:00
|
|
|
|
2006-03-25 16:48:28 +00:00
|
|
|
#.FN_PARS TokenTypeIdentifier
|
|
|
|
FN_VARIANT = _str VAL_PTR = &object_identifier_id
|
|
|
|
|
|
|
|
#.FN_BODY TokenTypeData
|
|
|
|
|
|
|
|
if(object_identifier_id)
|
2007-05-13 20:58:29 +00:00
|
|
|
call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree);
|
2006-03-25 16:48:28 +00:00
|
|
|
|
|
|
|
#.FN_PARS Credentials
|
|
|
|
VAL_PTR = &credentials
|
|
|
|
|
|
|
|
#.FN_BODY Credentials
|
|
|
|
guint32 credentials;
|
|
|
|
|
|
|
|
%(DEFAULT_BODY)s
|
|
|
|
|
2007-05-13 20:58:29 +00:00
|
|
|
if (check_col(actx->pinfo->cinfo, COL_INFO)) {
|
2006-03-25 16:48:28 +00:00
|
|
|
if(credentials == -1) credentials = 0;
|
2007-05-13 20:58:29 +00:00
|
|
|
col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %%s", val_to_str(credentials, x411_Credentials_vals, "Credentials(%%d)"));
|
2006-03-25 16:48:28 +00:00
|
|
|
}
|
2005-11-16 07:13:12 +00:00
|
|
|
|
2007-08-29 18:39:30 +00:00
|
|
|
#.FN_PARS TokenDataType
|
|
|
|
VAL_PTR = &extension_id
|
|
|
|
|
2007-06-05 12:00:57 +00:00
|
|
|
#.FN_BODY TokenData/value
|
2006-06-28 19:07:10 +00:00
|
|
|
|
2007-08-29 18:39:30 +00:00
|
|
|
proto_item_append_text(tree, " (%%s)", val_to_str(extension_id, x411_TokenDataType_vals, "tokendata-type %%d"));
|
|
|
|
if (dissector_try_port(x411_tokendata_dissector_table, extension_id, tvb, actx->pinfo, tree)) {
|
|
|
|
offset = tvb_length(tvb);
|
|
|
|
} else {
|
|
|
|
proto_item *item = NULL;
|
|
|
|
proto_tree *next_tree = NULL;
|
|
|
|
|
|
|
|
item = proto_tree_add_text(tree, tvb, 0, tvb_length_remaining(tvb, offset),
|
|
|
|
"Dissector for tokendata-type %%d not implemented. Contact Wireshark developers if you want this supported", extension_id);
|
|
|
|
next_tree = proto_item_add_subtree(item, ett_x411_unknown_tokendata_type);
|
|
|
|
offset = dissect_unknown_ber(actx->pinfo, tvb, offset, next_tree);
|
|
|
|
expert_add_info_format(actx->pinfo, item, PI_UNDECODED, PI_WARN, "Unknown tokendata-type");
|
|
|
|
}
|
2006-06-28 19:07:10 +00:00
|
|
|
|
2007-06-05 12:00:57 +00:00
|
|
|
#.FN_BODY PerDomainBilateralInformation/bilateral-information
|
2007-01-28 10:12:51 +00:00
|
|
|
proto_item *item = NULL;
|
|
|
|
int loffset = 0;
|
|
|
|
guint32 len = 0;
|
2006-06-28 19:07:10 +00:00
|
|
|
|
2007-01-28 10:12:51 +00:00
|
|
|
/* work out the length */
|
2007-05-13 20:58:29 +00:00
|
|
|
loffset = dissect_ber_identifier(actx->pinfo, tree, tvb, offset, NULL, NULL, NULL);
|
|
|
|
(void) dissect_ber_length(actx->pinfo, tree, tvb, loffset, &len, NULL);
|
2007-01-28 10:12:51 +00:00
|
|
|
|
|
|
|
/* create some structure so we can tell what this unknown ASN.1 represents */
|
|
|
|
item = proto_tree_add_item(tree, hf_index, tvb, offset, len, FALSE);
|
|
|
|
tree = proto_item_add_subtree(item, ett_x411_bilateral_information);
|
|
|
|
|
2007-05-13 20:58:29 +00:00
|
|
|
offset = dissect_unknown_ber(actx->pinfo, tvb, offset, tree);
|
2007-05-06 16:38:04 +00:00
|
|
|
|
|
|
|
#.FN_PARS MTS-APDU
|
|
|
|
VAL_PTR = &apdu
|
|
|
|
|
|
|
|
#.FN_BODY MTS-APDU
|
|
|
|
int apdu = -1;
|
|
|
|
|
|
|
|
%(DEFAULT_BODY)s
|
|
|
|
|
2007-05-13 20:58:29 +00:00
|
|
|
if(check_col(actx->pinfo->cinfo, COL_INFO) && (apdu != 0)) { /* we don't show "message" - sub-dissectors have better idea */
|
|
|
|
col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %%s", val_to_str(apdu, x411_MTS_APDU_vals, "MTS-APDU(%%d)"));
|
2007-05-06 16:38:04 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
#.FN_PARS ReportType
|
|
|
|
VAL_PTR = &report
|
|
|
|
|
|
|
|
#.FN_BODY ReportType
|
|
|
|
int report = -1;
|
|
|
|
|
|
|
|
%(DEFAULT_BODY)s
|
2007-01-28 10:12:51 +00:00
|
|
|
|
2007-05-13 20:58:29 +00:00
|
|
|
if(check_col(actx->pinfo->cinfo, COL_INFO)) {
|
|
|
|
col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %%s", val_to_str(report, x411_ReportType_vals, "report-type(%%d)"));
|
2007-05-06 16:38:04 +00:00
|
|
|
}
|
|
|
|
|
2005-11-16 07:13:12 +00:00
|
|
|
#.END
|