aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--asn1/x509af/x509af.cnf2
-rw-r--r--asn1/x509ce/x509ce.cnf2
-rwxr-xr-xasn1/x509if/Makefile2
-rw-r--r--asn1/x509if/x509if.cnf2
-rwxr-xr-xasn1/x509sat/Makefile5
-rw-r--r--asn1/x509sat/SelectedAttributeTypes.asn338
-rw-r--r--asn1/x509sat/packet-x509sat-template.c5
-rw-r--r--asn1/x509sat/x509sat-exp.cnf66
-rw-r--r--asn1/x509sat/x509sat.cnf30
-rw-r--r--asn1/x509sat/x509sat_exp.cnf4
-rw-r--r--epan/dissectors/packet-x509if.c4
-rw-r--r--epan/dissectors/packet-x509sat.c1775
-rw-r--r--epan/dissectors/packet-x509sat.h36
13 files changed, 2056 insertions, 215 deletions
diff --git a/asn1/x509af/x509af.cnf b/asn1/x509af/x509af.cnf
index 37a4d6d46d..2f8b2e2c5a 100644
--- a/asn1/x509af/x509af.cnf
+++ b/asn1/x509af/x509af.cnf
@@ -10,7 +10,7 @@ SelectedAttributeTypes x509sat
#.INCLUDE ../x509ce/x509ce_exp.cnf
#.INCLUDE ../x509if/x509if-exp.cnf
-#.INCLUDE ../x509sat/x509sat_exp.cnf
+#.INCLUDE ../x509sat/x509sat-exp.cnf
#.EXPORTS
AlgorithmIdentifier
diff --git a/asn1/x509ce/x509ce.cnf b/asn1/x509ce/x509ce.cnf
index 94c8a16ba0..c09509bbb3 100644
--- a/asn1/x509ce/x509ce.cnf
+++ b/asn1/x509ce/x509ce.cnf
@@ -10,7 +10,7 @@ SelectedAttributeTypes x509sat
#.INCLUDE ../x509if/x509if-exp.cnf
#.INCLUDE ../x509af/x509af_exp.cnf
-#.INCLUDE ../x509sat/x509sat_exp.cnf
+#.INCLUDE ../x509sat/x509sat-exp.cnf
#.EXPORTS
diff --git a/asn1/x509if/Makefile b/asn1/x509if/Makefile
index 5149ca3352..089f432888 100755
--- a/asn1/x509if/Makefile
+++ b/asn1/x509if/Makefile
@@ -1,5 +1,5 @@
-../../epan/dissectors/packet-x509if.c : ../../tools/asn2eth.py InformationFramework.asn packet-x509if-template.c packet-x509if-template.h x509if.cnf ../x509sat/x509sat_exp.cnf
+../../epan/dissectors/packet-x509if.c : ../../tools/asn2eth.py InformationFramework.asn packet-x509if-template.c packet-x509if-template.h x509if.cnf ../x509sat/x509sat-exp.cnf
python ../../tools/asn2eth.py -X -b -k -e -p x509if -c x509if.cnf -s packet-x509if-template InformationFramework.asn
cp packet-x509if.* ../../epan/dissectors
diff --git a/asn1/x509if/x509if.cnf b/asn1/x509if/x509if.cnf
index 83725ac54b..e421024bba 100644
--- a/asn1/x509if/x509if.cnf
+++ b/asn1/x509if/x509if.cnf
@@ -6,7 +6,7 @@
#.MODULE_IMPORT
SelectedAttributeTypes x509sat
-#.INCLUDE ../x509sat/x509sat_exp.cnf
+#.INCLUDE ../x509sat/x509sat-exp.cnf
#.EXPORTS
AllowedSubset
diff --git a/asn1/x509sat/Makefile b/asn1/x509sat/Makefile
new file mode 100755
index 0000000000..f7d8a4c5ce
--- /dev/null
+++ b/asn1/x509sat/Makefile
@@ -0,0 +1,5 @@
+
+../../epan/dissectors/packet-x509sat.c : ../../tools/asn2eth.py SelectedAttributeTypes.asn packet-x509sat-template.c packet-x509sat-template.h x509sat.cnf ../x509if/x509if-exp.cnf
+ python ../../tools/asn2eth.py -X -b -k -e -p x509sat -c x509sat.cnf -s packet-x509sat-template SelectedAttributeTypes.asn
+ cp packet-x509sat.* ../../epan/dissectors
+
diff --git a/asn1/x509sat/SelectedAttributeTypes.asn b/asn1/x509sat/SelectedAttributeTypes.asn
index f6afc89135..aba6a6278d 100644
--- a/asn1/x509sat/SelectedAttributeTypes.asn
+++ b/asn1/x509sat/SelectedAttributeTypes.asn
@@ -129,7 +129,7 @@ UniqueIdentifier ::= BIT STRING
-- ID id-at-countryName
-- }
-CountryName ::= PrintableString(SIZE (2))
+CountryName ::= PrintableString
-- ISO 3166 codes only
--
--
@@ -217,19 +217,20 @@ CountryName ::= PrintableString(SIZE (2))
-- searchGuide ATTRIBUTE ::= {WITH SYNTAX Guide
-- ID id-at-searchGuide
-- }
---
+
+-- XXX Asn2eth bug it can not handle SET for BER, only for PER
-- Guide ::= SET {
--- objectClass [0] OBJECT-CLASS.&id OPTIONAL,
+-- objectClass [0] OBJECT IDENTIFIER OPTIONAL,
-- criteria [1] Criteria
-- }
---
--- Criteria ::= CHOICE {
--- type [0] CriteriaItem,
--- and [1] SET OF Criteria,
--- or [2] SET OF Criteria,
--- not [3] Criteria
--- }
---
+
+Criteria ::= CHOICE {
+ type [0] CriteriaItem,
+ and [1] SET OF Criteria,
+ or [2] SET OF Criteria,
+ not [3] Criteria
+}
+
CriteriaItem ::= CHOICE {
equality [0] AttributeType,
substrings [1] AttributeType,
@@ -242,14 +243,13 @@ CriteriaItem ::= CHOICE {
-- WITH SYNTAX EnhancedGuide
-- ID id-at-enhancedSearchGuide
-- }
---
--- EnhancedGuide ::= SEQUENCE {
--- objectClass [0] OBJECT-CLASS.&id,
--- criteria [1] Criteria,
--- subset
--- [2] INTEGER {baseObject(0), oneLevel(1), wholeSubtree(2)} DEFAULT oneLevel
--- }
---
+
+EnhancedGuide ::= SEQUENCE {
+ objectClass [0] OBJECT IDENTIFIER,
+ criteria [1] Criteria,
+ subset [2] INTEGER {baseObject(0), oneLevel(1), wholeSubtree(2)} OPTIONAL
+}
+
-- businessCategory ATTRIBUTE ::= {
-- WITH SYNTAX DirectoryString {ub-business-category}
-- EQUALITY MATCHING RULE caseIgnoreMatch
@@ -263,10 +263,9 @@ CriteriaItem ::= CHOICE {
-- SUBSTRINGS MATCHING RULE caseIgnoreListSubstringsMatch
-- ID id-at-postalAddress
-- }
---
--- PostalAddress ::=
--- SEQUENCE SIZE (1..ub-postal-line) OF DirectoryString{ub-postal-string}
---
+
+PostalAddress ::= SEQUENCE OF DirectoryString
+
-- collectivePostalAddress ATTRIBUTE ::= {
-- SUBTYPE OF postalAddress
-- COLLECTIVE TRUE
@@ -361,12 +360,12 @@ TelexNumber ::= SEQUENCE {
-- SYNTAX SubstringAssertion
-- ID id-mr-facsimileNumberSubstringsMatch
-- }
---
--- FacsimileTelephoneNumber ::= SEQUENCE {
--- telephoneNumber TelephoneNumber,
--- parameters G3FacsimileNonBasicParameters OPTIONAL
--- }
---
+
+FacsimileTelephoneNumber ::= SEQUENCE {
+ telephoneNumber TelephoneNumber
+-- parameters G3FacsimileNonBasicParameters OPTIONAL
+}
+
-- collectiveFacsimileTelephoneNumber ATTRIBUTE ::= {
-- SUBTYPE OF facsimileTelephoneNumber
-- COLLECTIVE TRUE
@@ -379,9 +378,9 @@ TelexNumber ::= SEQUENCE {
-- SUBSTRINGS MATCHING RULE numericStringSubstringsMatch
-- ID id-at-x121Address
-- }
---
--- X121Address ::= NumericString(SIZE (1..ub-x121-address))
---
+
+X121Address ::= NumericString
+
-- String as defined by ITU-T Rec. X.121
-- internationalISDNNumber ATTRIBUTE ::= {
-- WITH SYNTAX InternationalISDNNumber
@@ -389,10 +388,9 @@ TelexNumber ::= SEQUENCE {
-- SUBSTRINGS MATCHING RULE numericStringSubstringsMatch
-- ID id-at-internationalISDNNumber
-- }
---
--- InternationalISDNNumber ::=
--- NumericString(SIZE (1..ub-international-isdn-number))
---
+
+InternationalISDNNumber ::= NumericString
+
-- String complying with ITU-T Rec. E.164 only
-- collectiveInternationalISDNNumber ATTRIBUTE ::= {
-- SUBTYPE OF internationalISDNNumber
@@ -412,9 +410,9 @@ TelexNumber ::= SEQUENCE {
-- SUBSTRINGS MATCHING RULE caseIgnoreSubstringsMatch
-- ID id-at-destinationIndicator
-- }
---
--- DestinationIndicator ::= PrintableString(SIZE (1..ub-destination-indicator))
---
+
+DestinationIndicator ::= PrintableString
+
-- communicationsService ATTRIBUTE ::= {
-- WITH SYNTAX OBJECT IDENTIFIER
-- EQUALITY MATCHING RULE objectIdentifierMatch
@@ -434,13 +432,12 @@ TelexNumber ::= SEQUENCE {
-- SINGLE VALUE TRUE
-- ID id-at-preferredDeliveryMethod
-- }
---
--- PreferredDeliveryMethod ::=
--- SEQUENCE OF
--- INTEGER {any-delivery-method(0), mhs-delivery(1), physical-delivery(2),
--- telex-delivery(3), teletex-delivery(4), g3-facsimile-delivery(5),
--- g4-facsimile-delivery(6), ia5-terminal-delivery(7),
--- videotex-delivery(8), telephone-delivery(9)}
+
+PreferredDeliveryMethod ::= SEQUENCE OF
+ INTEGER {any-delivery-method(0), mhs-delivery(1), physical-delivery(2),
+ telex-delivery(3), teletex-delivery(4), g3-facsimile-delivery(5),
+ g4-facsimile-delivery(6), ia5-terminal-delivery(7),
+ videotex-delivery(8), telephone-delivery(9)}
--
-- presentationAddress ATTRIBUTE ::= {
-- WITH SYNTAX PresentationAddress
@@ -448,14 +445,14 @@ TelexNumber ::= SEQUENCE {
-- SINGLE VALUE TRUE
-- ID id-at-presentationAddress
-- }
---
--- PresentationAddress ::= SEQUENCE {
--- pSelector [0] OCTET STRING OPTIONAL,
--- sSelector [1] OCTET STRING OPTIONAL,
--- tSelector [2] OCTET STRING OPTIONAL,
--- nAddresses [3] SET SIZE (1..MAX) OF OCTET STRING
--- }
---
+
+PresentationAddress ::= SEQUENCE {
+ pSelector [0] OCTET STRING OPTIONAL,
+ sSelector [1] OCTET STRING OPTIONAL,
+ tSelector [2] OCTET STRING OPTIONAL,
+ nAddresses [3] SET OF OCTET STRING
+}
+
-- supportedApplicationContext ATTRIBUTE ::= {
-- WITH SYNTAX OBJECT IDENTIFIER
-- EQUALITY MATCHING RULE objectIdentifierMatch
@@ -467,12 +464,12 @@ TelexNumber ::= SEQUENCE {
-- EQUALITY MATCHING RULE protocolInformationMatch
-- ID id-at-protocolInformation
-- }
---
--- ProtocolInformation ::= SEQUENCE {
--- nAddress OCTET STRING,
--- profiles SET OF OBJECT IDENTIFIER
--- }
---
+
+ProtocolInformation ::= SEQUENCE {
+ nAddress OCTET STRING,
+ profiles SET OF OBJECT IDENTIFIER
+}
+
-- distinguishedName ATTRIBUTE ::= {
-- WITH SYNTAX DistinguishedName
-- EQUALITY MATCHING RULE distinguishedNameMatch
@@ -488,12 +485,12 @@ TelexNumber ::= SEQUENCE {
-- EQUALITY MATCHING RULE uniqueMemberMatch
-- ID id-at-uniqueMember
-- }
---
--- NameAndOptionalUID ::= SEQUENCE {
--- dn DistinguishedName,
--- uid UniqueIdentifier OPTIONAL
--- }
---
+
+NameAndOptionalUID ::= SEQUENCE {
+ dn DistinguishedName,
+ uid UniqueIdentifier OPTIONAL
+}
+
-- owner ATTRIBUTE ::= {SUBTYPE OF distinguishedName
-- ID id-at-owner
-- }
@@ -582,12 +579,12 @@ TelexNumber ::= SEQUENCE {
-- WITH SYNTAX MultipleMatchingLocalities
-- ID id-not-multipleMatchingLocalities
-- }
---
--- MultipleMatchingLocalities ::= SEQUENCE {
--- matchingRuleUsed MATCHING-RULE.&id OPTIONAL,
--- attributeList SEQUENCE OF AttributeValueAssertion
--- }
---
+
+MultipleMatchingLocalities ::= SEQUENCE {
+ matchingRuleUsed OBJECT IDENTIFIER OPTIONAL,
+ attributeList SEQUENCE OF AttributeValueAssertion
+}
+
-- proposedRelaxation ATTRIBUTE ::= {
-- WITH SYNTAX SEQUENCE OF MRMapping
-- ID id-not-proposedRelaxation
@@ -614,14 +611,14 @@ TelexNumber ::= SEQUENCE {
-- SYNTAX SubstringAssertion
-- ID id-mr-caseIgnoreSubstringsMatch
-- }
---
--- SubstringAssertion ::=
--- SEQUENCE OF
--- CHOICE {initial [0] DirectoryString{ub-match},
--- any [1] DirectoryString{ub-match},
--- final [2] DirectoryString{ub-match},
--- control Attribute
--- }
+
+SubstringAssertion ::= SEQUENCE OF
+ CHOICE {initial [0] DirectoryString,
+ any [1] DirectoryString,
+ final [2] DirectoryString,
+ control Attribute
+ }
+
-- Used to specify interpretation of the following items
--
-- at most one initial and one final component
@@ -660,9 +657,9 @@ TelexNumber ::= SEQUENCE {
-- SYNTAX CaseIgnoreListMatch
-- ID id-mr-caseIgnoreListMatch
-- }
---
--- CaseIgnoreListMatch ::= SEQUENCE OF DirectoryString{ub-match}
---
+
+CaseIgnoreListMatch ::= SEQUENCE OF DirectoryString
+
-- caseIgnoreListSubstringsMatch MATCHING-RULE ::= {
-- SYNTAX SubstringAssertion
-- ID id-mr-caseIgnoreListSubstringsMatch
@@ -705,13 +702,12 @@ TelexNumber ::= SEQUENCE {
-- SYNTAX OctetSubstringAssertion
-- ID id-mr-octetStringSubstringsMatch
-- }
---
--- OctetSubstringAssertion ::=
--- SEQUENCE OF
--- CHOICE {initial [0] OCTET STRING,
--- any [1] OCTET STRING,
--- final [2] OCTET STRING}
---
+
+OctetSubstringAssertion ::= SEQUENCE OF
+ CHOICE {initial [0] OCTET STRING,
+ any [1] OCTET STRING,
+ final [2] OCTET STRING}
+
-- at most one initial and one final component
-- telephoneNumberMatch MATCHING-RULE ::= {
-- SYNTAX TelephoneNumber
@@ -834,12 +830,12 @@ TelexNumber ::= SEQUENCE {
--
-- ZONAL-MATCHING ::=
-- MAPPING-BASED-MATCHING{ZonalSelect, TRUE, ZonalResult, zonalMatch.&id}
---
--- ZonalSelect ::= SEQUENCE OF AttributeType
---
--- ZonalResult ::= ENUMERATED {
--- cannot-select-mapping(0), zero-mappings(2), multiple-mappings(3)}
---
+
+ZonalSelect ::= SEQUENCE OF AttributeType
+
+ZonalResult ::= ENUMERATED {
+ cannot-select-mapping(0), zero-mappings(2), multiple-mappings(3)}
+
-- zonalMatch MATCHING-RULE ::= {
-- UNIQUE-MATCH-INDICATOR multipleMatchingLocalities.&id
-- ID id-mr-zonalMatch
@@ -850,8 +846,8 @@ TelexNumber ::= SEQUENCE {
-- WITH SYNTAX LanguageContextSyntax
-- ID id-avc-language
-- }
---
--- LanguageContextSyntax ::= PrintableString(SIZE (2..3))
+
+LanguageContextSyntax ::= PrintableString
-- ISO 639-2 codes only
--
--
@@ -860,91 +856,75 @@ TelexNumber ::= SEQUENCE {
-- ASSERTED AS TimeAssertion
-- ID id-avc-temporal
-- }
---
--- TimeSpecification ::= SEQUENCE {
--- time
--- CHOICE {absolute
--- SEQUENCE {startTime [0] GeneralizedTime OPTIONAL,
--- endTime [1] GeneralizedTime OPTIONAL},
--- periodic SET OF Period},
--- notThisTime BOOLEAN DEFAULT FALSE,
--- timeZone TimeZone OPTIONAL
--- }
---
--- Period ::= SEQUENCE {
--- timesOfDay [0] SET SIZE (1..MAX) OF DayTimeBand OPTIONAL,
--- days
--- [1] CHOICE {intDay SET OF INTEGER,
--- bitDay
--- BIT STRING {sunday(0), monday(1), tuesday(2), wednesday(3),
--- thursday(4), friday(5), saturday(6)},
--- dayOf XDayOf} OPTIONAL,
--- weeks
--- [2] CHOICE {allWeeks NULL,
--- intWeek SET OF INTEGER,
--- bitWeek
--- BIT STRING {week1(0), week2(1), week3(2), week4(3), week5(4)}
--- } OPTIONAL,
--- months
--- [3] CHOICE {allMonths NULL,
--- intMonth SET OF INTEGER,
--- bitMonth
--- BIT STRING {january(0), february(1), march(2), april(3),
--- may(4), june(5), july(6), august(7),
--- september(8), october(9), november(10),
--- december(11)}} OPTIONAL,
--- years [4] SET OF INTEGER(1000..MAX) OPTIONAL
--- }
---
--- XDayOf ::= CHOICE {
--- first [1] NamedDay,
--- second [2] NamedDay,
--- third [3] NamedDay,
--- fourth [4] NamedDay,
--- fifth [5] NamedDay
--- }
---
--- NamedDay ::= CHOICE {
--- intNamedDays
--- ENUMERATED {sunday(1), monday(2), tuesday(3), wednesday(4), thursday(5),
--- friday(6), saturday(7)},
--- bitNamedDays
--- BIT STRING {sunday(0), monday(1), tuesday(2), wednesday(3), thursday(4),
--- friday(5), saturday(6)}
--- }
---
--- DayTimeBand ::= SEQUENCE {
--- startDayTime [0] DayTime DEFAULT {hour 0},
--- endDayTime [1] DayTime DEFAULT {hour 23, minute 59, second 59}
--- }
---
--- DayTime ::= SEQUENCE {
--- hour [0] INTEGER(0..23),
--- minute [1] INTEGER(0..59) DEFAULT 0,
--- second [2] INTEGER(0..59) DEFAULT 0
--- }
---
--- TimeZone ::= INTEGER(-12..12)
---
--- TimeAssertion ::= CHOICE {
--- now NULL,
--- at GeneralizedTime,
--- between
--- SEQUENCE {startTime [0] GeneralizedTime,
--- endTime [1] GeneralizedTime OPTIONAL,
--- entirely BOOLEAN DEFAULT FALSE}
--- }
---
+
+TimeSpecification ::= SEQUENCE {
+ time CHOICE {absolute SEQUENCE {
+ startTime [0] GeneralizedTime OPTIONAL,
+ endTime [1] GeneralizedTime OPTIONAL},
+ periodic SET OF Period},
+ notThisTime BOOLEAN OPTIONAL,
+ timeZone TimeZone OPTIONAL
+}
+
+Period ::= SEQUENCE {
+ timesOfDay [0] SET OF DayTimeBand OPTIONAL,
+ days [1] CHOICE {intDay SET OF INTEGER,
+ bitDay BIT STRING {sunday(0), monday(1), tuesday(2), wednesday(3), thursday(4), friday(5), saturday(6)},
+ dayOf XDayOf} OPTIONAL,
+ weeks [2] CHOICE {allWeeks NULL,
+ intWeek SET OF INTEGER,
+ bitWeek BIT STRING {week1(0), week2(1), week3(2), week4(3), week5(4)}
+ } OPTIONAL,
+ months [3] CHOICE {allMonths NULL,
+ intMonth SET OF INTEGER,
+ bitMonth BIT STRING {january(0), february(1), march(2), april(3), may(4), june(5), july(6), august(7), september(8), october(9), november(10), december(11)}} OPTIONAL,
+ years [4] SET OF INTEGER OPTIONAL
+}
+
+XDayOf ::= CHOICE {
+ first [1] NamedDay,
+ second [2] NamedDay,
+ third [3] NamedDay,
+ fourth [4] NamedDay,
+ fifth [5] NamedDay
+}
+
+NamedDay ::= CHOICE {
+ intNamedDays ENUMERATED {sunday(1), monday(2), tuesday(3), wednesday(4), thursday(5), friday(6), saturday(7)},
+ bitNamedDays BIT STRING {sunday(0), monday(1), tuesday(2), wednesday(3), thursday(4), friday(5), saturday(6)}
+}
+
+DayTimeBand ::= SEQUENCE {
+ startDayTime [0] DayTime OPTIONAL,
+ endDayTime [1] DayTime OPTIONAL
+}
+
+DayTime ::= SEQUENCE {
+ hour [0] INTEGER,
+ minute [1] INTEGER OPTIONAL,
+ second [2] INTEGER OPTIONAL
+}
+
+TimeZone ::= INTEGER
+
+TimeAssertion ::= CHOICE {
+ now NULL,
+ at GeneralizedTime,
+ between SEQUENCE {startTime [0] GeneralizedTime,
+ endTime [1] GeneralizedTime OPTIONAL,
+ entirely BOOLEAN OPTIONAL}
+}
+
-- localeContext CONTEXT ::= {
-- WITH SYNTAX LocaleContextSyntax
-- ID id-avc-locale
-- }
---
--- LocaleContextSyntax ::= CHOICE {
--- localeID1 OBJECT IDENTIFIER,
--- localeID2 DirectoryString{ub-localeContextSyntax}
--- }
---
+
+LocaleContextSyntax ::= CHOICE {
+ localeID1 OBJECT IDENTIFIER,
+ localeID2 DirectoryString
+}
+
-- Object identifier assignments -
-- object identifiers assigned in other modules are shown in comments
-- Attributes
diff --git a/asn1/x509sat/packet-x509sat-template.c b/asn1/x509sat/packet-x509sat-template.c
index df03729282..01f8446b4e 100644
--- a/asn1/x509sat/packet-x509sat-template.c
+++ b/asn1/x509sat/packet-x509sat-template.c
@@ -44,7 +44,6 @@
/* Initialize the protocol and registered fields */
int proto_x509sat = -1;
-/*aaa*/
#include "packet-x509sat-hf.c"
/* Initialize the subtree pointers */
@@ -52,14 +51,12 @@ int proto_x509sat = -1;
#include "packet-x509sat-fn.c"
-/*bbb*/
/*--- proto_register_x509sat ----------------------------------------------*/
void proto_register_x509sat(void) {
/* List of fields */
static hf_register_info hf[] = {
-/*ccc*/
#include "packet-x509sat-hfarr.c"
};
@@ -81,8 +78,6 @@ void proto_register_x509sat(void) {
/*--- proto_reg_handoff_x509sat -------------------------------------------*/
void proto_reg_handoff_x509sat(void) {
#include "packet-x509sat-dis-tab.c"
-
-/*ddd*/
}
diff --git a/asn1/x509sat/x509sat-exp.cnf b/asn1/x509sat/x509sat-exp.cnf
new file mode 100644
index 0000000000..2cf5a05322
--- /dev/null
+++ b/asn1/x509sat/x509sat-exp.cnf
@@ -0,0 +1,66 @@
+#.IMPORT_TAG
+DirectoryString BER_CLASS_UNI BER_UNI_TAG_PrintableString
+UniqueIdentifier BER_CLASS_UNI BER_UNI_TAG_BITSTRING
+CountryName BER_CLASS_UNI BER_UNI_TAG_PrintableString
+Criteria BER_CLASS_CON -1/*choice*/
+EnhancedGuide BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
+PostalAddress BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
+FacsimileTelephoneNumber BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
+X121Address BER_CLASS_UNI BER_UNI_TAG_NumericString
+InternationalISDNNumber BER_CLASS_UNI BER_UNI_TAG_NumericString
+DestinationIndicator BER_CLASS_UNI BER_UNI_TAG_PrintableString
+PreferredDeliveryMethod BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
+PresentationAddress BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
+ProtocolInformation BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
+NameAndOptionalUID BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
+MultipleMatchingLocalities BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
+SubstringAssertion BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
+CaseIgnoreListMatch BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
+OctetSubstringAssertion BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
+ZonalSelect BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
+ZonalResult BER_CLASS_UNI BER_UNI_TAG_ENUMERATED
+LanguageContextSyntax BER_CLASS_UNI BER_UNI_TAG_PrintableString
+TimeSpecification BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
+Period BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
+XDayOf BER_CLASS_CON -1/*choice*/
+NamedDay BER_CLASS_UNI -1/*choice*/
+DayTimeBand BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
+DayTime BER_CLASS_UNI BER_UNI_TAG_SEQUENCE
+TimeZone BER_CLASS_UNI BER_UNI_TAG_INTEGER
+TimeAssertion BER_CLASS_UNI -1/*choice*/
+LocaleContextSyntax BER_CLASS_UNI -1/*choice*/
+#.END
+
+#.TYPE_ATTR
+DirectoryString TYPE = FT_STRING DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
+UniqueIdentifier TYPE = FT_BYTES DISPLAY = BASE_HEX STRINGS = NULL BITMASK = 0
+CountryName TYPE = FT_STRING DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
+Criteria TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = VALS(Criteria_vals) BITMASK = 0
+EnhancedGuide TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
+PostalAddress TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = NULL BITMASK = 0
+FacsimileTelephoneNumber TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
+X121Address TYPE = FT_STRING DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
+InternationalISDNNumber TYPE = FT_STRING DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
+DestinationIndicator TYPE = FT_STRING DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
+PreferredDeliveryMethod TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = NULL BITMASK = 0
+PresentationAddress TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
+ProtocolInformation TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
+NameAndOptionalUID TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
+MultipleMatchingLocalities TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
+SubstringAssertion TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = NULL BITMASK = 0
+CaseIgnoreListMatch TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = NULL BITMASK = 0
+OctetSubstringAssertion TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = NULL BITMASK = 0
+ZonalSelect TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = NULL BITMASK = 0
+ZonalResult TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = VALS(ZonalResult_vals) BITMASK = 0
+LanguageContextSyntax TYPE = FT_STRING DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
+TimeSpecification TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
+Period TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
+XDayOf TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = VALS(XDayOf_vals) BITMASK = 0
+NamedDay TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = VALS(NamedDay_vals) BITMASK = 0
+DayTimeBand TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
+DayTime TYPE = FT_NONE DISPLAY = BASE_NONE STRINGS = NULL BITMASK = 0
+TimeZone TYPE = FT_INT32 DISPLAY = BASE_DEC STRINGS = NULL BITMASK = 0
+TimeAssertion TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = VALS(TimeAssertion_vals) BITMASK = 0
+LocaleContextSyntax TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = VALS(LocaleContextSyntax_vals) BITMASK = 0
+#.END
+
diff --git a/asn1/x509sat/x509sat.cnf b/asn1/x509sat/x509sat.cnf
index ec423cd1ce..b166aba850 100644
--- a/asn1/x509sat/x509sat.cnf
+++ b/asn1/x509sat/x509sat.cnf
@@ -6,9 +6,39 @@
#.MODULE_IMPORT
InformationFramework x509if
+#.INCLUDE ../x509if/x509if-exp.cnf
+
#.EXPORTS
+CaseIgnoreListMatch
+CountryName
+Criteria
+DayTime
+DayTimeBand
+DestinationIndicator
DirectoryString
+EnhancedGuide
+FacsimileTelephoneNumber
+InternationalISDNNumber
+LanguageContextSyntax
+LocaleContextSyntax
+MultipleMatchingLocalities
+NameAndOptionalUID
+NamedDay
+OctetSubstringAssertion
+Period
+PostalAddress
+PreferredDeliveryMethod
+PresentationAddress
+ProtocolInformation
+SubstringAssertion
+TimeAssertion
+TimeSpecification
+TimeZone
UniqueIdentifier
+X121Address
+XDayOf
+ZonalResult
+ZonalSelect
#.REGISTER
CountryName B "2.5.4.6" "id-at-countryName"
diff --git a/asn1/x509sat/x509sat_exp.cnf b/asn1/x509sat/x509sat_exp.cnf
deleted file mode 100644
index c404778617..0000000000
--- a/asn1/x509sat/x509sat_exp.cnf
+++ /dev/null
@@ -1,4 +0,0 @@
-
-#.IMPORT_TAG
-UniqueIdentifier BER_CLASS_UNI BER_UNI_TAG_BITSTRING
-DirectoryString BER_CLASS_UNI BER_UNI_TAG_PrintableString
diff --git a/epan/dissectors/packet-x509if.c b/epan/dissectors/packet-x509if.c
index 347ec54539..79ea7c3c8b 100644
--- a/epan/dissectors/packet-x509if.c
+++ b/epan/dissectors/packet-x509if.c
@@ -2269,11 +2269,11 @@ void proto_register_x509if(void) {
"SearchRuleDescription/name", HFILL }},
{ &hf_x509if_name_item,
{ "Item", "x509if.name_item",
- FT_NONE, BASE_NONE, NULL, 0,
+ FT_STRING, BASE_NONE, NULL, 0,
"SearchRuleDescription/name/_item", HFILL }},
{ &hf_x509if_description,
{ "description", "x509if.description",
- FT_NONE, BASE_NONE, NULL, 0,
+ FT_STRING, BASE_NONE, NULL, 0,
"SearchRuleDescription/description", HFILL }},
{ &hf_x509if_obsolete,
{ "obsolete", "x509if.obsolete",
diff --git a/epan/dissectors/packet-x509sat.c b/epan/dissectors/packet-x509sat.c
index 43a2009591..14d6d4ee1a 100644
--- a/epan/dissectors/packet-x509sat.c
+++ b/epan/dissectors/packet-x509sat.c
@@ -1,7 +1,7 @@
/* Do not modify this file. */
/* It is created automatically by the ASN.1 to Ethereal dissector compiler */
/* ./packet-x509sat.c */
-/* ../../tools/asn2eth.py -X -b -p x509sat -c x509sat.cnf -s packet-x509sat-template SelectedAttributeTypes.asn */
+/* ../../tools/asn2eth.py -X -b -k -e -p x509sat -c x509sat.cnf -s packet-x509sat-template SelectedAttributeTypes.asn */
/* Input file: packet-x509sat-template.c */
@@ -9,7 +9,7 @@
/* packet-x509sat.c
* Routines for X.509 Selected Attribute Types packet dissection
*
- * $Id: packet-x509sat-template.c 12545 2004-11-20 05:58:13Z sahlberg $
+ * $Id: packet-x509sat-template.c 12546 2004-11-20 06:54:45Z sahlberg $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -51,7 +51,6 @@
/* Initialize the protocol and registered fields */
int proto_x509sat = -1;
-/*aaa*/
/*--- Included file: packet-x509sat-hf.c ---*/
@@ -59,14 +58,127 @@ static int hf_x509sat_DirectoryString_PDU = -1; /* DirectoryString */
static int hf_x509sat_CountryName_PDU = -1; /* CountryName */
static int hf_x509sat_TelephoneNumber_PDU = -1; /* TelephoneNumber */
static int hf_x509sat_TelexNumber_PDU = -1; /* TelexNumber */
+static int hf_x509sat_type = -1; /* CriteriaItem */
+static int hf_x509sat_and = -1; /* SET_OF_Criteria */
+static int hf_x509sat_and_item = -1; /* Criteria */
+static int hf_x509sat_or = -1; /* SET_OF_Criteria */
+static int hf_x509sat_or_item = -1; /* Criteria */
+static int hf_x509sat_not = -1; /* Criteria */
static int hf_x509sat_equality = -1; /* AttributeType */
static int hf_x509sat_substrings = -1; /* AttributeType */
static int hf_x509sat_greaterOrEqual = -1; /* AttributeType */
static int hf_x509sat_lessOrEqual = -1; /* AttributeType */
static int hf_x509sat_approximateMatch = -1; /* AttributeType */
+static int hf_x509sat_objectClass = -1; /* OBJECT_IDENTIFIER */
+static int hf_x509sat_criteria = -1; /* Criteria */
+static int hf_x509sat_subset = -1; /* T_subset */
+static int hf_x509sat_PostalAddress_item = -1; /* DirectoryString */
static int hf_x509sat_telexNumber = -1; /* PrintableString */
static int hf_x509sat_countryCode = -1; /* PrintableString */
static int hf_x509sat_answerback = -1; /* PrintableString */
+static int hf_x509sat_telephoneNumber = -1; /* TelephoneNumber */
+static int hf_x509sat_PreferredDeliveryMethod_item = -1; /* PreferredDeliveryMethod_item */
+static int hf_x509sat_pSelector = -1; /* OCTET_STRING */
+static int hf_x509sat_sSelector = -1; /* OCTET_STRING */
+static int hf_x509sat_tSelector = -1; /* OCTET_STRING */
+static int hf_x509sat_nAddresses = -1; /* SET_OF_OCTET_STRING */
+static int hf_x509sat_nAddresses_item = -1; /* OCTET_STRING */
+static int hf_x509sat_nAddress = -1; /* OCTET_STRING */
+static int hf_x509sat_profiles = -1; /* SET_OF_OBJECT_IDENTIFIER */
+static int hf_x509sat_profiles_item = -1; /* OBJECT_IDENTIFIER */
+static int hf_x509sat_dn = -1; /* DistinguishedName */
+static int hf_x509sat_uid = -1; /* UniqueIdentifier */
+static int hf_x509sat_matchingRuleUsed = -1; /* OBJECT_IDENTIFIER */
+static int hf_x509sat_attributeList = -1; /* SEQUNCE_OF_AttributeValueAssertion */
+static int hf_x509sat_attributeList_item = -1; /* AttributeValueAssertion */
+static int hf_x509sat_SubstringAssertion_item = -1; /* SubstringAssertion_item */
+static int hf_x509sat_initial = -1; /* DirectoryString */
+static int hf_x509sat_any = -1; /* DirectoryString */
+static int hf_x509sat_final = -1; /* DirectoryString */
+static int hf_x509sat_control = -1; /* Attribute */
+static int hf_x509sat_CaseIgnoreListMatch_item = -1; /* DirectoryString */
+static int hf_x509sat_OctetSubstringAssertion_item = -1; /* OctetSubstringAssertion_item */
+static int hf_x509sat_initial1 = -1; /* OCTET_STRING */
+static int hf_x509sat_any1 = -1; /* OCTET_STRING */
+static int hf_x509sat_final1 = -1; /* OCTET_STRING */
+static int hf_x509sat_ZonalSelect_item = -1; /* AttributeType */
+static int hf_x509sat_time = -1; /* T_time */
+static int hf_x509sat_absolute = -1; /* T_absolute */
+static int hf_x509sat_startTime = -1; /* GeneralizedTime */
+static int hf_x509sat_endTime = -1; /* GeneralizedTime */
+static int hf_x509sat_periodic = -1; /* SET_OF_Period */
+static int hf_x509sat_periodic_item = -1; /* Period */
+static int hf_x509sat_notThisTime = -1; /* BOOLEAN */
+static int hf_x509sat_timeZone = -1; /* TimeZone */
+static int hf_x509sat_timesOfDay = -1; /* SET_OF_DayTimeBand */
+static int hf_x509sat_timesOfDay_item = -1; /* DayTimeBand */
+static int hf_x509sat_days = -1; /* T_days */
+static int hf_x509sat_intDay = -1; /* SET_OF_INTEGER */
+static int hf_x509sat_intDay_item = -1; /* INTEGER */
+static int hf_x509sat_bitDay = -1; /* T_bitDay */
+static int hf_x509sat_dayOf = -1; /* XDayOf */
+static int hf_x509sat_weeks = -1; /* T_weeks */
+static int hf_x509sat_allWeeks = -1; /* NULL */
+static int hf_x509sat_intWeek = -1; /* SET_OF_INTEGER */
+static int hf_x509sat_intWeek_item = -1; /* INTEGER */
+static int hf_x509sat_bitWeek = -1; /* T_bitWeek */
+static int hf_x509sat_months = -1; /* T_months */
+static int hf_x509sat_allMonths = -1; /* NULL */
+static int hf_x509sat_intMonth = -1; /* SET_OF_INTEGER */
+static int hf_x509sat_intMonth_item = -1; /* INTEGER */
+static int hf_x509sat_bitMonth = -1; /* T_bitMonth */
+static int hf_x509sat_years = -1; /* SET_OF_INTEGER */
+static int hf_x509sat_years_item = -1; /* INTEGER */
+static int hf_x509sat_first = -1; /* NamedDay */
+static int hf_x509sat_second = -1; /* NamedDay */
+static int hf_x509sat_third = -1; /* NamedDay */
+static int hf_x509sat_fourth = -1; /* NamedDay */
+static int hf_x509sat_fifth = -1; /* NamedDay */
+static int hf_x509sat_intNamedDays = -1; /* T_intNamedDays */
+static int hf_x509sat_bitNamedDays = -1; /* T_bitNamedDays */
+static int hf_x509sat_startDayTime = -1; /* DayTime */
+static int hf_x509sat_endDayTime = -1; /* DayTime */
+static int hf_x509sat_hour = -1; /* INTEGER */
+static int hf_x509sat_minute = -1; /* INTEGER */
+static int hf_x509sat_second1 = -1; /* INTEGER */
+static int hf_x509sat_now = -1; /* NULL */
+static int hf_x509sat_at = -1; /* GeneralizedTime */
+static int hf_x509sat_between = -1; /* T_between */
+static int hf_x509sat_entirely = -1; /* BOOLEAN */
+static int hf_x509sat_localeID1 = -1; /* OBJECT_IDENTIFIER */
+static int hf_x509sat_localeID2 = -1; /* DirectoryString */
+/* named bits */
+static int hf_x509sat_T_bitDay_sunday = -1;
+static int hf_x509sat_T_bitDay_monday = -1;
+static int hf_x509sat_T_bitDay_tuesday = -1;
+static int hf_x509sat_T_bitDay_wednesday = -1;
+static int hf_x509sat_T_bitDay_thursday = -1;
+static int hf_x509sat_T_bitDay_friday = -1;
+static int hf_x509sat_T_bitDay_saturday = -1;
+static int hf_x509sat_T_bitWeek_week1 = -1;
+static int hf_x509sat_T_bitWeek_week2 = -1;
+static int hf_x509sat_T_bitWeek_week3 = -1;
+static int hf_x509sat_T_bitWeek_week4 = -1;
+static int hf_x509sat_T_bitWeek_week5 = -1;
+static int hf_x509sat_T_bitMonth_january = -1;
+static int hf_x509sat_T_bitMonth_february = -1;
+static int hf_x509sat_T_bitMonth_march = -1;
+static int hf_x509sat_T_bitMonth_april = -1;
+static int hf_x509sat_T_bitMonth_may = -1;
+static int hf_x509sat_T_bitMonth_june = -1;
+static int hf_x509sat_T_bitMonth_july = -1;
+static int hf_x509sat_T_bitMonth_august = -1;
+static int hf_x509sat_T_bitMonth_september = -1;
+static int hf_x509sat_T_bitMonth_october = -1;
+static int hf_x509sat_T_bitMonth_november = -1;
+static int hf_x509sat_T_bitMonth_december = -1;
+static int hf_x509sat_T_bitNamedDays_sunday = -1;
+static int hf_x509sat_T_bitNamedDays_monday = -1;
+static int hf_x509sat_T_bitNamedDays_tuesday = -1;
+static int hf_x509sat_T_bitNamedDays_wednesday = -1;
+static int hf_x509sat_T_bitNamedDays_thursday = -1;
+static int hf_x509sat_T_bitNamedDays_friday = -1;
+static int hf_x509sat_T_bitNamedDays_saturday = -1;
/*--- End of included file: packet-x509sat-hf.c ---*/
@@ -75,8 +187,48 @@ static int hf_x509sat_answerback = -1; /* PrintableString */
/*--- Included file: packet-x509sat-ett.c ---*/
+static gint ett_x509sat_Criteria = -1;
+static gint ett_x509sat_SET_OF_Criteria = -1;
static gint ett_x509sat_CriteriaItem = -1;
+static gint ett_x509sat_EnhancedGuide = -1;
+static gint ett_x509sat_PostalAddress = -1;
static gint ett_x509sat_TelexNumber = -1;
+static gint ett_x509sat_FacsimileTelephoneNumber = -1;
+static gint ett_x509sat_PreferredDeliveryMethod = -1;
+static gint ett_x509sat_PresentationAddress = -1;
+static gint ett_x509sat_SET_OF_OCTET_STRING = -1;
+static gint ett_x509sat_ProtocolInformation = -1;
+static gint ett_x509sat_SET_OF_OBJECT_IDENTIFIER = -1;
+static gint ett_x509sat_NameAndOptionalUID = -1;
+static gint ett_x509sat_MultipleMatchingLocalities = -1;
+static gint ett_x509sat_SEQUNCE_OF_AttributeValueAssertion = -1;
+static gint ett_x509sat_SubstringAssertion = -1;
+static gint ett_x509sat_SubstringAssertion_item = -1;
+static gint ett_x509sat_CaseIgnoreListMatch = -1;
+static gint ett_x509sat_OctetSubstringAssertion = -1;
+static gint ett_x509sat_OctetSubstringAssertion_item = -1;
+static gint ett_x509sat_ZonalSelect = -1;
+static gint ett_x509sat_TimeSpecification = -1;
+static gint ett_x509sat_T_time = -1;
+static gint ett_x509sat_T_absolute = -1;
+static gint ett_x509sat_SET_OF_Period = -1;
+static gint ett_x509sat_Period = -1;
+static gint ett_x509sat_SET_OF_DayTimeBand = -1;
+static gint ett_x509sat_T_days = -1;
+static gint ett_x509sat_SET_OF_INTEGER = -1;
+static gint ett_x509sat_T_bitDay = -1;
+static gint ett_x509sat_T_weeks = -1;
+static gint ett_x509sat_T_bitWeek = -1;
+static gint ett_x509sat_T_months = -1;
+static gint ett_x509sat_T_bitMonth = -1;
+static gint ett_x509sat_XDayOf = -1;
+static gint ett_x509sat_NamedDay = -1;
+static gint ett_x509sat_T_bitNamedDays = -1;
+static gint ett_x509sat_DayTimeBand = -1;
+static gint ett_x509sat_DayTime = -1;
+static gint ett_x509sat_TimeAssertion = -1;
+static gint ett_x509sat_T_between = -1;
+static gint ett_x509sat_LocaleContextSyntax = -1;
/*--- End of included file: packet-x509sat-ett.c ---*/
@@ -84,6 +236,26 @@ static gint ett_x509sat_TelexNumber = -1;
/*--- Included file: packet-x509sat-fn.c ---*/
+/*--- Cyclic dependencies ---*/
+
+/* Criteria -> Criteria/and -> Criteria */
+/* Criteria -> Criteria */
+int dissect_x509sat_Criteria(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
+
+static int dissect_and_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_Criteria(FALSE, tvb, offset, pinfo, tree, hf_x509sat_and_item);
+}
+static int dissect_or_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_Criteria(FALSE, tvb, offset, pinfo, tree, hf_x509sat_or_item);
+}
+static int dissect_not(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_Criteria(FALSE, tvb, offset, pinfo, tree, hf_x509sat_not);
+}
+static int dissect_criteria(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_Criteria(FALSE, tvb, offset, pinfo, tree, hf_x509sat_criteria);
+}
+
+
/*--- Fields for imported types ---*/
static int dissect_equality(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
@@ -101,29 +273,62 @@ static int dissect_lessOrEqual(packet_info *pinfo, proto_tree *tree, tvbuff_t *t
static int dissect_approximateMatch(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
return dissect_x509if_AttributeType(FALSE, tvb, offset, pinfo, tree, hf_x509sat_approximateMatch);
}
+static int dissect_dn(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509if_DistinguishedName(FALSE, tvb, offset, pinfo, tree, hf_x509sat_dn);
+}
+static int dissect_attributeList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509if_AttributeValueAssertion(FALSE, tvb, offset, pinfo, tree, hf_x509sat_attributeList_item);
+}
+static int dissect_control(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509if_Attribute(FALSE, tvb, offset, pinfo, tree, hf_x509sat_control);
+}
+static int dissect_ZonalSelect_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509if_AttributeType(FALSE, tvb, offset, pinfo, tree, hf_x509sat_ZonalSelect_item);
+}
int
-dissect_x509sat_DirectoryString(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) {
+dissect_x509sat_DirectoryString(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
return offset;
}
+static int dissect_PostalAddress_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_DirectoryString(FALSE, tvb, offset, pinfo, tree, hf_x509sat_PostalAddress_item);
+}
+static int dissect_initial(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_DirectoryString(FALSE, tvb, offset, pinfo, tree, hf_x509sat_initial);
+}
+static int dissect_any(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_DirectoryString(FALSE, tvb, offset, pinfo, tree, hf_x509sat_any);
+}
+static int dissect_final(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_DirectoryString(FALSE, tvb, offset, pinfo, tree, hf_x509sat_final);
+}
+static int dissect_CaseIgnoreListMatch_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_DirectoryString(FALSE, tvb, offset, pinfo, tree, hf_x509sat_CaseIgnoreListMatch_item);
+}
+static int dissect_localeID2(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_DirectoryString(FALSE, tvb, offset, pinfo, tree, hf_x509sat_localeID2);
+}
int
-dissect_x509sat_UniqueIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) {
+dissect_x509sat_UniqueIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
NULL, hf_index, -1,
NULL);
return offset;
}
+static int dissect_uid(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_UniqueIdentifier(FALSE, tvb, offset, pinfo, tree, hf_x509sat_uid);
+}
-static int
-dissect_x509sat_CountryName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) {
+int
+dissect_x509sat_CountryName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
pinfo, tree, tvb, offset, hf_index,
NULL);
@@ -151,26 +356,142 @@ static const ber_choice CriteriaItem_choice[] = {
};
static int
-dissect_x509sat_CriteriaItem(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) {
+dissect_x509sat_CriteriaItem(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_choice(pinfo, tree, tvb, offset,
CriteriaItem_choice, hf_index, ett_x509sat_CriteriaItem);
return offset;
}
+static int dissect_type(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_CriteriaItem(FALSE, tvb, offset, pinfo, tree, hf_x509sat_type);
+}
+
+static const ber_sequence SET_OF_Criteria_set_of[1] = {
+ { BER_CLASS_CON, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_and_item },
+};
+
+static int
+dissect_x509sat_SET_OF_Criteria(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
+ SET_OF_Criteria_set_of, hf_index, ett_x509sat_SET_OF_Criteria);
+
+ return offset;
+}
+static int dissect_and(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_SET_OF_Criteria(FALSE, tvb, offset, pinfo, tree, hf_x509sat_and);
+}
+static int dissect_or(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_SET_OF_Criteria(FALSE, tvb, offset, pinfo, tree, hf_x509sat_or);
+}
+
+
+const value_string Criteria_vals[] = {
+ { 0, "type" },
+ { 1, "and" },
+ { 2, "or" },
+ { 3, "not" },
+ { 0, NULL }
+};
+
+static const ber_choice Criteria_choice[] = {
+ { 0, BER_CLASS_CON, 0, 0, dissect_type },
+ { 1, BER_CLASS_CON, 1, 0, dissect_and },
+ { 2, BER_CLASS_CON, 2, 0, dissect_or },
+ { 3, BER_CLASS_CON, 3, 0, dissect_not },
+ { 0, 0, 0, 0, NULL }
+};
+
+int
+dissect_x509sat_Criteria(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_choice(pinfo, tree, tvb, offset,
+ Criteria_choice, hf_index, ett_x509sat_Criteria);
+
+ return offset;
+}
+
+
+static int
+dissect_x509sat_OBJECT_IDENTIFIER(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_object_identifier(implicit_tag, pinfo, tree, tvb, offset,
+ hf_index, NULL);
+
+ return offset;
+}
+static int dissect_objectClass(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_OBJECT_IDENTIFIER(FALSE, tvb, offset, pinfo, tree, hf_x509sat_objectClass);
+}
+static int dissect_profiles_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_OBJECT_IDENTIFIER(FALSE, tvb, offset, pinfo, tree, hf_x509sat_profiles_item);
+}
+static int dissect_matchingRuleUsed(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_OBJECT_IDENTIFIER(FALSE, tvb, offset, pinfo, tree, hf_x509sat_matchingRuleUsed);
+}
+static int dissect_localeID1(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_OBJECT_IDENTIFIER(FALSE, tvb, offset, pinfo, tree, hf_x509sat_localeID1);
+}
+
+
+static const value_string T_subset_vals[] = {
+ { 0, "baseObject" },
+ { 1, "oneLevel" },
+ { 2, "wholeSubtree" },
+ { 0, NULL }
+};
static int
-dissect_x509sat_TelephoneNumber(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) {
+dissect_x509sat_T_subset(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_integer_new(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
+
+ return offset;
+}
+static int dissect_subset(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_T_subset(FALSE, tvb, offset, pinfo, tree, hf_x509sat_subset);
+}
+
+static const ber_sequence EnhancedGuide_sequence[] = {
+ { BER_CLASS_CON, 0, 0, dissect_objectClass },
+ { BER_CLASS_CON, 1, BER_FLAGS_NOTCHKTAG, dissect_criteria },
+ { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_subset },
+ { 0, 0, 0, NULL }
+};
+
+int
+dissect_x509sat_EnhancedGuide(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+ EnhancedGuide_sequence, hf_index, ett_x509sat_EnhancedGuide);
+
+ return offset;
+}
+
+static const ber_sequence PostalAddress_sequence_of[1] = {
+ { BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_PostalAddress_item },
+};
+
+int
+dissect_x509sat_PostalAddress(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
+ PostalAddress_sequence_of, hf_index, ett_x509sat_PostalAddress);
+
+ return offset;
+}
+
+
+static int
+dissect_x509sat_TelephoneNumber(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
pinfo, tree, tvb, offset, hf_index,
NULL);
return offset;
}
+static int dissect_telephoneNumber(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_TelephoneNumber(FALSE, tvb, offset, pinfo, tree, hf_x509sat_telephoneNumber);
+}
static int
-dissect_x509sat_PrintableString(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) {
+dissect_x509sat_PrintableString(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
pinfo, tree, tvb, offset, hf_index,
NULL);
@@ -195,13 +516,943 @@ static const ber_sequence TelexNumber_sequence[] = {
};
static int
-dissect_x509sat_TelexNumber(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) {
+dissect_x509sat_TelexNumber(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
TelexNumber_sequence, hf_index, ett_x509sat_TelexNumber);
return offset;
}
+static const ber_sequence FacsimileTelephoneNumber_sequence[] = {
+ { BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_telephoneNumber },
+ { 0, 0, 0, NULL }
+};
+
+int
+dissect_x509sat_FacsimileTelephoneNumber(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+ FacsimileTelephoneNumber_sequence, hf_index, ett_x509sat_FacsimileTelephoneNumber);
+
+ return offset;
+}
+
+
+int
+dissect_x509sat_X121Address(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
+ pinfo, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+int
+dissect_x509sat_InternationalISDNNumber(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
+ pinfo, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+int
+dissect_x509sat_DestinationIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
+ pinfo, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+static const value_string PreferredDeliveryMethod_item_vals[] = {
+ { 0, "any-delivery-method" },
+ { 1, "mhs-delivery" },
+ { 2, "physical-delivery" },
+ { 3, "telex-delivery" },
+ { 4, "teletex-delivery" },
+ { 5, "g3-facsimile-delivery" },
+ { 6, "g4-facsimile-delivery" },
+ { 7, "ia5-terminal-delivery" },
+ { 8, "videotex-delivery" },
+ { 9, "telephone-delivery" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_x509sat_PreferredDeliveryMethod_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_integer_new(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
+
+ return offset;
+}
+static int dissect_PreferredDeliveryMethod_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_PreferredDeliveryMethod_item(FALSE, tvb, offset, pinfo, tree, hf_x509sat_PreferredDeliveryMethod_item);
+}
+
+static const ber_sequence PreferredDeliveryMethod_sequence_of[1] = {
+ { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_PreferredDeliveryMethod_item },
+};
+
+int
+dissect_x509sat_PreferredDeliveryMethod(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
+ PreferredDeliveryMethod_sequence_of, hf_index, ett_x509sat_PreferredDeliveryMethod);
+
+ return offset;
+}
+
+
+static int
+dissect_x509sat_OCTET_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+static int dissect_pSelector(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_OCTET_STRING(FALSE, tvb, offset, pinfo, tree, hf_x509sat_pSelector);
+}
+static int dissect_sSelector(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_OCTET_STRING(FALSE, tvb, offset, pinfo, tree, hf_x509sat_sSelector);
+}
+static int dissect_tSelector(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_OCTET_STRING(FALSE, tvb, offset, pinfo, tree, hf_x509sat_tSelector);
+}
+static int dissect_nAddresses_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_OCTET_STRING(FALSE, tvb, offset, pinfo, tree, hf_x509sat_nAddresses_item);
+}
+static int dissect_nAddress(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_OCTET_STRING(FALSE, tvb, offset, pinfo, tree, hf_x509sat_nAddress);
+}
+static int dissect_initial1(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_OCTET_STRING(FALSE, tvb, offset, pinfo, tree, hf_x509sat_initial1);
+}
+static int dissect_any1(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_OCTET_STRING(FALSE, tvb, offset, pinfo, tree, hf_x509sat_any1);
+}
+static int dissect_final1(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_OCTET_STRING(FALSE, tvb, offset, pinfo, tree, hf_x509sat_final1);
+}
+
+static const ber_sequence SET_OF_OCTET_STRING_set_of[1] = {
+ { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_nAddresses_item },
+};
+
+static int
+dissect_x509sat_SET_OF_OCTET_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
+ SET_OF_OCTET_STRING_set_of, hf_index, ett_x509sat_SET_OF_OCTET_STRING);
+
+ return offset;
+}
+static int dissect_nAddresses(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_SET_OF_OCTET_STRING(FALSE, tvb, offset, pinfo, tree, hf_x509sat_nAddresses);
+}
+
+static const ber_sequence PresentationAddress_sequence[] = {
+ { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_pSelector },
+ { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_sSelector },
+ { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_tSelector },
+ { BER_CLASS_CON, 3, 0, dissect_nAddresses },
+ { 0, 0, 0, NULL }
+};
+
+int
+dissect_x509sat_PresentationAddress(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+ PresentationAddress_sequence, hf_index, ett_x509sat_PresentationAddress);
+
+ return offset;
+}
+
+static const ber_sequence SET_OF_OBJECT_IDENTIFIER_set_of[1] = {
+ { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_profiles_item },
+};
+
+static int
+dissect_x509sat_SET_OF_OBJECT_IDENTIFIER(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
+ SET_OF_OBJECT_IDENTIFIER_set_of, hf_index, ett_x509sat_SET_OF_OBJECT_IDENTIFIER);
+
+ return offset;
+}
+static int dissect_profiles(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_SET_OF_OBJECT_IDENTIFIER(FALSE, tvb, offset, pinfo, tree, hf_x509sat_profiles);
+}
+
+static const ber_sequence ProtocolInformation_sequence[] = {
+ { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_nAddress },
+ { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_profiles },
+ { 0, 0, 0, NULL }
+};
+
+int
+dissect_x509sat_ProtocolInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+ ProtocolInformation_sequence, hf_index, ett_x509sat_ProtocolInformation);
+
+ return offset;
+}
+
+static const ber_sequence NameAndOptionalUID_sequence[] = {
+ { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dn },
+ { BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_uid },
+ { 0, 0, 0, NULL }
+};
+
+int
+dissect_x509sat_NameAndOptionalUID(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+ NameAndOptionalUID_sequence, hf_index, ett_x509sat_NameAndOptionalUID);
+
+ return offset;
+}
+
+static const ber_sequence SEQUNCE_OF_AttributeValueAssertion_sequence_of[1] = {
+ { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_attributeList_item },
+};
+
+static int
+dissect_x509sat_SEQUNCE_OF_AttributeValueAssertion(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
+ SEQUNCE_OF_AttributeValueAssertion_sequence_of, hf_index, ett_x509sat_SEQUNCE_OF_AttributeValueAssertion);
+
+ return offset;
+}
+static int dissect_attributeList(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_SEQUNCE_OF_AttributeValueAssertion(FALSE, tvb, offset, pinfo, tree, hf_x509sat_attributeList);
+}
+
+static const ber_sequence MultipleMatchingLocalities_sequence[] = {
+ { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_matchingRuleUsed },
+ { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_attributeList },
+ { 0, 0, 0, NULL }
+};
+
+int
+dissect_x509sat_MultipleMatchingLocalities(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+ MultipleMatchingLocalities_sequence, hf_index, ett_x509sat_MultipleMatchingLocalities);
+
+ return offset;
+}
+
+
+static const value_string SubstringAssertion_item_vals[] = {
+ { 0, "initial" },
+ { 1, "any" },
+ { 2, "final" },
+ { 3, "control" },
+ { 0, NULL }
+};
+
+static const ber_choice SubstringAssertion_item_choice[] = {
+ { 0, BER_CLASS_CON, 0, 0, dissect_initial },
+ { 1, BER_CLASS_CON, 1, 0, dissect_any },
+ { 2, BER_CLASS_CON, 2, 0, dissect_final },
+ { 3, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_control },
+ { 0, 0, 0, 0, NULL }
+};
+
+static int
+dissect_x509sat_SubstringAssertion_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_choice(pinfo, tree, tvb, offset,
+ SubstringAssertion_item_choice, hf_index, ett_x509sat_SubstringAssertion_item);
+
+ return offset;
+}
+static int dissect_SubstringAssertion_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_SubstringAssertion_item(FALSE, tvb, offset, pinfo, tree, hf_x509sat_SubstringAssertion_item);
+}
+
+static const ber_sequence SubstringAssertion_sequence_of[1] = {
+ { -1/*choice*/ , -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_SubstringAssertion_item },
+};
+
+int
+dissect_x509sat_SubstringAssertion(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
+ SubstringAssertion_sequence_of, hf_index, ett_x509sat_SubstringAssertion);
+
+ return offset;
+}
+
+static const ber_sequence CaseIgnoreListMatch_sequence_of[1] = {
+ { BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_CaseIgnoreListMatch_item },
+};
+
+int
+dissect_x509sat_CaseIgnoreListMatch(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
+ CaseIgnoreListMatch_sequence_of, hf_index, ett_x509sat_CaseIgnoreListMatch);
+
+ return offset;
+}
+
+
+static const value_string OctetSubstringAssertion_item_vals[] = {
+ { 0, "initial" },
+ { 1, "any" },
+ { 2, "final" },
+ { 0, NULL }
+};
+
+static const ber_choice OctetSubstringAssertion_item_choice[] = {
+ { 0, BER_CLASS_CON, 0, 0, dissect_initial1 },
+ { 1, BER_CLASS_CON, 1, 0, dissect_any1 },
+ { 2, BER_CLASS_CON, 2, 0, dissect_final1 },
+ { 0, 0, 0, 0, NULL }
+};
+
+static int
+dissect_x509sat_OctetSubstringAssertion_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_choice(pinfo, tree, tvb, offset,
+ OctetSubstringAssertion_item_choice, hf_index, ett_x509sat_OctetSubstringAssertion_item);
+
+ return offset;
+}
+static int dissect_OctetSubstringAssertion_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_OctetSubstringAssertion_item(FALSE, tvb, offset, pinfo, tree, hf_x509sat_OctetSubstringAssertion_item);
+}
+
+static const ber_sequence OctetSubstringAssertion_sequence_of[1] = {
+ { BER_CLASS_CON, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_OctetSubstringAssertion_item },
+};
+
+int
+dissect_x509sat_OctetSubstringAssertion(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
+ OctetSubstringAssertion_sequence_of, hf_index, ett_x509sat_OctetSubstringAssertion);
+
+ return offset;
+}
+
+static const ber_sequence ZonalSelect_sequence_of[1] = {
+ { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_ZonalSelect_item },
+};
+
+int
+dissect_x509sat_ZonalSelect(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
+ ZonalSelect_sequence_of, hf_index, ett_x509sat_ZonalSelect);
+
+ return offset;
+}
+
+
+const value_string ZonalResult_vals[] = {
+ { 0, "cannot-select-mapping" },
+ { 2, "zero-mappings" },
+ { 3, "multiple-mappings" },
+ { 0, NULL }
+};
+
+
+int
+dissect_x509sat_ZonalResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_integer_new(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
+
+ return offset;
+}
+
+
+int
+dissect_x509sat_LanguageContextSyntax(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
+ pinfo, tree, tvb, offset, hf_index,
+ NULL);
+
+ return offset;
+}
+
+
+static int
+dissect_x509sat_GeneralizedTime(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_generalized_time(pinfo, tree, tvb, offset, hf_index);
+
+ return offset;
+}
+static int dissect_startTime(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_GeneralizedTime(FALSE, tvb, offset, pinfo, tree, hf_x509sat_startTime);
+}
+static int dissect_endTime(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_GeneralizedTime(FALSE, tvb, offset, pinfo, tree, hf_x509sat_endTime);
+}
+static int dissect_at(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_GeneralizedTime(FALSE, tvb, offset, pinfo, tree, hf_x509sat_at);
+}
+
+static const ber_sequence T_absolute_sequence[] = {
+ { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_startTime },
+ { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_endTime },
+ { 0, 0, 0, NULL }
+};
+
+static int
+dissect_x509sat_T_absolute(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+ T_absolute_sequence, hf_index, ett_x509sat_T_absolute);
+
+ return offset;
+}
+static int dissect_absolute(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_T_absolute(FALSE, tvb, offset, pinfo, tree, hf_x509sat_absolute);
+}
+
+
+
+static int
+dissect_x509sat_INTEGER(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_integer_new(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
+
+ return offset;
+}
+static int dissect_intDay_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_INTEGER(FALSE, tvb, offset, pinfo, tree, hf_x509sat_intDay_item);
+}
+static int dissect_intWeek_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_INTEGER(FALSE, tvb, offset, pinfo, tree, hf_x509sat_intWeek_item);
+}
+static int dissect_intMonth_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_INTEGER(FALSE, tvb, offset, pinfo, tree, hf_x509sat_intMonth_item);
+}
+static int dissect_years_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_INTEGER(FALSE, tvb, offset, pinfo, tree, hf_x509sat_years_item);
+}
+static int dissect_hour(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_INTEGER(FALSE, tvb, offset, pinfo, tree, hf_x509sat_hour);
+}
+static int dissect_minute(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_INTEGER(FALSE, tvb, offset, pinfo, tree, hf_x509sat_minute);
+}
+static int dissect_second1(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_INTEGER(FALSE, tvb, offset, pinfo, tree, hf_x509sat_second1);
+}
+
+static const ber_sequence DayTime_sequence[] = {
+ { BER_CLASS_CON, 0, 0, dissect_hour },
+ { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_minute },
+ { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_second1 },
+ { 0, 0, 0, NULL }
+};
+
+int
+dissect_x509sat_DayTime(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+ DayTime_sequence, hf_index, ett_x509sat_DayTime);
+
+ return offset;
+}
+static int dissect_startDayTime(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_DayTime(FALSE, tvb, offset, pinfo, tree, hf_x509sat_startDayTime);
+}
+static int dissect_endDayTime(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_DayTime(FALSE, tvb, offset, pinfo, tree, hf_x509sat_endDayTime);
+}
+
+static const ber_sequence DayTimeBand_sequence[] = {
+ { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_startDayTime },
+ { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_endDayTime },
+ { 0, 0, 0, NULL }
+};
+
+int
+dissect_x509sat_DayTimeBand(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+ DayTimeBand_sequence, hf_index, ett_x509sat_DayTimeBand);
+
+ return offset;
+}
+static int dissect_timesOfDay_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_DayTimeBand(FALSE, tvb, offset, pinfo, tree, hf_x509sat_timesOfDay_item);
+}
+
+static const ber_sequence SET_OF_DayTimeBand_set_of[1] = {
+ { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_timesOfDay_item },
+};
+
+static int
+dissect_x509sat_SET_OF_DayTimeBand(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
+ SET_OF_DayTimeBand_set_of, hf_index, ett_x509sat_SET_OF_DayTimeBand);
+
+ return offset;
+}
+static int dissect_timesOfDay(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_SET_OF_DayTimeBand(FALSE, tvb, offset, pinfo, tree, hf_x509sat_timesOfDay);
+}
+
+static const ber_sequence SET_OF_INTEGER_set_of[1] = {
+ { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_intDay_item },
+};
+
+static int
+dissect_x509sat_SET_OF_INTEGER(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
+ SET_OF_INTEGER_set_of, hf_index, ett_x509sat_SET_OF_INTEGER);
+
+ return offset;
+}
+static int dissect_intDay(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_SET_OF_INTEGER(FALSE, tvb, offset, pinfo, tree, hf_x509sat_intDay);
+}
+static int dissect_intWeek(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_SET_OF_INTEGER(FALSE, tvb, offset, pinfo, tree, hf_x509sat_intWeek);
+}
+static int dissect_intMonth(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_SET_OF_INTEGER(FALSE, tvb, offset, pinfo, tree, hf_x509sat_intMonth);
+}
+static int dissect_years(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_SET_OF_INTEGER(FALSE, tvb, offset, pinfo, tree, hf_x509sat_years);
+}
+
+static const asn_namedbit T_bitDay_bits[] = {
+ { 0, &hf_x509sat_T_bitDay_sunday, -1, -1, NULL, NULL },
+ { 1, &hf_x509sat_T_bitDay_monday, -1, -1, NULL, NULL },
+ { 2, &hf_x509sat_T_bitDay_tuesday, -1, -1, NULL, NULL },
+ { 3, &hf_x509sat_T_bitDay_wednesday, -1, -1, NULL, NULL },
+ { 4, &hf_x509sat_T_bitDay_thursday, -1, -1, NULL, NULL },
+ { 5, &hf_x509sat_T_bitDay_friday, -1, -1, NULL, NULL },
+ { 6, &hf_x509sat_T_bitDay_saturday, -1, -1, NULL, NULL },
+ { 0, NULL, 0, 0, NULL, NULL }
+};
+
+static int
+dissect_x509sat_T_bitDay(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
+ T_bitDay_bits, hf_index, ett_x509sat_T_bitDay,
+ NULL);
+
+ return offset;
+}
+static int dissect_bitDay(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_T_bitDay(FALSE, tvb, offset, pinfo, tree, hf_x509sat_bitDay);
+}
+
+
+static const value_string T_intNamedDays_vals[] = {
+ { 1, "sunday" },
+ { 2, "monday" },
+ { 3, "tuesday" },
+ { 4, "wednesday" },
+ { 5, "thursday" },
+ { 6, "friday" },
+ { 7, "saturday" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_x509sat_T_intNamedDays(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_integer_new(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
+
+ return offset;
+}
+static int dissect_intNamedDays(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_T_intNamedDays(FALSE, tvb, offset, pinfo, tree, hf_x509sat_intNamedDays);
+}
+
+static const asn_namedbit T_bitNamedDays_bits[] = {
+ { 0, &hf_x509sat_T_bitNamedDays_sunday, -1, -1, NULL, NULL },
+ { 1, &hf_x509sat_T_bitNamedDays_monday, -1, -1, NULL, NULL },
+ { 2, &hf_x509sat_T_bitNamedDays_tuesday, -1, -1, NULL, NULL },
+ { 3, &hf_x509sat_T_bitNamedDays_wednesday, -1, -1, NULL, NULL },
+ { 4, &hf_x509sat_T_bitNamedDays_thursday, -1, -1, NULL, NULL },
+ { 5, &hf_x509sat_T_bitNamedDays_friday, -1, -1, NULL, NULL },
+ { 6, &hf_x509sat_T_bitNamedDays_saturday, -1, -1, NULL, NULL },
+ { 0, NULL, 0, 0, NULL, NULL }
+};
+
+static int
+dissect_x509sat_T_bitNamedDays(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
+ T_bitNamedDays_bits, hf_index, ett_x509sat_T_bitNamedDays,
+ NULL);
+
+ return offset;
+}
+static int dissect_bitNamedDays(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_T_bitNamedDays(FALSE, tvb, offset, pinfo, tree, hf_x509sat_bitNamedDays);
+}
+
+
+const value_string NamedDay_vals[] = {
+ { 0, "intNamedDays" },
+ { 1, "bitNamedDays" },
+ { 0, NULL }
+};
+
+static const ber_choice NamedDay_choice[] = {
+ { 0, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_intNamedDays },
+ { 1, BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_bitNamedDays },
+ { 0, 0, 0, 0, NULL }
+};
+
+int
+dissect_x509sat_NamedDay(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_choice(pinfo, tree, tvb, offset,
+ NamedDay_choice, hf_index, ett_x509sat_NamedDay);
+
+ return offset;
+}
+static int dissect_first(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_NamedDay(FALSE, tvb, offset, pinfo, tree, hf_x509sat_first);
+}
+static int dissect_second(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_NamedDay(FALSE, tvb, offset, pinfo, tree, hf_x509sat_second);
+}
+static int dissect_third(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_NamedDay(FALSE, tvb, offset, pinfo, tree, hf_x509sat_third);
+}
+static int dissect_fourth(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_NamedDay(FALSE, tvb, offset, pinfo, tree, hf_x509sat_fourth);
+}
+static int dissect_fifth(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_NamedDay(FALSE, tvb, offset, pinfo, tree, hf_x509sat_fifth);
+}
+
+
+const value_string XDayOf_vals[] = {
+ { 1, "first" },
+ { 2, "second" },
+ { 3, "third" },
+ { 4, "fourth" },
+ { 5, "fifth" },
+ { 0, NULL }
+};
+
+static const ber_choice XDayOf_choice[] = {
+ { 1, BER_CLASS_CON, 1, 0, dissect_first },
+ { 2, BER_CLASS_CON, 2, 0, dissect_second },
+ { 3, BER_CLASS_CON, 3, 0, dissect_third },
+ { 4, BER_CLASS_CON, 4, 0, dissect_fourth },
+ { 5, BER_CLASS_CON, 5, 0, dissect_fifth },
+ { 0, 0, 0, 0, NULL }
+};
+
+int
+dissect_x509sat_XDayOf(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_choice(pinfo, tree, tvb, offset,
+ XDayOf_choice, hf_index, ett_x509sat_XDayOf);
+
+ return offset;
+}
+static int dissect_dayOf(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_XDayOf(FALSE, tvb, offset, pinfo, tree, hf_x509sat_dayOf);
+}
+
+
+static const value_string T_days_vals[] = {
+ { 0, "intDay" },
+ { 1, "bitDay" },
+ { 2, "dayOf" },
+ { 0, NULL }
+};
+
+static const ber_choice T_days_choice[] = {
+ { 0, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_intDay },
+ { 1, BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_bitDay },
+ { 2, BER_CLASS_CON, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_dayOf },
+ { 0, 0, 0, 0, NULL }
+};
+
+static int
+dissect_x509sat_T_days(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_choice(pinfo, tree, tvb, offset,
+ T_days_choice, hf_index, ett_x509sat_T_days);
+
+ return offset;
+}
+static int dissect_days(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_T_days(FALSE, tvb, offset, pinfo, tree, hf_x509sat_days);
+}
+
+
+static int
+dissect_x509sat_NULL(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ { proto_item *ti_tmp;
+ ti_tmp = proto_tree_add_item(tree, hf_index, tvb, offset>>8, 0, FALSE);
+ proto_item_append_text(ti_tmp, ": NULL");
+ }
+
+ return offset;
+}
+static int dissect_allWeeks(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_NULL(FALSE, tvb, offset, pinfo, tree, hf_x509sat_allWeeks);
+}
+static int dissect_allMonths(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_NULL(FALSE, tvb, offset, pinfo, tree, hf_x509sat_allMonths);
+}
+static int dissect_now(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_NULL(FALSE, tvb, offset, pinfo, tree, hf_x509sat_now);
+}
+
+static const asn_namedbit T_bitWeek_bits[] = {
+ { 0, &hf_x509sat_T_bitWeek_week1, -1, -1, NULL, NULL },
+ { 1, &hf_x509sat_T_bitWeek_week2, -1, -1, NULL, NULL },
+ { 2, &hf_x509sat_T_bitWeek_week3, -1, -1, NULL, NULL },
+ { 3, &hf_x509sat_T_bitWeek_week4, -1, -1, NULL, NULL },
+ { 4, &hf_x509sat_T_bitWeek_week5, -1, -1, NULL, NULL },
+ { 0, NULL, 0, 0, NULL, NULL }
+};
+
+static int
+dissect_x509sat_T_bitWeek(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
+ T_bitWeek_bits, hf_index, ett_x509sat_T_bitWeek,
+ NULL);
+
+ return offset;
+}
+static int dissect_bitWeek(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_T_bitWeek(FALSE, tvb, offset, pinfo, tree, hf_x509sat_bitWeek);
+}
+
+
+static const value_string T_weeks_vals[] = {
+ { 0, "allWeeks" },
+ { 1, "intWeek" },
+ { 2, "bitWeek" },
+ { 0, NULL }
+};
+
+static const ber_choice T_weeks_choice[] = {
+ { 0, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_allWeeks },
+ { 1, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_intWeek },
+ { 2, BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_bitWeek },
+ { 0, 0, 0, 0, NULL }
+};
+
+static int
+dissect_x509sat_T_weeks(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_choice(pinfo, tree, tvb, offset,
+ T_weeks_choice, hf_index, ett_x509sat_T_weeks);
+
+ return offset;
+}
+static int dissect_weeks(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_T_weeks(FALSE, tvb, offset, pinfo, tree, hf_x509sat_weeks);
+}
+
+static const asn_namedbit T_bitMonth_bits[] = {
+ { 0, &hf_x509sat_T_bitMonth_january, -1, -1, NULL, NULL },
+ { 1, &hf_x509sat_T_bitMonth_february, -1, -1, NULL, NULL },
+ { 2, &hf_x509sat_T_bitMonth_march, -1, -1, NULL, NULL },
+ { 3, &hf_x509sat_T_bitMonth_april, -1, -1, NULL, NULL },
+ { 4, &hf_x509sat_T_bitMonth_may, -1, -1, NULL, NULL },
+ { 5, &hf_x509sat_T_bitMonth_june, -1, -1, NULL, NULL },
+ { 6, &hf_x509sat_T_bitMonth_july, -1, -1, NULL, NULL },
+ { 7, &hf_x509sat_T_bitMonth_august, -1, -1, NULL, NULL },
+ { 8, &hf_x509sat_T_bitMonth_september, -1, -1, NULL, NULL },
+ { 9, &hf_x509sat_T_bitMonth_october, -1, -1, NULL, NULL },
+ { 10, &hf_x509sat_T_bitMonth_november, -1, -1, NULL, NULL },
+ { 11, &hf_x509sat_T_bitMonth_december, -1, -1, NULL, NULL },
+ { 0, NULL, 0, 0, NULL, NULL }
+};
+
+static int
+dissect_x509sat_T_bitMonth(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
+ T_bitMonth_bits, hf_index, ett_x509sat_T_bitMonth,
+ NULL);
+
+ return offset;
+}
+static int dissect_bitMonth(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_T_bitMonth(FALSE, tvb, offset, pinfo, tree, hf_x509sat_bitMonth);
+}
+
+
+static const value_string T_months_vals[] = {
+ { 0, "allMonths" },
+ { 1, "intMonth" },
+ { 2, "bitMonth" },
+ { 0, NULL }
+};
+
+static const ber_choice T_months_choice[] = {
+ { 0, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_allMonths },
+ { 1, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_intMonth },
+ { 2, BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_bitMonth },
+ { 0, 0, 0, 0, NULL }
+};
+
+static int
+dissect_x509sat_T_months(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_choice(pinfo, tree, tvb, offset,
+ T_months_choice, hf_index, ett_x509sat_T_months);
+
+ return offset;
+}
+static int dissect_months(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_T_months(FALSE, tvb, offset, pinfo, tree, hf_x509sat_months);
+}
+
+static const ber_sequence Period_sequence[] = {
+ { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_timesOfDay },
+ { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_days },
+ { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_weeks },
+ { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_months },
+ { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_years },
+ { 0, 0, 0, NULL }
+};
+
+int
+dissect_x509sat_Period(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+ Period_sequence, hf_index, ett_x509sat_Period);
+
+ return offset;
+}
+static int dissect_periodic_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_Period(FALSE, tvb, offset, pinfo, tree, hf_x509sat_periodic_item);
+}
+
+static const ber_sequence SET_OF_Period_set_of[1] = {
+ { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_periodic_item },
+};
+
+static int
+dissect_x509sat_SET_OF_Period(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
+ SET_OF_Period_set_of, hf_index, ett_x509sat_SET_OF_Period);
+
+ return offset;
+}
+static int dissect_periodic(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_SET_OF_Period(FALSE, tvb, offset, pinfo, tree, hf_x509sat_periodic);
+}
+
+
+static const value_string T_time_vals[] = {
+ { 0, "absolute" },
+ { 1, "periodic" },
+ { 0, NULL }
+};
+
+static const ber_choice T_time_choice[] = {
+ { 0, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_absolute },
+ { 1, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_periodic },
+ { 0, 0, 0, 0, NULL }
+};
+
+static int
+dissect_x509sat_T_time(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_choice(pinfo, tree, tvb, offset,
+ T_time_choice, hf_index, ett_x509sat_T_time);
+
+ return offset;
+}
+static int dissect_time(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_T_time(FALSE, tvb, offset, pinfo, tree, hf_x509sat_time);
+}
+
+
+static int
+dissect_x509sat_BOOLEAN(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_boolean(pinfo, tree, tvb, offset, hf_index);
+
+ return offset;
+}
+static int dissect_notThisTime(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_BOOLEAN(FALSE, tvb, offset, pinfo, tree, hf_x509sat_notThisTime);
+}
+static int dissect_entirely(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_BOOLEAN(FALSE, tvb, offset, pinfo, tree, hf_x509sat_entirely);
+}
+
+
+
+int
+dissect_x509sat_TimeZone(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_integer_new(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
+
+ return offset;
+}
+static int dissect_timeZone(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_TimeZone(FALSE, tvb, offset, pinfo, tree, hf_x509sat_timeZone);
+}
+
+static const ber_sequence TimeSpecification_sequence[] = {
+ { BER_CLASS_UNI, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_time },
+ { BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_notThisTime },
+ { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_timeZone },
+ { 0, 0, 0, NULL }
+};
+
+int
+dissect_x509sat_TimeSpecification(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+ TimeSpecification_sequence, hf_index, ett_x509sat_TimeSpecification);
+
+ return offset;
+}
+
+static const ber_sequence T_between_sequence[] = {
+ { BER_CLASS_CON, 0, 0, dissect_startTime },
+ { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_endTime },
+ { BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_entirely },
+ { 0, 0, 0, NULL }
+};
+
+static int
+dissect_x509sat_T_between(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
+ T_between_sequence, hf_index, ett_x509sat_T_between);
+
+ return offset;
+}
+static int dissect_between(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_x509sat_T_between(FALSE, tvb, offset, pinfo, tree, hf_x509sat_between);
+}
+
+
+const value_string TimeAssertion_vals[] = {
+ { 0, "now" },
+ { 1, "at" },
+ { 2, "between" },
+ { 0, NULL }
+};
+
+static const ber_choice TimeAssertion_choice[] = {
+ { 0, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_now },
+ { 1, BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_NOOWNTAG, dissect_at },
+ { 2, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_between },
+ { 0, 0, 0, 0, NULL }
+};
+
+int
+dissect_x509sat_TimeAssertion(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_choice(pinfo, tree, tvb, offset,
+ TimeAssertion_choice, hf_index, ett_x509sat_TimeAssertion);
+
+ return offset;
+}
+
+
+const value_string LocaleContextSyntax_vals[] = {
+ { 0, "localeID1" },
+ { 1, "localeID2" },
+ { 0, NULL }
+};
+
+static const ber_choice LocaleContextSyntax_choice[] = {
+ { 0, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_localeID1 },
+ { 1, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_localeID2 },
+ { 0, 0, 0, 0, NULL }
+};
+
+int
+dissect_x509sat_LocaleContextSyntax(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_choice(pinfo, tree, tvb, offset,
+ LocaleContextSyntax_choice, hf_index, ett_x509sat_LocaleContextSyntax);
+
+ return offset;
+}
+
/*--- PDUs ---*/
static void dissect_DirectoryString_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
@@ -221,14 +1472,12 @@ static void dissect_TelexNumber_PDU(tvbuff_t *tvb, packet_info *pinfo, proto_tre
/*--- End of included file: packet-x509sat-fn.c ---*/
-/*bbb*/
/*--- proto_register_x509sat ----------------------------------------------*/
void proto_register_x509sat(void) {
/* List of fields */
static hf_register_info hf[] = {
-/*ccc*/
/*--- Included file: packet-x509sat-hfarr.c ---*/
@@ -248,26 +1497,66 @@ void proto_register_x509sat(void) {
{ "TelexNumber", "x509sat.TelexNumber",
FT_NONE, BASE_NONE, NULL, 0,
"TelexNumber", HFILL }},
+ { &hf_x509sat_type,
+ { "type", "x509sat.type",
+ FT_UINT32, BASE_DEC, VALS(CriteriaItem_vals), 0,
+ "Criteria/type", HFILL }},
+ { &hf_x509sat_and,
+ { "and", "x509sat.and",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "Criteria/and", HFILL }},
+ { &hf_x509sat_and_item,
+ { "Item", "x509sat.and_item",
+ FT_UINT32, BASE_DEC, VALS(Criteria_vals), 0,
+ "Criteria/and/_item", HFILL }},
+ { &hf_x509sat_or,
+ { "or", "x509sat.or",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "Criteria/or", HFILL }},
+ { &hf_x509sat_or_item,
+ { "Item", "x509sat.or_item",
+ FT_UINT32, BASE_DEC, VALS(Criteria_vals), 0,
+ "Criteria/or/_item", HFILL }},
+ { &hf_x509sat_not,
+ { "not", "x509sat.not",
+ FT_UINT32, BASE_DEC, VALS(Criteria_vals), 0,
+ "Criteria/not", HFILL }},
{ &hf_x509sat_equality,
{ "equality", "x509sat.equality",
- FT_NONE, BASE_NONE, NULL, 0,
+ FT_STRING, BASE_NONE, NULL, 0,
"CriteriaItem/equality", HFILL }},
{ &hf_x509sat_substrings,
{ "substrings", "x509sat.substrings",
- FT_NONE, BASE_NONE, NULL, 0,
+ FT_STRING, BASE_NONE, NULL, 0,
"CriteriaItem/substrings", HFILL }},
{ &hf_x509sat_greaterOrEqual,
{ "greaterOrEqual", "x509sat.greaterOrEqual",
- FT_NONE, BASE_NONE, NULL, 0,
+ FT_STRING, BASE_NONE, NULL, 0,
"CriteriaItem/greaterOrEqual", HFILL }},
{ &hf_x509sat_lessOrEqual,
{ "lessOrEqual", "x509sat.lessOrEqual",
- FT_NONE, BASE_NONE, NULL, 0,
+ FT_STRING, BASE_NONE, NULL, 0,
"CriteriaItem/lessOrEqual", HFILL }},
{ &hf_x509sat_approximateMatch,
{ "approximateMatch", "x509sat.approximateMatch",
- FT_NONE, BASE_NONE, NULL, 0,
+ FT_STRING, BASE_NONE, NULL, 0,
"CriteriaItem/approximateMatch", HFILL }},
+ { &hf_x509sat_objectClass,
+ { "objectClass", "x509sat.objectClass",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "EnhancedGuide/objectClass", HFILL }},
+ { &hf_x509sat_criteria,
+ { "criteria", "x509sat.criteria",
+ FT_UINT32, BASE_DEC, VALS(Criteria_vals), 0,
+ "EnhancedGuide/criteria", HFILL }},
+ { &hf_x509sat_subset,
+ { "subset", "x509sat.subset",
+ FT_INT32, BASE_DEC, VALS(T_subset_vals), 0,
+ "EnhancedGuide/subset", HFILL }},
+ { &hf_x509sat_PostalAddress_item,
+ { "Item", "x509sat.PostalAddress_item",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "PostalAddress/_item", HFILL }},
{ &hf_x509sat_telexNumber,
{ "telexNumber", "x509sat.telexNumber",
FT_STRING, BASE_NONE, NULL, 0,
@@ -280,6 +1569,414 @@ void proto_register_x509sat(void) {
{ "answerback", "x509sat.answerback",
FT_STRING, BASE_NONE, NULL, 0,
"TelexNumber/answerback", HFILL }},
+ { &hf_x509sat_telephoneNumber,
+ { "telephoneNumber", "x509sat.telephoneNumber",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "FacsimileTelephoneNumber/telephoneNumber", HFILL }},
+ { &hf_x509sat_PreferredDeliveryMethod_item,
+ { "Item", "x509sat.PreferredDeliveryMethod_item",
+ FT_INT32, BASE_DEC, VALS(PreferredDeliveryMethod_item_vals), 0,
+ "PreferredDeliveryMethod/_item", HFILL }},
+ { &hf_x509sat_pSelector,
+ { "pSelector", "x509sat.pSelector",
+ FT_BYTES, BASE_HEX, NULL, 0,
+ "PresentationAddress/pSelector", HFILL }},
+ { &hf_x509sat_sSelector,
+ { "sSelector", "x509sat.sSelector",
+ FT_BYTES, BASE_HEX, NULL, 0,
+ "PresentationAddress/sSelector", HFILL }},
+ { &hf_x509sat_tSelector,
+ { "tSelector", "x509sat.tSelector",
+ FT_BYTES, BASE_HEX, NULL, 0,
+ "PresentationAddress/tSelector", HFILL }},
+ { &hf_x509sat_nAddresses,
+ { "nAddresses", "x509sat.nAddresses",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "PresentationAddress/nAddresses", HFILL }},
+ { &hf_x509sat_nAddresses_item,
+ { "Item", "x509sat.nAddresses_item",
+ FT_BYTES, BASE_HEX, NULL, 0,
+ "PresentationAddress/nAddresses/_item", HFILL }},
+ { &hf_x509sat_nAddress,
+ { "nAddress", "x509sat.nAddress",
+ FT_BYTES, BASE_HEX, NULL, 0,
+ "ProtocolInformation/nAddress", HFILL }},
+ { &hf_x509sat_profiles,
+ { "profiles", "x509sat.profiles",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "ProtocolInformation/profiles", HFILL }},
+ { &hf_x509sat_profiles_item,
+ { "Item", "x509sat.profiles_item",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "ProtocolInformation/profiles/_item", HFILL }},
+ { &hf_x509sat_dn,
+ { "dn", "x509sat.dn",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "NameAndOptionalUID/dn", HFILL }},
+ { &hf_x509sat_uid,
+ { "uid", "x509sat.uid",
+ FT_BYTES, BASE_HEX, NULL, 0,
+ "NameAndOptionalUID/uid", HFILL }},
+ { &hf_x509sat_matchingRuleUsed,
+ { "matchingRuleUsed", "x509sat.matchingRuleUsed",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "MultipleMatchingLocalities/matchingRuleUsed", HFILL }},
+ { &hf_x509sat_attributeList,
+ { "attributeList", "x509sat.attributeList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "MultipleMatchingLocalities/attributeList", HFILL }},
+ { &hf_x509sat_attributeList_item,
+ { "Item", "x509sat.attributeList_item",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "MultipleMatchingLocalities/attributeList/_item", HFILL }},
+ { &hf_x509sat_SubstringAssertion_item,
+ { "Item", "x509sat.SubstringAssertion_item",
+ FT_UINT32, BASE_DEC, VALS(SubstringAssertion_item_vals), 0,
+ "SubstringAssertion/_item", HFILL }},
+ { &hf_x509sat_initial,
+ { "initial", "x509sat.initial",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "SubstringAssertion/_item/initial", HFILL }},
+ { &hf_x509sat_any,
+ { "any", "x509sat.any",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "SubstringAssertion/_item/any", HFILL }},
+ { &hf_x509sat_final,
+ { "final", "x509sat.final",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "SubstringAssertion/_item/final", HFILL }},
+ { &hf_x509sat_control,
+ { "control", "x509sat.control",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "SubstringAssertion/_item/control", HFILL }},
+ { &hf_x509sat_CaseIgnoreListMatch_item,
+ { "Item", "x509sat.CaseIgnoreListMatch_item",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "CaseIgnoreListMatch/_item", HFILL }},
+ { &hf_x509sat_OctetSubstringAssertion_item,
+ { "Item", "x509sat.OctetSubstringAssertion_item",
+ FT_UINT32, BASE_DEC, VALS(OctetSubstringAssertion_item_vals), 0,
+ "OctetSubstringAssertion/_item", HFILL }},
+ { &hf_x509sat_initial1,
+ { "initial", "x509sat.initial",
+ FT_BYTES, BASE_HEX, NULL, 0,
+ "OctetSubstringAssertion/_item/initial", HFILL }},
+ { &hf_x509sat_any1,
+ { "any", "x509sat.any",
+ FT_BYTES, BASE_HEX, NULL, 0,
+ "OctetSubstringAssertion/_item/any", HFILL }},
+ { &hf_x509sat_final1,
+ { "final", "x509sat.final",
+ FT_BYTES, BASE_HEX, NULL, 0,
+ "OctetSubstringAssertion/_item/final", HFILL }},
+ { &hf_x509sat_ZonalSelect_item,
+ { "Item", "x509sat.ZonalSelect_item",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "ZonalSelect/_item", HFILL }},
+ { &hf_x509sat_time,
+ { "time", "x509sat.time",
+ FT_UINT32, BASE_DEC, VALS(T_time_vals), 0,
+ "TimeSpecification/time", HFILL }},
+ { &hf_x509sat_absolute,
+ { "absolute", "x509sat.absolute",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "TimeSpecification/time/absolute", HFILL }},
+ { &hf_x509sat_startTime,
+ { "startTime", "x509sat.startTime",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "", HFILL }},
+ { &hf_x509sat_endTime,
+ { "endTime", "x509sat.endTime",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "", HFILL }},
+ { &hf_x509sat_periodic,
+ { "periodic", "x509sat.periodic",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "TimeSpecification/time/periodic", HFILL }},
+ { &hf_x509sat_periodic_item,
+ { "Item", "x509sat.periodic_item",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "TimeSpecification/time/periodic/_item", HFILL }},
+ { &hf_x509sat_notThisTime,
+ { "notThisTime", "x509sat.notThisTime",
+ FT_BOOLEAN, 8, NULL, 0,
+ "TimeSpecification/notThisTime", HFILL }},
+ { &hf_x509sat_timeZone,
+ { "timeZone", "x509sat.timeZone",
+ FT_INT32, BASE_DEC, NULL, 0,
+ "TimeSpecification/timeZone", HFILL }},
+ { &hf_x509sat_timesOfDay,
+ { "timesOfDay", "x509sat.timesOfDay",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "Period/timesOfDay", HFILL }},
+ { &hf_x509sat_timesOfDay_item,
+ { "Item", "x509sat.timesOfDay_item",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "Period/timesOfDay/_item", HFILL }},
+ { &hf_x509sat_days,
+ { "days", "x509sat.days",
+ FT_UINT32, BASE_DEC, VALS(T_days_vals), 0,
+ "Period/days", HFILL }},
+ { &hf_x509sat_intDay,
+ { "intDay", "x509sat.intDay",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "Period/days/intDay", HFILL }},
+ { &hf_x509sat_intDay_item,
+ { "Item", "x509sat.intDay_item",
+ FT_INT32, BASE_DEC, NULL, 0,
+ "Period/days/intDay/_item", HFILL }},
+ { &hf_x509sat_bitDay,
+ { "bitDay", "x509sat.bitDay",
+ FT_BYTES, BASE_HEX, NULL, 0,
+ "Period/days/bitDay", HFILL }},
+ { &hf_x509sat_dayOf,
+ { "dayOf", "x509sat.dayOf",
+ FT_UINT32, BASE_DEC, VALS(XDayOf_vals), 0,
+ "Period/days/dayOf", HFILL }},
+ { &hf_x509sat_weeks,
+ { "weeks", "x509sat.weeks",
+ FT_UINT32, BASE_DEC, VALS(T_weeks_vals), 0,
+ "Period/weeks", HFILL }},
+ { &hf_x509sat_allWeeks,
+ { "allWeeks", "x509sat.allWeeks",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "Period/weeks/allWeeks", HFILL }},
+ { &hf_x509sat_intWeek,
+ { "intWeek", "x509sat.intWeek",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "Period/weeks/intWeek", HFILL }},
+ { &hf_x509sat_intWeek_item,
+ { "Item", "x509sat.intWeek_item",
+ FT_INT32, BASE_DEC, NULL, 0,
+ "Period/weeks/intWeek/_item", HFILL }},
+ { &hf_x509sat_bitWeek,
+ { "bitWeek", "x509sat.bitWeek",
+ FT_BYTES, BASE_HEX, NULL, 0,
+ "Period/weeks/bitWeek", HFILL }},
+ { &hf_x509sat_months,
+ { "months", "x509sat.months",
+ FT_UINT32, BASE_DEC, VALS(T_months_vals), 0,
+ "Period/months", HFILL }},
+ { &hf_x509sat_allMonths,
+ { "allMonths", "x509sat.allMonths",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "Period/months/allMonths", HFILL }},
+ { &hf_x509sat_intMonth,
+ { "intMonth", "x509sat.intMonth",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "Period/months/intMonth", HFILL }},
+ { &hf_x509sat_intMonth_item,
+ { "Item", "x509sat.intMonth_item",
+ FT_INT32, BASE_DEC, NULL, 0,
+ "Period/months/intMonth/_item", HFILL }},
+ { &hf_x509sat_bitMonth,
+ { "bitMonth", "x509sat.bitMonth",
+ FT_BYTES, BASE_HEX, NULL, 0,
+ "Period/months/bitMonth", HFILL }},
+ { &hf_x509sat_years,
+ { "years", "x509sat.years",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "Period/years", HFILL }},
+ { &hf_x509sat_years_item,
+ { "Item", "x509sat.years_item",
+ FT_INT32, BASE_DEC, NULL, 0,
+ "Period/years/_item", HFILL }},
+ { &hf_x509sat_first,
+ { "first", "x509sat.first",
+ FT_UINT32, BASE_DEC, VALS(NamedDay_vals), 0,
+ "XDayOf/first", HFILL }},
+ { &hf_x509sat_second,
+ { "second", "x509sat.second",
+ FT_UINT32, BASE_DEC, VALS(NamedDay_vals), 0,
+ "XDayOf/second", HFILL }},
+ { &hf_x509sat_third,
+ { "third", "x509sat.third",
+ FT_UINT32, BASE_DEC, VALS(NamedDay_vals), 0,
+ "XDayOf/third", HFILL }},
+ { &hf_x509sat_fourth,
+ { "fourth", "x509sat.fourth",
+ FT_UINT32, BASE_DEC, VALS(NamedDay_vals), 0,
+ "XDayOf/fourth", HFILL }},
+ { &hf_x509sat_fifth,
+ { "fifth", "x509sat.fifth",
+ FT_UINT32, BASE_DEC, VALS(NamedDay_vals), 0,
+ "XDayOf/fifth", HFILL }},
+ { &hf_x509sat_intNamedDays,
+ { "intNamedDays", "x509sat.intNamedDays",
+ FT_UINT32, BASE_DEC, VALS(T_intNamedDays_vals), 0,
+ "NamedDay/intNamedDays", HFILL }},
+ { &hf_x509sat_bitNamedDays,
+ { "bitNamedDays", "x509sat.bitNamedDays",
+ FT_BYTES, BASE_HEX, NULL, 0,
+ "NamedDay/bitNamedDays", HFILL }},
+ { &hf_x509sat_startDayTime,
+ { "startDayTime", "x509sat.startDayTime",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "DayTimeBand/startDayTime", HFILL }},
+ { &hf_x509sat_endDayTime,
+ { "endDayTime", "x509sat.endDayTime",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "DayTimeBand/endDayTime", HFILL }},
+ { &hf_x509sat_hour,
+ { "hour", "x509sat.hour",
+ FT_INT32, BASE_DEC, NULL, 0,
+ "DayTime/hour", HFILL }},
+ { &hf_x509sat_minute,
+ { "minute", "x509sat.minute",
+ FT_INT32, BASE_DEC, NULL, 0,
+ "DayTime/minute", HFILL }},
+ { &hf_x509sat_second1,
+ { "second", "x509sat.second",
+ FT_INT32, BASE_DEC, NULL, 0,
+ "DayTime/second", HFILL }},
+ { &hf_x509sat_now,
+ { "now", "x509sat.now",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "TimeAssertion/now", HFILL }},
+ { &hf_x509sat_at,
+ { "at", "x509sat.at",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "TimeAssertion/at", HFILL }},
+ { &hf_x509sat_between,
+ { "between", "x509sat.between",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "TimeAssertion/between", HFILL }},
+ { &hf_x509sat_entirely,
+ { "entirely", "x509sat.entirely",
+ FT_BOOLEAN, 8, NULL, 0,
+ "TimeAssertion/between/entirely", HFILL }},
+ { &hf_x509sat_localeID1,
+ { "localeID1", "x509sat.localeID1",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "LocaleContextSyntax/localeID1", HFILL }},
+ { &hf_x509sat_localeID2,
+ { "localeID2", "x509sat.localeID2",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "LocaleContextSyntax/localeID2", HFILL }},
+ { &hf_x509sat_T_bitDay_sunday,
+ { "sunday", "x509sat.sunday",
+ FT_BOOLEAN, 8, NULL, 0x80,
+ "", HFILL }},
+ { &hf_x509sat_T_bitDay_monday,
+ { "monday", "x509sat.monday",
+ FT_BOOLEAN, 8, NULL, 0x40,
+ "", HFILL }},
+ { &hf_x509sat_T_bitDay_tuesday,
+ { "tuesday", "x509sat.tuesday",
+ FT_BOOLEAN, 8, NULL, 0x20,
+ "", HFILL }},
+ { &hf_x509sat_T_bitDay_wednesday,
+ { "wednesday", "x509sat.wednesday",
+ FT_BOOLEAN, 8, NULL, 0x10,
+ "", HFILL }},
+ { &hf_x509sat_T_bitDay_thursday,
+ { "thursday", "x509sat.thursday",
+ FT_BOOLEAN, 8, NULL, 0x08,
+ "", HFILL }},
+ { &hf_x509sat_T_bitDay_friday,
+ { "friday", "x509sat.friday",
+ FT_BOOLEAN, 8, NULL, 0x04,
+ "", HFILL }},
+ { &hf_x509sat_T_bitDay_saturday,
+ { "saturday", "x509sat.saturday",
+ FT_BOOLEAN, 8, NULL, 0x02,
+ "", HFILL }},
+ { &hf_x509sat_T_bitWeek_week1,
+ { "week1", "x509sat.week1",
+ FT_BOOLEAN, 8, NULL, 0x80,
+ "", HFILL }},
+ { &hf_x509sat_T_bitWeek_week2,
+ { "week2", "x509sat.week2",
+ FT_BOOLEAN, 8, NULL, 0x40,
+ "", HFILL }},
+ { &hf_x509sat_T_bitWeek_week3,
+ { "week3", "x509sat.week3",
+ FT_BOOLEAN, 8, NULL, 0x20,
+ "", HFILL }},
+ { &hf_x509sat_T_bitWeek_week4,
+ { "week4", "x509sat.week4",
+ FT_BOOLEAN, 8, NULL, 0x10,
+ "", HFILL }},
+ { &hf_x509sat_T_bitWeek_week5,
+ { "week5", "x509sat.week5",
+ FT_BOOLEAN, 8, NULL, 0x08,
+ "", HFILL }},
+ { &hf_x509sat_T_bitMonth_january,
+ { "january", "x509sat.january",
+ FT_BOOLEAN, 8, NULL, 0x80,
+ "", HFILL }},
+ { &hf_x509sat_T_bitMonth_february,
+ { "february", "x509sat.february",
+ FT_BOOLEAN, 8, NULL, 0x40,
+ "", HFILL }},
+ { &hf_x509sat_T_bitMonth_march,
+ { "march", "x509sat.march",
+ FT_BOOLEAN, 8, NULL, 0x20,
+ "", HFILL }},
+ { &hf_x509sat_T_bitMonth_april,
+ { "april", "x509sat.april",
+ FT_BOOLEAN, 8, NULL, 0x10,
+ "", HFILL }},
+ { &hf_x509sat_T_bitMonth_may,
+ { "may", "x509sat.may",
+ FT_BOOLEAN, 8, NULL, 0x08,
+ "", HFILL }},
+ { &hf_x509sat_T_bitMonth_june,
+ { "june", "x509sat.june",
+ FT_BOOLEAN, 8, NULL, 0x04,
+ "", HFILL }},
+ { &hf_x509sat_T_bitMonth_july,
+ { "july", "x509sat.july",
+ FT_BOOLEAN, 8, NULL, 0x02,
+ "", HFILL }},
+ { &hf_x509sat_T_bitMonth_august,
+ { "august", "x509sat.august",
+ FT_BOOLEAN, 8, NULL, 0x01,
+ "", HFILL }},
+ { &hf_x509sat_T_bitMonth_september,
+ { "september", "x509sat.september",
+ FT_BOOLEAN, 8, NULL, 0x80,
+ "", HFILL }},
+ { &hf_x509sat_T_bitMonth_october,
+ { "october", "x509sat.october",
+ FT_BOOLEAN, 8, NULL, 0x40,
+ "", HFILL }},
+ { &hf_x509sat_T_bitMonth_november,
+ { "november", "x509sat.november",
+ FT_BOOLEAN, 8, NULL, 0x20,
+ "", HFILL }},
+ { &hf_x509sat_T_bitMonth_december,
+ { "december", "x509sat.december",
+ FT_BOOLEAN, 8, NULL, 0x10,
+ "", HFILL }},
+ { &hf_x509sat_T_bitNamedDays_sunday,
+ { "sunday", "x509sat.sunday",
+ FT_BOOLEAN, 8, NULL, 0x80,
+ "", HFILL }},
+ { &hf_x509sat_T_bitNamedDays_monday,
+ { "monday", "x509sat.monday",
+ FT_BOOLEAN, 8, NULL, 0x40,
+ "", HFILL }},
+ { &hf_x509sat_T_bitNamedDays_tuesday,
+ { "tuesday", "x509sat.tuesday",
+ FT_BOOLEAN, 8, NULL, 0x20,
+ "", HFILL }},
+ { &hf_x509sat_T_bitNamedDays_wednesday,
+ { "wednesday", "x509sat.wednesday",
+ FT_BOOLEAN, 8, NULL, 0x10,
+ "", HFILL }},
+ { &hf_x509sat_T_bitNamedDays_thursday,
+ { "thursday", "x509sat.thursday",
+ FT_BOOLEAN, 8, NULL, 0x08,
+ "", HFILL }},
+ { &hf_x509sat_T_bitNamedDays_friday,
+ { "friday", "x509sat.friday",
+ FT_BOOLEAN, 8, NULL, 0x04,
+ "", HFILL }},
+ { &hf_x509sat_T_bitNamedDays_saturday,
+ { "saturday", "x509sat.saturday",
+ FT_BOOLEAN, 8, NULL, 0x02,
+ "", HFILL }},
/*--- End of included file: packet-x509sat-hfarr.c ---*/
@@ -290,8 +1987,48 @@ void proto_register_x509sat(void) {
/*--- Included file: packet-x509sat-ettarr.c ---*/
+ &ett_x509sat_Criteria,
+ &ett_x509sat_SET_OF_Criteria,
&ett_x509sat_CriteriaItem,
+ &ett_x509sat_EnhancedGuide,
+ &ett_x509sat_PostalAddress,
&ett_x509sat_TelexNumber,
+ &ett_x509sat_FacsimileTelephoneNumber,
+ &ett_x509sat_PreferredDeliveryMethod,
+ &ett_x509sat_PresentationAddress,
+ &ett_x509sat_SET_OF_OCTET_STRING,
+ &ett_x509sat_ProtocolInformation,
+ &ett_x509sat_SET_OF_OBJECT_IDENTIFIER,
+ &ett_x509sat_NameAndOptionalUID,
+ &ett_x509sat_MultipleMatchingLocalities,
+ &ett_x509sat_SEQUNCE_OF_AttributeValueAssertion,
+ &ett_x509sat_SubstringAssertion,
+ &ett_x509sat_SubstringAssertion_item,
+ &ett_x509sat_CaseIgnoreListMatch,
+ &ett_x509sat_OctetSubstringAssertion,
+ &ett_x509sat_OctetSubstringAssertion_item,
+ &ett_x509sat_ZonalSelect,
+ &ett_x509sat_TimeSpecification,
+ &ett_x509sat_T_time,
+ &ett_x509sat_T_absolute,
+ &ett_x509sat_SET_OF_Period,
+ &ett_x509sat_Period,
+ &ett_x509sat_SET_OF_DayTimeBand,
+ &ett_x509sat_T_days,
+ &ett_x509sat_SET_OF_INTEGER,
+ &ett_x509sat_T_bitDay,
+ &ett_x509sat_T_weeks,
+ &ett_x509sat_T_bitWeek,
+ &ett_x509sat_T_months,
+ &ett_x509sat_T_bitMonth,
+ &ett_x509sat_XDayOf,
+ &ett_x509sat_NamedDay,
+ &ett_x509sat_T_bitNamedDays,
+ &ett_x509sat_DayTimeBand,
+ &ett_x509sat_DayTime,
+ &ett_x509sat_TimeAssertion,
+ &ett_x509sat_T_between,
+ &ett_x509sat_LocaleContextSyntax,
/*--- End of included file: packet-x509sat-ettarr.c ---*/
@@ -350,8 +2087,6 @@ void proto_reg_handoff_x509sat(void) {
/*--- End of included file: packet-x509sat-dis-tab.c ---*/
-
-/*ddd*/
}
diff --git a/epan/dissectors/packet-x509sat.h b/epan/dissectors/packet-x509sat.h
index 6e62311655..b76cfb164e 100644
--- a/epan/dissectors/packet-x509sat.h
+++ b/epan/dissectors/packet-x509sat.h
@@ -1,7 +1,7 @@
/* Do not modify this file. */
/* It is created automatically by the ASN.1 to Ethereal dissector compiler */
/* ./packet-x509sat.h */
-/* ../../tools/asn2eth.py -X -b -p x509sat -c x509sat.cnf -s packet-x509sat-template SelectedAttributeTypes.asn */
+/* ../../tools/asn2eth.py -X -b -k -e -p x509sat -c x509sat.cnf -s packet-x509sat-template SelectedAttributeTypes.asn */
/* Input file: packet-x509sat-template.h */
@@ -35,8 +35,42 @@
/*--- Included file: packet-x509sat-exp.h ---*/
+extern const value_string Criteria_vals[];
+extern const value_string ZonalResult_vals[];
+extern const value_string XDayOf_vals[];
+extern const value_string NamedDay_vals[];
+extern const value_string TimeAssertion_vals[];
+extern const value_string LocaleContextSyntax_vals[];
int dissect_x509sat_DirectoryString(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
int dissect_x509sat_UniqueIdentifier(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
+int dissect_x509sat_CountryName(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
+int dissect_x509sat_Criteria(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
+int dissect_x509sat_EnhancedGuide(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
+int dissect_x509sat_PostalAddress(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
+int dissect_x509sat_FacsimileTelephoneNumber(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
+int dissect_x509sat_X121Address(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
+int dissect_x509sat_InternationalISDNNumber(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
+int dissect_x509sat_DestinationIndicator(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
+int dissect_x509sat_PreferredDeliveryMethod(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
+int dissect_x509sat_PresentationAddress(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
+int dissect_x509sat_ProtocolInformation(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
+int dissect_x509sat_NameAndOptionalUID(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
+int dissect_x509sat_MultipleMatchingLocalities(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
+int dissect_x509sat_SubstringAssertion(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
+int dissect_x509sat_CaseIgnoreListMatch(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
+int dissect_x509sat_OctetSubstringAssertion(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
+int dissect_x509sat_ZonalSelect(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
+int dissect_x509sat_ZonalResult(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
+int dissect_x509sat_LanguageContextSyntax(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
+int dissect_x509sat_TimeSpecification(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
+int dissect_x509sat_Period(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
+int dissect_x509sat_XDayOf(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
+int dissect_x509sat_NamedDay(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
+int dissect_x509sat_DayTimeBand(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
+int dissect_x509sat_DayTime(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
+int dissect_x509sat_TimeZone(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
+int dissect_x509sat_TimeAssertion(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
+int dissect_x509sat_LocaleContextSyntax(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
/*--- End of included file: packet-x509sat-exp.h ---*/