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