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