wireshark/asn1/x411/x411.cnf

1295 lines
40 KiB
INI

# x411.cnf
# X.411 (MTA Access and Transfer) conformance file
# $Id$
#.TYPE_ATTR
CountryName TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = VALS(x411_CountryName_U_vals) BITMASK = 0
Time TYPE = FT_STRING DISPLAY = BASE_NONE STRING = NULL BITMASK = 0
#.IMPORT ../x509ce/x509ce-exp.cnf
#.IMPORT ../x509if/x509if-exp.cnf
#.IMPORT ../x509sat/x509sat-exp.cnf
#.IMPORT ../x509af/x509af-exp.cnf
#.IMPORT ../ros/ros-exp.cnf
#.IMPORT ../rtse/rtse-exp.cnf
#.OMIT_ASSIGNMENT
# These gives unused code warnings
MTAOriginatorRequestedAlternateRecipient
#The following are only referenced through the SIGNATURE MACRO
#and so have no representation on the wire.
ProofOfDeliveryAlgorithmIdentifier
ContentIntegrityAlgorithmIdentifier
MessageOriginAuthenticationAlgorithmIdentifier
ProbeOriginAuthenticationAlgorithmIdentifier
ReportOriginAuthenticationAlgorithmIdentifier
ProofOfSubmissionAlgorithmIdentifier
BilateralDomain
DeliveryControls
RTSE-apdus
MTSInvokeIds
ID
RTTPapdu
RTTRapdu
RTABapdu
AbortReason
#.END
#.NO_EMIT
# These fields are only used through COMPONENTS OF,
# and consequently generate unused code warnings
PerMessageTransferFields
PerProbeTransferFields
PerReportTransferFields
PerMessageSubmissionFields
PerProbeSubmissionFields
PerReportDeliveryFields
PerRecipientReportFields
#PerRecipientReportFields/report-type
InternalAdditionalActions
AdditionalActions
NonBasicParameters
#.END
#.EXPORTS
EXTENSION
Content
ContentIdentifier
ContentIntegrityCheck
ContentLength
ContentType
Credentials
EncodedInformationTypes
EncodedInformationTypesConstraints
ExtendedCertificates
ExtendedContentType
ExtensionField
G3FacsimileNonBasicParameters
ImproperlySpecifiedRecipients
InitiatorCredentials
MessageDeliveryIdentifier
MessageDeliveryTime
MessageOriginAuthenticationCheck
MessageSecurityLabel
MessageSubmissionEnvelope
MessageSubmissionIdentifier
MessageSubmissionTime
MessageToken
ORAddress
ORAddressAndOrDirectoryName
OriginatorName
ORName
OriginalEncodedInformationTypes
OriginatingMTACertificate
OtherMessageDeliveryFields
PerMessageIndicators
PerRecipientProbeSubmissionFields
ProbeSubmissionEnvelope
ProbeSubmissionIdentifier
ProbeSubmissionTime
ProofOfSubmission
RequestedDeliveryMethod
ResponderCredentials
SecurityContext
SecurityLabel
SecurityProblem
SupplementaryInformation
TeletexNonBasicParameters
UniversalOrBMPString
NonDeliveryReasonCode
NonDeliveryDiagnosticCode
# Forward declaration of Classes
# CONNECTION-PACKAGE CONTRACT from ROS
#.CLASS CONNECTION-PACKAGE
&bind ClassReference OPERATION
&unbind ClassReference OPERATION
&responderCanUnbind BooleanType
&unbindCanFail BooleanType
&id ObjectIdentifierType
#.END
#.CLASS APPLICATION-CONTEXT
&associationContract ClassReference CONTRACT
&associationRealization
&transferRealization
&AbstractSyntaxes ClassReference ABSTRACT-SYNTAX
&applicationContextName ObjectIdentifierType
#.END
#.CLASS CONTRACT
&connection ClassReference CONNECTION-PACKAGE
&OperationsOf ClassReference OPERATION-PACKAGE
&InitiatorConsumerOf ClassReference OPERATION-PACKAGE
&InitiatorSupplierOf ClassReference OPERATION-PACKAGE
&id ObjectIdentifierType
#.END
#.CLASS MHS-OBJECT
&Is ClassReference MHS-OBJECT
&Initiates ClassReference CONTRACT
&Responds ClassReference CONTRACT
&InitiatesAndResponds ClassReference CONTRACT
&id ObjectIdentifierType
#.END
# Ros OPERATION
#.CLASS ABSTRACT-OPERATION
&ArgumentType
&argumentTypeOptional BooleanType
&returnResult BooleanType
&ResultType
&resultTypeOptional BooleanType
&Errors ClassReference ERROR
&Linked ClassReference OPERATION
&synchronous BooleanType
&alwaysReturns BooleanType
&InvokePriority _FixedTypeValueSetFieldSpec
&ResultPriority _FixedTypeValueSetFieldSpec
&operationCode TypeReference Code
#.END
# ros ERROR
#.CLASS ABSTRACT-ERROR
&ParameterType
&parameterTypeOptional BooleanType
&ErrorPriority _FixedTypeValueSetFieldSpec
&errorCode TypeReference Code
#.END
#.CLASS EXTENSION
&id TypeReference ExtensionType
&Type
&absent _VariableTypeValueSetFieldSpec
&recommended TypeReference Criticality
#.END
#.CLASS EXTENSION-ATTRIBUTE
&id IntegerType
&Type
#.END
#.CLASS TOKEN-DATA
&id IntegerType
&Type
#.END
#.TYPE_RENAME
MTABindArgument/authenticated AuthenticatedArgument
MTABindResult/authenticated AuthenticatedResult
ExtensionField/value ExtensionValue
SecurityCategory/value CategoryValue
#.FIELD_RENAME
PrivateDomainName/printable printable-private-domain-name
PrivateDomainName/numeric numeric-private-domain-name
PrivateDomainIdentifier/printable printable-private-domain-identifier
PrivateDomainIdentifier/numeric numeric-private-domain-identifier
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
ReportDeliveryResult/extensions max-extensions
OtherMessageDeliveryFields/originator-name delivered-originator-name
PDSParameter/teletex-string pds-teletex-string
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
AsymmetricTokenData/name/mta token-mta
AsymmetricTokenData/name/recipient-name token-recipient-name
TokenData/type token-data-type
CertificateSelectors/content-integrity-check selectors-content-integrity-check
#.PDU
# This table creates the value_sting to name P3 operation codes and errors
# in file packet-p3-table.c which is included in the template file
#
#.TABLE_HDR
/* P3 ABSTRACT-OPERATIONS */
const value_string p3_opr_code_string_vals[] = {
#.TABLE_BODY OPERATION
{ %(&operationCode)s, "%(_ident)s" },
#.TABLE_FTR
{ 0, NULL }
};
#.END
#.TABLE_HDR
/* P3 ERRORS */
static const value_string p3_err_code_string_vals[] = {
#.TABLE_BODY ERROR
{ %(&errorCode)s, "%(_ident)s" },
#.TABLE_FTR
{ 0, NULL }
};
#.END
# Create a table of opcode and corresponding args and res
#.TABLE11_HDR
static const ros_opr_t p3_opr_tab[] = {
#.TABLE11_BODY OPERATION
/* %(_name)s */
{ %(&operationCode)-25s, %(_argument_pdu)s, %(_result_pdu)s },
#.TABLE11_FTR
{ 0, (new_dissector_t)(-1), (new_dissector_t)(-1) },
};
#.END
#.TABLE21_HDR
static const ros_err_t p3_err_tab[] = {
#.TABLE21_BODY ERROR
/* %(_name)s*/
{ %(&errorCode)s, %(_parameter_pdu)s },
#.TABLE21_FTR
{ 0, (new_dissector_t)(-1) },
};
#.END
#.PDU_NEW
ERROR.&ParameterType
OPERATION.&ArgumentType
OPERATION.&ResultType
#.END
#.REGISTER
RecipientReassignmentProhibited N x411.extension 1
OriginatorRequestedAlternateRecipient 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
TeletexDomainDefinedAttributes N x411.extension-attribute 6
PDSName N x411.extension-attribute 7
PhysicalDeliveryCountryName N x411.extension-attribute 8
PostalCode N x411.extension-attribute 9
PhysicalDeliveryOfficeName N x411.extension-attribute 10
PhysicalDeliveryOfficeNumber N x411.extension-attribute 11
ExtensionORAddressComponents N x411.extension-attribute 12
PhysicalDeliveryPersonalName N x411.extension-attribute 13
PhysicalDeliveryOrganizationName N x411.extension-attribute 14
ExtensionPhysicalDeliveryAddressComponents N x411.extension-attribute 15
UnformattedPostalAddress N x411.extension-attribute 16
StreetAddress N x411.extension-attribute 17
PostOfficeBoxAddress N x411.extension-attribute 18
PosteRestanteAddress N x411.extension-attribute 19
UniquePostalName N x411.extension-attribute 20
LocalPostalAttributes N x411.extension-attribute 21
ExtendedNetworkAddress N x411.extension-attribute 22
TerminalType N x411.extension-attribute 23
UniversalCommonName N x411.extension-attribute 24
UniversalOrganizationName N x411.extension-attribute 25
UniversalPersonalName N x411.extension-attribute 26
UniversalOrganizationalUnitNames N x411.extension-attribute 27
UniversalDomainDefinedAttributes N x411.extension-attribute 28
UniversalPhysicalDeliveryOfficeName N x411.extension-attribute 29
UniversalPhysicalDeliveryOfficeNumber N x411.extension-attribute 30
UniversalExtensionORAddressComponents N x411.extension-attribute 31
UniversalPhysicalDeliveryPersonalName N x411.extension-attribute 32
UniversalPhysicalDeliveryOrganizationName N x411.extension-attribute 33
UniversalExtensionPhysicalDeliveryAddressComponents N x411.extension-attribute 34
UniversalUnformattedPostalAddress N x411.extension-attribute 35
UniversalStreetAddress N x411.extension-attribute 36
UniversalPostOfficeBoxAddress N x411.extension-attribute 37
UniversalPosteRestanteAddress N x411.extension-attribute 38
UniversalUniquePostalName N x411.extension-attribute 39
UniversalLocalPostalAttributes N x411.extension-attribute 40
#ReportDeliveryArgument B "2.6.1.4.14" "id-et-report"
AsymmetricToken B "2.6.3.6.0" "id-tok-asymmetricToken"
MTANameAndOptionalGDI B "2.6.5.6.0" "id-on-mtaName"
BindTokenSignedData N x411.tokendata 1
MessageTokenSignedData N x411.tokendata 2
# the next two are unlikely to ever be seen (unless in a bad encoding)
MessageTokenEncryptedData N x411.tokendata 3
BindTokenEncryptedData N x411.tokendata 4
# 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"
# MSGeneralAttributeTypes - see master list in p7.cnf
CertificateSelectors B "2.6.4.3.80" "id-att-certificate-selectors"
Content B "2.6.4.3.1" "id-att-content"
ContentCorrelator B "2.6.4.3.3" "id-att-content-correlator"
ContentIdentifier B "2.6.4.3.4" "id-att-content-identifier"
ContentIntegrityCheck B "2.6.4.3.5" "id-att-content-inetgrity-check"
ContentLength B "2.6.4.3.6" "id-att-content-length"
ExtendedContentType B "2.6.4.3.8" "id-att-content-type"
ConversionWithLossProhibited B "2.6.4.3.9" "id-att-conversion-with-loss-prohibited"
DeferredDeliveryTime B "2.6.4.3.51" "id-att-deferred-delivery-time"
DeliveryFlags B "2.6.4.3.13" "id-att-delivery-flags"
ORName B "2.6.4.3.78" "id-att-dl-exempted-recipients"
DLExpansion B "2.6.4.3.14" "id-att-dl-expansion-history"
DLExpansionProhibited B "2.6.4.3.53" "id-att-dl-expansion-prohibited"
InternalTraceInformationElement B "2.6.4.3.54" "id-att-internal-trace-information"
LatestDeliveryTime B "2.6.4.3.55" "id-att-latest-delivery-time"
MessageDeliveryEnvelope B "2.6.4.3.18" "id-att-message-delivery-envelope"
MessageDeliveryTime B "2.6.4.3.20" "id-att-message-delivery-time"
MTSIdentifier B "2.6.4.3.19" "id-att-message-identifier"
MessageOriginAuthenticationCheck B "2.6.4.3.21" "id-at-message-orgin-authentication-check"
MessageSecurityLabel B "2.6.4.3.22" "id-att-message-security-label"
MessageSubmissionEnvelope B "2.6.4.3.59" "id-att-message-submission-envelope"
MessageSubmissionTime B "2.6.4.3.23" "id-att-message-submission-time"
MessageToken B "2.6.4.3.24" "id-att-message-token"
ExtendedCertificates B "2.6.4.3.81" "id-att-multiple-originator-certificates"
ORName B "2.6.4.3.17" "id-att-originally-intended-recipient-name"
OriginatingMTACertificate B "2.6.4.3.62" "id-att-originating-MTA-certificate"
OriginatorCertificate B "2.6.4.3.26" "id-att-originator-certificate"
ORName B "2.6.4.3.27" "id-att-originator-name"
OriginatorReportRequest B "2.6.4.3.63" "id-att-originator-report-request"
OriginatorReturnAddress B "2.6.4.3.64" "id-att-originator-return-address"
ORName B "2.6.4.3.28" "id-att-other-recipient-names"
PerMessageIndicators B "2.6.4.3.65" "id-att-per-message-indicators"
PerRecipientMessageSubmissionFields B "2.6.4.3.66" "id-att-per-recipient-message-submission-fields"
PerRecipientProbeSubmissionFields B "2.6.4.3.67" "id-att-per-recipient-probe-submission-fields"
PerRecipientReportDeliveryFields B "2.6.4.3.30" "id-att-per-recipient-report-delivery-fields"
Priority B "2.6.4.3.31" "id-att-priority"
ProbeOriginAuthenticationCheck B "2.6.4.3.68" "id-att-probe-origin-authentication-check"
ProbeSubmissionEnvelope B "2.6.4.3.69" "id-att-probe-submission-envelope"
ProofOfDeliveryRequest B "2.6.4.3.32" "id-att-proof-of-delivery-request"
ProofOfSubmission B "2.6.4.3.70" "id-att-proof-of-submission"
ExtendedCertificates B "2.6.4.3.82" "id-att-recipient-certificate"
ORName B "2.6.4.3.71" "id-att-recipient-names"
RecipientReassignmentProhibited B "2.6.4.3.72" "id-att-recipient-reassignment-prohibited"
Redirection B "2.6.4.3.33" "id-at-redirection-history"
ReportDeliveryEnvelope B "2.6.4.3.34" "id-att-report-delivery-envelope"
ReportingDLName B "2.6.4.3.35" "id-att-reporting-DL-name"
ReportingMTACertificate B "2.6.4.3.36" "id-att-reporting-MTA-certificate"
ReportOriginAuthenticationCheck B "2.6.4.3.37" "id-att-report-origin-authentication-check"
SecurityClassification B "2.6.4.3.38" "id-att-security-classification"
SubjectSubmissionIdentifier B "2.6.4.3.40" "id-att-subject-submission-identifier"
ORName B "2.6.4.3.41" "id-att-this-recipient-name"
TraceInformationElement B "2.6.4.3.75" "id-att-trace-information"
# IPMSMessageStoreAttributes - see master list in x420.cnf
MessageToken B "2.6.1.7.36" "id-hat-forwarded-token"
#.FN_BODY AdditionalInformation
proto_item *item = NULL;
int loffset = 0;
guint32 len = 0;
/* work out the length */
loffset = dissect_ber_identifier(actx->pinfo, tree, tvb, offset, NULL, NULL, NULL);
(void) dissect_ber_length(actx->pinfo, tree, tvb, loffset, &len, NULL);
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\".)");
offset = dissect_unknown_ber(actx->pinfo, tvb, offset, tree);
#.FN_BODY RegistrationTypes/extensions/_item
/*XXX not implemented yet */
#.FN_BODY ExtensionField/value
const char *name;
if(extension_id != -1) {
proto_item_append_text(tree, " (%%s)", val_to_str(extension_id, x411_StandardExtension_vals, "standard-extension %%d"));
if (dissector_try_uint(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) {
offset = call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree);
name = oid_resolved_from_string(object_identifier_id);
proto_item_append_text(tree, " (%%s)", name ? name : object_identifier_id);
}
#.FN_PARS SecurityCategoryIdentifier
FN_VARIANT = _str VAL_PTR = &object_identifier_id
#.FN_BODY SecurityCategoryValue
const char *name;
if (object_identifier_id) {
offset = call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree);
name = oid_resolved_from_string(object_identifier_id);
proto_item_append_text(tree, " (%%s)", name ? name : object_identifier_id);
} else {
offset = dissect_unknown_ber(actx->pinfo, tvb, offset, tree);
}
#.FN_PARS ExtensionAttributeType
VAL_PTR = &extension_id
#.FN_BODY ExtensionAttribute/extension-attribute-value
proto_item_append_text(tree, " (%%s)", val_to_str(extension_id, x411_ExtensionAttributeType_vals, "extension-attribute-type %%d"));
if (dissector_try_uint(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");
}
#.FN_BODY RefusedOperation/refused-argument/refused-extension
/*XXX not implemented yet */
#.FN_BODY CountryName
if(doing_address)
g_strlcat(oraddress, "/C=", MAX_ORA_STR_LEN);
%(DEFAULT_BODY)s
#.FN_BODY AdministrationDomainName
if(doing_address)
g_strlcat(oraddress, "/A=", MAX_ORA_STR_LEN);
%(DEFAULT_BODY)s
#.FN_PARS StandardExtension
VAL_PTR = &extension_id
#.FN_BODY ExtensionType/private-extension FN_VARIANT = _str VAL_PTR = &object_identifier_id
%(DEFAULT_BODY)s
extension_id = -1;
#.FN_PARS ExtendedContentType
FN_VARIANT = _str VAL_PTR = &content_type_id
#.FN_BODY ExtendedContentType
const char *name = NULL;
%(DEFAULT_BODY)s
if(content_type_id) {
name = oid_resolved_from_string(content_type_id);
if(!name) name = content_type_id;
proto_item_append_text(tree, " (%%s)", name);
}
#.FN_PARS BuiltInContentType/_untag VAL_PTR = &ict
#.FN_BODY BuiltInContentType/_untag
static guint32 ict = -1;
%(DEFAULT_BODY)s
/* convert integer content type to oid for dispatch when the content is found */
switch(ict) {
case 2:
content_type_id = ep_strdup("2.6.1.10.0");
break;
case 22:
content_type_id = ep_strdup("2.6.1.10.1");
break;
default:
content_type_id = NULL;
break;
}
#.FN_BODY Content
tvbuff_t *next_tvb;
/* we can do this now constructed octet strings are supported */
offset = dissect_ber_octet_string(FALSE, actx, tree, tvb, offset, hf_index, &next_tvb);
proto_item_set_text(actx->created_item, "content (%%u bytes)", tvb_length (next_tvb));
if (next_tvb) {
if (content_type_id) {
(void) call_ber_oid_callback(content_type_id, next_tvb, 0, actx->pinfo, top_tree ? top_tree : tree);
} 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)");
expert_add_info_format(actx->pinfo, item, PI_UNDECODED, PI_WARN, "Unknown built-in content-type");
if (item) {
next_tree=proto_item_add_subtree(item, ett_x411_content_unknown);
}
dissect_unknown_ber(actx->pinfo, next_tvb, 0, next_tree);
}
}
#.FN_PARS MTAName
VAL_PTR = &mtaname
#.FN_BODY MTAName
tvbuff_t *mtaname = NULL;
%(DEFAULT_BODY)s
if(doing_address) {
proto_item_append_text(address_item, " %%s", tvb_format_text(mtaname, 0, tvb_length(mtaname)));
} else {
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)));
}
}
#.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);
}
#.FN_PARS TeletexOrganizationName
VAL_PTR=&string
#.FN_BODY TeletexOrganizationName
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);
}
#.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);
}
#.FN_PARS TeletexOrganizationalUnitName
VAL_PTR=&string
#.FN_BODY TeletexOrganizationalUnitName
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);
}
#.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);
}
#.FN_PARS TeletexCommonName
VAL_PTR=&string
#.FN_BODY TeletexCommonName
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);
}
#.FN_BODY CountryName/_untag/iso-3166-alpha2-code 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);
#.FN_BODY AdministrationDomainName/_untag/printable 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);
#.FN_BODY PrivateDomainName/printable 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);
#.FN_BODY PrivateDomainIdentifier/printable 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);
#.FN_BODY PhysicalDeliveryCountryName/iso-3166-alpha2-code 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);
#.FN_BODY UserAddress/x121/x121-address 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);
#.FN_BODY CountryName/_untag/x121-dcc-code 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);
#.FN_BODY AdministrationDomainName/_untag/numeric 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);
#.FN_BODY PrivateDomainName/numeric 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);
#.FN_BODY PrivateDomainIdentifier/numeric 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);
#.FN_BODY PhysicalDeliveryCountryName/x121-dcc-code 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);
#.FN_BODY PostalCode/numeric-code 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);
#.FN_BODY TeletexDomainDefinedAttribute/type VAL_PTR=&tstring
tvbuff_t *tstring = NULL;
%(DEFAULT_BODY)s
if(doing_address && tstring) {
g_strlcat(oraddress, "/DD.", MAX_ORA_STR_LEN);
g_strlcat(oraddress, tvb_format_text(tstring, 0, tvb_length(tstring)), MAX_ORA_STR_LEN);
g_strlcat(ddatype, tvb_format_text(tstring, 0, tvb_length(tstring)), MAX_ORA_STR_LEN);
}
#.FN_BODY TeletexDomainDefinedAttribute/value VAL_PTR=&tstring
tvbuff_t *tstring = NULL;
%(DEFAULT_BODY)s
if(doing_address && tstring) {
g_strlcat(oraddress, "=", MAX_ORA_STR_LEN);
g_strlcat(oraddress, tvb_format_text(tstring, 0, tvb_length(tstring)), MAX_ORA_STR_LEN);
if (*ddatype) {
proto_item_append_text (tree, " (%%s=%%s)", ddatype, tvb_format_text(tstring, 0, tvb_length(tstring)));
}
}
#.FN_BODY TeletexDomainDefinedAttribute
ddatype = ep_alloc(MAX_ORA_STR_LEN); ddatype[0] = '\0';
%(DEFAULT_BODY)s
#.FN_BODY PersonalName/surname VAL_PTR=&pstring
tvbuff_t *pstring = NULL;
%(DEFAULT_BODY)s
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
tvbuff_t *pstring = NULL;
%(DEFAULT_BODY)s
if(doing_address && pstring) {
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, "/Q=", MAX_ORA_STR_LEN);
g_strlcat(oraddress, tvb_format_text(pstring, 0, tvb_length(pstring)), MAX_ORA_STR_LEN);
}
#.FN_BODY TeletexPersonalName/surname VAL_PTR=&tstring
tvbuff_t *tstring = NULL;
%(DEFAULT_BODY)s
if(doing_address && tstring) {
g_strlcat(oraddress, "/S=", MAX_ORA_STR_LEN);
g_strlcat(oraddress, tvb_format_text(tstring, 0, tvb_length(tstring)), MAX_ORA_STR_LEN);
}
#.FN_BODY TeletexPersonalName/given-name VAL_PTR=&tstring
tvbuff_t *tstring = NULL;
%(DEFAULT_BODY)s
if(doing_address && tstring) {
g_strlcat(oraddress, "/G=", MAX_ORA_STR_LEN);
g_strlcat(oraddress, tvb_format_text(tstring, 0, tvb_length(tstring)), MAX_ORA_STR_LEN);
}
#.FN_BODY TeletexPersonalName/initials VAL_PTR=&tstring
tvbuff_t *tstring = NULL;
%(DEFAULT_BODY)s
if(doing_address && tstring) {
g_strlcat(oraddress, "/I=", MAX_ORA_STR_LEN);
g_strlcat(oraddress, tvb_format_text(tstring, 0, tvb_length(tstring)), MAX_ORA_STR_LEN);
}
#.FN_BODY TeletexPersonalName/generation-qualifier VAL_PTR=&tstring
tvbuff_t *tstring = NULL;
%(DEFAULT_BODY)s
if(doing_address && tstring) {
g_strlcat(oraddress, "/Q=", MAX_ORA_STR_LEN);
g_strlcat(oraddress, tvb_format_text(tstring, 0, tvb_length(tstring)), MAX_ORA_STR_LEN);
}
#.FN_BODY BuiltInDomainDefinedAttribute/type VAL_PTR=&pstring
tvbuff_t *pstring = NULL;
%(DEFAULT_BODY)s
if(doing_address && pstring) {
g_strlcat(oraddress, "/DD.", MAX_ORA_STR_LEN);
g_strlcat(oraddress, tvb_format_text(pstring, 0, tvb_length(pstring)), MAX_ORA_STR_LEN);
g_strlcat(ddatype, tvb_format_text(pstring, 0, tvb_length(pstring)), MAX_ORA_STR_LEN);
}
#.FN_BODY BuiltInDomainDefinedAttribute/value VAL_PTR=&pstring
tvbuff_t *pstring = NULL;
%(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);
if (*ddatype) {
proto_item_append_text (tree, " (%%s=%%s)", ddatype, tvb_format_text(pstring, 0, tvb_length(pstring)));
}
}
#.FN_BODY BuiltInDomainDefinedAttribute
ddatype = ep_alloc(MAX_ORA_STR_LEN); ddatype[0] = '\0';
%(DEFAULT_BODY)s
#.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;
#.FN_BODY MessageIdentifier
address_item = NULL;
%(DEFAULT_BODY)s
#.FN_BODY GlobalDomainIdentifier
oraddress = ep_alloc(MAX_ORA_STR_LEN); oraddress[0] = '\0';
address_item = tree;
%(DEFAULT_BODY)s
if(*oraddress) {
proto_item_append_text(address_item, " (%%s/", oraddress);
if(doing_subjectid && check_col(actx->pinfo->cinfo, COL_INFO)) {
col_append_fstr(actx->pinfo->cinfo, COL_INFO, " (%%s/", oraddress);
}
}
#.FN_PARS LocalIdentifier
VAL_PTR=&id
#.FN_BODY LocalIdentifier
tvbuff_t *id = NULL;
%(DEFAULT_BODY)s
if(id) {
if(doing_address)
proto_item_append_text(address_item, " $ %%s)", tvb_format_text(id, 0, tvb_length(id)));
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)));
}
#.FN_BODY MTSIdentifier
doing_address = TRUE;
if(hf_index == hf_x411_subject_identifier)
doing_subjectid = TRUE;
%(DEFAULT_BODY)s
doing_address = FALSE;
if(hf_index == hf_x411_subject_identifier)
doing_subjectid = FALSE;
#.FN_BODY MTANameAndOptionalGDI
doing_address = TRUE;
%(DEFAULT_BODY)s
doing_address = FALSE;
proto_item_append_text(tree, ")");
#.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
if(arrival && doing_address)
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
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)"));
#.FN_PARS TokenTypeIdentifier
FN_VARIANT = _str VAL_PTR = &object_identifier_id
#.FN_BODY TokenTypeData
if(object_identifier_id)
call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree);
#.FN_PARS Credentials
VAL_PTR = &credentials
#.FN_BODY Credentials
gint credentials = -1;
%(DEFAULT_BODY)s
if( (credentials!=-1) && x411_Credentials_vals[credentials].strptr ){
if (check_col(actx->pinfo->cinfo, COL_INFO)) {
col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %%s", x411_Credentials_vals[credentials].strptr);
}
}
#.FN_PARS TokenDataType
VAL_PTR = &extension_id
#.FN_BODY TokenData/value
proto_item_append_text(tree, " (%%s)", val_to_str(extension_id, x411_TokenDataType_vals, "tokendata-type %%d"));
if (dissector_try_uint(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");
}
#.FN_BODY PerDomainBilateralInformation/bilateral-information
proto_item *item = NULL;
int loffset = 0;
guint32 len = 0;
/* work out the length */
loffset = dissect_ber_identifier(actx->pinfo, tree, tvb, offset, NULL, NULL, NULL);
(void) dissect_ber_length(actx->pinfo, tree, tvb, loffset, &len, NULL);
/* 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);
offset = dissect_unknown_ber(actx->pinfo, tvb, offset, tree);
#.FN_PARS MTS-APDU
VAL_PTR = &apdu
#.FN_BODY MTS-APDU
gint apdu = -1;
%(DEFAULT_BODY)s
if( (apdu!=-1) && x411_MTS_APDU_vals[apdu].strptr ){
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", x411_MTS_APDU_vals[apdu].strptr);
}
}
#.FN_PARS ReportType
VAL_PTR = &report
#.FN_BODY ReportType
gint report = -1;
%(DEFAULT_BODY)s
if( (report!=-1) && x411_ReportType_vals[report].strptr ){
if(check_col(actx->pinfo->cinfo, COL_INFO)) {
col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %%s", x411_ReportType_vals[report].strptr);
}
}
#.END