Coverage Report

Created: 2025-02-15 06:25

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