aboutsummaryrefslogtreecommitdiffstats
path: root/asn1
diff options
context:
space:
mode:
authoretxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7>2005-12-05 23:00:03 +0000
committeretxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7>2005-12-05 23:00:03 +0000
commit9f50d5946a43b844e8f086fd3973d02bfa8b3ca3 (patch)
tree986dc30eaabd17a0972313bb79b14ecb61d3b8de /asn1
parent665135c92b279c933059d59e07a90d644bd1a81b (diff)
From Grame Lunt:
a patch for the X.411, X420 and CMS dissectors to implement the remaining heading extensions and bodyparts. This includes GeneralText BP, forwarded content BP (forwarded p22 and forwarded p772), PKCS#7 BP, and "business class" messaging extensions. The X.411 extensions using the SIGNATURE macro have also been implemented. There is also a fix for a bug in the dissection of integer 22 content type. Graeme git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@16689 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'asn1')
-rw-r--r--asn1/Makefile.nmake364
-rw-r--r--asn1/cms/cms-exp.cnf2
-rw-r--r--asn1/cms/cms.cnf2
-rw-r--r--asn1/x411/x411-exp.cnf10
-rw-r--r--asn1/x411/x411.asn40
-rw-r--r--asn1/x411/x411.cnf20
-rw-r--r--asn1/x420/Makefile.nmake4
-rw-r--r--asn1/x420/packet-x420-template.c30
-rw-r--r--asn1/x420/x420.asn416
-rw-r--r--asn1/x420/x420.cnf69
10 files changed, 923 insertions, 34 deletions
diff --git a/asn1/Makefile.nmake b/asn1/Makefile.nmake
new file mode 100644
index 0000000000..3daa479c1e
--- /dev/null
+++ b/asn1/Makefile.nmake
@@ -0,0 +1,364 @@
+
+
+
+all: \
+ acse \
+ camel \
+ cdt \
+ cmip \
+ cms \
+ dap \
+ disp \
+ dsp \
+ ess \
+ ftam \
+ ftbp \
+ gnm \
+ gsmmap \
+ gsm_ss \
+ h225 \
+ h235 \
+ h245 \
+ h248 \
+ h450 \
+ inap \
+ logotype-cert-extn \
+ MAP_Dialogue \
+ mms \
+ nbap \
+ ns-cert-exts \
+ ocsp \
+ pkcs1 \
+ pkinit \
+ pkix1explicit \
+ pkix1implicit \
+ pkixcmp \
+ pkixcrmf \
+ pkixproxy \
+ pkixqualified \
+ pkixtsp \
+ pres \
+ ranap \
+ ros \
+ rtse \
+ s4406 \
+ smrse \
+ spnego \
+ tcap \
+ wlancertextn \
+ x411 \
+ x420 \
+ x501 \
+ x509af \
+ x509ce \
+ x509if \
+ x509sat
+
+
+ber: \
+ acse \
+ camel \
+ cdt \
+ cmip \
+ cms \
+ dap \
+ disp \
+ dsp \
+ ess \
+ ftam \
+ ftbp \
+ gnm \
+ gsmmap \
+ gsm_ss \
+ inap \
+ logotype-cert-extn \
+ MAP_Dialogue \
+ mms \
+ ns-cert-exts \
+ ocsp \
+ pkcs1 \
+ pkinit \
+ pkix1explicit \
+ pkix1implicit \
+ pkixcmp \
+ pkixcrmf \
+ pkixproxy \
+ pkixqualified \
+ pkixtsp \
+ pres \
+ ros \
+ rtse \
+ s4406 \
+ smrse \
+ spnego \
+ tcap \
+ wlancertextn \
+ x411 \
+ x420 \
+ x501 \
+ x509af \
+ x509ce \
+ x509if \
+ x509sat
+
+per: \
+ h225 \
+ h235 \
+ h245 \
+ h248 \
+ h450 \
+ ranap
+
+acse::
+ cd acse
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake copy_files
+ cd ..
+
+camel::
+ cd camel
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake copy_files
+ cd..
+
+cdt::
+ cd cdt
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake copy_files
+ cd..
+
+cmip::
+ cd cmip
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake copy_files
+ cd..
+
+cms::
+ cd cms
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake copy_files
+ cd..
+
+dap::
+ cd cms
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake copy_files
+ cd..
+
+disp::
+ cd disp
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake copy_files
+ cd..
+
+dsp::
+ cd dsp
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake copy_files
+ cd..
+
+ess::
+ cd ess
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake copy_files
+ cd..
+
+ftam::
+ cd ftam
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake copy_files
+ cd..
+
+ftbp::
+ cd ftbp
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake copy_files
+ cd..
+
+gnm::
+ cd gnm
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake copy_files
+ cd..
+
+gsm_ss::
+ cd gsm_ss
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake copy_files
+ cd..
+
+gsmmap::
+ cd gsmmap
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake copy_files
+ cd..
+
+h225::
+ cd h225
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake copy_files
+ cd..
+
+h235::
+ cd h235
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake copy_files
+ cd..
+
+h245::
+ cd h245
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake copy_files
+ cd..
+
+h248::
+ cd h248
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake copy_files
+ cd..
+
+h450::
+ cd h450
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake copy_files
+ cd..
+
+inap::
+ cd inap
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake copy_files
+ cd..
+
+logotype-cert-extn::
+ cd logotype-cert-extn
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake copy_files
+ cd..
+
+MAP_Dialogue::
+ cd MAP_Dialogue
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake copy_files
+ cd..
+
+mms::
+ cd mms
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake copy_files
+ cd..
+
+nbap::
+ cd nbap
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake copy_files
+ cd..
+
+ns-cert-exts::
+ cd ns-cert-exts
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake copy_files
+ cd..
+
+ocsp::
+ cd ocsp
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake copy_files
+ cd..
+
+pkcs1::
+ cd pkcs1
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake copy_files
+ cd..
+
+pkinit::
+ cd pkinit
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake copy_files
+ cd..
+
+pkix1explicit::
+ cd pkix1explicit
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake copy_files
+ cd..
+
+pkix1implicit::
+ cd pkix1implicit
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake copy_files
+ cd..
+
+pkixcmp::
+ cd pkixcmp
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake copy_files
+ cd..
+
+pkixcrmf::
+ cd pkixcrmf
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake copy_files
+ cd..
+
+pkixproxy::
+ cd pkixproxy
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake copy_files
+ cd..
+
+pkixqualified::
+ cd pkixqualified
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake copy_files
+ cd..
+
+pkixtsp::
+ cd pkixtsp
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake copy_files
+ cd..
+
+pres::
+ cd pres
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake copy_files
+ cd..
+
+ranap::
+ cd ranap
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake copy_files
+ cd..
+
+ros::
+ cd ros
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake copy_files
+ cd..
+
+rtse::
+ cd rtse
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake copy_files
+ cd..
+
+s4406::
+ cd s4406
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake copy_files
+ cd..
+
+smrse::
+ cd smrse
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake copy_files
+ cd..
+
+spnego::
+ cd spnego
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake copy_files
+ cd..
+
+tcap::
+ cd tcap
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake copy_files
+ cd..
+
+wlancertextn::
+ cd wlancertextn
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake copy_files
+ cd..
+
+x411::
+ cd x411
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake copy_files
+ cd..
+
+x420::
+ cd x420
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake copy_files
+ cd..
+
+x501::
+ cd x501
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake copy_files
+ cd..
+
+x509af::
+ cd x509af
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake copy_files
+ cd..
+
+x509ce::
+ cd x509ce
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake copy_files
+ cd..
+
+x509if::
+ cd x509if
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake copy_files
+ cd..
+x509sat::
+ cd x509sat
+ $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake copy_files
+ cd..
diff --git a/asn1/cms/cms-exp.cnf b/asn1/cms/cms-exp.cnf
index 4cb6434014..a721605a36 100644
--- a/asn1/cms/cms-exp.cnf
+++ b/asn1/cms/cms-exp.cnf
@@ -17,7 +17,7 @@ Countersignature BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
#.TYPE_ATTR
ContentInfo TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
-ContentType TYPE = FT_STRING DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
+ContentType TYPE = FT_OID DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
SignedData TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
DigestAlgorithmIdentifiers TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = NULL BITMASK = 0
SignerInfos TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = NULL BITMASK = 0
diff --git a/asn1/cms/cms.cnf b/asn1/cms/cms.cnf
index 95e29b91c1..da70832aee 100644
--- a/asn1/cms/cms.cnf
+++ b/asn1/cms/cms.cnf
@@ -39,6 +39,8 @@ MessageDigest B "1.2.840.113549.1.9.4" "id-messageDigest"
SigningTime B "1.2.840.113549.1.9.5" "id-signingTime"
Countersignature B "1.2.840.113549.1.9.6" "id-counterSignature"
+ContentInfo B "2.6.1.4.18" "id-et-pkcs7"
+
#.NO_EMIT
#.TYPE_RENAME
diff --git a/asn1/x411/x411-exp.cnf b/asn1/x411/x411-exp.cnf
index 7e11a63924..20032c013e 100644
--- a/asn1/x411/x411-exp.cnf
+++ b/asn1/x411/x411-exp.cnf
@@ -1,9 +1,14 @@
#.IMPORT_TAG
+MessageSubmissionEnvelope BER_CLASS_UNI BER_UNI_TAG_SET
OtherMessageDeliveryFields BER_CLASS_UNI BER_UNI_TAG_SET
+MessageDeliveryIdentifier BER_CLASS_APP 4
MessageDeliveryTime BER_CLASS_UNI BER_UNI_TAG_UTCTime
SupplementaryInformation BER_CLASS_UNI BER_UNI_TAG_PrintableString
+OriginatingMTACertificate BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
+ProofOfSubmission BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
ExtendedCertificates BER_CLASS_UNI BER_UNI_TAG_SET
ORName BER_CLASS_APP 0
+UniversalOrBMPString BER_CLASS_UNI BER_UNI_TAG_SET
EncodedInformationTypes BER_CLASS_APP 5
G3FacsimileNonBasicParameters BER_CLASS_UNI BER_UNI_TAG_BITSTRING
TeletexNonBasicParameters BER_CLASS_UNI BER_UNI_TAG_SET
@@ -11,11 +16,16 @@ SecurityLabel BER_CLASS_UNI BER_UNI_TAG_SET
#.END
#.TYPE_ATTR
+MessageSubmissionEnvelope TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
OtherMessageDeliveryFields TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
+MessageDeliveryIdentifier TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
MessageDeliveryTime TYPE = FT_STRING DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
SupplementaryInformation TYPE = FT_STRING DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
+OriginatingMTACertificate TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
+ProofOfSubmission TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
ExtendedCertificates TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = NULL BITMASK = 0
ORName TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
+UniversalOrBMPString TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
EncodedInformationTypes TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
G3FacsimileNonBasicParameters TYPE = FT_BYTES DISPLAY = BASE_HEX STRINGS = NULL BITMASK = 0
TeletexNonBasicParameters TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
diff --git a/asn1/x411/x411.asn b/asn1/x411/x411.asn
index a33d32bf13..b4c642d48c 100644
--- a/asn1/x411/x411.asn
+++ b/asn1/x411/x411.asn
@@ -763,10 +763,10 @@ InitiatorCredentials ::= Credentials
ResponderCredentials ::= Credentials
Credentials ::= CHOICE {
- simple Password
+ simple Password,
-- strong [0] StrongCredentials,
-- ...,
--- protected [1] ProtectedPassword
+ protected [1] ProtectedPassword
}
Password ::= CHOICE {
@@ -781,18 +781,24 @@ Password ::= CHOICE {
-- certificate-selector [2] CertificateAssertion OPTIONAL
--}
---ProtectedPassword ::= SET {
--- signature
+ProtectedPassword ::= SET {
+ signature
-- SIGNATURE{SET {password Password,
-- time1 [0] UTCTime OPTIONAL,
-- time2 [1] UTCTime OPTIONAL,
-- random1 [2] BIT STRING OPTIONAL,
-- random2 [3] BIT STRING OPTIONAL}},
--- time1 [0] UTCTime OPTIONAL,
--- time2 [1] UTCTime OPTIONAL,
--- random1 [2] BIT STRING OPTIONAL,
--- random2 [3] BIT STRING OPTIONAL
---}
+ Signature,
+ time1 [0] UTCTime OPTIONAL,
+ time2 [1] UTCTime OPTIONAL,
+ random1 [2] BIT STRING OPTIONAL,
+ random2 [3] BIT STRING OPTIONAL
+}
+
+Signature ::= SEQUENCE {
+ algorithmIdentifier AlgorithmIdentifier,
+ encrypted BIT STRING
+}
SecurityContext ::= SET --SIZE (1..ub-security-labels)-- OF SecurityLabel
@@ -1016,7 +1022,7 @@ MessageDeliveryArgument ::= SEQUENCE {
MessageDeliveryResult ::= SET {
recipient-certificate [0] RecipientCertificate OPTIONAL,
--- proof-of-delivery [1] IMPLICIT ProofOfDelivery OPTIONAL,
+ proof-of-delivery [1] IMPLICIT ProofOfDelivery OPTIONAL,
...,
extensions
[2] SET OF ExtensionField --{{MessageDeliveryResultExtensions}}-- DEFAULT {}
@@ -1142,7 +1148,7 @@ RefusalReason ::= INTEGER {
-- Delivery Port Parameters
RecipientCertificate ::= Certificates
---ProofOfDelivery ::=
+ProofOfDelivery ::= Signature
-- SIGNATURE
-- {SEQUENCE {algorithm-identifier
-- ProofOfDeliveryAlgorithmIdentifier,
@@ -1945,7 +1951,7 @@ ContentConfidentialityAlgorithmIdentifier ::= AlgorithmIdentifier
-- IDENTIFIED BY standard-extension:18
--}
---ContentIntegrityCheck ::=
+ContentIntegrityCheck ::= Signature
-- SIGNATURE
-- {SEQUENCE {algorithm-identifier
-- ContentIntegrityAlgorithmIdentifier OPTIONAL,
@@ -1959,7 +1965,7 @@ ContentIntegrityAlgorithmIdentifier ::= AlgorithmIdentifier
-- IDENTIFIED BY standard-extension:19
--}
---MessageOriginAuthenticationCheck ::=
+MessageOriginAuthenticationCheck ::= Signature
-- SIGNATURE
-- {SEQUENCE {algorithm-identifier
-- MessageOriginAuthenticationAlgorithmIdentifier,
@@ -2013,7 +2019,7 @@ ContentCorrelator ::= CHOICE {ia5text IA5String,
-- IDENTIFIED BY standard-extension:24
--}
---ProbeOriginAuthenticationCheck ::=
+ProbeOriginAuthenticationCheck ::= Signature
-- SIGNATURE
-- {SEQUENCE {algorithm-identifier
-- ProbeOriginAuthenticationAlgorithmIdentifier,
@@ -2110,7 +2116,7 @@ ReportingMTACertificate ::= Certificates
-- IDENTIFIED BY standard-extension:33
--}
---ReportOriginAuthenticationCheck ::=
+ReportOriginAuthenticationCheck ::= Signature
-- SIGNATURE
-- {SEQUENCE {algorithm-identifier
-- ReportOriginAuthenticationAlgorithmIdentifier,
@@ -2154,7 +2160,7 @@ OriginatingMTACertificate ::= Certificates
-- IDENTIFIED BY standard-extension:35
--}
---ProofOfSubmission ::=
+ProofOfSubmission ::= Signature
-- SIGNATURE
-- {SEQUENCE {algorithm-identifier
-- ProofOfSubmissionAlgorithmIdentifier,
@@ -2163,7 +2169,7 @@ OriginatingMTACertificate ::= Certificates
-- message-submission-identifier MessageSubmissionIdentifier,
-- message-submission-time MessageSubmissionTime}}
-ProofOfSubmissionAlgorithmIdentifier ::= AlgorithmIdentifier
+--ProofOfSubmissionAlgorithmIdentifier ::= AlgorithmIdentifier
--reporting-MTA-name EXTENSION ::= {
-- ReportingMTAName,
diff --git a/asn1/x411/x411.cnf b/asn1/x411/x411.cnf
index 6fc533a945..5e87310b24 100644
--- a/asn1/x411/x411.cnf
+++ b/asn1/x411/x411.cnf
@@ -23,6 +23,11 @@ OtherMessageDeliveryFields
SupplementaryInformation
TeletexNonBasicParameters
SecurityLabel
+UniversalOrBMPString
+MessageDeliveryIdentifier
+ProofOfSubmission
+OriginatingMTACertificate
+MessageSubmissionEnvelope
#.TYPE_RENAME
MTABindArgument/authenticated AuthenticatedArgument
@@ -142,13 +147,13 @@ PhysicalDeliveryReportRequest B "x411.extension.14" "physical-delivery-report-re
OriginatorCertificate B "x411.extension.15" "originator-certificate"
ContentConfidentialityAlgorithmIdentifier B "x411.extension.17" "content-confidentiality-algorithm-identifier"
-
-
+ContentIntegrityCheck B "x411.extension.18" "content-integrity-check"
+MessageOriginAuthenticationCheck B "x411.extension.19" "message-origin-authentication-check"
MessageSecurityLabel B "x411.extension.20" "message-security-label"
ProofOfSubmissionRequest B "x411.extension.21" "proof-of-submission-request"
ProofOfDeliveryRequest B "x411.extension.22" "proof-of-delivery-request"
ContentCorrelator B "x411.extension.23" "content-correlator"
-
+ProbeOriginAuthenticationCheck B "x411.extension.24" "probe-origin-authentication-check"
RedirectionHistory B "x411.extension.25" "redirection-history"
DLExpansionHistory B "x411.extension.26" "dl-expansion-history"
PhysicalForwardingAddress B "x411.extension.27" "physical-forwarding-address"
@@ -157,6 +162,8 @@ PhysicalForwardingAddress B "x411.extension.27" "physical-forwarding-address"
OriginatorAndDLExpansionHistory B "x411.extension.30" "originator-and-DL-expansion-history"
ReportingDLName B "x411.extension.31" "reporting-DL-name"
ReportingMTACertificate B "x411.extension.32" "reporting-MTA-certificate"
+ReportOriginAuthenticationCheck B "x411.extension.33" "report-origin-authentication-check"
+ProofOfSubmission B "x411.extension.35" "proof-of-submission"
TraceInformation B "x411.extension.37" "trace-information"
InternalTraceInformation B "x411.extension.38" "internal-trace-information"
@@ -179,12 +186,13 @@ PhysicalDeliveryCountryName B "x411.extension-attribute.8" "physical-delivery-co
PostalCode B "x411.extension-attribute.9" "postal-code"
PhysicalDeliveryOfficeName B "x411.extension-attribute.10" "physical-delivery-office-name"
-
UniversalCommonName B "x411.extension-attribute.24" "universal-common-name"
UniversalOrganizationName B "x411.extension-attribute.25" "universal-organization-name"
UniversalPersonalName B "x411.extension-attribute.26" "universal-personal-name"
UniversalOrganizationalUnitNames B "x411.extension-attribute.27" "universal-organizational-unit-names"
+ReportDeliveryArgument B "2.6.1.4.14" "id-et-report"
+
#.FN_BODY AdditionalInformation
/*XXX not implemented yet */
@@ -314,10 +322,10 @@ UniversalOrganizationalUnitNames B "x411.extension-attribute.27" "universal-orga
/* convert integer content type to oid for dispatch when the content is found */
switch(ict) {
case 2:
- object_identifier_id = ep_strdup("2.6.1.10.0");
+ content_type_id = ep_strdup("2.6.1.10.0");
break;
case 22:
- object_identifier_id = ep_strdup("2.6.1.10.1");
+ content_type_id = ep_strdup("2.6.1.10.1");
break;
default:
break;
diff --git a/asn1/x420/Makefile.nmake b/asn1/x420/Makefile.nmake
index 7b8e686be1..787c3c3ac3 100644
--- a/asn1/x420/Makefile.nmake
+++ b/asn1/x420/Makefile.nmake
@@ -37,6 +37,6 @@ fix_eol: generate_dissector
del /f packet-$(PROTOCOL_NAME).c.tmp packet-$(PROTOCOL_NAME).h.tmp
copy_files: generate_dissector fix_eol
- xcopy packet-$(PROTOCOL_NAME).c ..\..\epan\dissectors /d
- xcopy packet-$(PROTOCOL_NAME).h ..\..\epan\dissectors /d
+ xcopy packet-$(PROTOCOL_NAME).c ..\..\epan\dissectors /d /y
+ xcopy packet-$(PROTOCOL_NAME).h ..\..\epan\dissectors /d /y
diff --git a/asn1/x420/packet-x420-template.c b/asn1/x420/packet-x420-template.c
index f0be929410..d1ca50cbb1 100644
--- a/asn1/x420/packet-x420-template.c
+++ b/asn1/x420/packet-x420-template.c
@@ -39,6 +39,7 @@
#include "packet-ros.h"
#include "packet-x509af.h"
+#include "packet-x509ce.h"
#include "packet-x411.h"
#include "packet-x420.h"
@@ -52,6 +53,35 @@ int proto_x420 = -1;
static const char *object_identifier_id; /* content type identifier */
+static const value_string charsetreg_vals [] = {
+ { 1, "C0: (ISO/IEC 6429)"},
+ { 6, "G0: ASCII (ISO/IEC 646)"},
+ { 77, "C1: (ISO/IEC 6429)"},
+ { 100, "Gn: Latin Alphabet No.1, Western European Supplementary Set (GR area of ISO-8859-1)"},
+ { 101, "Gn: Latin Alphabet No.2, Central EuropeanSupplementary Set (GR area of ISO-8859-2)"},
+ { 104, "C0: (ISO/IEC 4873)"},
+ { 105, "C1: (ISO/IEC 4873)"},
+ { 106, "C0: Teletex (CCITT T.61)"},
+ { 107, "C1: Teletex (CCITT T.61)"},
+ { 109, "Gn: Latin Alphabet No.3, Southern European Supplementary Set (GR area of ISO-8859-3)"},
+ { 110, "Gn: Latin Alphabet No.4, Baltic Supplementary Set (GR area of ISO-8859-4)"},
+ { 126, "Gn: Greek Supplementary Set (GR area of ISO-8859-7)"},
+ { 127, "Gn: Arabic Supplementary Set (GR area of ISO-8859-6)"},
+ { 138, "Gn: Hebrew Supplementary Set (GR area of ISO-8859-8)"},
+ { 144, "Gn: Cyrillic Supplementary Set (GR area of ISO-8859-5)"},
+ { 148, "Gn: Latin Alphabet No.5, Cyrillic Supplementary Set (GR area of ISO-8859-9)"},
+ { 154, "Gn: Supplementary Set for Latin Alphabets No.1 or No.5, and No.2"},
+ { 157, "Gn: Latin Alphabet No.6, Arabic Supplementary Set (GR area of ISO-8859-10)"},
+ { 158, "Gn: Supplementary Set for Sami (Lappish) to complement Latin Alphabet No.6 (from Annex A of ISO-8859-10)"},
+ { 166, "Gn: Thai Supplementary Set (GR area of ISO-8859-11)"},
+ { 179, "Gn: Latin Alphabet No.7, Baltic Rim Supplementary Set (GR area of ISO-8859-13)"},
+ { 182, "Gn: Welsh Variant of Latin Alphabet No.1, Supplementary Set (GR area of ISO-8859-1)"},
+ { 197, "Gn: Supplementary Set for Sami to complement Latin Alphabet No.6 (from Annex A of ISO-8859-10)"},
+ { 199, "Gn: Latin Alphabet No.8, Celtic Supplementary Set (GR area of ISO-8859-14)"},
+ { 203, "Gn: Latin Alphabet No.9, European Rim Supplementary Set (GR area of ISO-8859-15)"},
+ { 0, NULL}
+};
+
#include "packet-x420-hf.c"
/* Initialize the subtree pointers */
diff --git a/asn1/x420/x420.asn b/asn1/x420/x420.asn
index 70e0d93052..8a58ecd4fa 100644
--- a/asn1/x420/x420.asn
+++ b/asn1/x420/x420.asn
@@ -68,7 +68,9 @@ IMPORTS
EncodedInformationTypes, ExtendedCertificates, EXTENSION,
G3FacsimileNonBasicParameters, MessageDeliveryTime, ORName,
OtherMessageDeliveryFields, SupplementaryInformation,
- TeletexNonBasicParameters
+ TeletexNonBasicParameters, UniversalOrBMPString, SecurityLabel,
+ MessageDeliveryIdentifier, ProofOfSubmission, OriginatingMTACertificate,
+ MessageSubmissionEnvelope
--==
FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
mts-abstract-service(1) version-1999(1)}
@@ -93,7 +95,12 @@ IMPORTS
-- FROM IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0)
-- object-identifiers(0) version-1999(1)} ; --
EXTERNAL
- FROM ACSE-1;
+ FROM ACSE-1
+ CertificateAssertion
+ --==
+ FROM CertificateExtensions {joint-iso-itu-t ds(5) module(1)
+ certificateExtensions(26) 0};
+
Time ::= UTCTime
@@ -344,9 +351,13 @@ G3FacsimileParameters ::= SET {
G3FacsimileData ::= SEQUENCE OF BIT STRING
-- G4 Class 1 and Mixed-mode body parts
-G4Class1BodyPart ::= SEQUENCE OF Interchange-Data-Element
+G4Class1BodyPart ::= G4Class1Data
+
+G4Class1Data ::= SEQUENCE OF Interchange-Data-Element
-MixedModeBodyPart ::= SEQUENCE OF Interchange-Data-Element
+MixedModeBodyPart ::= MixedModeData
+
+MixedModeData ::= SEQUENCE OF Interchange-Data-Element
-- Teletex body part
TeletexBodyPart ::= SEQUENCE {
@@ -388,7 +399,7 @@ EncryptedParameters ::= SET {
...
}
-EncryptedData ::= BIT STRING(CONSTRAINED BY {BodyPart})
+EncryptedData ::= BIT STRING --(CONSTRAINED BY {BodyPart})
-- Message body part
MessageBodyPart ::= SEQUENCE {
@@ -601,10 +612,10 @@ BodyPartReferences ::= SEQUENCE OF BodyPartReference
BodyPartReference ::= CHOICE {
stored-entry [0] SequenceNumber,
stored-content [1] SequenceNumber,
- submitted-body-part [2] INTEGER(1..MAX),
+ submitted-body-part [2] INTEGER--(1..MAX)--,
stored-body-part
[3] SEQUENCE {message-entry SequenceNumber,
- body-part-number INTEGER(1..MAX)}
+ body-part-number --INTEGER(1..MAX)-- BodyPartNumber}
}
--originator-body-part-encryption-token MS-EXTENSION ::= {
@@ -637,7 +648,396 @@ NationallyDefinedBodyPart ::= ANY
-- cannot refer to basic types in .cnf .#REGISTER - so we create an intermediate type
OriginatingUA ::= IA5String
-END -- of IPMSInformationObjects
+-- END - - of IPMSInformationObjects
+
+
+-- Module IPMSHeadingExtensions (X.420:06/1999)
+--IPMSHeadingExtensions {joint-iso-itu-t mhs(6) ipms(1) modules(0)
+-- heading-extensions(6) version-1999(1)} DEFINITIONS IMPLICIT TAGS ::=
+--BEGIN
+
+-- Prologue
+-- Exports everything.
+--IMPORTS
+ -- IPMS Information Objects
+-- IPMS-EXTENSION, ORDescriptor, RecipientSpecifier, ThisIPMField, BodyPart
+ --==
+-- FROM IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0)
+-- information-objects(2) version-1999(1)}
+ -- MTS Abstract Service
+-- ExtendedCertificates, SecurityLabel, UniversalOrBMPString{}
+ --==
+-- FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
+-- mts-abstract-service(1) version-1999(1)}
+ -- Directory Authentication Framework
+-- AlgorithmIdentifier, SIGNATURE{}, SIGNED{}
+ --==
+-- FROM AuthenticationFramework {joint-iso-itu-t ds(5) module(1)
+-- authenticationFramework(7) 3}
+ -- Directory Certificate Extensions
+-- CertificateAssertion
+ --==
+-- FROM CertificateExtensions {joint-iso-itu-t ds(5) module(1)
+-- certificateExtensions(26) 0}
+ -- IPMS upper bounds
+-- ub-alpha-code-length, ub-circulation-list-members, ub-distribution-codes,
+-- ub-extended-subject-length, ub-information-categories,
+-- ub-information-category-length, ub-manual-handling-instruction-length,
+-- ub-manual-handling-instructions, ub-originators-reference-length,
+-- ub-precedence
+ --==
+-- FROM IPMSUpperBounds {joint-iso-itu-t mhs(6) ipms(1) modules(0)
+-- upper-bounds(10) version-1999(1)}
+ -- IPMS Object Identifiers
+-- id-hex-authorization-time, id-hex-auto-submitted,
+-- id-hex-body-part-signatures, id-hex-circulation-list-recipients,
+-- id-hex-distribution-codes, id-hex-extended-subject, id-hex-incomplete-copy,
+-- id-hex-information-category, id-hex-ipm-security-label, id-hex-languages,
+-- id-hex-manual-handling-instructions, id-hex-originators-reference,
+-- id-hex-precedence-policy-id, id-rex-circulation-list-indicator,
+-- id-rex-precedence
+ --==
+-- FROM IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0)
+-- object-identifiers(0) version-1999(1)};
+
+-- Incomplete Copy
+--incomplete-copy IPMS-EXTENSION ::= {
+-- VALUE IncompleteCopy,
+-- IDENTIFIED BY id-hex-incomplete-copy
+--}
+
+IncompleteCopy ::= NULL
+
+-- Languages
+--languages IPMS-EXTENSION ::= {
+-- VALUE SET OF Language,
+-- IDENTIFIED BY id-hex-languages
+--}
+
+Languages ::= SET OF Language
+
+Language ::= PrintableString --(SIZE (2 | 5))
+
+-- Auto-submitted
+--auto-submitted IPMS-EXTENSION ::= {
+-- VALUE AutoSubmitted,
+-- IDENTIFIED BY id-hex-auto-submitted
+--}
+
+AutoSubmitted ::= ENUMERATED {
+ not-auto-submitted(0), auto-generated(1), auto-replied(2)}
+
+--body-part-signatures IPMS-EXTENSION ::= {
+-- VALUE BodyPartSignatures,
+-- IDENTIFIED BY id-hex-body-part-signatures
+--}
+
+Signature ::= SEQUENCE {
+ algorithmIdentifier AlgorithmIdentifier,
+ encrypted BIT STRING
+}
+
+
+BodyPartSignatures ::=
+ SET OF
+ SET {body-part-number BodyPartNumber,
+ body-part-signature BodyPartSignature,
+ originator-certificate-selector [1] CertificateAssertion OPTIONAL,
+ originator-certificates [0] ExtendedCertificates OPTIONAL --,
+-- ... --}
+
+BodyPartNumber ::= INTEGER --(1..MAX)
+
+BodyPartSignature ::= Signature
+-- SIGNATURE
+-- {SEQUENCE {signature-algorithm-identifier AlgorithmIdentifier,
+-- body-part BodyPart,
+-- body-part-security-label SecurityLabel OPTIONAL
+-- }}
+
+--ipm-security-label IPMS-EXTENSION ::= {
+-- VALUE IPMSecurityLabel,
+-- IDENTIFIED BY id-hex-ipm-security-label
+--}
+
+IPMSecurityLabel ::= SEQUENCE {
+ content-security-label [0] SecurityLabel,
+ heading-security-label [1] SecurityLabel OPTIONAL,
+ body-part-security-labels [2] SEQUENCE OF BodyPartSecurityLabel OPTIONAL
+}
+
+BodyPartSecurityLabel ::= CHOICE {
+ body-part-unlabelled [0] NULL,
+ body-part-security-label [1] SecurityLabel
+}
+
+-- Authorization Time
+--authorization-time IPMS-EXTENSION ::= {
+-- VALUE AuthorizationTime,
+-- IDENTIFIED BY id-hex-authorization-time
+--}
+
+AuthorizationTime ::= GeneralizedTime
+
+-- Circulation List
+--circulation-list-recipients IPMS-EXTENSION ::= {
+-- VALUE CirculationList,
+-- IDENTIFIED BY id-hex-circulation-list-recipients
+--}
+
+CirculationList ::=
+ SEQUENCE (SIZE (2..ub-circulation-list-members)) OF CirculationMember
+
+CirculationMember ::= SET {
+ circulation-recipient
+ RecipientSpecifier
+-- (WITH COMPONENTS {
+-- ...,
+-- recipient (WITH COMPONENTS {
+-- ...,
+-- formal-name PRESENT
+-- })
+-- })--,
+ checked Checkmark OPTIONAL
+}
+
+Checkmark ::= CHOICE {
+ simple NULL,
+ timestamped CirculationTime,
+ signed CirculationSignature
+}
+
+CirculationTime ::= GeneralizedTime
+
+CirculationSignatureData ::=
+-- SIGNED
+-- { --SEQUENCE {algorithm-identifier CirculationSignatureAlgorithmIdentifier,
+ this-IPM ThisIPMField,
+ timestamp CirculationTime} --}
+
+-- expand SIGNED macro
+
+CirculationSignature ::= SEQUENCE {
+ circulation-signature-data CirculationSignatureData,
+ algorithm-identifier AlgorithmIdentifier,
+ encrypted BIT STRING
+}
+
+
+
+CirculationSignatureAlgorithmIdentifier ::= AlgorithmIdentifier
+
+-- Circulation List Indicator
+--circulation-list-indicator IPMS-EXTENSION ::= {
+-- VALUE NULL,
+-- IDENTIFIED BY id-rex-circulation-list-indicator
+--}
+
+CirculationListIndicator ::= NULL
+
+-- Distribution Codes
+--distribution-codes IPMS-EXTENSION ::= {
+-- VALUE DistributionCodes,
+-- IDENTIFIED BY id-hex-distribution-codes
+--}
+
+DistributionCodes ::=
+ SEQUENCE --(SIZE (1..ub-distribution-codes))-- OF DistributionCode
+
+DistributionCode ::= SEQUENCE {
+ oid-code OBJECT IDENTIFIER OPTIONAL,
+ alphanumeric-code AlphaCode OPTIONAL,
+ or-descriptor [0] ORDescriptor OPTIONAL
+}
+
+AlphaCode ::= UniversalOrBMPString --{ub-alpha-code-length}
+
+-- Extended Subject
+--extended-subject IPMS-EXTENSION ::= {
+-- VALUE ExtendedSubject,
+-- IDENTIFIED BY id-hex-extended-subject
+--}
+
+ExtendedSubject ::= UniversalOrBMPString--{ub-extended-subject-length}
+
+-- Information category
+--information-category IPMS-EXTENSION ::= {
+-- VALUE InformationCategories,
+-- IDENTIFIED BY id-hex-information-category
+--}
+
+InformationCategories ::=
+ SEQUENCE --(SIZE (1..ub-information-categories))-- OF InformationCategory
+
+InformationCategory ::= SEQUENCE {
+ reference [0] OBJECT IDENTIFIER OPTIONAL,
+ description [1] DescriptionString OPTIONAL
+}
+
+DescriptionString ::= UniversalOrBMPString --{ub-information-category-length}
+
+-- Manual handling Instructions
+--manual-handling-instructions IPMS-EXTENSION ::= {
+-- VALUE ManualHandlingInstructions,
+-- IDENTIFIED BY id-hex-manual-handling-instructions
+--}
+
+ManualHandlingInstructions ::=
+ SEQUENCE --(SIZE (1..ub-manual-handling-instructions))-- OF
+ ManualHandlingInstruction
+
+ManualHandlingInstruction ::=
+ UniversalOrBMPString --{ub-manual-handling-instruction-length}
+
+-- Originator's Reference
+--originators-reference IPMS-EXTENSION ::= {
+-- VALUE OriginatorsReference,
+-- IDENTIFIED BY id-hex-originators-reference
+--}
+
+OriginatorsReference ::= UniversalOrBMPString--{ub-originators-reference-length}
+
+-- Precedence Policy Identifier
+--precedence-policy-identifier IPMS-EXTENSION ::= {
+-- VALUE PrecedencePolicyIdentifier,
+-- IDENTIFIED BY id-hex-precedence-policy-id
+--}
+
+PrecedencePolicyIdentifier ::= OBJECT IDENTIFIER
+
+-- Precedence
+--precedence IPMS-EXTENSION ::= {
+-- VALUE Precedence,
+-- IDENTIFIED BY id-rex-precedence
+--}
+
+Precedence ::= INTEGER(0..ub-precedence)
+
+-- END - - of IPMSHeadingExtensions
+
+-- Module IPMSExtendedBodyPartTypes2 (X.420:06/1999)
+-- IPMSExtendedBodyPartTypes2 {iso standard mhs(10021) ipms(7) modules(0)
+-- extended-body-part-types-2(1)} DEFINITIONS IMPLICIT TAGS ::=
+--BEGIN
+
+-- Prologue
+-- Exports everything.
+--IMPORTS
+ -- IPMS Information Objects
+-- EXTENDED-BODY-PART-TYPE
+ --==
+-- FROM IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0)
+-- information-objects(2) version-1999(1)}
+ -- IPMS Object Identifiers
+-- id-ep-general-text, id-et-general-text
+ --==
+-- FROM IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0)
+-- object-identifiers(0) version-1999(1)};
+
+-- General Text body part
+--general-text-body-part EXTENDED-BODY-PART-TYPE ::= {
+-- PARAMETERS {GeneralTextParameters
+-- IDENTIFIED BY id-ep-general-text},
+-- DATA {GeneralTextData
+-- IDENTIFIED BY id-et-general-text}
+--}
+
+GeneralTextParameters ::= SET OF CharacterSetRegistration
+
+GeneralTextData ::= GeneralString
+
+CharacterSetRegistration ::= INTEGER(1..32767)
+
+--END - - of IPMSExtendedBodyPartTypes2
+
+-- Module IPMSExtendedVoiceBodyPartType (X.420:06/1999)
+--IPMSExtendedVoiceBodyPartType {joint-iso-itu-t mhs(6) ipms(1) modules(0)
+-- extended-voice-body-part-type(11)} DEFINITIONS IMPLICIT TAGS ::=
+--BEGIN
+
+-- Prologue
+-- Exports everything.
+--IMPORTS
+ -- IPMS Information Objects
+-- EXTENDED-BODY-PART-TYPE
+ --==
+-- FROM IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0)
+-- information-objects(2) version-1999(1)}
+ -- IPMS Object Identifiers
+-- id-ep-voice, id-et-voice
+ --==
+-- FROM IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0)
+-- object-identifiers(0) version-1999(1)};
+
+-- Extended Voice body part
+--voice-body-part EXTENDED-BODY-PART-TYPE ::= {
+-- PARAMETERS {VoiceParameters
+-- IDENTIFIED BY id-ep-voice},
+-- DATA {VoiceData
+-- IDENTIFIED BY id-et-voice}
+--}
+
+VoiceParameters ::= SEQUENCE {
+ voice-message-duration [0] INTEGER OPTIONAL, -- In seconds
+ voice-encoding-type [1] OBJECT IDENTIFIER,
+ supplementary-information [2] IA5String OPTIONAL
+}
+
+VoiceData ::= OCTET STRING
+
+--END - - of IPMSExtendedVoiceBodyPartType
+
+-- Module IPMSForwardedContentBodyPartType (X.420:06/1999)
+--IPMSForwardedContentBodyPartType {joint-iso-itu-t mhs(6) ipms(1) modules(0)
+-- forwarded-content-body-part-type(15)} DEFINITIONS IMPLICIT TAGS ::=
+--BEGIN
+
+-- Prologue
+-- Exports everything.
+--IMPORTS
+ -- MTS Abstract Service
+-- Content, ExtendedContentType, MessageDeliveryIdentifier, MessageDeliveryTime,
+-- MessageSubmissionEnvelope, OriginatingMTACertificate,
+-- OtherMessageDeliveryFields, ProofOfSubmission
+ --==
+-- FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
+-- mts-abstract-service(1) version-1999(1)}
+ -- IPMS Information Objects
+-- EXTENDED-BODY-PART-TYPE
+ --==
+-- FROM IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0)
+-- information-objects(2) version-1999(1)}
+ -- IPMS Object Identifiers
+-- id-ep-content, id-et-content
+ --==
+-- FROM IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0)
+-- object-identifiers(0) version-1999(1)};
+
+-- Forwarded Content body part
+--content-body-part{ExtendedContentType:content-type} EXTENDED-BODY-PART-TYPE ::=
+-- {
+-- PARAMETERS
+-- {ForwardedContentParameters
+-- IDENTIFIED BY {id-ep-content content-type}},
+-- DATA {Content
+-- IDENTIFIED BY {id-et-content content-type}}
+--}
+
+ForwardedContentParameters ::= SET {
+ delivery-time [0] MessageDeliveryTime OPTIONAL,
+ delivery-envelope [1] OtherMessageDeliveryFields OPTIONAL,
+ mts-identifier [2] MessageDeliveryIdentifier OPTIONAL,
+ submission-proof [3] SubmissionProof OPTIONAL
+}
+
+SubmissionProof ::= SET {
+ proof-of-submission [0] ProofOfSubmission,
+ originating-MTA-certificate [1] OriginatingMTACertificate,
+ message-submission-envelope MessageSubmissionEnvelope
+}
+
+END -- of IPMSForwardedContentBodyPartType
-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/asn1/x420/x420.cnf b/asn1/x420/x420.cnf
index 1ea117d1dc..84d23123fd 100644
--- a/asn1/x420/x420.cnf
+++ b/asn1/x420/x420.cnf
@@ -1,10 +1,12 @@
#.MODULE_IMPORT
MTSAbstractService x411
AuthenticationFramework x509af
+CertificateExtensions x509ce
ACSE-1 acse
#.INCLUDE ../x411/x411-exp.cnf
#.INCLUDE ../x509af/x509af-exp.cnf
+#.INCLUDE ../x509ce/x509ce-exp.cnf
#.INCLUDE ../acse/acse-exp.cnf
#.EXPORTS
@@ -33,6 +35,9 @@ EncryptedBodyPart/parameters encrypted_parameters
TeletexParameters/non-basic-parameters teletex_non_basic_parameters
G3FacsimileParameters/non-basic-parameters g3facsimile_non_basic_parameters
+BodyPart/encrypted encrypted_bp
+CirculationSignatureData/algorithm-identifier circulation-signature-algorithm-identifier
+
#.PDU
OriginatingUA
AbsenceAdvice
@@ -45,6 +50,59 @@ 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"
+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"
+IPMSecurityLabel B "2.6.1.5.4" "id-hex-ipm-security-label"
+AuthorizationTime B "2.6.1.5.5" "id-hex-authorization-time"
+CirculationList B "2.6.1.5.6" "id-hex-circulation-list-recipients"
+CirculationListIndicator B "2.6.1.20.0" "id-rex-circulation-list-indicator"
+DistributionCodes B "2.6.1.5.7" "id-hex-distribution-codes"
+ExtendedSubject B "2.6.1.5.8" "id-hex-extended-subject"
+InformationCategories B "2.6.1.5.9" "id-hex-information-categories"
+ManualHandlingInstructions B "2.6.1.5.10" "id-hex-manual-handling-instructions"
+OriginatorsReference B "2.6.1.5.11" "id-hex-originators-reference"
+PrecedencePolicyIdentifier B "2.6.1.5.12" "id-hex-precedence-policy-id"
+Precedence B "2.6.1.20.1" "id-rex-precedence"
+
+IA5TextData B "2.6.1.4.0" "id-et-ia5-text"
+IA5TextParameters B "2.6.1.11.0" "id-ep-ia5-text"
+G3FacsimileData B "2.6.1.4.2" "id-et-g3-facsimile"
+G3FacsimileParameters B "2.6.1.11.2" "id-ep-g3-facsimile"
+G4Class1Data B "2.6.1.4.3" "id-et-g4-class1"
+TeletexData B "2.6.1.4.4" "id-et-teletex"
+TeletexParameters B "2.6.1.11.4" "id-ep-teletex"
+VideotexData B "2.6.1.4.5" "id-et-videotex"
+VideotexParameters B "2.6.1.11.5" "id-ep-videotex"
+EncryptedData B "2.6.1.4.6" "id-et-encrypted"
+EncryptedParameters B "2.6.1.11.6" "id-ep-encrypted"
+MessageData B "2.6.1.4.7" "id-et-message"
+MessageParameters B "2.6.1.11.7" "id-ep-message"
+MixedModeData B "2.6.1.4.8" "id-et-mixed-mode"
+BilaterallyDefinedBodyPart B "2.6.1.4.9" "id-et-bilaterally-defined"
+
+GeneralTextParameters B "2.6.1.11.11" "id-ep-general-text"
+GeneralTextData B "2.6.1.4.11" "id-et-general-text"
+# FileTransferBodyPart {id-et 12} in a separate dissector (ftbp)
+# {id-et 13} is no longer defined
+# ForwardedReportBodyPart {id-et 14} defined in x411.cnf
+MessageParameters B "2.6.1.11.15" "id-ep-notification"
+IPN B "2.6.1.4.15" "id-et-notification"
+VoiceParameters B "2.6.1.11.16" "id-ep-voice"
+VoiceData B "2.6.1.4.16" "id-et-voice"
+# P22
+ForwardedContentParameters B "2.6.1.11.17.2.6.1.10.1" "id-ep-content-p22"
+InformationObject B "2.6.1.4.17.2.6.1.10.1" "id-et-content-p22"
+#p2
+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
FN_VARIANT = _str VAL_PTR = &object_identifier_id
@@ -86,6 +144,16 @@ IPMAssemblyInstructions B "2.6.1.17.2" "id-mst-assembly-instructions"
if(subject && check_col(pinfo->cinfo, COL_INFO))
col_append_fstr(pinfo->cinfo, COL_INFO, " (%%s)", tvb_format_text(subject, 0, tvb_length(subject)));
+#.FN_PARS CharacterSetRegistration
+ VAL_PTR=&crs
+
+#.FN_BODY CharacterSetRegistration
+ guint32 crs;
+ proto_item *pi;
+ %(DEFAULT_BODY)s
+
+ if((pi = get_ber_last_created_item()))
+ proto_item_append_text(pi, " (%%s)", val_to_str(crs, charsetreg_vals, "unknown"));
#.FN_BODY Interchange_Data_Element
/* XXX Not implemented yet */
@@ -93,3 +161,4 @@ IPMAssemblyInstructions B "2.6.1.17.2" "id-mst-assembly-instructions"
#.FN_BODY NationallyDefinedBodyPart
/* XXX Not implemented yet */
+