GSM A DTAP: add UMTS EVS to supported codecs list IE
[metze/wireshark/wip.git] / epan / dissectors / packet-x509sat.c
1 /* Do not modify this file. Changes will be overwritten.                      */
2 /* Generated automatically by the ASN.1 to Wireshark dissector compiler       */
3 /* packet-x509sat.c                                                           */
4 /* asn2wrs.py -b -r Syntax -p x509sat -c ./x509sat.cnf -s ./packet-x509sat-template -D . -O ../.. SelectedAttributeTypes.asn */
5
6 /* Input file: packet-x509sat-template.c */
7
8 #line 1 "./asn1/x509sat/packet-x509sat-template.c"
9 /* packet-x509sat.c
10  * Routines for X.509 Selected Attribute Types packet dissection
11  *  Ronnie Sahlberg 2004
12  *
13  * Wireshark - Network traffic analyzer
14  * By Gerald Combs <gerald@wireshark.org>
15  * Copyright 1998 Gerald Combs
16  *
17  * SPDX-License-Identifier: GPL-2.0-or-later
18  */
19
20 #include "config.h"
21
22 #include <epan/packet.h>
23 #include <epan/oids.h>
24 #include <epan/asn1.h>
25
26 #include "packet-ber.h"
27 #include "packet-p1.h"
28 #include "packet-x509sat.h"
29 #include "packet-x509if.h"
30
31 #define PNAME  "X.509 Selected Attribute Types"
32 #define PSNAME "X509SAT"
33 #define PFNAME "x509sat"
34
35 void proto_register_x509sat(void);
36 void proto_reg_handoff_x509sat(void);
37
38 /* Initialize the protocol and registered fields */
39 static int proto_x509sat = -1;
40
41 /*--- Included file: packet-x509sat-hf.c ---*/
42 #line 1 "./asn1/x509sat/packet-x509sat-hf.c"
43 static int hf_x509sat_DirectoryString_PDU = -1;   /* DirectoryString */
44 static int hf_x509sat_UniqueIdentifier_PDU = -1;  /* UniqueIdentifier */
45 static int hf_x509sat_CountryName_PDU = -1;       /* CountryName */
46 static int hf_x509sat_Guide_PDU = -1;             /* Guide */
47 static int hf_x509sat_EnhancedGuide_PDU = -1;     /* EnhancedGuide */
48 static int hf_x509sat_PostalAddress_PDU = -1;     /* PostalAddress */
49 static int hf_x509sat_TelephoneNumber_PDU = -1;   /* TelephoneNumber */
50 static int hf_x509sat_TelexNumber_PDU = -1;       /* TelexNumber */
51 static int hf_x509sat_FacsimileTelephoneNumber_PDU = -1;  /* FacsimileTelephoneNumber */
52 static int hf_x509sat_X121Address_PDU = -1;       /* X121Address */
53 static int hf_x509sat_InternationalISDNNumber_PDU = -1;  /* InternationalISDNNumber */
54 static int hf_x509sat_DestinationIndicator_PDU = -1;  /* DestinationIndicator */
55 static int hf_x509sat_PreferredDeliveryMethod_PDU = -1;  /* PreferredDeliveryMethod */
56 static int hf_x509sat_PresentationAddress_PDU = -1;  /* PresentationAddress */
57 static int hf_x509sat_ProtocolInformation_PDU = -1;  /* ProtocolInformation */
58 static int hf_x509sat_NameAndOptionalUID_PDU = -1;  /* NameAndOptionalUID */
59 static int hf_x509sat_CaseIgnoreListMatch_PDU = -1;  /* CaseIgnoreListMatch */
60 static int hf_x509sat_ObjectIdentifier_PDU = -1;  /* ObjectIdentifier */
61 static int hf_x509sat_OctetString_PDU = -1;       /* OctetString */
62 static int hf_x509sat_BitString_PDU = -1;         /* BitString */
63 static int hf_x509sat_Integer_PDU = -1;           /* Integer */
64 static int hf_x509sat_Boolean_PDU = -1;           /* Boolean */
65 static int hf_x509sat_SyntaxGeneralizedTime_PDU = -1;  /* SyntaxGeneralizedTime */
66 static int hf_x509sat_SyntaxUTCTime_PDU = -1;     /* SyntaxUTCTime */
67 static int hf_x509sat_SyntaxNumericString_PDU = -1;  /* SyntaxNumericString */
68 static int hf_x509sat_SyntaxPrintableString_PDU = -1;  /* SyntaxPrintableString */
69 static int hf_x509sat_SyntaxIA5String_PDU = -1;   /* SyntaxIA5String */
70 static int hf_x509sat_SyntaxBMPString_PDU = -1;   /* SyntaxBMPString */
71 static int hf_x509sat_SyntaxUniversalString_PDU = -1;  /* SyntaxUniversalString */
72 static int hf_x509sat_SyntaxUTF8String_PDU = -1;  /* SyntaxUTF8String */
73 static int hf_x509sat_SyntaxTeletexString_PDU = -1;  /* SyntaxTeletexString */
74 static int hf_x509sat_SyntaxT61String_PDU = -1;   /* SyntaxT61String */
75 static int hf_x509sat_SyntaxVideotexString_PDU = -1;  /* SyntaxVideotexString */
76 static int hf_x509sat_SyntaxGraphicString_PDU = -1;  /* SyntaxGraphicString */
77 static int hf_x509sat_SyntaxISO646String_PDU = -1;  /* SyntaxISO646String */
78 static int hf_x509sat_SyntaxVisibleString_PDU = -1;  /* SyntaxVisibleString */
79 static int hf_x509sat_SyntaxGeneralString_PDU = -1;  /* SyntaxGeneralString */
80 static int hf_x509sat_GUID_PDU = -1;              /* GUID */
81 static int hf_x509sat_teletexString = -1;         /* TeletexString */
82 static int hf_x509sat_printableString = -1;       /* PrintableString */
83 static int hf_x509sat_universalString = -1;       /* UniversalString */
84 static int hf_x509sat_bmpString = -1;             /* BMPString */
85 static int hf_x509sat_uTF8String = -1;            /* UTF8String */
86 static int hf_x509sat_objectClass = -1;           /* OBJECT_IDENTIFIER */
87 static int hf_x509sat_criteria = -1;              /* Criteria */
88 static int hf_x509sat_type = -1;                  /* CriteriaItem */
89 static int hf_x509sat_and = -1;                   /* SET_OF_Criteria */
90 static int hf_x509sat_and_item = -1;              /* Criteria */
91 static int hf_x509sat_or = -1;                    /* SET_OF_Criteria */
92 static int hf_x509sat_or_item = -1;               /* Criteria */
93 static int hf_x509sat_not = -1;                   /* Criteria */
94 static int hf_x509sat_equality = -1;              /* AttributeType */
95 static int hf_x509sat_substrings = -1;            /* AttributeType */
96 static int hf_x509sat_greaterOrEqual = -1;        /* AttributeType */
97 static int hf_x509sat_lessOrEqual = -1;           /* AttributeType */
98 static int hf_x509sat_approximateMatch = -1;      /* AttributeType */
99 static int hf_x509sat_subset = -1;                /* T_subset */
100 static int hf_x509sat_PostalAddress_item = -1;    /* DirectoryString */
101 static int hf_x509sat_telexNumber = -1;           /* PrintableString */
102 static int hf_x509sat_countryCode = -1;           /* PrintableString */
103 static int hf_x509sat_answerback = -1;            /* PrintableString */
104 static int hf_x509sat_telephoneNumber = -1;       /* TelephoneNumber */
105 static int hf_x509sat_parameters = -1;            /* G3FacsimileNonBasicParameters */
106 static int hf_x509sat_PreferredDeliveryMethod_item = -1;  /* PreferredDeliveryMethod_item */
107 static int hf_x509sat_pSelector = -1;             /* OCTET_STRING */
108 static int hf_x509sat_sSelector = -1;             /* OCTET_STRING */
109 static int hf_x509sat_tSelector = -1;             /* OCTET_STRING */
110 static int hf_x509sat_nAddresses = -1;            /* T_nAddresses */
111 static int hf_x509sat_nAddresses_item = -1;       /* OCTET_STRING */
112 static int hf_x509sat_nAddress = -1;              /* OCTET_STRING */
113 static int hf_x509sat_profiles = -1;              /* T_profiles */
114 static int hf_x509sat_profiles_item = -1;         /* OBJECT_IDENTIFIER */
115 static int hf_x509sat_dn = -1;                    /* DistinguishedName */
116 static int hf_x509sat_uid = -1;                   /* UniqueIdentifier */
117 static int hf_x509sat_matchingRuleUsed = -1;      /* OBJECT_IDENTIFIER */
118 static int hf_x509sat_attributeList = -1;         /* SEQUENCE_OF_AttributeValueAssertion */
119 static int hf_x509sat_attributeList_item = -1;    /* AttributeValueAssertion */
120 static int hf_x509sat_SubstringAssertion_item = -1;  /* SubstringAssertion_item */
121 static int hf_x509sat_initial = -1;               /* DirectoryString */
122 static int hf_x509sat_any = -1;                   /* DirectoryString */
123 static int hf_x509sat_final = -1;                 /* DirectoryString */
124 static int hf_x509sat_control = -1;               /* Attribute */
125 static int hf_x509sat_CaseIgnoreListMatch_item = -1;  /* DirectoryString */
126 static int hf_x509sat_OctetSubstringAssertion_item = -1;  /* OctetSubstringAssertion_item */
127 static int hf_x509sat_initial_substring = -1;     /* OCTET_STRING */
128 static int hf_x509sat_any_substring = -1;         /* OCTET_STRING */
129 static int hf_x509sat_finall_substring = -1;      /* OCTET_STRING */
130 static int hf_x509sat_ZonalSelect_item = -1;      /* AttributeType */
131 static int hf_x509sat_time = -1;                  /* T_time */
132 static int hf_x509sat_absolute = -1;              /* T_absolute */
133 static int hf_x509sat_startTime = -1;             /* GeneralizedTime */
134 static int hf_x509sat_endTime = -1;               /* GeneralizedTime */
135 static int hf_x509sat_periodic = -1;              /* SET_OF_Period */
136 static int hf_x509sat_periodic_item = -1;         /* Period */
137 static int hf_x509sat_notThisTime = -1;           /* BOOLEAN */
138 static int hf_x509sat_timeZone = -1;              /* TimeZone */
139 static int hf_x509sat_timesOfDay = -1;            /* SET_OF_DayTimeBand */
140 static int hf_x509sat_timesOfDay_item = -1;       /* DayTimeBand */
141 static int hf_x509sat_days = -1;                  /* T_days */
142 static int hf_x509sat_intDay = -1;                /* T_intDay */
143 static int hf_x509sat_intDay_item = -1;           /* INTEGER */
144 static int hf_x509sat_bitDay = -1;                /* T_bitDay */
145 static int hf_x509sat_dayOf = -1;                 /* XDayOf */
146 static int hf_x509sat_weeks = -1;                 /* T_weeks */
147 static int hf_x509sat_allWeeks = -1;              /* NULL */
148 static int hf_x509sat_intWeek = -1;               /* T_intWeek */
149 static int hf_x509sat_intWeek_item = -1;          /* INTEGER */
150 static int hf_x509sat_bitWeek = -1;               /* T_bitWeek */
151 static int hf_x509sat_months = -1;                /* T_months */
152 static int hf_x509sat_allMonths = -1;             /* NULL */
153 static int hf_x509sat_intMonth = -1;              /* T_intMonth */
154 static int hf_x509sat_intMonth_item = -1;         /* INTEGER */
155 static int hf_x509sat_bitMonth = -1;              /* T_bitMonth */
156 static int hf_x509sat_years = -1;                 /* T_years */
157 static int hf_x509sat_years_item = -1;            /* INTEGER */
158 static int hf_x509sat_first_dayof = -1;           /* NamedDay */
159 static int hf_x509sat_second_dayof = -1;          /* NamedDay */
160 static int hf_x509sat_third_dayof = -1;           /* NamedDay */
161 static int hf_x509sat_fourth_dayof = -1;          /* NamedDay */
162 static int hf_x509sat_fifth_dayof = -1;           /* NamedDay */
163 static int hf_x509sat_intNamedDays = -1;          /* T_intNamedDays */
164 static int hf_x509sat_bitNamedDays = -1;          /* T_bitNamedDays */
165 static int hf_x509sat_startDayTime = -1;          /* DayTime */
166 static int hf_x509sat_endDayTime = -1;            /* DayTime */
167 static int hf_x509sat_hour = -1;                  /* INTEGER */
168 static int hf_x509sat_minute = -1;                /* INTEGER */
169 static int hf_x509sat_second = -1;                /* INTEGER */
170 static int hf_x509sat_now = -1;                   /* NULL */
171 static int hf_x509sat_at = -1;                    /* GeneralizedTime */
172 static int hf_x509sat_between = -1;               /* T_between */
173 static int hf_x509sat_entirely = -1;              /* BOOLEAN */
174 static int hf_x509sat_localeID1 = -1;             /* OBJECT_IDENTIFIER */
175 static int hf_x509sat_localeID2 = -1;             /* DirectoryString */
176 /* named bits */
177 static int hf_x509sat_T_bitDay_sunday = -1;
178 static int hf_x509sat_T_bitDay_monday = -1;
179 static int hf_x509sat_T_bitDay_tuesday = -1;
180 static int hf_x509sat_T_bitDay_wednesday = -1;
181 static int hf_x509sat_T_bitDay_thursday = -1;
182 static int hf_x509sat_T_bitDay_friday = -1;
183 static int hf_x509sat_T_bitDay_saturday = -1;
184 static int hf_x509sat_T_bitWeek_week1 = -1;
185 static int hf_x509sat_T_bitWeek_week2 = -1;
186 static int hf_x509sat_T_bitWeek_week3 = -1;
187 static int hf_x509sat_T_bitWeek_week4 = -1;
188 static int hf_x509sat_T_bitWeek_week5 = -1;
189 static int hf_x509sat_T_bitMonth_january = -1;
190 static int hf_x509sat_T_bitMonth_february = -1;
191 static int hf_x509sat_T_bitMonth_march = -1;
192 static int hf_x509sat_T_bitMonth_april = -1;
193 static int hf_x509sat_T_bitMonth_may = -1;
194 static int hf_x509sat_T_bitMonth_june = -1;
195 static int hf_x509sat_T_bitMonth_july = -1;
196 static int hf_x509sat_T_bitMonth_august = -1;
197 static int hf_x509sat_T_bitMonth_september = -1;
198 static int hf_x509sat_T_bitMonth_october = -1;
199 static int hf_x509sat_T_bitMonth_november = -1;
200 static int hf_x509sat_T_bitMonth_december = -1;
201 static int hf_x509sat_T_bitNamedDays_sunday = -1;
202 static int hf_x509sat_T_bitNamedDays_monday = -1;
203 static int hf_x509sat_T_bitNamedDays_tuesday = -1;
204 static int hf_x509sat_T_bitNamedDays_wednesday = -1;
205 static int hf_x509sat_T_bitNamedDays_thursday = -1;
206 static int hf_x509sat_T_bitNamedDays_friday = -1;
207 static int hf_x509sat_T_bitNamedDays_saturday = -1;
208
209 /*--- End of included file: packet-x509sat-hf.c ---*/
210 #line 33 "./asn1/x509sat/packet-x509sat-template.c"
211
212 /* Initialize the subtree pointers */
213
214 /*--- Included file: packet-x509sat-ett.c ---*/
215 #line 1 "./asn1/x509sat/packet-x509sat-ett.c"
216 static gint ett_x509sat_DirectoryString = -1;
217 static gint ett_x509sat_Guide = -1;
218 static gint ett_x509sat_Criteria = -1;
219 static gint ett_x509sat_SET_OF_Criteria = -1;
220 static gint ett_x509sat_CriteriaItem = -1;
221 static gint ett_x509sat_EnhancedGuide = -1;
222 static gint ett_x509sat_PostalAddress = -1;
223 static gint ett_x509sat_TelexNumber = -1;
224 static gint ett_x509sat_FacsimileTelephoneNumber = -1;
225 static gint ett_x509sat_PreferredDeliveryMethod = -1;
226 static gint ett_x509sat_PresentationAddress = -1;
227 static gint ett_x509sat_T_nAddresses = -1;
228 static gint ett_x509sat_ProtocolInformation = -1;
229 static gint ett_x509sat_T_profiles = -1;
230 static gint ett_x509sat_NameAndOptionalUID = -1;
231 static gint ett_x509sat_MultipleMatchingLocalities = -1;
232 static gint ett_x509sat_SEQUENCE_OF_AttributeValueAssertion = -1;
233 static gint ett_x509sat_SubstringAssertion = -1;
234 static gint ett_x509sat_SubstringAssertion_item = -1;
235 static gint ett_x509sat_CaseIgnoreListMatch = -1;
236 static gint ett_x509sat_OctetSubstringAssertion = -1;
237 static gint ett_x509sat_OctetSubstringAssertion_item = -1;
238 static gint ett_x509sat_ZonalSelect = -1;
239 static gint ett_x509sat_TimeSpecification = -1;
240 static gint ett_x509sat_T_time = -1;
241 static gint ett_x509sat_T_absolute = -1;
242 static gint ett_x509sat_SET_OF_Period = -1;
243 static gint ett_x509sat_Period = -1;
244 static gint ett_x509sat_SET_OF_DayTimeBand = -1;
245 static gint ett_x509sat_T_days = -1;
246 static gint ett_x509sat_T_intDay = -1;
247 static gint ett_x509sat_T_bitDay = -1;
248 static gint ett_x509sat_T_weeks = -1;
249 static gint ett_x509sat_T_intWeek = -1;
250 static gint ett_x509sat_T_bitWeek = -1;
251 static gint ett_x509sat_T_months = -1;
252 static gint ett_x509sat_T_intMonth = -1;
253 static gint ett_x509sat_T_bitMonth = -1;
254 static gint ett_x509sat_T_years = -1;
255 static gint ett_x509sat_XDayOf = -1;
256 static gint ett_x509sat_NamedDay = -1;
257 static gint ett_x509sat_T_bitNamedDays = -1;
258 static gint ett_x509sat_DayTimeBand = -1;
259 static gint ett_x509sat_DayTime = -1;
260 static gint ett_x509sat_TimeAssertion = -1;
261 static gint ett_x509sat_T_between = -1;
262 static gint ett_x509sat_LocaleContextSyntax = -1;
263
264 /*--- End of included file: packet-x509sat-ett.c ---*/
265 #line 36 "./asn1/x509sat/packet-x509sat-template.c"
266
267
268 /*--- Included file: packet-x509sat-fn.c ---*/
269 #line 1 "./asn1/x509sat/packet-x509sat-fn.c"
270 /*--- Cyclic dependencies ---*/
271
272 /* Criteria -> Criteria/and -> Criteria */
273 /* Criteria -> Criteria */
274 /*int dissect_x509sat_Criteria(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);*/
275
276
277
278
279 static int
280 dissect_x509sat_TeletexString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
281   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString,
282                                             actx, tree, tvb, offset, hf_index,
283                                             NULL);
284
285   return offset;
286 }
287
288
289
290 static int
291 dissect_x509sat_PrintableString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
292   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
293                                             actx, tree, tvb, offset, hf_index,
294                                             NULL);
295
296   return offset;
297 }
298
299
300
301 static int
302 dissect_x509sat_UniversalString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
303   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_UniversalString,
304                                             actx, tree, tvb, offset, hf_index,
305                                             NULL);
306
307   return offset;
308 }
309
310
311
312 static int
313 dissect_x509sat_BMPString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
314   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_BMPString,
315                                             actx, tree, tvb, offset, hf_index,
316                                             NULL);
317
318   return offset;
319 }
320
321
322
323 static int
324 dissect_x509sat_UTF8String(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
325   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_UTF8String,
326                                             actx, tree, tvb, offset, hf_index,
327                                             NULL);
328
329   return offset;
330 }
331
332
333 const value_string x509sat_DirectoryString_vals[] = {
334   {   0, "teletexString" },
335   {   1, "printableString" },
336   {   2, "universalString" },
337   {   3, "bmpString" },
338   {   4, "uTF8String" },
339   { 0, NULL }
340 };
341
342 static const ber_choice_t DirectoryString_choice[] = {
343   {   0, &hf_x509sat_teletexString, BER_CLASS_UNI, BER_UNI_TAG_TeletexString, BER_FLAGS_NOOWNTAG, dissect_x509sat_TeletexString },
344   {   1, &hf_x509sat_printableString, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_x509sat_PrintableString },
345   {   2, &hf_x509sat_universalString, BER_CLASS_UNI, BER_UNI_TAG_UniversalString, BER_FLAGS_NOOWNTAG, dissect_x509sat_UniversalString },
346   {   3, &hf_x509sat_bmpString   , BER_CLASS_UNI, BER_UNI_TAG_BMPString, BER_FLAGS_NOOWNTAG, dissect_x509sat_BMPString },
347   {   4, &hf_x509sat_uTF8String  , BER_CLASS_UNI, BER_UNI_TAG_UTF8String, BER_FLAGS_NOOWNTAG, dissect_x509sat_UTF8String },
348   { 0, NULL, 0, 0, 0, NULL }
349 };
350
351 int
352 dissect_x509sat_DirectoryString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
353   offset = dissect_ber_choice(actx, tree, tvb, offset,
354                                  DirectoryString_choice, hf_index, ett_x509sat_DirectoryString,
355                                  NULL);
356
357   return offset;
358 }
359
360
361
362 int
363 dissect_x509sat_UniqueIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
364   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
365                                     NULL, hf_index, -1,
366                                     NULL);
367
368   return offset;
369 }
370
371
372
373 int
374 dissect_x509sat_CountryName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
375   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
376                                             actx, tree, tvb, offset, hf_index,
377                                             NULL);
378
379   return offset;
380 }
381
382
383
384 static int
385 dissect_x509sat_OBJECT_IDENTIFIER(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
386   offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
387
388   return offset;
389 }
390
391
392 static const value_string x509sat_CriteriaItem_vals[] = {
393   {   0, "equality" },
394   {   1, "substrings" },
395   {   2, "greaterOrEqual" },
396   {   3, "lessOrEqual" },
397   {   4, "approximateMatch" },
398   { 0, NULL }
399 };
400
401 static const ber_choice_t CriteriaItem_choice[] = {
402   {   0, &hf_x509sat_equality    , BER_CLASS_CON, 0, 0, dissect_x509if_AttributeType },
403   {   1, &hf_x509sat_substrings  , BER_CLASS_CON, 1, 0, dissect_x509if_AttributeType },
404   {   2, &hf_x509sat_greaterOrEqual, BER_CLASS_CON, 2, 0, dissect_x509if_AttributeType },
405   {   3, &hf_x509sat_lessOrEqual , BER_CLASS_CON, 3, 0, dissect_x509if_AttributeType },
406   {   4, &hf_x509sat_approximateMatch, BER_CLASS_CON, 4, 0, dissect_x509if_AttributeType },
407   { 0, NULL, 0, 0, 0, NULL }
408 };
409
410 static int
411 dissect_x509sat_CriteriaItem(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
412   offset = dissect_ber_choice(actx, tree, tvb, offset,
413                                  CriteriaItem_choice, hf_index, ett_x509sat_CriteriaItem,
414                                  NULL);
415
416   return offset;
417 }
418
419
420 static const ber_sequence_t SET_OF_Criteria_set_of[1] = {
421   { &hf_x509sat_and_item    , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x509sat_Criteria },
422 };
423
424 static int
425 dissect_x509sat_SET_OF_Criteria(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
426   offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
427                                  SET_OF_Criteria_set_of, hf_index, ett_x509sat_SET_OF_Criteria);
428
429   return offset;
430 }
431
432
433 const value_string x509sat_Criteria_vals[] = {
434   {   0, "type" },
435   {   1, "and" },
436   {   2, "or" },
437   {   3, "not" },
438   { 0, NULL }
439 };
440
441 static const ber_choice_t Criteria_choice[] = {
442   {   0, &hf_x509sat_type        , BER_CLASS_CON, 0, 0, dissect_x509sat_CriteriaItem },
443   {   1, &hf_x509sat_and         , BER_CLASS_CON, 1, 0, dissect_x509sat_SET_OF_Criteria },
444   {   2, &hf_x509sat_or          , BER_CLASS_CON, 2, 0, dissect_x509sat_SET_OF_Criteria },
445   {   3, &hf_x509sat_not         , BER_CLASS_CON, 3, 0, dissect_x509sat_Criteria },
446   { 0, NULL, 0, 0, 0, NULL }
447 };
448
449 int
450 dissect_x509sat_Criteria(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
451   offset = dissect_ber_choice(actx, tree, tvb, offset,
452                                  Criteria_choice, hf_index, ett_x509sat_Criteria,
453                                  NULL);
454
455   return offset;
456 }
457
458
459 static const ber_sequence_t Guide_set[] = {
460   { &hf_x509sat_objectClass , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_x509sat_OBJECT_IDENTIFIER },
461   { &hf_x509sat_criteria    , BER_CLASS_CON, 1, BER_FLAGS_NOTCHKTAG, dissect_x509sat_Criteria },
462   { NULL, 0, 0, 0, NULL }
463 };
464
465 static int
466 dissect_x509sat_Guide(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
467   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
468                               Guide_set, hf_index, ett_x509sat_Guide);
469
470   return offset;
471 }
472
473
474 static const value_string x509sat_T_subset_vals[] = {
475   {   0, "baseObject" },
476   {   1, "oneLevel" },
477   {   2, "wholeSubtree" },
478   { 0, NULL }
479 };
480
481
482 static int
483 dissect_x509sat_T_subset(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
484   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
485                                                 NULL);
486
487   return offset;
488 }
489
490
491 static const ber_sequence_t EnhancedGuide_sequence[] = {
492   { &hf_x509sat_objectClass , BER_CLASS_CON, 0, 0, dissect_x509sat_OBJECT_IDENTIFIER },
493   { &hf_x509sat_criteria    , BER_CLASS_CON, 1, BER_FLAGS_NOTCHKTAG, dissect_x509sat_Criteria },
494   { &hf_x509sat_subset      , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_x509sat_T_subset },
495   { NULL, 0, 0, 0, NULL }
496 };
497
498 int
499 dissect_x509sat_EnhancedGuide(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
500   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
501                                    EnhancedGuide_sequence, hf_index, ett_x509sat_EnhancedGuide);
502
503   return offset;
504 }
505
506
507 static const ber_sequence_t PostalAddress_sequence_of[1] = {
508   { &hf_x509sat_PostalAddress_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x509sat_DirectoryString },
509 };
510
511 int
512 dissect_x509sat_PostalAddress(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
513   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
514                                       PostalAddress_sequence_of, hf_index, ett_x509sat_PostalAddress);
515
516   return offset;
517 }
518
519
520
521 static int
522 dissect_x509sat_TelephoneNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
523   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
524                                             actx, tree, tvb, offset, hf_index,
525                                             NULL);
526
527   return offset;
528 }
529
530
531 static const ber_sequence_t TelexNumber_sequence[] = {
532   { &hf_x509sat_telexNumber , BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_x509sat_PrintableString },
533   { &hf_x509sat_countryCode , BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_x509sat_PrintableString },
534   { &hf_x509sat_answerback  , BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_x509sat_PrintableString },
535   { NULL, 0, 0, 0, NULL }
536 };
537
538 static int
539 dissect_x509sat_TelexNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
540   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
541                                    TelexNumber_sequence, hf_index, ett_x509sat_TelexNumber);
542
543   return offset;
544 }
545
546
547 static const ber_sequence_t FacsimileTelephoneNumber_sequence[] = {
548   { &hf_x509sat_telephoneNumber, BER_CLASS_UNI, BER_UNI_TAG_PrintableString, BER_FLAGS_NOOWNTAG, dissect_x509sat_TelephoneNumber },
549   { &hf_x509sat_parameters  , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_p1_G3FacsimileNonBasicParameters },
550   { NULL, 0, 0, 0, NULL }
551 };
552
553 int
554 dissect_x509sat_FacsimileTelephoneNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
555   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
556                                    FacsimileTelephoneNumber_sequence, hf_index, ett_x509sat_FacsimileTelephoneNumber);
557
558   return offset;
559 }
560
561
562
563 int
564 dissect_x509sat_X121Address(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
565   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
566                                             actx, tree, tvb, offset, hf_index,
567                                             NULL);
568
569   return offset;
570 }
571
572
573
574 int
575 dissect_x509sat_InternationalISDNNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
576   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
577                                             actx, tree, tvb, offset, hf_index,
578                                             NULL);
579
580   return offset;
581 }
582
583
584
585 int
586 dissect_x509sat_DestinationIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
587   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
588                                             actx, tree, tvb, offset, hf_index,
589                                             NULL);
590
591   return offset;
592 }
593
594
595 static const value_string x509sat_PreferredDeliveryMethod_item_vals[] = {
596   {   0, "any-delivery-method" },
597   {   1, "mhs-delivery" },
598   {   2, "physical-delivery" },
599   {   3, "telex-delivery" },
600   {   4, "teletex-delivery" },
601   {   5, "g3-facsimile-delivery" },
602   {   6, "g4-facsimile-delivery" },
603   {   7, "ia5-terminal-delivery" },
604   {   8, "videotex-delivery" },
605   {   9, "telephone-delivery" },
606   { 0, NULL }
607 };
608
609
610 static int
611 dissect_x509sat_PreferredDeliveryMethod_item(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
612   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
613                                                 NULL);
614
615   return offset;
616 }
617
618
619 static const ber_sequence_t PreferredDeliveryMethod_sequence_of[1] = {
620   { &hf_x509sat_PreferredDeliveryMethod_item, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_x509sat_PreferredDeliveryMethod_item },
621 };
622
623 int
624 dissect_x509sat_PreferredDeliveryMethod(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
625   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
626                                       PreferredDeliveryMethod_sequence_of, hf_index, ett_x509sat_PreferredDeliveryMethod);
627
628   return offset;
629 }
630
631
632
633 static int
634 dissect_x509sat_OCTET_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
635   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
636                                        NULL);
637
638   return offset;
639 }
640
641
642 static const ber_sequence_t T_nAddresses_set_of[1] = {
643   { &hf_x509sat_nAddresses_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_x509sat_OCTET_STRING },
644 };
645
646 static int
647 dissect_x509sat_T_nAddresses(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
648   offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
649                                  T_nAddresses_set_of, hf_index, ett_x509sat_T_nAddresses);
650
651   return offset;
652 }
653
654
655 static const ber_sequence_t PresentationAddress_sequence[] = {
656   { &hf_x509sat_pSelector   , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_x509sat_OCTET_STRING },
657   { &hf_x509sat_sSelector   , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_x509sat_OCTET_STRING },
658   { &hf_x509sat_tSelector   , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_x509sat_OCTET_STRING },
659   { &hf_x509sat_nAddresses  , BER_CLASS_CON, 3, 0, dissect_x509sat_T_nAddresses },
660   { NULL, 0, 0, 0, NULL }
661 };
662
663 int
664 dissect_x509sat_PresentationAddress(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
665   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
666                                    PresentationAddress_sequence, hf_index, ett_x509sat_PresentationAddress);
667
668   return offset;
669 }
670
671
672 static const ber_sequence_t T_profiles_set_of[1] = {
673   { &hf_x509sat_profiles_item, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x509sat_OBJECT_IDENTIFIER },
674 };
675
676 static int
677 dissect_x509sat_T_profiles(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
678   offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
679                                  T_profiles_set_of, hf_index, ett_x509sat_T_profiles);
680
681   return offset;
682 }
683
684
685 static const ber_sequence_t ProtocolInformation_sequence[] = {
686   { &hf_x509sat_nAddress    , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_x509sat_OCTET_STRING },
687   { &hf_x509sat_profiles    , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x509sat_T_profiles },
688   { NULL, 0, 0, 0, NULL }
689 };
690
691 int
692 dissect_x509sat_ProtocolInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
693   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
694                                    ProtocolInformation_sequence, hf_index, ett_x509sat_ProtocolInformation);
695
696   return offset;
697 }
698
699
700 static const ber_sequence_t NameAndOptionalUID_sequence[] = {
701   { &hf_x509sat_dn          , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509if_DistinguishedName },
702   { &hf_x509sat_uid         , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x509sat_UniqueIdentifier },
703   { NULL, 0, 0, 0, NULL }
704 };
705
706 int
707 dissect_x509sat_NameAndOptionalUID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
708   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
709                                    NameAndOptionalUID_sequence, hf_index, ett_x509sat_NameAndOptionalUID);
710
711   return offset;
712 }
713
714
715 static const ber_sequence_t SEQUENCE_OF_AttributeValueAssertion_sequence_of[1] = {
716   { &hf_x509sat_attributeList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509if_AttributeValueAssertion },
717 };
718
719 static int
720 dissect_x509sat_SEQUENCE_OF_AttributeValueAssertion(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
721   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
722                                       SEQUENCE_OF_AttributeValueAssertion_sequence_of, hf_index, ett_x509sat_SEQUENCE_OF_AttributeValueAssertion);
723
724   return offset;
725 }
726
727
728 static const ber_sequence_t MultipleMatchingLocalities_sequence[] = {
729   { &hf_x509sat_matchingRuleUsed, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x509sat_OBJECT_IDENTIFIER },
730   { &hf_x509sat_attributeList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509sat_SEQUENCE_OF_AttributeValueAssertion },
731   { NULL, 0, 0, 0, NULL }
732 };
733
734 int
735 dissect_x509sat_MultipleMatchingLocalities(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
736   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
737                                    MultipleMatchingLocalities_sequence, hf_index, ett_x509sat_MultipleMatchingLocalities);
738
739   return offset;
740 }
741
742
743 static const value_string x509sat_SubstringAssertion_item_vals[] = {
744   {   0, "initial" },
745   {   1, "any" },
746   {   2, "final" },
747   {   3, "control" },
748   { 0, NULL }
749 };
750
751 static const ber_choice_t SubstringAssertion_item_choice[] = {
752   {   0, &hf_x509sat_initial     , BER_CLASS_CON, 0, 0, dissect_x509sat_DirectoryString },
753   {   1, &hf_x509sat_any         , BER_CLASS_CON, 1, 0, dissect_x509sat_DirectoryString },
754   {   2, &hf_x509sat_final       , BER_CLASS_CON, 2, 0, dissect_x509sat_DirectoryString },
755   {   3, &hf_x509sat_control     , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509if_Attribute },
756   { 0, NULL, 0, 0, 0, NULL }
757 };
758
759 static int
760 dissect_x509sat_SubstringAssertion_item(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
761   offset = dissect_ber_choice(actx, tree, tvb, offset,
762                                  SubstringAssertion_item_choice, hf_index, ett_x509sat_SubstringAssertion_item,
763                                  NULL);
764
765   return offset;
766 }
767
768
769 static const ber_sequence_t SubstringAssertion_sequence_of[1] = {
770   { &hf_x509sat_SubstringAssertion_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x509sat_SubstringAssertion_item },
771 };
772
773 int
774 dissect_x509sat_SubstringAssertion(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
775   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
776                                       SubstringAssertion_sequence_of, hf_index, ett_x509sat_SubstringAssertion);
777
778   return offset;
779 }
780
781
782 static const ber_sequence_t CaseIgnoreListMatch_sequence_of[1] = {
783   { &hf_x509sat_CaseIgnoreListMatch_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x509sat_DirectoryString },
784 };
785
786 int
787 dissect_x509sat_CaseIgnoreListMatch(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
788   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
789                                       CaseIgnoreListMatch_sequence_of, hf_index, ett_x509sat_CaseIgnoreListMatch);
790
791   return offset;
792 }
793
794
795 static const value_string x509sat_OctetSubstringAssertion_item_vals[] = {
796   {   0, "initial" },
797   {   1, "any" },
798   {   2, "final" },
799   { 0, NULL }
800 };
801
802 static const ber_choice_t OctetSubstringAssertion_item_choice[] = {
803   {   0, &hf_x509sat_initial_substring, BER_CLASS_CON, 0, 0, dissect_x509sat_OCTET_STRING },
804   {   1, &hf_x509sat_any_substring, BER_CLASS_CON, 1, 0, dissect_x509sat_OCTET_STRING },
805   {   2, &hf_x509sat_finall_substring, BER_CLASS_CON, 2, 0, dissect_x509sat_OCTET_STRING },
806   { 0, NULL, 0, 0, 0, NULL }
807 };
808
809 static int
810 dissect_x509sat_OctetSubstringAssertion_item(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
811   offset = dissect_ber_choice(actx, tree, tvb, offset,
812                                  OctetSubstringAssertion_item_choice, hf_index, ett_x509sat_OctetSubstringAssertion_item,
813                                  NULL);
814
815   return offset;
816 }
817
818
819 static const ber_sequence_t OctetSubstringAssertion_sequence_of[1] = {
820   { &hf_x509sat_OctetSubstringAssertion_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x509sat_OctetSubstringAssertion_item },
821 };
822
823 int
824 dissect_x509sat_OctetSubstringAssertion(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
825   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
826                                       OctetSubstringAssertion_sequence_of, hf_index, ett_x509sat_OctetSubstringAssertion);
827
828   return offset;
829 }
830
831
832 static const ber_sequence_t ZonalSelect_sequence_of[1] = {
833   { &hf_x509sat_ZonalSelect_item, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x509if_AttributeType },
834 };
835
836 int
837 dissect_x509sat_ZonalSelect(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
838   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
839                                       ZonalSelect_sequence_of, hf_index, ett_x509sat_ZonalSelect);
840
841   return offset;
842 }
843
844
845 const value_string x509sat_ZonalResult_vals[] = {
846   {   0, "cannot-select-mapping" },
847   {   2, "zero-mappings" },
848   {   3, "multiple-mappings" },
849   { 0, NULL }
850 };
851
852
853 int
854 dissect_x509sat_ZonalResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
855   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
856                                   NULL);
857
858   return offset;
859 }
860
861
862
863 int
864 dissect_x509sat_LanguageContextSyntax(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
865   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
866                                             actx, tree, tvb, offset, hf_index,
867                                             NULL);
868
869   return offset;
870 }
871
872
873
874 static int
875 dissect_x509sat_GeneralizedTime(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
876   offset = dissect_ber_GeneralizedTime(implicit_tag, actx, tree, tvb, offset, hf_index);
877
878   return offset;
879 }
880
881
882 static const ber_sequence_t T_absolute_sequence[] = {
883   { &hf_x509sat_startTime   , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_x509sat_GeneralizedTime },
884   { &hf_x509sat_endTime     , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_x509sat_GeneralizedTime },
885   { NULL, 0, 0, 0, NULL }
886 };
887
888 static int
889 dissect_x509sat_T_absolute(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
890   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
891                                    T_absolute_sequence, hf_index, ett_x509sat_T_absolute);
892
893   return offset;
894 }
895
896
897
898 static int
899 dissect_x509sat_INTEGER(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
900   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
901                                                 NULL);
902
903   return offset;
904 }
905
906
907 static const ber_sequence_t DayTime_sequence[] = {
908   { &hf_x509sat_hour        , BER_CLASS_CON, 0, 0, dissect_x509sat_INTEGER },
909   { &hf_x509sat_minute      , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_x509sat_INTEGER },
910   { &hf_x509sat_second      , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_x509sat_INTEGER },
911   { NULL, 0, 0, 0, NULL }
912 };
913
914 static int
915 dissect_x509sat_DayTime(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
916   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
917                                    DayTime_sequence, hf_index, ett_x509sat_DayTime);
918
919   return offset;
920 }
921
922
923 static const ber_sequence_t DayTimeBand_sequence[] = {
924   { &hf_x509sat_startDayTime, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_x509sat_DayTime },
925   { &hf_x509sat_endDayTime  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_x509sat_DayTime },
926   { NULL, 0, 0, 0, NULL }
927 };
928
929 int
930 dissect_x509sat_DayTimeBand(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
931   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
932                                    DayTimeBand_sequence, hf_index, ett_x509sat_DayTimeBand);
933
934   return offset;
935 }
936
937
938 static const ber_sequence_t SET_OF_DayTimeBand_set_of[1] = {
939   { &hf_x509sat_timesOfDay_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509sat_DayTimeBand },
940 };
941
942 static int
943 dissect_x509sat_SET_OF_DayTimeBand(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
944   offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
945                                  SET_OF_DayTimeBand_set_of, hf_index, ett_x509sat_SET_OF_DayTimeBand);
946
947   return offset;
948 }
949
950
951 static const ber_sequence_t T_intDay_set_of[1] = {
952   { &hf_x509sat_intDay_item , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_x509sat_INTEGER },
953 };
954
955 static int
956 dissect_x509sat_T_intDay(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
957   offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
958                                  T_intDay_set_of, hf_index, ett_x509sat_T_intDay);
959
960   return offset;
961 }
962
963
964 static const asn_namedbit T_bitDay_bits[] = {
965   {  0, &hf_x509sat_T_bitDay_sunday, -1, -1, "sunday", NULL },
966   {  1, &hf_x509sat_T_bitDay_monday, -1, -1, "monday", NULL },
967   {  2, &hf_x509sat_T_bitDay_tuesday, -1, -1, "tuesday", NULL },
968   {  3, &hf_x509sat_T_bitDay_wednesday, -1, -1, "wednesday", NULL },
969   {  4, &hf_x509sat_T_bitDay_thursday, -1, -1, "thursday", NULL },
970   {  5, &hf_x509sat_T_bitDay_friday, -1, -1, "friday", NULL },
971   {  6, &hf_x509sat_T_bitDay_saturday, -1, -1, "saturday", NULL },
972   { 0, NULL, 0, 0, NULL, NULL }
973 };
974
975 static int
976 dissect_x509sat_T_bitDay(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
977   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
978                                     T_bitDay_bits, hf_index, ett_x509sat_T_bitDay,
979                                     NULL);
980
981   return offset;
982 }
983
984
985 static const value_string x509sat_T_intNamedDays_vals[] = {
986   {   1, "sunday" },
987   {   2, "monday" },
988   {   3, "tuesday" },
989   {   4, "wednesday" },
990   {   5, "thursday" },
991   {   6, "friday" },
992   {   7, "saturday" },
993   { 0, NULL }
994 };
995
996
997 static int
998 dissect_x509sat_T_intNamedDays(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
999   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1000                                   NULL);
1001
1002   return offset;
1003 }
1004
1005
1006 static const asn_namedbit T_bitNamedDays_bits[] = {
1007   {  0, &hf_x509sat_T_bitNamedDays_sunday, -1, -1, "sunday", NULL },
1008   {  1, &hf_x509sat_T_bitNamedDays_monday, -1, -1, "monday", NULL },
1009   {  2, &hf_x509sat_T_bitNamedDays_tuesday, -1, -1, "tuesday", NULL },
1010   {  3, &hf_x509sat_T_bitNamedDays_wednesday, -1, -1, "wednesday", NULL },
1011   {  4, &hf_x509sat_T_bitNamedDays_thursday, -1, -1, "thursday", NULL },
1012   {  5, &hf_x509sat_T_bitNamedDays_friday, -1, -1, "friday", NULL },
1013   {  6, &hf_x509sat_T_bitNamedDays_saturday, -1, -1, "saturday", NULL },
1014   { 0, NULL, 0, 0, NULL, NULL }
1015 };
1016
1017 static int
1018 dissect_x509sat_T_bitNamedDays(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1019   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
1020                                     T_bitNamedDays_bits, hf_index, ett_x509sat_T_bitNamedDays,
1021                                     NULL);
1022
1023   return offset;
1024 }
1025
1026
1027 const value_string x509sat_NamedDay_vals[] = {
1028   {   0, "intNamedDays" },
1029   {   1, "bitNamedDays" },
1030   { 0, NULL }
1031 };
1032
1033 static const ber_choice_t NamedDay_choice[] = {
1034   {   0, &hf_x509sat_intNamedDays, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_x509sat_T_intNamedDays },
1035   {   1, &hf_x509sat_bitNamedDays, BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_x509sat_T_bitNamedDays },
1036   { 0, NULL, 0, 0, 0, NULL }
1037 };
1038
1039 int
1040 dissect_x509sat_NamedDay(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1041   offset = dissect_ber_choice(actx, tree, tvb, offset,
1042                                  NamedDay_choice, hf_index, ett_x509sat_NamedDay,
1043                                  NULL);
1044
1045   return offset;
1046 }
1047
1048
1049 const value_string x509sat_XDayOf_vals[] = {
1050   {   1, "first" },
1051   {   2, "second" },
1052   {   3, "third" },
1053   {   4, "fourth" },
1054   {   5, "fifth" },
1055   { 0, NULL }
1056 };
1057
1058 static const ber_choice_t XDayOf_choice[] = {
1059   {   1, &hf_x509sat_first_dayof , BER_CLASS_CON, 1, 0, dissect_x509sat_NamedDay },
1060   {   2, &hf_x509sat_second_dayof, BER_CLASS_CON, 2, 0, dissect_x509sat_NamedDay },
1061   {   3, &hf_x509sat_third_dayof , BER_CLASS_CON, 3, 0, dissect_x509sat_NamedDay },
1062   {   4, &hf_x509sat_fourth_dayof, BER_CLASS_CON, 4, 0, dissect_x509sat_NamedDay },
1063   {   5, &hf_x509sat_fifth_dayof , BER_CLASS_CON, 5, 0, dissect_x509sat_NamedDay },
1064   { 0, NULL, 0, 0, 0, NULL }
1065 };
1066
1067 int
1068 dissect_x509sat_XDayOf(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1069   offset = dissect_ber_choice(actx, tree, tvb, offset,
1070                                  XDayOf_choice, hf_index, ett_x509sat_XDayOf,
1071                                  NULL);
1072
1073   return offset;
1074 }
1075
1076
1077 static const value_string x509sat_T_days_vals[] = {
1078   {   0, "intDay" },
1079   {   1, "bitDay" },
1080   {   2, "dayOf" },
1081   { 0, NULL }
1082 };
1083
1084 static const ber_choice_t T_days_choice[] = {
1085   {   0, &hf_x509sat_intDay      , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x509sat_T_intDay },
1086   {   1, &hf_x509sat_bitDay      , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_x509sat_T_bitDay },
1087   {   2, &hf_x509sat_dayOf       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_x509sat_XDayOf },
1088   { 0, NULL, 0, 0, 0, NULL }
1089 };
1090
1091 static int
1092 dissect_x509sat_T_days(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1093   offset = dissect_ber_choice(actx, tree, tvb, offset,
1094                                  T_days_choice, hf_index, ett_x509sat_T_days,
1095                                  NULL);
1096
1097   return offset;
1098 }
1099
1100
1101
1102 static int
1103 dissect_x509sat_NULL(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1104   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
1105
1106   return offset;
1107 }
1108
1109
1110 static const ber_sequence_t T_intWeek_set_of[1] = {
1111   { &hf_x509sat_intWeek_item, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_x509sat_INTEGER },
1112 };
1113
1114 static int
1115 dissect_x509sat_T_intWeek(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1116   offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
1117                                  T_intWeek_set_of, hf_index, ett_x509sat_T_intWeek);
1118
1119   return offset;
1120 }
1121
1122
1123 static const asn_namedbit T_bitWeek_bits[] = {
1124   {  0, &hf_x509sat_T_bitWeek_week1, -1, -1, "week1", NULL },
1125   {  1, &hf_x509sat_T_bitWeek_week2, -1, -1, "week2", NULL },
1126   {  2, &hf_x509sat_T_bitWeek_week3, -1, -1, "week3", NULL },
1127   {  3, &hf_x509sat_T_bitWeek_week4, -1, -1, "week4", NULL },
1128   {  4, &hf_x509sat_T_bitWeek_week5, -1, -1, "week5", NULL },
1129   { 0, NULL, 0, 0, NULL, NULL }
1130 };
1131
1132 static int
1133 dissect_x509sat_T_bitWeek(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1134   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
1135                                     T_bitWeek_bits, hf_index, ett_x509sat_T_bitWeek,
1136                                     NULL);
1137
1138   return offset;
1139 }
1140
1141
1142 static const value_string x509sat_T_weeks_vals[] = {
1143   {   0, "allWeeks" },
1144   {   1, "intWeek" },
1145   {   2, "bitWeek" },
1146   { 0, NULL }
1147 };
1148
1149 static const ber_choice_t T_weeks_choice[] = {
1150   {   0, &hf_x509sat_allWeeks    , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_x509sat_NULL },
1151   {   1, &hf_x509sat_intWeek     , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x509sat_T_intWeek },
1152   {   2, &hf_x509sat_bitWeek     , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_x509sat_T_bitWeek },
1153   { 0, NULL, 0, 0, 0, NULL }
1154 };
1155
1156 static int
1157 dissect_x509sat_T_weeks(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1158   offset = dissect_ber_choice(actx, tree, tvb, offset,
1159                                  T_weeks_choice, hf_index, ett_x509sat_T_weeks,
1160                                  NULL);
1161
1162   return offset;
1163 }
1164
1165
1166 static const ber_sequence_t T_intMonth_set_of[1] = {
1167   { &hf_x509sat_intMonth_item, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_x509sat_INTEGER },
1168 };
1169
1170 static int
1171 dissect_x509sat_T_intMonth(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1172   offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
1173                                  T_intMonth_set_of, hf_index, ett_x509sat_T_intMonth);
1174
1175   return offset;
1176 }
1177
1178
1179 static const asn_namedbit T_bitMonth_bits[] = {
1180   {  0, &hf_x509sat_T_bitMonth_january, -1, -1, "january", NULL },
1181   {  1, &hf_x509sat_T_bitMonth_february, -1, -1, "february", NULL },
1182   {  2, &hf_x509sat_T_bitMonth_march, -1, -1, "march", NULL },
1183   {  3, &hf_x509sat_T_bitMonth_april, -1, -1, "april", NULL },
1184   {  4, &hf_x509sat_T_bitMonth_may, -1, -1, "may", NULL },
1185   {  5, &hf_x509sat_T_bitMonth_june, -1, -1, "june", NULL },
1186   {  6, &hf_x509sat_T_bitMonth_july, -1, -1, "july", NULL },
1187   {  7, &hf_x509sat_T_bitMonth_august, -1, -1, "august", NULL },
1188   {  8, &hf_x509sat_T_bitMonth_september, -1, -1, "september", NULL },
1189   {  9, &hf_x509sat_T_bitMonth_october, -1, -1, "october", NULL },
1190   { 10, &hf_x509sat_T_bitMonth_november, -1, -1, "november", NULL },
1191   { 11, &hf_x509sat_T_bitMonth_december, -1, -1, "december", NULL },
1192   { 0, NULL, 0, 0, NULL, NULL }
1193 };
1194
1195 static int
1196 dissect_x509sat_T_bitMonth(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1197   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
1198                                     T_bitMonth_bits, hf_index, ett_x509sat_T_bitMonth,
1199                                     NULL);
1200
1201   return offset;
1202 }
1203
1204
1205 static const value_string x509sat_T_months_vals[] = {
1206   {   0, "allMonths" },
1207   {   1, "intMonth" },
1208   {   2, "bitMonth" },
1209   { 0, NULL }
1210 };
1211
1212 static const ber_choice_t T_months_choice[] = {
1213   {   0, &hf_x509sat_allMonths   , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_x509sat_NULL },
1214   {   1, &hf_x509sat_intMonth    , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x509sat_T_intMonth },
1215   {   2, &hf_x509sat_bitMonth    , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_x509sat_T_bitMonth },
1216   { 0, NULL, 0, 0, 0, NULL }
1217 };
1218
1219 static int
1220 dissect_x509sat_T_months(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1221   offset = dissect_ber_choice(actx, tree, tvb, offset,
1222                                  T_months_choice, hf_index, ett_x509sat_T_months,
1223                                  NULL);
1224
1225   return offset;
1226 }
1227
1228
1229 static const ber_sequence_t T_years_set_of[1] = {
1230   { &hf_x509sat_years_item  , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_x509sat_INTEGER },
1231 };
1232
1233 static int
1234 dissect_x509sat_T_years(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1235   offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
1236                                  T_years_set_of, hf_index, ett_x509sat_T_years);
1237
1238   return offset;
1239 }
1240
1241
1242 static const ber_sequence_t Period_sequence[] = {
1243   { &hf_x509sat_timesOfDay  , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_x509sat_SET_OF_DayTimeBand },
1244   { &hf_x509sat_days        , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_x509sat_T_days },
1245   { &hf_x509sat_weeks       , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_x509sat_T_weeks },
1246   { &hf_x509sat_months      , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_x509sat_T_months },
1247   { &hf_x509sat_years       , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_x509sat_T_years },
1248   { NULL, 0, 0, 0, NULL }
1249 };
1250
1251 int
1252 dissect_x509sat_Period(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1253   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1254                                    Period_sequence, hf_index, ett_x509sat_Period);
1255
1256   return offset;
1257 }
1258
1259
1260 static const ber_sequence_t SET_OF_Period_set_of[1] = {
1261   { &hf_x509sat_periodic_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509sat_Period },
1262 };
1263
1264 static int
1265 dissect_x509sat_SET_OF_Period(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1266   offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
1267                                  SET_OF_Period_set_of, hf_index, ett_x509sat_SET_OF_Period);
1268
1269   return offset;
1270 }
1271
1272
1273 static const value_string x509sat_T_time_vals[] = {
1274   {   0, "absolute" },
1275   {   1, "periodic" },
1276   { 0, NULL }
1277 };
1278
1279 static const ber_choice_t T_time_choice[] = {
1280   {   0, &hf_x509sat_absolute    , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509sat_T_absolute },
1281   {   1, &hf_x509sat_periodic    , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x509sat_SET_OF_Period },
1282   { 0, NULL, 0, 0, 0, NULL }
1283 };
1284
1285 static int
1286 dissect_x509sat_T_time(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1287   offset = dissect_ber_choice(actx, tree, tvb, offset,
1288                                  T_time_choice, hf_index, ett_x509sat_T_time,
1289                                  NULL);
1290
1291   return offset;
1292 }
1293
1294
1295
1296 static int
1297 dissect_x509sat_BOOLEAN(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1298   offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
1299
1300   return offset;
1301 }
1302
1303
1304
1305 int
1306 dissect_x509sat_TimeZone(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1307   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1308                                                 NULL);
1309
1310   return offset;
1311 }
1312
1313
1314 static const ber_sequence_t TimeSpecification_sequence[] = {
1315   { &hf_x509sat_time        , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_x509sat_T_time },
1316   { &hf_x509sat_notThisTime , BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x509sat_BOOLEAN },
1317   { &hf_x509sat_timeZone    , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x509sat_TimeZone },
1318   { NULL, 0, 0, 0, NULL }
1319 };
1320
1321 int
1322 dissect_x509sat_TimeSpecification(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1323   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1324                                    TimeSpecification_sequence, hf_index, ett_x509sat_TimeSpecification);
1325
1326   return offset;
1327 }
1328
1329
1330 static const ber_sequence_t T_between_sequence[] = {
1331   { &hf_x509sat_startTime   , BER_CLASS_CON, 0, 0, dissect_x509sat_GeneralizedTime },
1332   { &hf_x509sat_endTime     , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_x509sat_GeneralizedTime },
1333   { &hf_x509sat_entirely    , BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x509sat_BOOLEAN },
1334   { NULL, 0, 0, 0, NULL }
1335 };
1336
1337 static int
1338 dissect_x509sat_T_between(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1339   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1340                                    T_between_sequence, hf_index, ett_x509sat_T_between);
1341
1342   return offset;
1343 }
1344
1345
1346 const value_string x509sat_TimeAssertion_vals[] = {
1347   {   0, "now" },
1348   {   1, "at" },
1349   {   2, "between" },
1350   { 0, NULL }
1351 };
1352
1353 static const ber_choice_t TimeAssertion_choice[] = {
1354   {   0, &hf_x509sat_now         , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_x509sat_NULL },
1355   {   1, &hf_x509sat_at          , BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_NOOWNTAG, dissect_x509sat_GeneralizedTime },
1356   {   2, &hf_x509sat_between     , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509sat_T_between },
1357   { 0, NULL, 0, 0, 0, NULL }
1358 };
1359
1360 int
1361 dissect_x509sat_TimeAssertion(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1362   offset = dissect_ber_choice(actx, tree, tvb, offset,
1363                                  TimeAssertion_choice, hf_index, ett_x509sat_TimeAssertion,
1364                                  NULL);
1365
1366   return offset;
1367 }
1368
1369
1370 const value_string x509sat_LocaleContextSyntax_vals[] = {
1371   {   0, "localeID1" },
1372   {   1, "localeID2" },
1373   { 0, NULL }
1374 };
1375
1376 static const ber_choice_t LocaleContextSyntax_choice[] = {
1377   {   0, &hf_x509sat_localeID1   , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x509sat_OBJECT_IDENTIFIER },
1378   {   1, &hf_x509sat_localeID2   , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_x509sat_DirectoryString },
1379   { 0, NULL, 0, 0, 0, NULL }
1380 };
1381
1382 int
1383 dissect_x509sat_LocaleContextSyntax(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1384   offset = dissect_ber_choice(actx, tree, tvb, offset,
1385                                  LocaleContextSyntax_choice, hf_index, ett_x509sat_LocaleContextSyntax,
1386                                  NULL);
1387
1388   return offset;
1389 }
1390
1391
1392
1393 static int
1394 dissect_x509sat_ObjectIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1395   offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
1396
1397   return offset;
1398 }
1399
1400
1401
1402 static int
1403 dissect_x509sat_OctetString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1404   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
1405                                        NULL);
1406
1407   return offset;
1408 }
1409
1410
1411
1412 static int
1413 dissect_x509sat_BitString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1414   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
1415                                     NULL, hf_index, -1,
1416                                     NULL);
1417
1418   return offset;
1419 }
1420
1421
1422
1423 static int
1424 dissect_x509sat_Integer(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1425   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1426                                                 NULL);
1427
1428   return offset;
1429 }
1430
1431
1432
1433 static int
1434 dissect_x509sat_Boolean(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1435   offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
1436
1437   return offset;
1438 }
1439
1440
1441
1442 static int
1443 dissect_x509sat_SyntaxGeneralizedTime(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1444   offset = dissect_ber_GeneralizedTime(implicit_tag, actx, tree, tvb, offset, hf_index);
1445
1446   return offset;
1447 }
1448
1449
1450
1451 static int
1452 dissect_x509sat_SyntaxUTCTime(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1453   offset = dissect_ber_UTCTime(implicit_tag, actx, tree, tvb, offset, hf_index);
1454
1455   return offset;
1456 }
1457
1458
1459
1460 static int
1461 dissect_x509sat_SyntaxNumericString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1462   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
1463                                             actx, tree, tvb, offset, hf_index,
1464                                             NULL);
1465
1466   return offset;
1467 }
1468
1469
1470
1471 static int
1472 dissect_x509sat_SyntaxPrintableString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1473   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString,
1474                                             actx, tree, tvb, offset, hf_index,
1475                                             NULL);
1476
1477   return offset;
1478 }
1479
1480
1481
1482 static int
1483 dissect_x509sat_SyntaxIA5String(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1484   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_IA5String,
1485                                             actx, tree, tvb, offset, hf_index,
1486                                             NULL);
1487
1488   return offset;
1489 }
1490
1491
1492
1493 static int
1494 dissect_x509sat_SyntaxBMPString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1495   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_BMPString,
1496                                             actx, tree, tvb, offset, hf_index,
1497                                             NULL);
1498
1499   return offset;
1500 }
1501
1502
1503
1504 static int
1505 dissect_x509sat_SyntaxUniversalString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1506   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_UniversalString,
1507                                             actx, tree, tvb, offset, hf_index,
1508                                             NULL);
1509
1510   return offset;
1511 }
1512
1513
1514
1515 static int
1516 dissect_x509sat_SyntaxUTF8String(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1517   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_UTF8String,
1518                                             actx, tree, tvb, offset, hf_index,
1519                                             NULL);
1520
1521   return offset;
1522 }
1523
1524
1525
1526 static int
1527 dissect_x509sat_SyntaxTeletexString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1528   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString,
1529                                             actx, tree, tvb, offset, hf_index,
1530                                             NULL);
1531
1532   return offset;
1533 }
1534
1535
1536
1537 static int
1538 dissect_x509sat_SyntaxT61String(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1539   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_TeletexString,
1540                                             actx, tree, tvb, offset, hf_index,
1541                                             NULL);
1542
1543   return offset;
1544 }
1545
1546
1547
1548 static int
1549 dissect_x509sat_SyntaxVideotexString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1550   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_VideotexString,
1551                                             actx, tree, tvb, offset, hf_index,
1552                                             NULL);
1553
1554   return offset;
1555 }
1556
1557
1558
1559 static int
1560 dissect_x509sat_SyntaxGraphicString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1561   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_GraphicString,
1562                                             actx, tree, tvb, offset, hf_index,
1563                                             NULL);
1564
1565   return offset;
1566 }
1567
1568
1569
1570 static int
1571 dissect_x509sat_SyntaxISO646String(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1572   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_VisibleString,
1573                                             actx, tree, tvb, offset, hf_index,
1574                                             NULL);
1575
1576   return offset;
1577 }
1578
1579
1580
1581 static int
1582 dissect_x509sat_SyntaxVisibleString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1583   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_VisibleString,
1584                                             actx, tree, tvb, offset, hf_index,
1585                                             NULL);
1586
1587   return offset;
1588 }
1589
1590
1591
1592 static int
1593 dissect_x509sat_SyntaxGeneralString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1594   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_GeneralString,
1595                                             actx, tree, tvb, offset, hf_index,
1596                                             NULL);
1597
1598   return offset;
1599 }
1600
1601
1602
1603 static int
1604 dissect_x509sat_GUID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1605 #line 378 "./asn1/x509sat/x509sat.cnf"
1606   gint8 ber_class;
1607   gboolean pc;
1608   gint32 tag;
1609   guint32 len;
1610   e_guid_t uuid;
1611
1612   if(!implicit_tag){
1613     offset=dissect_ber_identifier(actx->pinfo, tree, tvb, offset, &ber_class, &pc, &tag);
1614     offset=dissect_ber_length(actx->pinfo, tree, tvb, offset, &len, NULL);
1615   } else {
1616     gint32 remaining=tvb_reported_length_remaining(tvb, offset);
1617     len=remaining>0 ? remaining : 0;
1618   }
1619
1620   tvb_get_ntohguid (tvb, offset, &uuid);
1621   actx->created_item = proto_tree_add_guid(tree, hf_index, tvb, offset, len, &uuid);
1622
1623
1624   return offset;
1625 }
1626
1627 /*--- PDUs ---*/
1628
1629 static int dissect_DirectoryString_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
1630   int offset = 0;
1631   asn1_ctx_t asn1_ctx;
1632   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1633   offset = dissect_x509sat_DirectoryString(FALSE, tvb, offset, &asn1_ctx, tree, hf_x509sat_DirectoryString_PDU);
1634   return offset;
1635 }
1636 static int dissect_UniqueIdentifier_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
1637   int offset = 0;
1638   asn1_ctx_t asn1_ctx;
1639   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1640   offset = dissect_x509sat_UniqueIdentifier(FALSE, tvb, offset, &asn1_ctx, tree, hf_x509sat_UniqueIdentifier_PDU);
1641   return offset;
1642 }
1643 static int dissect_CountryName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
1644   int offset = 0;
1645   asn1_ctx_t asn1_ctx;
1646   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1647   offset = dissect_x509sat_CountryName(FALSE, tvb, offset, &asn1_ctx, tree, hf_x509sat_CountryName_PDU);
1648   return offset;
1649 }
1650 static int dissect_Guide_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
1651   int offset = 0;
1652   asn1_ctx_t asn1_ctx;
1653   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1654   offset = dissect_x509sat_Guide(FALSE, tvb, offset, &asn1_ctx, tree, hf_x509sat_Guide_PDU);
1655   return offset;
1656 }
1657 static int dissect_EnhancedGuide_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
1658   int offset = 0;
1659   asn1_ctx_t asn1_ctx;
1660   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1661   offset = dissect_x509sat_EnhancedGuide(FALSE, tvb, offset, &asn1_ctx, tree, hf_x509sat_EnhancedGuide_PDU);
1662   return offset;
1663 }
1664 static int dissect_PostalAddress_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
1665   int offset = 0;
1666   asn1_ctx_t asn1_ctx;
1667   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1668   offset = dissect_x509sat_PostalAddress(FALSE, tvb, offset, &asn1_ctx, tree, hf_x509sat_PostalAddress_PDU);
1669   return offset;
1670 }
1671 static int dissect_TelephoneNumber_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
1672   int offset = 0;
1673   asn1_ctx_t asn1_ctx;
1674   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1675   offset = dissect_x509sat_TelephoneNumber(FALSE, tvb, offset, &asn1_ctx, tree, hf_x509sat_TelephoneNumber_PDU);
1676   return offset;
1677 }
1678 static int dissect_TelexNumber_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
1679   int offset = 0;
1680   asn1_ctx_t asn1_ctx;
1681   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1682   offset = dissect_x509sat_TelexNumber(FALSE, tvb, offset, &asn1_ctx, tree, hf_x509sat_TelexNumber_PDU);
1683   return offset;
1684 }
1685 static int dissect_FacsimileTelephoneNumber_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
1686   int offset = 0;
1687   asn1_ctx_t asn1_ctx;
1688   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1689   offset = dissect_x509sat_FacsimileTelephoneNumber(FALSE, tvb, offset, &asn1_ctx, tree, hf_x509sat_FacsimileTelephoneNumber_PDU);
1690   return offset;
1691 }
1692 static int dissect_X121Address_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
1693   int offset = 0;
1694   asn1_ctx_t asn1_ctx;
1695   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1696   offset = dissect_x509sat_X121Address(FALSE, tvb, offset, &asn1_ctx, tree, hf_x509sat_X121Address_PDU);
1697   return offset;
1698 }
1699 static int dissect_InternationalISDNNumber_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
1700   int offset = 0;
1701   asn1_ctx_t asn1_ctx;
1702   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1703   offset = dissect_x509sat_InternationalISDNNumber(FALSE, tvb, offset, &asn1_ctx, tree, hf_x509sat_InternationalISDNNumber_PDU);
1704   return offset;
1705 }
1706 static int dissect_DestinationIndicator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
1707   int offset = 0;
1708   asn1_ctx_t asn1_ctx;
1709   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1710   offset = dissect_x509sat_DestinationIndicator(FALSE, tvb, offset, &asn1_ctx, tree, hf_x509sat_DestinationIndicator_PDU);
1711   return offset;
1712 }
1713 static int dissect_PreferredDeliveryMethod_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
1714   int offset = 0;
1715   asn1_ctx_t asn1_ctx;
1716   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1717   offset = dissect_x509sat_PreferredDeliveryMethod(FALSE, tvb, offset, &asn1_ctx, tree, hf_x509sat_PreferredDeliveryMethod_PDU);
1718   return offset;
1719 }
1720 static int dissect_PresentationAddress_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
1721   int offset = 0;
1722   asn1_ctx_t asn1_ctx;
1723   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1724   offset = dissect_x509sat_PresentationAddress(FALSE, tvb, offset, &asn1_ctx, tree, hf_x509sat_PresentationAddress_PDU);
1725   return offset;
1726 }
1727 static int dissect_ProtocolInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
1728   int offset = 0;
1729   asn1_ctx_t asn1_ctx;
1730   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1731   offset = dissect_x509sat_ProtocolInformation(FALSE, tvb, offset, &asn1_ctx, tree, hf_x509sat_ProtocolInformation_PDU);
1732   return offset;
1733 }
1734 static int dissect_NameAndOptionalUID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
1735   int offset = 0;
1736   asn1_ctx_t asn1_ctx;
1737   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1738   offset = dissect_x509sat_NameAndOptionalUID(FALSE, tvb, offset, &asn1_ctx, tree, hf_x509sat_NameAndOptionalUID_PDU);
1739   return offset;
1740 }
1741 static int dissect_CaseIgnoreListMatch_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
1742   int offset = 0;
1743   asn1_ctx_t asn1_ctx;
1744   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1745   offset = dissect_x509sat_CaseIgnoreListMatch(FALSE, tvb, offset, &asn1_ctx, tree, hf_x509sat_CaseIgnoreListMatch_PDU);
1746   return offset;
1747 }
1748 static int dissect_ObjectIdentifier_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
1749   int offset = 0;
1750   asn1_ctx_t asn1_ctx;
1751   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1752   offset = dissect_x509sat_ObjectIdentifier(FALSE, tvb, offset, &asn1_ctx, tree, hf_x509sat_ObjectIdentifier_PDU);
1753   return offset;
1754 }
1755 static int dissect_OctetString_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
1756   int offset = 0;
1757   asn1_ctx_t asn1_ctx;
1758   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1759   offset = dissect_x509sat_OctetString(FALSE, tvb, offset, &asn1_ctx, tree, hf_x509sat_OctetString_PDU);
1760   return offset;
1761 }
1762 static int dissect_BitString_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
1763   int offset = 0;
1764   asn1_ctx_t asn1_ctx;
1765   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1766   offset = dissect_x509sat_BitString(FALSE, tvb, offset, &asn1_ctx, tree, hf_x509sat_BitString_PDU);
1767   return offset;
1768 }
1769 static int dissect_Integer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
1770   int offset = 0;
1771   asn1_ctx_t asn1_ctx;
1772   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1773   offset = dissect_x509sat_Integer(FALSE, tvb, offset, &asn1_ctx, tree, hf_x509sat_Integer_PDU);
1774   return offset;
1775 }
1776 static int dissect_Boolean_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
1777   int offset = 0;
1778   asn1_ctx_t asn1_ctx;
1779   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1780   offset = dissect_x509sat_Boolean(FALSE, tvb, offset, &asn1_ctx, tree, hf_x509sat_Boolean_PDU);
1781   return offset;
1782 }
1783 static int dissect_SyntaxGeneralizedTime_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
1784   int offset = 0;
1785   asn1_ctx_t asn1_ctx;
1786   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1787   offset = dissect_x509sat_SyntaxGeneralizedTime(FALSE, tvb, offset, &asn1_ctx, tree, hf_x509sat_SyntaxGeneralizedTime_PDU);
1788   return offset;
1789 }
1790 static int dissect_SyntaxUTCTime_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
1791   int offset = 0;
1792   asn1_ctx_t asn1_ctx;
1793   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1794   offset = dissect_x509sat_SyntaxUTCTime(FALSE, tvb, offset, &asn1_ctx, tree, hf_x509sat_SyntaxUTCTime_PDU);
1795   return offset;
1796 }
1797 static int dissect_SyntaxNumericString_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
1798   int offset = 0;
1799   asn1_ctx_t asn1_ctx;
1800   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1801   offset = dissect_x509sat_SyntaxNumericString(FALSE, tvb, offset, &asn1_ctx, tree, hf_x509sat_SyntaxNumericString_PDU);
1802   return offset;
1803 }
1804 static int dissect_SyntaxPrintableString_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
1805   int offset = 0;
1806   asn1_ctx_t asn1_ctx;
1807   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1808   offset = dissect_x509sat_SyntaxPrintableString(FALSE, tvb, offset, &asn1_ctx, tree, hf_x509sat_SyntaxPrintableString_PDU);
1809   return offset;
1810 }
1811 static int dissect_SyntaxIA5String_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
1812   int offset = 0;
1813   asn1_ctx_t asn1_ctx;
1814   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1815   offset = dissect_x509sat_SyntaxIA5String(FALSE, tvb, offset, &asn1_ctx, tree, hf_x509sat_SyntaxIA5String_PDU);
1816   return offset;
1817 }
1818 static int dissect_SyntaxBMPString_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
1819   int offset = 0;
1820   asn1_ctx_t asn1_ctx;
1821   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1822   offset = dissect_x509sat_SyntaxBMPString(FALSE, tvb, offset, &asn1_ctx, tree, hf_x509sat_SyntaxBMPString_PDU);
1823   return offset;
1824 }
1825 static int dissect_SyntaxUniversalString_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
1826   int offset = 0;
1827   asn1_ctx_t asn1_ctx;
1828   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1829   offset = dissect_x509sat_SyntaxUniversalString(FALSE, tvb, offset, &asn1_ctx, tree, hf_x509sat_SyntaxUniversalString_PDU);
1830   return offset;
1831 }
1832 static int dissect_SyntaxUTF8String_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
1833   int offset = 0;
1834   asn1_ctx_t asn1_ctx;
1835   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1836   offset = dissect_x509sat_SyntaxUTF8String(FALSE, tvb, offset, &asn1_ctx, tree, hf_x509sat_SyntaxUTF8String_PDU);
1837   return offset;
1838 }
1839 static int dissect_SyntaxTeletexString_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
1840   int offset = 0;
1841   asn1_ctx_t asn1_ctx;
1842   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1843   offset = dissect_x509sat_SyntaxTeletexString(FALSE, tvb, offset, &asn1_ctx, tree, hf_x509sat_SyntaxTeletexString_PDU);
1844   return offset;
1845 }
1846 static int dissect_SyntaxT61String_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
1847   int offset = 0;
1848   asn1_ctx_t asn1_ctx;
1849   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1850   offset = dissect_x509sat_SyntaxT61String(FALSE, tvb, offset, &asn1_ctx, tree, hf_x509sat_SyntaxT61String_PDU);
1851   return offset;
1852 }
1853 static int dissect_SyntaxVideotexString_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
1854   int offset = 0;
1855   asn1_ctx_t asn1_ctx;
1856   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1857   offset = dissect_x509sat_SyntaxVideotexString(FALSE, tvb, offset, &asn1_ctx, tree, hf_x509sat_SyntaxVideotexString_PDU);
1858   return offset;
1859 }
1860 static int dissect_SyntaxGraphicString_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
1861   int offset = 0;
1862   asn1_ctx_t asn1_ctx;
1863   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1864   offset = dissect_x509sat_SyntaxGraphicString(FALSE, tvb, offset, &asn1_ctx, tree, hf_x509sat_SyntaxGraphicString_PDU);
1865   return offset;
1866 }
1867 static int dissect_SyntaxISO646String_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
1868   int offset = 0;
1869   asn1_ctx_t asn1_ctx;
1870   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1871   offset = dissect_x509sat_SyntaxISO646String(FALSE, tvb, offset, &asn1_ctx, tree, hf_x509sat_SyntaxISO646String_PDU);
1872   return offset;
1873 }
1874 static int dissect_SyntaxVisibleString_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
1875   int offset = 0;
1876   asn1_ctx_t asn1_ctx;
1877   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1878   offset = dissect_x509sat_SyntaxVisibleString(FALSE, tvb, offset, &asn1_ctx, tree, hf_x509sat_SyntaxVisibleString_PDU);
1879   return offset;
1880 }
1881 static int dissect_SyntaxGeneralString_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
1882   int offset = 0;
1883   asn1_ctx_t asn1_ctx;
1884   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1885   offset = dissect_x509sat_SyntaxGeneralString(FALSE, tvb, offset, &asn1_ctx, tree, hf_x509sat_SyntaxGeneralString_PDU);
1886   return offset;
1887 }
1888 static int dissect_GUID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
1889   int offset = 0;
1890   asn1_ctx_t asn1_ctx;
1891   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1892   offset = dissect_x509sat_GUID(FALSE, tvb, offset, &asn1_ctx, tree, hf_x509sat_GUID_PDU);
1893   return offset;
1894 }
1895
1896
1897 /*--- End of included file: packet-x509sat-fn.c ---*/
1898 #line 38 "./asn1/x509sat/packet-x509sat-template.c"
1899
1900
1901 /*--- proto_register_x509sat ----------------------------------------------*/
1902 void proto_register_x509sat(void) {
1903
1904   /* List of fields */
1905   static hf_register_info hf[] = {
1906
1907 /*--- Included file: packet-x509sat-hfarr.c ---*/
1908 #line 1 "./asn1/x509sat/packet-x509sat-hfarr.c"
1909     { &hf_x509sat_DirectoryString_PDU,
1910       { "DirectoryString", "x509sat.DirectoryString",
1911         FT_UINT32, BASE_DEC, VALS(x509sat_DirectoryString_vals), 0,
1912         NULL, HFILL }},
1913     { &hf_x509sat_UniqueIdentifier_PDU,
1914       { "UniqueIdentifier", "x509sat.UniqueIdentifier",
1915         FT_BYTES, BASE_NONE, NULL, 0,
1916         NULL, HFILL }},
1917     { &hf_x509sat_CountryName_PDU,
1918       { "CountryName", "x509sat.CountryName",
1919         FT_STRING, BASE_NONE, NULL, 0,
1920         NULL, HFILL }},
1921     { &hf_x509sat_Guide_PDU,
1922       { "Guide", "x509sat.Guide_element",
1923         FT_NONE, BASE_NONE, NULL, 0,
1924         NULL, HFILL }},
1925     { &hf_x509sat_EnhancedGuide_PDU,
1926       { "EnhancedGuide", "x509sat.EnhancedGuide_element",
1927         FT_NONE, BASE_NONE, NULL, 0,
1928         NULL, HFILL }},
1929     { &hf_x509sat_PostalAddress_PDU,
1930       { "PostalAddress", "x509sat.PostalAddress",
1931         FT_UINT32, BASE_DEC, NULL, 0,
1932         NULL, HFILL }},
1933     { &hf_x509sat_TelephoneNumber_PDU,
1934       { "TelephoneNumber", "x509sat.TelephoneNumber",
1935         FT_STRING, BASE_NONE, NULL, 0,
1936         NULL, HFILL }},
1937     { &hf_x509sat_TelexNumber_PDU,
1938       { "TelexNumber", "x509sat.TelexNumber_element",
1939         FT_NONE, BASE_NONE, NULL, 0,
1940         NULL, HFILL }},
1941     { &hf_x509sat_FacsimileTelephoneNumber_PDU,
1942       { "FacsimileTelephoneNumber", "x509sat.FacsimileTelephoneNumber_element",
1943         FT_NONE, BASE_NONE, NULL, 0,
1944         NULL, HFILL }},
1945     { &hf_x509sat_X121Address_PDU,
1946       { "X121Address", "x509sat.X121Address",
1947         FT_STRING, BASE_NONE, NULL, 0,
1948         NULL, HFILL }},
1949     { &hf_x509sat_InternationalISDNNumber_PDU,
1950       { "InternationalISDNNumber", "x509sat.InternationalISDNNumber",
1951         FT_STRING, BASE_NONE, NULL, 0,
1952         NULL, HFILL }},
1953     { &hf_x509sat_DestinationIndicator_PDU,
1954       { "DestinationIndicator", "x509sat.DestinationIndicator",
1955         FT_STRING, BASE_NONE, NULL, 0,
1956         NULL, HFILL }},
1957     { &hf_x509sat_PreferredDeliveryMethod_PDU,
1958       { "PreferredDeliveryMethod", "x509sat.PreferredDeliveryMethod",
1959         FT_UINT32, BASE_DEC, NULL, 0,
1960         NULL, HFILL }},
1961     { &hf_x509sat_PresentationAddress_PDU,
1962       { "PresentationAddress", "x509sat.PresentationAddress_element",
1963         FT_NONE, BASE_NONE, NULL, 0,
1964         NULL, HFILL }},
1965     { &hf_x509sat_ProtocolInformation_PDU,
1966       { "ProtocolInformation", "x509sat.ProtocolInformation_element",
1967         FT_NONE, BASE_NONE, NULL, 0,
1968         NULL, HFILL }},
1969     { &hf_x509sat_NameAndOptionalUID_PDU,
1970       { "NameAndOptionalUID", "x509sat.NameAndOptionalUID_element",
1971         FT_NONE, BASE_NONE, NULL, 0,
1972         NULL, HFILL }},
1973     { &hf_x509sat_CaseIgnoreListMatch_PDU,
1974       { "CaseIgnoreListMatch", "x509sat.CaseIgnoreListMatch",
1975         FT_UINT32, BASE_DEC, NULL, 0,
1976         NULL, HFILL }},
1977     { &hf_x509sat_ObjectIdentifier_PDU,
1978       { "ObjectIdentifier", "x509sat.ObjectIdentifier",
1979         FT_OID, BASE_NONE, NULL, 0,
1980         NULL, HFILL }},
1981     { &hf_x509sat_OctetString_PDU,
1982       { "OctetString", "x509sat.OctetString",
1983         FT_BYTES, BASE_NONE, NULL, 0,
1984         NULL, HFILL }},
1985     { &hf_x509sat_BitString_PDU,
1986       { "BitString", "x509sat.BitString",
1987         FT_BYTES, BASE_NONE, NULL, 0,
1988         NULL, HFILL }},
1989     { &hf_x509sat_Integer_PDU,
1990       { "Integer", "x509sat.Integer",
1991         FT_INT32, BASE_DEC, NULL, 0,
1992         NULL, HFILL }},
1993     { &hf_x509sat_Boolean_PDU,
1994       { "Boolean", "x509sat.Boolean",
1995         FT_BOOLEAN, BASE_NONE, NULL, 0,
1996         NULL, HFILL }},
1997     { &hf_x509sat_SyntaxGeneralizedTime_PDU,
1998       { "GeneralizedTime", "x509sat.GeneralizedTime",
1999         FT_STRING, BASE_NONE, NULL, 0,
2000         NULL, HFILL }},
2001     { &hf_x509sat_SyntaxUTCTime_PDU,
2002       { "UTCTime", "x509sat.UTCTime",
2003         FT_STRING, BASE_NONE, NULL, 0,
2004         NULL, HFILL }},
2005     { &hf_x509sat_SyntaxNumericString_PDU,
2006       { "NumericString", "x509sat.NumericString",
2007         FT_STRING, BASE_NONE, NULL, 0,
2008         NULL, HFILL }},
2009     { &hf_x509sat_SyntaxPrintableString_PDU,
2010       { "PrintableString", "x509sat.PrintableString",
2011         FT_STRING, BASE_NONE, NULL, 0,
2012         NULL, HFILL }},
2013     { &hf_x509sat_SyntaxIA5String_PDU,
2014       { "IA5String", "x509sat.IA5String",
2015         FT_STRING, BASE_NONE, NULL, 0,
2016         NULL, HFILL }},
2017     { &hf_x509sat_SyntaxBMPString_PDU,
2018       { "BMPString", "x509sat.BMPString",
2019         FT_STRING, BASE_NONE, NULL, 0,
2020         NULL, HFILL }},
2021     { &hf_x509sat_SyntaxUniversalString_PDU,
2022       { "UniversalString", "x509sat.UniversalString",
2023         FT_STRING, BASE_NONE, NULL, 0,
2024         NULL, HFILL }},
2025     { &hf_x509sat_SyntaxUTF8String_PDU,
2026       { "UTF8String", "x509sat.UTF8String",
2027         FT_STRING, BASE_NONE, NULL, 0,
2028         NULL, HFILL }},
2029     { &hf_x509sat_SyntaxTeletexString_PDU,
2030       { "TeletexString", "x509sat.TeletexString",
2031         FT_STRING, STR_UNICODE, NULL, 0,
2032         NULL, HFILL }},
2033     { &hf_x509sat_SyntaxT61String_PDU,
2034       { "T61String", "x509sat.T61String",
2035         FT_STRING, STR_UNICODE, NULL, 0,
2036         NULL, HFILL }},
2037     { &hf_x509sat_SyntaxVideotexString_PDU,
2038       { "VideotexString", "x509sat.VideotexString",
2039         FT_STRING, STR_UNICODE, NULL, 0,
2040         NULL, HFILL }},
2041     { &hf_x509sat_SyntaxGraphicString_PDU,
2042       { "GraphicString", "x509sat.GraphicString",
2043         FT_STRING, BASE_NONE, NULL, 0,
2044         NULL, HFILL }},
2045     { &hf_x509sat_SyntaxISO646String_PDU,
2046       { "ISO646String", "x509sat.ISO646String",
2047         FT_STRING, BASE_NONE, NULL, 0,
2048         NULL, HFILL }},
2049     { &hf_x509sat_SyntaxVisibleString_PDU,
2050       { "VisibleString", "x509sat.VisibleString",
2051         FT_STRING, BASE_NONE, NULL, 0,
2052         NULL, HFILL }},
2053     { &hf_x509sat_SyntaxGeneralString_PDU,
2054       { "GeneralString", "x509sat.GeneralString",
2055         FT_STRING, BASE_NONE, NULL, 0,
2056         NULL, HFILL }},
2057     { &hf_x509sat_GUID_PDU,
2058       { "GUID", "x509sat.GUID",
2059         FT_GUID, BASE_NONE, NULL, 0,
2060         NULL, HFILL }},
2061     { &hf_x509sat_teletexString,
2062       { "teletexString", "x509sat.teletexString",
2063         FT_STRING, STR_UNICODE, NULL, 0,
2064         NULL, HFILL }},
2065     { &hf_x509sat_printableString,
2066       { "printableString", "x509sat.printableString",
2067         FT_STRING, BASE_NONE, NULL, 0,
2068         NULL, HFILL }},
2069     { &hf_x509sat_universalString,
2070       { "universalString", "x509sat.universalString",
2071         FT_STRING, BASE_NONE, NULL, 0,
2072         NULL, HFILL }},
2073     { &hf_x509sat_bmpString,
2074       { "bmpString", "x509sat.bmpString",
2075         FT_STRING, BASE_NONE, NULL, 0,
2076         NULL, HFILL }},
2077     { &hf_x509sat_uTF8String,
2078       { "uTF8String", "x509sat.uTF8String",
2079         FT_STRING, BASE_NONE, NULL, 0,
2080         NULL, HFILL }},
2081     { &hf_x509sat_objectClass,
2082       { "objectClass", "x509sat.objectClass",
2083         FT_OID, BASE_NONE, NULL, 0,
2084         "OBJECT_IDENTIFIER", HFILL }},
2085     { &hf_x509sat_criteria,
2086       { "criteria", "x509sat.criteria",
2087         FT_UINT32, BASE_DEC, VALS(x509sat_Criteria_vals), 0,
2088         NULL, HFILL }},
2089     { &hf_x509sat_type,
2090       { "type", "x509sat.type",
2091         FT_UINT32, BASE_DEC, VALS(x509sat_CriteriaItem_vals), 0,
2092         "CriteriaItem", HFILL }},
2093     { &hf_x509sat_and,
2094       { "and", "x509sat.and",
2095         FT_UINT32, BASE_DEC, NULL, 0,
2096         "SET_OF_Criteria", HFILL }},
2097     { &hf_x509sat_and_item,
2098       { "Criteria", "x509sat.Criteria",
2099         FT_UINT32, BASE_DEC, VALS(x509sat_Criteria_vals), 0,
2100         NULL, HFILL }},
2101     { &hf_x509sat_or,
2102       { "or", "x509sat.or",
2103         FT_UINT32, BASE_DEC, NULL, 0,
2104         "SET_OF_Criteria", HFILL }},
2105     { &hf_x509sat_or_item,
2106       { "Criteria", "x509sat.Criteria",
2107         FT_UINT32, BASE_DEC, VALS(x509sat_Criteria_vals), 0,
2108         NULL, HFILL }},
2109     { &hf_x509sat_not,
2110       { "not", "x509sat.not",
2111         FT_UINT32, BASE_DEC, VALS(x509sat_Criteria_vals), 0,
2112         "Criteria", HFILL }},
2113     { &hf_x509sat_equality,
2114       { "equality", "x509sat.equality",
2115         FT_OID, BASE_NONE, NULL, 0,
2116         "AttributeType", HFILL }},
2117     { &hf_x509sat_substrings,
2118       { "substrings", "x509sat.substrings",
2119         FT_OID, BASE_NONE, NULL, 0,
2120         "AttributeType", HFILL }},
2121     { &hf_x509sat_greaterOrEqual,
2122       { "greaterOrEqual", "x509sat.greaterOrEqual",
2123         FT_OID, BASE_NONE, NULL, 0,
2124         "AttributeType", HFILL }},
2125     { &hf_x509sat_lessOrEqual,
2126       { "lessOrEqual", "x509sat.lessOrEqual",
2127         FT_OID, BASE_NONE, NULL, 0,
2128         "AttributeType", HFILL }},
2129     { &hf_x509sat_approximateMatch,
2130       { "approximateMatch", "x509sat.approximateMatch",
2131         FT_OID, BASE_NONE, NULL, 0,
2132         "AttributeType", HFILL }},
2133     { &hf_x509sat_subset,
2134       { "subset", "x509sat.subset",
2135         FT_INT32, BASE_DEC, VALS(x509sat_T_subset_vals), 0,
2136         NULL, HFILL }},
2137     { &hf_x509sat_PostalAddress_item,
2138       { "DirectoryString", "x509sat.DirectoryString",
2139         FT_UINT32, BASE_DEC, VALS(x509sat_DirectoryString_vals), 0,
2140         NULL, HFILL }},
2141     { &hf_x509sat_telexNumber,
2142       { "telexNumber", "x509sat.telexNumber",
2143         FT_STRING, BASE_NONE, NULL, 0,
2144         "PrintableString", HFILL }},
2145     { &hf_x509sat_countryCode,
2146       { "countryCode", "x509sat.countryCode",
2147         FT_STRING, BASE_NONE, NULL, 0,
2148         "PrintableString", HFILL }},
2149     { &hf_x509sat_answerback,
2150       { "answerback", "x509sat.answerback",
2151         FT_STRING, BASE_NONE, NULL, 0,
2152         "PrintableString", HFILL }},
2153     { &hf_x509sat_telephoneNumber,
2154       { "telephoneNumber", "x509sat.telephoneNumber",
2155         FT_STRING, BASE_NONE, NULL, 0,
2156         NULL, HFILL }},
2157     { &hf_x509sat_parameters,
2158       { "parameters", "x509sat.parameters",
2159         FT_BYTES, BASE_NONE, NULL, 0,
2160         "G3FacsimileNonBasicParameters", HFILL }},
2161     { &hf_x509sat_PreferredDeliveryMethod_item,
2162       { "PreferredDeliveryMethod item", "x509sat.PreferredDeliveryMethod_item",
2163         FT_INT32, BASE_DEC, VALS(x509sat_PreferredDeliveryMethod_item_vals), 0,
2164         NULL, HFILL }},
2165     { &hf_x509sat_pSelector,
2166       { "pSelector", "x509sat.pSelector",
2167         FT_BYTES, BASE_NONE, NULL, 0,
2168         "OCTET_STRING", HFILL }},
2169     { &hf_x509sat_sSelector,
2170       { "sSelector", "x509sat.sSelector",
2171         FT_BYTES, BASE_NONE, NULL, 0,
2172         "OCTET_STRING", HFILL }},
2173     { &hf_x509sat_tSelector,
2174       { "tSelector", "x509sat.tSelector",
2175         FT_BYTES, BASE_NONE, NULL, 0,
2176         "OCTET_STRING", HFILL }},
2177     { &hf_x509sat_nAddresses,
2178       { "nAddresses", "x509sat.nAddresses",
2179         FT_UINT32, BASE_DEC, NULL, 0,
2180         NULL, HFILL }},
2181     { &hf_x509sat_nAddresses_item,
2182       { "nAddresses item", "x509sat.nAddresses_item",
2183         FT_BYTES, BASE_NONE, NULL, 0,
2184         "OCTET_STRING", HFILL }},
2185     { &hf_x509sat_nAddress,
2186       { "nAddress", "x509sat.nAddress",
2187         FT_BYTES, BASE_NONE, NULL, 0,
2188         "OCTET_STRING", HFILL }},
2189     { &hf_x509sat_profiles,
2190       { "profiles", "x509sat.profiles",
2191         FT_UINT32, BASE_DEC, NULL, 0,
2192         NULL, HFILL }},
2193     { &hf_x509sat_profiles_item,
2194       { "profiles item", "x509sat.profiles_item",
2195         FT_OID, BASE_NONE, NULL, 0,
2196         "OBJECT_IDENTIFIER", HFILL }},
2197     { &hf_x509sat_dn,
2198       { "dn", "x509sat.dn",
2199         FT_UINT32, BASE_DEC, NULL, 0,
2200         "DistinguishedName", HFILL }},
2201     { &hf_x509sat_uid,
2202       { "uid", "x509sat.uid",
2203         FT_BYTES, BASE_NONE, NULL, 0,
2204         "UniqueIdentifier", HFILL }},
2205     { &hf_x509sat_matchingRuleUsed,
2206       { "matchingRuleUsed", "x509sat.matchingRuleUsed",
2207         FT_OID, BASE_NONE, NULL, 0,
2208         "OBJECT_IDENTIFIER", HFILL }},
2209     { &hf_x509sat_attributeList,
2210       { "attributeList", "x509sat.attributeList",
2211         FT_UINT32, BASE_DEC, NULL, 0,
2212         "SEQUENCE_OF_AttributeValueAssertion", HFILL }},
2213     { &hf_x509sat_attributeList_item,
2214       { "AttributeValueAssertion", "x509sat.AttributeValueAssertion_element",
2215         FT_NONE, BASE_NONE, NULL, 0,
2216         NULL, HFILL }},
2217     { &hf_x509sat_SubstringAssertion_item,
2218       { "SubstringAssertion item", "x509sat.SubstringAssertion_item",
2219         FT_UINT32, BASE_DEC, VALS(x509sat_SubstringAssertion_item_vals), 0,
2220         NULL, HFILL }},
2221     { &hf_x509sat_initial,
2222       { "initial", "x509sat.initial",
2223         FT_UINT32, BASE_DEC, VALS(x509sat_DirectoryString_vals), 0,
2224         "DirectoryString", HFILL }},
2225     { &hf_x509sat_any,
2226       { "any", "x509sat.any",
2227         FT_UINT32, BASE_DEC, VALS(x509sat_DirectoryString_vals), 0,
2228         "DirectoryString", HFILL }},
2229     { &hf_x509sat_final,
2230       { "final", "x509sat.final",
2231         FT_UINT32, BASE_DEC, VALS(x509sat_DirectoryString_vals), 0,
2232         "DirectoryString", HFILL }},
2233     { &hf_x509sat_control,
2234       { "control", "x509sat.control_element",
2235         FT_NONE, BASE_NONE, NULL, 0,
2236         "Attribute", HFILL }},
2237     { &hf_x509sat_CaseIgnoreListMatch_item,
2238       { "DirectoryString", "x509sat.DirectoryString",
2239         FT_UINT32, BASE_DEC, VALS(x509sat_DirectoryString_vals), 0,
2240         NULL, HFILL }},
2241     { &hf_x509sat_OctetSubstringAssertion_item,
2242       { "OctetSubstringAssertion item", "x509sat.OctetSubstringAssertion_item",
2243         FT_UINT32, BASE_DEC, VALS(x509sat_OctetSubstringAssertion_item_vals), 0,
2244         NULL, HFILL }},
2245     { &hf_x509sat_initial_substring,
2246       { "initial", "x509sat.initial",
2247         FT_BYTES, BASE_NONE, NULL, 0,
2248         "OCTET_STRING", HFILL }},
2249     { &hf_x509sat_any_substring,
2250       { "any", "x509sat.any",
2251         FT_BYTES, BASE_NONE, NULL, 0,
2252         "OCTET_STRING", HFILL }},
2253     { &hf_x509sat_finall_substring,
2254       { "final", "x509sat.final",
2255         FT_BYTES, BASE_NONE, NULL, 0,
2256         "OCTET_STRING", HFILL }},
2257     { &hf_x509sat_ZonalSelect_item,
2258       { "AttributeType", "x509sat.AttributeType",
2259         FT_OID, BASE_NONE, NULL, 0,
2260         NULL, HFILL }},
2261     { &hf_x509sat_time,
2262       { "time", "x509sat.time",
2263         FT_UINT32, BASE_DEC, VALS(x509sat_T_time_vals), 0,
2264         NULL, HFILL }},
2265     { &hf_x509sat_absolute,
2266       { "absolute", "x509sat.absolute_element",
2267         FT_NONE, BASE_NONE, NULL, 0,
2268         NULL, HFILL }},
2269     { &hf_x509sat_startTime,
2270       { "startTime", "x509sat.startTime",
2271         FT_STRING, BASE_NONE, NULL, 0,
2272         "GeneralizedTime", HFILL }},
2273     { &hf_x509sat_endTime,
2274       { "endTime", "x509sat.endTime",
2275         FT_STRING, BASE_NONE, NULL, 0,
2276         "GeneralizedTime", HFILL }},
2277     { &hf_x509sat_periodic,
2278       { "periodic", "x509sat.periodic",
2279         FT_UINT32, BASE_DEC, NULL, 0,
2280         "SET_OF_Period", HFILL }},
2281     { &hf_x509sat_periodic_item,
2282       { "Period", "x509sat.Period_element",
2283         FT_NONE, BASE_NONE, NULL, 0,
2284         NULL, HFILL }},
2285     { &hf_x509sat_notThisTime,
2286       { "notThisTime", "x509sat.notThisTime",
2287         FT_BOOLEAN, BASE_NONE, NULL, 0,
2288         "BOOLEAN", HFILL }},
2289     { &hf_x509sat_timeZone,
2290       { "timeZone", "x509sat.timeZone",
2291         FT_INT32, BASE_DEC, NULL, 0,
2292         NULL, HFILL }},
2293     { &hf_x509sat_timesOfDay,
2294       { "timesOfDay", "x509sat.timesOfDay",
2295         FT_UINT32, BASE_DEC, NULL, 0,
2296         "SET_OF_DayTimeBand", HFILL }},
2297     { &hf_x509sat_timesOfDay_item,
2298       { "DayTimeBand", "x509sat.DayTimeBand_element",
2299         FT_NONE, BASE_NONE, NULL, 0,
2300         NULL, HFILL }},
2301     { &hf_x509sat_days,
2302       { "days", "x509sat.days",
2303         FT_UINT32, BASE_DEC, VALS(x509sat_T_days_vals), 0,
2304         NULL, HFILL }},
2305     { &hf_x509sat_intDay,
2306       { "intDay", "x509sat.intDay",
2307         FT_UINT32, BASE_DEC, NULL, 0,
2308         NULL, HFILL }},
2309     { &hf_x509sat_intDay_item,
2310       { "intDay item", "x509sat.intDay_item",
2311         FT_INT32, BASE_DEC, NULL, 0,
2312         "INTEGER", HFILL }},
2313     { &hf_x509sat_bitDay,
2314       { "bitDay", "x509sat.bitDay",
2315         FT_BYTES, BASE_NONE, NULL, 0,
2316         NULL, HFILL }},
2317     { &hf_x509sat_dayOf,
2318       { "dayOf", "x509sat.dayOf",
2319         FT_UINT32, BASE_DEC, VALS(x509sat_XDayOf_vals), 0,
2320         "XDayOf", HFILL }},
2321     { &hf_x509sat_weeks,
2322       { "weeks", "x509sat.weeks",
2323         FT_UINT32, BASE_DEC, VALS(x509sat_T_weeks_vals), 0,
2324         NULL, HFILL }},
2325     { &hf_x509sat_allWeeks,
2326       { "allWeeks", "x509sat.allWeeks_element",
2327         FT_NONE, BASE_NONE, NULL, 0,
2328         NULL, HFILL }},
2329     { &hf_x509sat_intWeek,
2330       { "intWeek", "x509sat.intWeek",
2331         FT_UINT32, BASE_DEC, NULL, 0,
2332         NULL, HFILL }},
2333     { &hf_x509sat_intWeek_item,
2334       { "intWeek item", "x509sat.intWeek_item",
2335         FT_INT32, BASE_DEC, NULL, 0,
2336         "INTEGER", HFILL }},
2337     { &hf_x509sat_bitWeek,
2338       { "bitWeek", "x509sat.bitWeek",
2339         FT_BYTES, BASE_NONE, NULL, 0,
2340         NULL, HFILL }},
2341     { &hf_x509sat_months,
2342       { "months", "x509sat.months",
2343         FT_UINT32, BASE_DEC, VALS(x509sat_T_months_vals), 0,
2344         NULL, HFILL }},
2345     { &hf_x509sat_allMonths,
2346       { "allMonths", "x509sat.allMonths_element",
2347         FT_NONE, BASE_NONE, NULL, 0,
2348         NULL, HFILL }},
2349     { &hf_x509sat_intMonth,
2350       { "intMonth", "x509sat.intMonth",
2351         FT_UINT32, BASE_DEC, NULL, 0,
2352         NULL, HFILL }},
2353     { &hf_x509sat_intMonth_item,
2354       { "intMonth item", "x509sat.intMonth_item",
2355         FT_INT32, BASE_DEC, NULL, 0,
2356         "INTEGER", HFILL }},
2357     { &hf_x509sat_bitMonth,
2358       { "bitMonth", "x509sat.bitMonth",
2359         FT_BYTES, BASE_NONE, NULL, 0,
2360         NULL, HFILL }},
2361     { &hf_x509sat_years,
2362       { "years", "x509sat.years",
2363         FT_UINT32, BASE_DEC, NULL, 0,
2364         NULL, HFILL }},
2365     { &hf_x509sat_years_item,
2366       { "years item", "x509sat.years_item",
2367         FT_INT32, BASE_DEC, NULL, 0,
2368         "INTEGER", HFILL }},
2369     { &hf_x509sat_first_dayof,
2370       { "first", "x509sat.first",
2371         FT_UINT32, BASE_DEC, VALS(x509sat_NamedDay_vals), 0,
2372         "NamedDay", HFILL }},
2373     { &hf_x509sat_second_dayof,
2374       { "second", "x509sat.second",
2375         FT_UINT32, BASE_DEC, VALS(x509sat_NamedDay_vals), 0,
2376         "NamedDay", HFILL }},
2377     { &hf_x509sat_third_dayof,
2378       { "third", "x509sat.third",
2379         FT_UINT32, BASE_DEC, VALS(x509sat_NamedDay_vals), 0,
2380         "NamedDay", HFILL }},
2381     { &hf_x509sat_fourth_dayof,
2382       { "fourth", "x509sat.fourth",
2383         FT_UINT32, BASE_DEC, VALS(x509sat_NamedDay_vals), 0,
2384         "NamedDay", HFILL }},
2385     { &hf_x509sat_fifth_dayof,
2386       { "fifth", "x509sat.fifth",
2387         FT_UINT32, BASE_DEC, VALS(x509sat_NamedDay_vals), 0,
2388         "NamedDay", HFILL }},
2389     { &hf_x509sat_intNamedDays,
2390       { "intNamedDays", "x509sat.intNamedDays",
2391         FT_UINT32, BASE_DEC, VALS(x509sat_T_intNamedDays_vals), 0,
2392         NULL, HFILL }},
2393     { &hf_x509sat_bitNamedDays,
2394       { "bitNamedDays", "x509sat.bitNamedDays",
2395         FT_BYTES, BASE_NONE, NULL, 0,
2396         NULL, HFILL }},
2397     { &hf_x509sat_startDayTime,
2398       { "startDayTime", "x509sat.startDayTime_element",
2399         FT_NONE, BASE_NONE, NULL, 0,
2400         "DayTime", HFILL }},
2401     { &hf_x509sat_endDayTime,
2402       { "endDayTime", "x509sat.endDayTime_element",
2403         FT_NONE, BASE_NONE, NULL, 0,
2404         "DayTime", HFILL }},
2405     { &hf_x509sat_hour,
2406       { "hour", "x509sat.hour",
2407         FT_INT32, BASE_DEC, NULL, 0,
2408         "INTEGER", HFILL }},
2409     { &hf_x509sat_minute,
2410       { "minute", "x509sat.minute",
2411         FT_INT32, BASE_DEC, NULL, 0,
2412         "INTEGER", HFILL }},
2413     { &hf_x509sat_second,
2414       { "second", "x509sat.second",
2415         FT_INT32, BASE_DEC, NULL, 0,
2416         "INTEGER", HFILL }},
2417     { &hf_x509sat_now,
2418       { "now", "x509sat.now_element",
2419         FT_NONE, BASE_NONE, NULL, 0,
2420         NULL, HFILL }},
2421     { &hf_x509sat_at,
2422       { "at", "x509sat.at",
2423         FT_STRING, BASE_NONE, NULL, 0,
2424         "GeneralizedTime", HFILL }},
2425     { &hf_x509sat_between,
2426       { "between", "x509sat.between_element",
2427         FT_NONE, BASE_NONE, NULL, 0,
2428         NULL, HFILL }},
2429     { &hf_x509sat_entirely,
2430       { "entirely", "x509sat.entirely",
2431         FT_BOOLEAN, BASE_NONE, NULL, 0,
2432         "BOOLEAN", HFILL }},
2433     { &hf_x509sat_localeID1,
2434       { "localeID1", "x509sat.localeID1",
2435         FT_OID, BASE_NONE, NULL, 0,
2436         "OBJECT_IDENTIFIER", HFILL }},
2437     { &hf_x509sat_localeID2,
2438       { "localeID2", "x509sat.localeID2",
2439         FT_UINT32, BASE_DEC, VALS(x509sat_DirectoryString_vals), 0,
2440         "DirectoryString", HFILL }},
2441     { &hf_x509sat_T_bitDay_sunday,
2442       { "sunday", "x509sat.sunday",
2443         FT_BOOLEAN, 8, NULL, 0x80,
2444         NULL, HFILL }},
2445     { &hf_x509sat_T_bitDay_monday,
2446       { "monday", "x509sat.monday",
2447         FT_BOOLEAN, 8, NULL, 0x40,
2448         NULL, HFILL }},
2449     { &hf_x509sat_T_bitDay_tuesday,
2450       { "tuesday", "x509sat.tuesday",
2451         FT_BOOLEAN, 8, NULL, 0x20,
2452         NULL, HFILL }},
2453     { &hf_x509sat_T_bitDay_wednesday,
2454       { "wednesday", "x509sat.wednesday",
2455         FT_BOOLEAN, 8, NULL, 0x10,
2456         NULL, HFILL }},
2457     { &hf_x509sat_T_bitDay_thursday,
2458       { "thursday", "x509sat.thursday",
2459         FT_BOOLEAN, 8, NULL, 0x08,
2460         NULL, HFILL }},
2461     { &hf_x509sat_T_bitDay_friday,
2462       { "friday", "x509sat.friday",
2463         FT_BOOLEAN, 8, NULL, 0x04,
2464         NULL, HFILL }},
2465     { &hf_x509sat_T_bitDay_saturday,
2466       { "saturday", "x509sat.saturday",
2467         FT_BOOLEAN, 8, NULL, 0x02,
2468         NULL, HFILL }},
2469     { &hf_x509sat_T_bitWeek_week1,
2470       { "week1", "x509sat.week1",
2471         FT_BOOLEAN, 8, NULL, 0x80,
2472         NULL, HFILL }},
2473     { &hf_x509sat_T_bitWeek_week2,
2474       { "week2", "x509sat.week2",
2475         FT_BOOLEAN, 8, NULL, 0x40,
2476         NULL, HFILL }},
2477     { &hf_x509sat_T_bitWeek_week3,
2478       { "week3", "x509sat.week3",
2479         FT_BOOLEAN, 8, NULL, 0x20,
2480         NULL, HFILL }},
2481     { &hf_x509sat_T_bitWeek_week4,
2482       { "week4", "x509sat.week4",
2483         FT_BOOLEAN, 8, NULL, 0x10,
2484         NULL, HFILL }},
2485     { &hf_x509sat_T_bitWeek_week5,
2486       { "week5", "x509sat.week5",
2487         FT_BOOLEAN, 8, NULL, 0x08,
2488         NULL, HFILL }},
2489     { &hf_x509sat_T_bitMonth_january,
2490       { "january", "x509sat.january",
2491         FT_BOOLEAN, 8, NULL, 0x80,
2492         NULL, HFILL }},
2493     { &hf_x509sat_T_bitMonth_february,
2494       { "february", "x509sat.february",
2495         FT_BOOLEAN, 8, NULL, 0x40,
2496         NULL, HFILL }},
2497     { &hf_x509sat_T_bitMonth_march,
2498       { "march", "x509sat.march",
2499         FT_BOOLEAN, 8, NULL, 0x20,
2500         NULL, HFILL }},
2501     { &hf_x509sat_T_bitMonth_april,
2502       { "april", "x509sat.april",
2503         FT_BOOLEAN, 8, NULL, 0x10,
2504         NULL, HFILL }},
2505     { &hf_x509sat_T_bitMonth_may,
2506       { "may", "x509sat.may",
2507         FT_BOOLEAN, 8, NULL, 0x08,
2508         NULL, HFILL }},
2509     { &hf_x509sat_T_bitMonth_june,
2510       { "june", "x509sat.june",
2511         FT_BOOLEAN, 8, NULL, 0x04,
2512         NULL, HFILL }},
2513     { &hf_x509sat_T_bitMonth_july,
2514       { "july", "x509sat.july",
2515         FT_BOOLEAN, 8, NULL, 0x02,
2516         NULL, HFILL }},
2517     { &hf_x509sat_T_bitMonth_august,
2518       { "august", "x509sat.august",
2519         FT_BOOLEAN, 8, NULL, 0x01,
2520         NULL, HFILL }},
2521     { &hf_x509sat_T_bitMonth_september,
2522       { "september", "x509sat.september",
2523         FT_BOOLEAN, 8, NULL, 0x80,
2524         NULL, HFILL }},
2525     { &hf_x509sat_T_bitMonth_october,
2526       { "october", "x509sat.october",
2527         FT_BOOLEAN, 8, NULL, 0x40,
2528         NULL, HFILL }},
2529     { &hf_x509sat_T_bitMonth_november,
2530       { "november", "x509sat.november",
2531         FT_BOOLEAN, 8, NULL, 0x20,
2532         NULL, HFILL }},
2533     { &hf_x509sat_T_bitMonth_december,
2534       { "december", "x509sat.december",
2535         FT_BOOLEAN, 8, NULL, 0x10,
2536         NULL, HFILL }},
2537     { &hf_x509sat_T_bitNamedDays_sunday,
2538       { "sunday", "x509sat.sunday",
2539         FT_BOOLEAN, 8, NULL, 0x80,
2540         NULL, HFILL }},
2541     { &hf_x509sat_T_bitNamedDays_monday,
2542       { "monday", "x509sat.monday",
2543         FT_BOOLEAN, 8, NULL, 0x40,
2544         NULL, HFILL }},
2545     { &hf_x509sat_T_bitNamedDays_tuesday,
2546       { "tuesday", "x509sat.tuesday",
2547         FT_BOOLEAN, 8, NULL, 0x20,
2548         NULL, HFILL }},
2549     { &hf_x509sat_T_bitNamedDays_wednesday,
2550       { "wednesday", "x509sat.wednesday",
2551         FT_BOOLEAN, 8, NULL, 0x10,
2552         NULL, HFILL }},
2553     { &hf_x509sat_T_bitNamedDays_thursday,
2554       { "thursday", "x509sat.thursday",
2555         FT_BOOLEAN, 8, NULL, 0x08,
2556         NULL, HFILL }},
2557     { &hf_x509sat_T_bitNamedDays_friday,
2558       { "friday", "x509sat.friday",
2559         FT_BOOLEAN, 8, NULL, 0x04,
2560         NULL, HFILL }},
2561     { &hf_x509sat_T_bitNamedDays_saturday,
2562       { "saturday", "x509sat.saturday",
2563         FT_BOOLEAN, 8, NULL, 0x02,
2564         NULL, HFILL }},
2565
2566 /*--- End of included file: packet-x509sat-hfarr.c ---*/
2567 #line 46 "./asn1/x509sat/packet-x509sat-template.c"
2568   };
2569
2570   /* List of subtrees */
2571   static gint *ett[] = {
2572
2573 /*--- Included file: packet-x509sat-ettarr.c ---*/
2574 #line 1 "./asn1/x509sat/packet-x509sat-ettarr.c"
2575     &ett_x509sat_DirectoryString,
2576     &ett_x509sat_Guide,
2577     &ett_x509sat_Criteria,
2578     &ett_x509sat_SET_OF_Criteria,
2579     &ett_x509sat_CriteriaItem,
2580     &ett_x509sat_EnhancedGuide,
2581     &ett_x509sat_PostalAddress,
2582     &ett_x509sat_TelexNumber,
2583     &ett_x509sat_FacsimileTelephoneNumber,
2584     &ett_x509sat_PreferredDeliveryMethod,
2585     &ett_x509sat_PresentationAddress,
2586     &ett_x509sat_T_nAddresses,
2587     &ett_x509sat_ProtocolInformation,
2588     &ett_x509sat_T_profiles,
2589     &ett_x509sat_NameAndOptionalUID,
2590     &ett_x509sat_MultipleMatchingLocalities,
2591     &ett_x509sat_SEQUENCE_OF_AttributeValueAssertion,
2592     &ett_x509sat_SubstringAssertion,
2593     &ett_x509sat_SubstringAssertion_item,
2594     &ett_x509sat_CaseIgnoreListMatch,
2595     &ett_x509sat_OctetSubstringAssertion,
2596     &ett_x509sat_OctetSubstringAssertion_item,
2597     &ett_x509sat_ZonalSelect,
2598     &ett_x509sat_TimeSpecification,
2599     &ett_x509sat_T_time,
2600     &ett_x509sat_T_absolute,
2601     &ett_x509sat_SET_OF_Period,
2602     &ett_x509sat_Period,
2603     &ett_x509sat_SET_OF_DayTimeBand,
2604     &ett_x509sat_T_days,
2605     &ett_x509sat_T_intDay,
2606     &ett_x509sat_T_bitDay,
2607     &ett_x509sat_T_weeks,
2608     &ett_x509sat_T_intWeek,
2609     &ett_x509sat_T_bitWeek,
2610     &ett_x509sat_T_months,
2611     &ett_x509sat_T_intMonth,
2612     &ett_x509sat_T_bitMonth,
2613     &ett_x509sat_T_years,
2614     &ett_x509sat_XDayOf,
2615     &ett_x509sat_NamedDay,
2616     &ett_x509sat_T_bitNamedDays,
2617     &ett_x509sat_DayTimeBand,
2618     &ett_x509sat_DayTime,
2619     &ett_x509sat_TimeAssertion,
2620     &ett_x509sat_T_between,
2621     &ett_x509sat_LocaleContextSyntax,
2622
2623 /*--- End of included file: packet-x509sat-ettarr.c ---*/
2624 #line 51 "./asn1/x509sat/packet-x509sat-template.c"
2625   };
2626
2627   /* Register protocol */
2628   proto_x509sat = proto_register_protocol(PNAME, PSNAME, PFNAME);
2629
2630   /* Register fields and subtrees */
2631   proto_register_field_array(proto_x509sat, hf, array_length(hf));
2632   proto_register_subtree_array(ett, array_length(ett));
2633
2634
2635 /*--- Included file: packet-x509sat-syn-reg.c ---*/
2636 #line 1 "./asn1/x509sat/packet-x509sat-syn-reg.c"
2637   /*--- Syntax registrations ---*/
2638   register_ber_syntax_dissector("BitString", proto_x509sat, dissect_BitString_PDU);
2639   register_ber_syntax_dissector("Boolean", proto_x509sat, dissect_Boolean_PDU);
2640   register_ber_syntax_dissector("CaseIgnoreListMatch", proto_x509sat, dissect_CaseIgnoreListMatch_PDU);
2641   register_ber_syntax_dissector("CountryName", proto_x509sat, dissect_CountryName_PDU);
2642   register_ber_syntax_dissector("DestinationIndicator", proto_x509sat, dissect_DestinationIndicator_PDU);
2643   register_ber_syntax_dissector("DirectoryString", proto_x509sat, dissect_DirectoryString_PDU);
2644   register_ber_syntax_dissector("EnhancedGuide", proto_x509sat, dissect_EnhancedGuide_PDU);
2645   register_ber_syntax_dissector("FacsimileTelephoneNumber", proto_x509sat, dissect_FacsimileTelephoneNumber_PDU);
2646   register_ber_syntax_dissector("GUID", proto_x509sat, dissect_GUID_PDU);
2647   register_ber_syntax_dissector("Guide", proto_x509sat, dissect_Guide_PDU);
2648   register_ber_syntax_dissector("InternationalISDNNumber", proto_x509sat, dissect_InternationalISDNNumber_PDU);
2649   register_ber_syntax_dissector("Integer", proto_x509sat, dissect_Integer_PDU);
2650   register_ber_syntax_dissector("NameAndOptionalUID", proto_x509sat, dissect_NameAndOptionalUID_PDU);
2651   register_ber_syntax_dissector("ObjectIdentifier", proto_x509sat, dissect_ObjectIdentifier_PDU);
2652   register_ber_syntax_dissector("OctetString", proto_x509sat, dissect_OctetString_PDU);
2653   register_ber_syntax_dissector("PostalAddress", proto_x509sat, dissect_PostalAddress_PDU);
2654   register_ber_syntax_dissector("PreferredDeliveryMethod", proto_x509sat, dissect_PreferredDeliveryMethod_PDU);
2655   register_ber_syntax_dissector("PresentationAddress", proto_x509sat, dissect_PresentationAddress_PDU);
2656   register_ber_syntax_dissector("BMPString", proto_x509sat, dissect_SyntaxBMPString_PDU);
2657   register_ber_syntax_dissector("GeneralizedTime", proto_x509sat, dissect_SyntaxGeneralizedTime_PDU);
2658   register_ber_syntax_dissector("GeneralString", proto_x509sat, dissect_SyntaxGeneralString_PDU);
2659   register_ber_syntax_dissector("GraphicString", proto_x509sat, dissect_SyntaxGraphicString_PDU);
2660   register_ber_syntax_dissector("IA5String", proto_x509sat, dissect_SyntaxIA5String_PDU);
2661   register_ber_syntax_dissector("ISO646String", proto_x509sat, dissect_SyntaxISO646String_PDU);
2662   register_ber_syntax_dissector("NumericString", proto_x509sat, dissect_SyntaxNumericString_PDU);
2663   register_ber_syntax_dissector("PrintableString", proto_x509sat, dissect_SyntaxPrintableString_PDU);
2664   register_ber_syntax_dissector("T61String", proto_x509sat, dissect_SyntaxT61String_PDU);
2665   register_ber_syntax_dissector("TeletexString", proto_x509sat, dissect_SyntaxTeletexString_PDU);
2666   register_ber_syntax_dissector("UniversalString", proto_x509sat, dissect_SyntaxUniversalString_PDU);
2667   register_ber_syntax_dissector("UTF8String", proto_x509sat, dissect_SyntaxUTF8String_PDU);
2668   register_ber_syntax_dissector("UTCTime", proto_x509sat, dissect_SyntaxUTCTime_PDU);
2669   register_ber_syntax_dissector("VideotexString", proto_x509sat, dissect_SyntaxVideotexString_PDU);
2670   register_ber_syntax_dissector("VisibleString", proto_x509sat, dissect_SyntaxVisibleString_PDU);
2671   register_ber_syntax_dissector("TelephoneNumber", proto_x509sat, dissect_TelephoneNumber_PDU);
2672   register_ber_syntax_dissector("TelexNumber", proto_x509sat, dissect_TelexNumber_PDU);
2673   register_ber_syntax_dissector("UniqueIdentifier", proto_x509sat, dissect_UniqueIdentifier_PDU);
2674   register_ber_syntax_dissector("X121Address", proto_x509sat, dissect_X121Address_PDU);
2675
2676 /*--- End of included file: packet-x509sat-syn-reg.c ---*/
2677 #line 61 "./asn1/x509sat/packet-x509sat-template.c"
2678
2679 }
2680
2681
2682 /*--- proto_reg_handoff_x509sat -------------------------------------------*/
2683 void proto_reg_handoff_x509sat(void) {
2684
2685 /*--- Included file: packet-x509sat-dis-tab.c ---*/
2686 #line 1 "./asn1/x509sat/packet-x509sat-dis-tab.c"
2687   register_ber_oid_dissector("2.5.4.0", dissect_ObjectIdentifier_PDU, proto_x509sat, "id-at-objectClass");
2688   register_ber_oid_dissector("2.5.4.2", dissect_DirectoryString_PDU, proto_x509sat, "id-at-knowledgeInformation");
2689   register_ber_oid_dissector("2.5.4.3", dissect_DirectoryString_PDU, proto_x509sat, "id-at-commonName");
2690   register_ber_oid_dissector("2.5.4.4", dissect_DirectoryString_PDU, proto_x509sat, "id-at-surname");
2691   register_ber_oid_dissector("2.5.4.5", dissect_SyntaxPrintableString_PDU, proto_x509sat, "id-at-serialNumber");
2692   register_ber_oid_dissector("2.5.4.6", dissect_CountryName_PDU, proto_x509sat, "id-at-countryName");
2693   register_ber_oid_dissector("2.5.4.7", dissect_DirectoryString_PDU, proto_x509sat, "id-at-localityName");
2694   register_ber_oid_dissector("2.5.4.7.1", dissect_DirectoryString_PDU, proto_x509sat, "id-at-collectiveLocalityName");
2695   register_ber_oid_dissector("2.5.4.8", dissect_DirectoryString_PDU, proto_x509sat, "id-at-stateOrProvinceName");
2696   register_ber_oid_dissector("2.5.4.8.1", dissect_DirectoryString_PDU, proto_x509sat, "id-at-collectiveStateOrProvinceName");
2697   register_ber_oid_dissector("2.5.4.9", dissect_DirectoryString_PDU, proto_x509sat, "id-at-streetAddress");
2698   register_ber_oid_dissector("2.5.4.9.1", dissect_DirectoryString_PDU, proto_x509sat, "id-at-collectiveStreetAddress");
2699   register_ber_oid_dissector("2.5.4.10.1", dissect_DirectoryString_PDU, proto_x509sat, "id-at-collectiveOrganizationName");
2700   register_ber_oid_dissector("2.5.4.10", dissect_DirectoryString_PDU, proto_x509sat, "id-at-organizationName");
2701   register_ber_oid_dissector("2.5.4.11", dissect_DirectoryString_PDU, proto_x509sat, "id-at-organizationalUnitName");
2702   register_ber_oid_dissector("2.5.4.11.1", dissect_DirectoryString_PDU, proto_x509sat, "id-at-collectiveOrganizationalUnitName");
2703   register_ber_oid_dissector("2.5.4.12", dissect_DirectoryString_PDU, proto_x509sat, "id-at-title");
2704   register_ber_oid_dissector("2.5.4.13", dissect_DirectoryString_PDU, proto_x509sat, "id-at-description");
2705   register_ber_oid_dissector("2.5.4.14", dissect_Guide_PDU, proto_x509sat, "id-at-searchGuide");
2706   register_ber_oid_dissector("2.5.4.15", dissect_DirectoryString_PDU, proto_x509sat, "id-at-businessCategory");
2707   register_ber_oid_dissector("2.5.4.16", dissect_PostalAddress_PDU, proto_x509sat, "id-at-postalAddress");
2708   register_ber_oid_dissector("2.5.4.17", dissect_DirectoryString_PDU, proto_x509sat, "id-at-postalCode");
2709   register_ber_oid_dissector("2.5.4.17.1", dissect_DirectoryString_PDU, proto_x509sat, "id-at-collectivePostalCode");
2710   register_ber_oid_dissector("2.5.4.18", dissect_DirectoryString_PDU, proto_x509sat, "id-at-postOfficeBox");
2711   register_ber_oid_dissector("2.5.4.18.1", dissect_DirectoryString_PDU, proto_x509sat, "id-at-collectivePostOfficeBox");
2712   register_ber_oid_dissector("2.5.4.19", dissect_DirectoryString_PDU, proto_x509sat, "id-at-physicalDeliveryOfficeName");
2713   register_ber_oid_dissector("2.5.4.19.1", dissect_DirectoryString_PDU, proto_x509sat, "id-at-collectivePhysicalDeliveryOfficeName");
2714   register_ber_oid_dissector("2.5.4.20", dissect_TelephoneNumber_PDU, proto_x509sat, "id-at-telephoneNumber");
2715   register_ber_oid_dissector("2.5.4.20.1", dissect_TelephoneNumber_PDU, proto_x509sat, "id-at-collectiveTelephoneNumber");
2716   register_ber_oid_dissector("2.5.4.21", dissect_TelexNumber_PDU, proto_x509sat, "id-at-telexNumber");
2717   register_ber_oid_dissector("2.5.4.21.1", dissect_TelexNumber_PDU, proto_x509sat, "id-at-collectiveTelexNumber");
2718   register_ber_oid_dissector("2.5.4.23", dissect_FacsimileTelephoneNumber_PDU, proto_x509sat, "id-at-facsimileTelephoneNumber");
2719   register_ber_oid_dissector("2.5.4.23.1", dissect_FacsimileTelephoneNumber_PDU, proto_x509sat, "id-at-collectiveFacsimileTelephoneNumber");
2720   register_ber_oid_dissector("2.5.4.24", dissect_X121Address_PDU, proto_x509sat, "id-at-x121Address");
2721   register_ber_oid_dissector("2.5.4.25", dissect_InternationalISDNNumber_PDU, proto_x509sat, "id-at-internationalISDNNumber");
2722   register_ber_oid_dissector("2.5.4.25.1", dissect_InternationalISDNNumber_PDU, proto_x509sat, "id-at-collectiveInternationalISDNNumber");
2723   register_ber_oid_dissector("2.5.4.26", dissect_PostalAddress_PDU, proto_x509sat, "id-at-registeredAddress");
2724   register_ber_oid_dissector("2.5.4.27", dissect_DestinationIndicator_PDU, proto_x509sat, "id-at-destinationIndicator");
2725   register_ber_oid_dissector("2.5.4.28", dissect_PreferredDeliveryMethod_PDU, proto_x509sat, "id-at-preferredDeliveryMethod");
2726   register_ber_oid_dissector("2.5.4.29", dissect_PresentationAddress_PDU, proto_x509sat, "id-at-presentationAddress");
2727   register_ber_oid_dissector("2.5.4.30", dissect_ObjectIdentifier_PDU, proto_x509sat, "id-at-supportedApplicationContext");
2728   register_ber_oid_dissector("2.5.4.35", dissect_OctetString_PDU, proto_x509sat, "id-at-userPassword");
2729   register_ber_oid_dissector("2.5.4.41", dissect_DirectoryString_PDU, proto_x509sat, "id-at-name");
2730   register_ber_oid_dissector("2.5.4.42", dissect_DirectoryString_PDU, proto_x509sat, "id-at-givenName");
2731   register_ber_oid_dissector("2.5.4.43", dissect_DirectoryString_PDU, proto_x509sat, "id-at-initials");
2732   register_ber_oid_dissector("2.5.4.44", dissect_DirectoryString_PDU, proto_x509sat, "id-at-generationQualifier");
2733   register_ber_oid_dissector("2.5.4.45", dissect_UniqueIdentifier_PDU, proto_x509sat, "id-at-uniqueIdedntifier");
2734   register_ber_oid_dissector("2.5.4.46", dissect_SyntaxPrintableString_PDU, proto_x509sat, "id-at-dnQualifier");
2735   register_ber_oid_dissector("2.5.4.47", dissect_EnhancedGuide_PDU, proto_x509sat, "id-at-enhancedSearchGuide");
2736   register_ber_oid_dissector("2.5.4.48", dissect_ProtocolInformation_PDU, proto_x509sat, "id-at-protocolInformation");
2737   register_ber_oid_dissector("2.5.4.50", dissect_NameAndOptionalUID_PDU, proto_x509sat, "id-at-uniqueMember");
2738   register_ber_oid_dissector("2.5.4.51", dissect_DirectoryString_PDU, proto_x509sat, "id-at-houseIdentifier");
2739   register_ber_oid_dissector("2.5.4.52", dissect_ObjectIdentifier_PDU, proto_x509sat, "id-at-supportedAlgorithms");
2740   register_ber_oid_dissector("2.5.4.54", dissect_DirectoryString_PDU, proto_x509sat, "id-at-dmdName");
2741   register_ber_oid_dissector("2.5.4.56", dissect_ObjectIdentifier_PDU, proto_x509sat, "id-at-defaultDirQop");
2742   register_ber_oid_dissector("2.5.4.65", dissect_DirectoryString_PDU, proto_x509sat, "id-at-pseudonym");
2743   register_ber_oid_dissector("2.5.4.66", dissect_ObjectIdentifier_PDU, proto_x509sat, "id-at-communuicationsService");
2744   register_ber_oid_dissector("2.5.4.67", dissect_ObjectIdentifier_PDU, proto_x509sat, "id-at-communuicationsNetwork");
2745   register_ber_oid_dissector("2.5.13.8", dissect_SyntaxNumericString_PDU, proto_x509sat, "id-mr-numericStringMatch");
2746   register_ber_oid_dissector("2.5.13.11", dissect_CaseIgnoreListMatch_PDU, proto_x509sat, "id-mr-caseIgnoreListMatch");
2747   register_ber_oid_dissector("2.5.13.16", dissect_BitString_PDU, proto_x509sat, "id-mr-bitStringMatch");
2748   register_ber_oid_dissector("2.5.13.26", dissect_SyntaxUTCTime_PDU, proto_x509sat, "id-mr-uTCTimeOrderingMatch");
2749   register_ber_oid_dissector("2.5.18.1", dissect_SyntaxGeneralizedTime_PDU, proto_x509sat, "id-oa-createTimeStamp");
2750   register_ber_oid_dissector("2.5.18.2", dissect_SyntaxGeneralizedTime_PDU, proto_x509sat, "id-oa-modifyTimeStamp");
2751   register_ber_oid_dissector("2.5.18.5", dissect_ObjectIdentifier_PDU, proto_x509sat, "id-oa-administrativeRole");
2752   register_ber_oid_dissector("2.5.18.7", dissect_ObjectIdentifier_PDU, proto_x509sat, "id-oa-collectiveExclusions");
2753   register_ber_oid_dissector("2.5.18.8", dissect_SyntaxGeneralizedTime_PDU, proto_x509sat, "id-oa-subschemaTimeStamp");
2754   register_ber_oid_dissector("2.5.18.9", dissect_Boolean_PDU, proto_x509sat, "id-oa-hasSubordinates");
2755   register_ber_oid_dissector("2.5.24.1", dissect_ObjectIdentifier_PDU, proto_x509sat, "id-aca-accessControlScheme");
2756   register_ber_oid_dissector("2.6.5.2.8", dissect_ObjectIdentifier_PDU, proto_x509sat, "id-at-mhs-supported-automatic-actions");
2757   register_ber_oid_dissector("2.6.5.2.10", dissect_ObjectIdentifier_PDU, proto_x509sat, "id-at-mhs-supported-attributes");
2758   register_ber_oid_dissector("2.6.5.2.11", dissect_ObjectIdentifier_PDU, proto_x509sat, "id-at-mhs-supported-matching-rules");
2759   register_ber_oid_dissector("2.16.840.1.101.2.2.1.45", dissect_DirectoryString_PDU, proto_x509sat, "id-at-releaseAuthorityName");
2760   register_ber_oid_dissector("2.16.840.1.101.2.2.1.51", dissect_SyntaxPrintableString_PDU, proto_x509sat, "id-at-cognizantAuthority");
2761   register_ber_oid_dissector("2.16.840.1.101.2.2.1.53", dissect_SyntaxPrintableString_PDU, proto_x509sat, "id-at-accountingCode");
2762   register_ber_oid_dissector("2.16.840.1.101.2.2.1.54", dissect_Boolean_PDU, proto_x509sat, "id-at-dualRoute");
2763   register_ber_oid_dissector("2.16.840.1.101.2.2.1.55", dissect_SyntaxGeneralizedTime_PDU, proto_x509sat, "id-at-effectiveDate");
2764   register_ber_oid_dissector("2.16.840.1.101.2.2.1.57", dissect_SyntaxGeneralizedTime_PDU, proto_x509sat, "id-at-expirationDate");
2765   register_ber_oid_dissector("2.16.840.1.101.2.2.1.58", dissect_SyntaxPrintableString_PDU, proto_x509sat, "id-at-hostOrgACP127");
2766   register_ber_oid_dissector("2.16.840.1.101.2.2.1.60", dissect_SyntaxGeneralizedTime_PDU, proto_x509sat, "id-at-lastRecapDate");
2767   register_ber_oid_dissector("2.16.840.1.101.2.2.1.62", dissect_SyntaxPrintableString_PDU, proto_x509sat, "id-at-lmf");
2768   register_ber_oid_dissector("2.16.840.1.101.2.2.1.63", dissect_SyntaxPrintableString_PDU, proto_x509sat, "id-at-longTitle");
2769   register_ber_oid_dissector("2.16.840.1.101.2.2.1.64", dissect_Boolean_PDU, proto_x509sat, "id-at-minimize");
2770   register_ber_oid_dissector("2.16.840.1.101.2.2.1.65", dissect_Boolean_PDU, proto_x509sat, "id-at-minimizeOverride");
2771   register_ber_oid_dissector("2.16.840.1.101.2.2.1.68", dissect_SyntaxPrintableString_PDU, proto_x509sat, "id-at-nationality");
2772   register_ber_oid_dissector("2.16.840.1.101.2.2.1.68.1", dissect_SyntaxPrintableString_PDU, proto_x509sat, "id-at-collectiveNationality");
2773   register_ber_oid_dissector("2.16.840.1.101.2.2.1.69", dissect_Boolean_PDU, proto_x509sat, "id-at-transferStation");
2774   register_ber_oid_dissector("2.16.840.1.101.2.2.1.70", dissect_SyntaxPrintableString_PDU, proto_x509sat, "id-at-plaNameACP127");
2775   register_ber_oid_dissector("2.16.840.1.101.2.2.1.72", dissect_Boolean_PDU, proto_x509sat, "id-at-plaReplace");
2776   register_ber_oid_dissector("2.16.840.1.101.2.2.1.73", dissect_SyntaxPrintableString_PDU, proto_x509sat, "id-at-primarySpellingACP127");
2777   register_ber_oid_dissector("2.16.840.1.101.2.2.1.74", dissect_Boolean_PDU, proto_x509sat, "id-at-publish");
2778   register_ber_oid_dissector("2.16.840.1.101.2.2.1.75", dissect_SyntaxGeneralizedTime_PDU, proto_x509sat, "id-at-recapDueDate");
2779   register_ber_oid_dissector("2.16.840.1.101.2.2.1.77", dissect_SyntaxPrintableString_PDU, proto_x509sat, "id-at-rI");
2780   register_ber_oid_dissector("2.16.840.1.101.2.2.1.81", dissect_Boolean_PDU, proto_x509sat, "id-at-section");
2781   register_ber_oid_dissector("2.16.840.1.101.2.2.1.82", dissect_SyntaxPrintableString_PDU, proto_x509sat, "id-at-serviceOrAgency");
2782   register_ber_oid_dissector("2.16.840.1.101.2.2.1.83", dissect_SyntaxPrintableString_PDU, proto_x509sat, "id-at-sHD");
2783   register_ber_oid_dissector("2.16.840.1.101.2.2.1.84", dissect_SyntaxPrintableString_PDU, proto_x509sat, "id-at-shortTitle");
2784   register_ber_oid_dissector("2.16.840.1.101.2.2.1.85", dissect_SyntaxPrintableString_PDU, proto_x509sat, "id-at-sigad");
2785   register_ber_oid_dissector("2.16.840.1.101.2.2.1.86", dissect_SyntaxPrintableString_PDU, proto_x509sat, "id-at-spot");
2786   register_ber_oid_dissector("2.16.840.1.101.2.2.1.87", dissect_Boolean_PDU, proto_x509sat, "id-at-tARE");
2787   register_ber_oid_dissector("2.16.840.1.101.2.2.1.94", dissect_TelephoneNumber_PDU, proto_x509sat, "id-at-aCPMobileTelephoneNumber");
2788   register_ber_oid_dissector("2.16.840.1.101.2.2.1.95", dissect_TelephoneNumber_PDU, proto_x509sat, "id-at-aCPPagerTelephoneNumber");
2789   register_ber_oid_dissector("2.16.840.1.101.2.2.1.96", dissect_SyntaxPrintableString_PDU, proto_x509sat, "id-at-tCC");
2790   register_ber_oid_dissector("2.16.840.1.101.2.2.1.97", dissect_SyntaxPrintableString_PDU, proto_x509sat, "id-at-tRC");
2791   register_ber_oid_dissector("2.16.840.1.101.2.2.1.106", dissect_SyntaxPrintableString_PDU, proto_x509sat, "id-at-accessCodes");
2792   register_ber_oid_dissector("2.16.840.1.101.2.2.1.107", dissect_SyntaxGraphicString_PDU, proto_x509sat, "id-at-accessSchema");
2793   register_ber_oid_dissector("2.16.840.1.101.2.2.1.109", dissect_TelephoneNumber_PDU, proto_x509sat, "id-at-aCPTelephoneFaxNumber");
2794   register_ber_oid_dissector("2.16.840.1.101.2.2.1.115", dissect_ObjectIdentifier_PDU, proto_x509sat, "id-at-gatewayType");
2795   register_ber_oid_dissector("2.16.840.1.101.2.2.1.116", dissect_ObjectIdentifier_PDU, proto_x509sat, "id-at-ghpType");
2796   register_ber_oid_dissector("2.16.840.1.101.2.2.1.118", dissect_DirectoryString_PDU, proto_x509sat, "id-at-mailDomains");
2797   register_ber_oid_dissector("2.16.840.1.101.2.2.1.119", dissect_TelephoneNumber_PDU, proto_x509sat, "id-at-militaryFacsimileNumber");
2798   register_ber_oid_dissector("2.16.840.1.101.2.2.1.119.1", dissect_TelephoneNumber_PDU, proto_x509sat, "id-at-collectiveMilitaryFacsimileNumber");
2799   register_ber_oid_dissector("2.16.840.1.101.2.2.1.120", dissect_TelephoneNumber_PDU, proto_x509sat, "id-at-militaryTelephoneNumber");
2800   register_ber_oid_dissector("2.16.840.1.101.2.2.1.120.1", dissect_TelephoneNumber_PDU, proto_x509sat, "id-at-collectiveMilitaryTelephoneNumber");
2801   register_ber_oid_dissector("2.16.840.1.101.2.2.1.122", dissect_SyntaxGraphicString_PDU, proto_x509sat, "id-at-networkSchema");
2802   register_ber_oid_dissector("2.16.840.1.101.2.2.1.124", dissect_DirectoryString_PDU, proto_x509sat, "id-at-operationName");
2803   register_ber_oid_dissector("2.16.840.1.101.2.2.1.125", dissect_DirectoryString_PDU, proto_x509sat, "id-at-positionNumber");
2804   register_ber_oid_dissector("2.16.840.1.101.2.2.1.126", dissect_DirectoryString_PDU, proto_x509sat, "id-at-proprietaryMailboxes");
2805   register_ber_oid_dissector("2.16.840.1.101.2.2.1.127", dissect_TelephoneNumber_PDU, proto_x509sat, "id-at-secureFacsimileNumber");
2806   register_ber_oid_dissector("2.16.840.1.101.2.2.1.127.1", dissect_TelephoneNumber_PDU, proto_x509sat, "id-at-collectiveSecureFacsimileNumber");
2807   register_ber_oid_dissector("2.16.840.1.101.2.2.1.128", dissect_TelephoneNumber_PDU, proto_x509sat, "id-at-secureTelephoneNumber");
2808   register_ber_oid_dissector("2.16.840.1.101.2.2.1.128.1", dissect_TelephoneNumber_PDU, proto_x509sat, "id-at-collectiveSecureTelephoneNumber");
2809   register_ber_oid_dissector("2.16.840.1.101.2.2.1.129", dissect_DirectoryString_PDU, proto_x509sat, "id-at-serviceNumber");
2810   register_ber_oid_dissector("2.16.840.1.101.2.2.1.133", dissect_DirectoryString_PDU, proto_x509sat, "id-at-rank");
2811   register_ber_oid_dissector("2.16.840.1.101.2.2.1.143", dissect_DirectoryString_PDU, proto_x509sat, "id-at-adminConversion");
2812   register_ber_oid_dissector("2.16.840.1.101.2.2.1.144", dissect_SyntaxPrintableString_PDU, proto_x509sat, "id-at-tCCG");
2813   register_ber_oid_dissector("2.16.840.1.101.2.2.1.145", dissect_DirectoryString_PDU, proto_x509sat, "id-at-usdConversion");
2814   register_ber_oid_dissector("2.16.840.1.101.2.2.1.158", dissect_DirectoryString_PDU, proto_x509sat, "id-at-aCPRoleInformation");
2815   register_ber_oid_dissector("2.16.840.1.101.2.2.1.159", dissect_DirectoryString_PDU, proto_x509sat, "id-at-coalitionGrade");
2816   register_ber_oid_dissector("2.16.840.1.101.2.2.1.160", dissect_TelephoneNumber_PDU, proto_x509sat, "id-at-militaryIPPhoneNumber");
2817   register_ber_oid_dissector("2.16.840.1.101.2.2.1.161", dissect_ObjectIdentifier_PDU, proto_x509sat, "id-at-fileTypeInfoCapability");
2818   register_ber_oid_dissector("2.16.840.1.101.2.2.1.172", dissect_SyntaxPrintableString_PDU, proto_x509sat, "id-at-aCPFunctionalDescription");
2819   register_ber_oid_dissector("2.16.840.1.101.2.2.1.173", dissect_SyntaxPrintableString_PDU, proto_x509sat, "id-at-alternatePLAName");
2820   register_ber_oid_dissector("2.16.840.1.101.2.2.1.174", dissect_SyntaxGeneralizedTime_PDU, proto_x509sat, "id-at-aCPEntryCreationDate");
2821   register_ber_oid_dissector("2.16.840.1.101.2.2.1.175", dissect_SyntaxGeneralizedTime_PDU, proto_x509sat, "id-at-aCPEntryModificationDate");
2822   register_ber_oid_dissector("2.16.840.1.101.2.2.1.176", dissect_ObjectIdentifier_PDU, proto_x509sat, "id-at-aCPEntryType");
2823   register_ber_oid_dissector("2.16.840.1.101.2.2.1.177", dissect_SyntaxPrintableString_PDU, proto_x509sat, "id-at-aCPEntryUniqueId");
2824   register_ber_oid_dissector("2.16.840.1.101.2.2.1.178", dissect_SyntaxPrintableString_PDU, proto_x509sat, "id-at-aCPCitizenship");
2825   register_ber_oid_dissector("2.16.840.1.101.2.2.1.179", dissect_SyntaxPrintableString_PDU, proto_x509sat, "id-at-aCPEID");
2826   register_ber_oid_dissector("2.16.840.1.101.2.2.1.180", dissect_SyntaxPrintableString_PDU, proto_x509sat, "id-at-aCPCOI");
2827   register_ber_oid_dissector("2.16.840.1.101.2.2.1.181", dissect_SyntaxPrintableString_PDU, proto_x509sat, "id-at-aCPPublishTo");
2828   register_ber_oid_dissector("2.16.840.1.101.2.2.1.182", dissect_SyntaxPrintableString_PDU, proto_x509sat, "id-at-aCPSvcApps");
2829   register_ber_oid_dissector("2.16.840.1.101.2.2.1.183", dissect_SyntaxPrintableString_PDU, proto_x509sat, "id-at-aCPDirectionsTo");
2830   register_ber_oid_dissector("2.16.840.1.101.2.2.1.185", dissect_SyntaxPrintableString_PDU, proto_x509sat, "id-at-aCPLatitude");
2831   register_ber_oid_dissector("2.16.840.1.101.2.2.1.186", dissect_SyntaxPrintableString_PDU, proto_x509sat, "id-at-aCPLocationMap");
2832   register_ber_oid_dissector("2.16.840.1.101.2.2.1.187", dissect_SyntaxPrintableString_PDU, proto_x509sat, "id-at-aCPLongitude");
2833   register_ber_oid_dissector("1.2.840.113549.1.9.1", dissect_SyntaxIA5String_PDU, proto_x509sat, "pkcs-9-at-emailAddress");
2834   register_ber_oid_dissector("1.2.840.113549.1.9.7", dissect_DirectoryString_PDU, proto_x509sat, "pkcs-9-at-challengePassword");
2835   register_ber_oid_dissector("1.2.840.113549.1.9.8", dissect_DirectoryString_PDU, proto_x509sat, "pkcs-9-at-unstructuredAddress");
2836   register_ber_oid_dissector("1.2.840.113549.1.9.13", dissect_DirectoryString_PDU, proto_x509sat, "pkcs-9-at-signingDescription");
2837   register_ber_oid_dissector("1.2.840.113549.1.9.20", dissect_SyntaxBMPString_PDU, proto_x509sat, "pkcs-9-at-friendlyName");
2838   register_ber_oid_dissector("1.2.840.113549.1.9.21", dissect_OctetString_PDU, proto_x509sat, "pkcs-9-at-localKeyId");
2839   register_ber_oid_dissector("1.2.840.113549.1.9.25.3", dissect_OctetString_PDU, proto_x509sat, "pkcs-9-at-randomNonce");
2840   register_ber_oid_dissector("1.2.840.113549.1.9.25.4", dissect_Integer_PDU, proto_x509sat, "pkcs-9-at-sequenceNumber");
2841   register_ber_oid_dissector("1.3.6.1.5.5.7.9.1", dissect_SyntaxGeneralizedTime_PDU, proto_x509sat, "pkcs-9-at-dateOfBirth");
2842   register_ber_oid_dissector("1.3.6.1.5.5.7.9.2", dissect_DirectoryString_PDU, proto_x509sat, "pkcs-9-at-placeOfBirth");
2843   register_ber_oid_dissector("1.3.6.1.5.5.7.9.3", dissect_SyntaxPrintableString_PDU, proto_x509sat, "pkcs-9-at-gender");
2844   register_ber_oid_dissector("1.3.6.1.5.5.7.9.4", dissect_SyntaxPrintableString_PDU, proto_x509sat, "pkcs-9-at-countryOfCitizenship");
2845   register_ber_oid_dissector("1.3.6.1.5.5.7.9.5", dissect_SyntaxPrintableString_PDU, proto_x509sat, "pkcs-9-at-countryOfResidence");
2846   register_ber_oid_dissector("0.9.2342.19200300.100.1.25", dissect_SyntaxIA5String_PDU, proto_x509sat, "dc");
2847   register_ber_oid_dissector("2.16.840.1.113730.3.1.1", dissect_DirectoryString_PDU, proto_x509sat, "carLicense");
2848   register_ber_oid_dissector("2.16.840.1.113730.3.1.2", dissect_DirectoryString_PDU, proto_x509sat, "departmentNumber");
2849   register_ber_oid_dissector("2.16.840.1.113730.3.1.3", dissect_DirectoryString_PDU, proto_x509sat, "employeeNumber");
2850   register_ber_oid_dissector("2.16.840.1.113730.3.1.4", dissect_DirectoryString_PDU, proto_x509sat, "employeeType");
2851   register_ber_oid_dissector("2.16.840.1.113730.3.1.39", dissect_DirectoryString_PDU, proto_x509sat, "preferredLanguage");
2852   register_ber_oid_dissector("2.16.840.1.113730.3.1.241", dissect_DirectoryString_PDU, proto_x509sat, "displayName");
2853   register_ber_oid_dissector("1.3.6.1.4.1.311.20.2", dissect_SyntaxBMPString_PDU, proto_x509sat, "id-ms-certificate-template-name");
2854   register_ber_oid_dissector("1.3.6.1.4.1.311.20.2.3", dissect_SyntaxUTF8String_PDU, proto_x509sat, "id-ms-user-principal-name");
2855   register_ber_oid_dissector("1.3.6.1.4.1.311.17.1", dissect_SyntaxBMPString_PDU, proto_x509sat, "id-ms-local-machine-keyset");
2856   register_ber_oid_dissector("1.3.6.1.4.1.311.21.1", dissect_Integer_PDU, proto_x509sat, "id-ms-ca-version");
2857   register_ber_oid_dissector("1.3.6.1.4.1.311.21.2", dissect_OctetString_PDU, proto_x509sat, "id-ms-previous-cert-hash");
2858   register_ber_oid_dissector("1.3.6.1.4.1.311.21.3", dissect_Integer_PDU, proto_x509sat, "id-ms-virtual-base");
2859   register_ber_oid_dissector("1.3.6.1.4.1.311.21.4", dissect_SyntaxUTCTime_PDU, proto_x509sat, "id-ms-next-publish");
2860   register_ber_oid_dissector("1.2.826.0.1063.7.0.0.0", dissect_Integer_PDU, proto_x509sat, "unknown-UK-organisation-defined-extension");
2861   register_ber_oid_dissector("1.2.826.0.1004.10.1.1", dissect_SyntaxIA5String_PDU, proto_x509sat, "nexor-originating-ua");
2862   register_ber_oid_dissector("2.6.1.6.3", dissect_Boolean_PDU, proto_x509sat, "id-sat-ipm-auto-discarded");
2863   register_ber_oid_dissector("1.3.6.1.1.16.4", dissect_GUID_PDU, proto_x509sat, "entryUUID");
2864   register_ber_oid_dissector("1.3.6.1.4.1.311.60.2.1.1", dissect_DirectoryString_PDU, proto_x509sat, "jurisdictionOfIncorporationLocalityName");
2865   register_ber_oid_dissector("1.3.6.1.4.1.311.60.2.1.2", dissect_DirectoryString_PDU, proto_x509sat, "jurisdictionOfIncorporationStateOrProvinceName");
2866   register_ber_oid_dissector("1.3.6.1.4.1.311.60.2.1.3", dissect_CountryName_PDU, proto_x509sat, "jurisdictionOfIncorporationCountryName");
2867
2868
2869 /*--- End of included file: packet-x509sat-dis-tab.c ---*/
2870 #line 68 "./asn1/x509sat/packet-x509sat-template.c"
2871
2872   /* OBJECT CLASSES */
2873
2874   oid_add_from_string("top","2.5.6.0");
2875   oid_add_from_string("alias","2.5.6.1");
2876   oid_add_from_string("country","2.5.6.2");
2877   oid_add_from_string("locality","2.5.6.3");
2878   oid_add_from_string("organization","2.5.6.4");
2879   oid_add_from_string("organizationalUnit","2.5.6.5");
2880   oid_add_from_string("person","2.5.6.6");
2881   oid_add_from_string("organizationalPerson","2.5.6.7");
2882   oid_add_from_string("organizationalRole","2.5.6.8");
2883   oid_add_from_string("groupOfNames","2.5.6.9");
2884   oid_add_from_string("residentialPerson","2.5.6.10");
2885   oid_add_from_string("applicationProcess","2.5.6.11");
2886   oid_add_from_string("applicationEntity","2.5.6.12");
2887   oid_add_from_string("dSA","2.5.6.13");
2888   oid_add_from_string("device","2.5.6.14");
2889   oid_add_from_string("strongAuthenticationUser","2.5.6.15");
2890   oid_add_from_string("certificationAuthority","2.5.6.16");
2891   oid_add_from_string("certificationAuthorityV2","2.5.6.16.2");
2892   oid_add_from_string("groupOfUniqueNames","2.5.6.17");
2893   oid_add_from_string("userSecurityInformation","2.5.6.18");
2894   oid_add_from_string("cRLDistributionPoint","2.5.6.19");
2895   oid_add_from_string("dmd","2.5.6.20");
2896   oid_add_from_string("pkiUser","2.5.6.21");
2897   oid_add_from_string("pkiCA","2.5.6.22");
2898
2899   oid_add_from_string("parent","2.5.6.28");
2900   oid_add_from_string("child","2.5.6.29");
2901
2902   /* RFC 2247 */
2903   oid_add_from_string("dcObject","1.3.6.1.4.1.1446.344");
2904   oid_add_from_string("domain","0.9.2342.19200300.100.4.13");
2905
2906   /* RFC 2798 */
2907   oid_add_from_string("inetOrgPerson","2.16.840.1.113730.3.2.2");
2908 }
2909
2910
2911