Coverage Report

Created: 2026-11-12 07:01

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/wireshark/epan/dissectors/packet-dap.c
Line
Count
Source
1
/* Do not modify this file. Changes will be overwritten.                      */
2
/* Generated automatically by the ASN.1 to Wireshark dissector compiler       */
3
/* packet-dap.c                                                               */
4
/* asn2wrs.py -b -q -L -p dap -c ./dap.cnf -s ./packet-dap-template -D . -O ../.. dap.asn DirectoryAccessProtocol.asn */
5
6
/* packet-dap.c
7
 * Routines for X.511 (X.500 Directory Abstract Service) and X.519 DAP  packet dissection
8
 * Graeme Lunt 2005
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/prefs.h>
21
#include <epan/expert.h>
22
#include <epan/oids.h>
23
#include <epan/asn1.h>
24
#include <epan/proto_data.h>
25
#include <wsutil/array.h>
26
27
#include "packet-ber.h"
28
#include "packet-acse.h"
29
#include "packet-ros.h"
30
#include "packet-idmp.h"
31
32
#include "packet-x509if.h"
33
#include "packet-x509af.h"
34
#include "packet-x509sat.h"
35
#include "packet-crmf.h"
36
37
#include "packet-dsp.h"
38
#include "packet-disp.h"
39
#include "packet-dap.h"
40
#include <epan/strutil.h>
41
42
void proto_register_dap(void);
43
void proto_reg_handoff_dap(void);
44
45
/* Initialize the protocol and registered fields */
46
static int proto_dap;
47
48
49
static int hf_dap_DirectoryBindArgument_PDU;      /* DirectoryBindArgument */
50
static int hf_dap_DirectoryBindResult_PDU;        /* DirectoryBindResult */
51
static int hf_dap_DirectoryBindError_PDU;         /* DirectoryBindError */
52
static int hf_dap_ReadArgument_PDU;               /* ReadArgument */
53
static int hf_dap_ReadResult_PDU;                 /* ReadResult */
54
static int hf_dap_CompareArgument_PDU;            /* CompareArgument */
55
static int hf_dap_CompareResult_PDU;              /* CompareResult */
56
static int hf_dap_AbandonArgument_PDU;            /* AbandonArgument */
57
static int hf_dap_AbandonResult_PDU;              /* AbandonResult */
58
static int hf_dap_ListArgument_PDU;               /* ListArgument */
59
static int hf_dap_ListResult_PDU;                 /* ListResult */
60
static int hf_dap_SearchArgument_PDU;             /* SearchArgument */
61
static int hf_dap_SearchResult_PDU;               /* SearchResult */
62
static int hf_dap_AddEntryArgument_PDU;           /* AddEntryArgument */
63
static int hf_dap_AddEntryResult_PDU;             /* AddEntryResult */
64
static int hf_dap_RemoveEntryArgument_PDU;        /* RemoveEntryArgument */
65
static int hf_dap_RemoveEntryResult_PDU;          /* RemoveEntryResult */
66
static int hf_dap_ModifyEntryArgument_PDU;        /* ModifyEntryArgument */
67
static int hf_dap_ModifyEntryResult_PDU;          /* ModifyEntryResult */
68
static int hf_dap_ModifyDNArgument_PDU;           /* ModifyDNArgument */
69
static int hf_dap_ModifyDNResult_PDU;             /* ModifyDNResult */
70
static int hf_dap_Abandoned_PDU;                  /* Abandoned */
71
static int hf_dap_AbandonFailedError_PDU;         /* AbandonFailedError */
72
static int hf_dap_AttributeError_PDU;             /* AttributeError */
73
static int hf_dap_NameError_PDU;                  /* NameError */
74
static int hf_dap_Referral_PDU;                   /* Referral */
75
static int hf_dap_SecurityError_PDU;              /* SecurityError */
76
static int hf_dap_ServiceError_PDU;               /* ServiceError */
77
static int hf_dap_UpdateError_PDU;                /* UpdateError */
78
static int hf_dap_options;                        /* ServiceControlOptions */
79
static int hf_dap_priority;                       /* T_priority */
80
static int hf_dap_timeLimit;                      /* INTEGER */
81
static int hf_dap_sizeLimit;                      /* INTEGER */
82
static int hf_dap_scopeOfReferral;                /* T_scopeOfReferral */
83
static int hf_dap_attributeSizeLimit;             /* INTEGER */
84
static int hf_dap_manageDSAITPlaneRef;            /* T_manageDSAITPlaneRef */
85
static int hf_dap_dsaName;                        /* Name */
86
static int hf_dap_agreementID;                    /* AgreementID */
87
static int hf_dap_serviceType;                    /* OBJECT_IDENTIFIER */
88
static int hf_dap_userClass;                      /* INTEGER */
89
static int hf_dap_attributes;                     /* T_attributes */
90
static int hf_dap_allUserAttributes;              /* NULL */
91
static int hf_dap_select;                         /* SET_OF_AttributeType */
92
static int hf_dap_select_item;                    /* AttributeType */
93
static int hf_dap_infoTypes;                      /* T_infoTypes */
94
static int hf_dap_extraAttributes;                /* T_extraAttributes */
95
static int hf_dap_allOperationalAttributes;       /* NULL */
96
static int hf_dap_extraSelect;                    /* SET_SIZE_1_MAX_OF_AttributeType */
97
static int hf_dap_extraSelect_item;               /* AttributeType */
98
static int hf_dap_contextSelection;               /* ContextSelection */
99
static int hf_dap_returnContexts;                 /* BOOLEAN */
100
static int hf_dap_familyReturn;                   /* FamilyReturn */
101
static int hf_dap_allContexts;                    /* NULL */
102
static int hf_dap_selectedContexts;               /* SET_SIZE_1_MAX_OF_TypeAndContextAssertion */
103
static int hf_dap_selectedContexts_item;          /* TypeAndContextAssertion */
104
static int hf_dap_type;                           /* AttributeType */
105
static int hf_dap_contextAssertions;              /* T_contextAssertions */
106
static int hf_dap_preference;                     /* SEQUENCE_OF_ContextAssertion */
107
static int hf_dap_preference_item;                /* ContextAssertion */
108
static int hf_dap_all;                            /* SET_OF_ContextAssertion */
109
static int hf_dap_all_item;                       /* ContextAssertion */
110
static int hf_dap_memberSelect;                   /* T_memberSelect */
111
static int hf_dap_familySelect;                   /* T_familySelect */
112
static int hf_dap_familySelect_item;              /* OBJECT_IDENTIFIER */
113
static int hf_dap_name;                           /* Name */
114
static int hf_dap_fromEntry;                      /* BOOLEAN */
115
static int hf_dap_entry_information;              /* T_entry_information */
116
static int hf_dap_entry_information_item;         /* EntryInformationItem */
117
static int hf_dap_attributeType;                  /* AttributeType */
118
static int hf_dap_attribute;                      /* Attribute */
119
static int hf_dap_incompleteEntry;                /* BOOLEAN */
120
static int hf_dap_partialName;                    /* BOOLEAN */
121
static int hf_dap_derivedEntry;                   /* BOOLEAN */
122
static int hf_dap_family_class;                   /* OBJECT_IDENTIFIER */
123
static int hf_dap_familyEntries;                  /* SEQUENCE_OF_FamilyEntry */
124
static int hf_dap_familyEntries_item;             /* FamilyEntry */
125
static int hf_dap_rdn;                            /* RelativeDistinguishedName */
126
static int hf_dap_family_information;             /* FamilyInformation */
127
static int hf_dap_family_information_item;        /* T_family_information_item */
128
static int hf_dap_family_info;                    /* SEQUENCE_SIZE_1_MAX_OF_FamilyEntries */
129
static int hf_dap_family_info_item;               /* FamilyEntries */
130
static int hf_dap_filter_item;                    /* FilterItem */
131
static int hf_dap_and;                            /* SetOfFilter */
132
static int hf_dap_or;                             /* SetOfFilter */
133
static int hf_dap_not;                            /* Filter */
134
static int hf_dap_SetOfFilter_item;               /* Filter */
135
static int hf_dap_equality;                       /* AttributeValueAssertion */
136
static int hf_dap_substrings;                     /* T_substrings */
137
static int hf_dap_sunstringType;                  /* OBJECT_IDENTIFIER */
138
static int hf_dap_strings;                        /* T_strings */
139
static int hf_dap_strings_item;                   /* T_strings_item */
140
static int hf_dap_initial;                        /* T_initial */
141
static int hf_dap_any;                            /* T_any */
142
static int hf_dap_final;                          /* T_final */
143
static int hf_dap_control;                        /* Attribute */
144
static int hf_dap_greaterOrEqual;                 /* AttributeValueAssertion */
145
static int hf_dap_lessOrEqual;                    /* AttributeValueAssertion */
146
static int hf_dap_present;                        /* AttributeType */
147
static int hf_dap_approximateMatch;               /* AttributeValueAssertion */
148
static int hf_dap_extensibleMatch;                /* MatchingRuleAssertion */
149
static int hf_dap_contextPresent;                 /* AttributeTypeAssertion */
150
static int hf_dap_matchingRule;                   /* T_matchingRule */
151
static int hf_dap_matchingRule_item;              /* OBJECT_IDENTIFIER */
152
static int hf_dap_matchValue;                     /* T_matchValue */
153
static int hf_dap_dnAttributes;                   /* BOOLEAN */
154
static int hf_dap_newRequest;                     /* T_newRequest */
155
static int hf_dap_pageSize;                       /* INTEGER */
156
static int hf_dap_sortKeys;                       /* SEQUENCE_SIZE_1_MAX_OF_SortKey */
157
static int hf_dap_sortKeys_item;                  /* SortKey */
158
static int hf_dap_reverse;                        /* BOOLEAN */
159
static int hf_dap_unmerged;                       /* BOOLEAN */
160
static int hf_dap_pagedResultsQueryReference;     /* T_pagedResultsQueryReference */
161
static int hf_dap_orderingRule;                   /* OBJECT_IDENTIFIER */
162
static int hf_dap_certification_path;             /* CertificationPath */
163
static int hf_dap_distinguished_name;             /* DistinguishedName */
164
static int hf_dap_time;                           /* Time */
165
static int hf_dap_random;                         /* BIT_STRING */
166
static int hf_dap_target;                         /* ProtectionRequest */
167
static int hf_dap_response;                       /* BIT_STRING */
168
static int hf_dap_operationCode;                  /* Code */
169
static int hf_dap_attributeCertificationPath;     /* AttributeCertificationPath */
170
static int hf_dap_errorProtection;                /* ErrorProtectionRequest */
171
static int hf_dap_errorCode;                      /* Code */
172
static int hf_dap_utcTime;                        /* UTCTime */
173
static int hf_dap_generalizedTime;                /* GeneralizedTime */
174
static int hf_dap_credentials;                    /* Credentials */
175
static int hf_dap_versions;                       /* Versions */
176
static int hf_dap_simple;                         /* SimpleCredentials */
177
static int hf_dap_strong;                         /* StrongCredentials */
178
static int hf_dap_externalProcedure;              /* EXTERNAL */
179
static int hf_dap_spkm;                           /* SpkmCredentials */
180
static int hf_dap_sasl;                           /* SaslCredentials */
181
static int hf_dap_validity;                       /* T_validity */
182
static int hf_dap_time1;                          /* T_time1 */
183
static int hf_dap_utc;                            /* UTCTime */
184
static int hf_dap_gt;                             /* GeneralizedTime */
185
static int hf_dap_time2;                          /* T_time2 */
186
static int hf_dap_random1;                        /* BIT_STRING */
187
static int hf_dap_random2;                        /* BIT_STRING */
188
static int hf_dap_password;                       /* T_password */
189
static int hf_dap_unprotected;                    /* OCTET_STRING */
190
static int hf_dap_protected;                      /* T_protected */
191
static int hf_dap_protectedPassword;              /* OCTET_STRING */
192
static int hf_dap_algorithmIdentifier;            /* AlgorithmIdentifier */
193
static int hf_dap_encrypted;                      /* BIT_STRING */
194
static int hf_dap_bind_token;                     /* Token */
195
static int hf_dap_req;                            /* T_req */
196
static int hf_dap_rep;                            /* T_rep */
197
static int hf_dap_mechanism;                      /* DirectoryString */
198
static int hf_dap_saslCredentials;                /* OCTET_STRING */
199
static int hf_dap_saslAbort;                      /* BOOLEAN */
200
static int hf_dap_algorithm;                      /* AlgorithmIdentifier */
201
static int hf_dap_utctime;                        /* UTCTime */
202
static int hf_dap_bindIntAlgorithm;               /* SEQUENCE_SIZE_1_MAX_OF_AlgorithmIdentifier */
203
static int hf_dap_bindIntAlgorithm_item;          /* AlgorithmIdentifier */
204
static int hf_dap_bindIntKeyInfo;                 /* BindKeyInfo */
205
static int hf_dap_bindConfAlgorithm;              /* SEQUENCE_SIZE_1_MAX_OF_AlgorithmIdentifier */
206
static int hf_dap_bindConfAlgorithm_item;         /* AlgorithmIdentifier */
207
static int hf_dap_bindConfKeyInfo;                /* BindKeyInfo */
208
static int hf_dap_token_data;                     /* TokenData */
209
static int hf_dap_algorithm_identifier;           /* AlgorithmIdentifier */
210
static int hf_dap_unsignedDirectoryBindError;     /* DirectoryBindErrorData */
211
static int hf_dap_signedDirectoryBindError;       /* T_signedDirectoryBindError */
212
static int hf_dap_directoryBindError;             /* DirectoryBindErrorData */
213
static int hf_dap_error;                          /* T_error */
214
static int hf_dap_serviceProblem;                 /* ServiceProblem */
215
static int hf_dap_securityProblem;                /* SecurityProblem */
216
static int hf_dap_securityParameters;             /* SecurityParameters */
217
static int hf_dap_object;                         /* Name */
218
static int hf_dap_selection;                      /* EntryInformationSelection */
219
static int hf_dap_modifyRightsRequest;            /* BOOLEAN */
220
static int hf_dap_serviceControls;                /* ServiceControls */
221
static int hf_dap_requestor;                      /* DistinguishedName */
222
static int hf_dap_operationProgress;              /* OperationProgress */
223
static int hf_dap_aliasedRDNs;                    /* INTEGER */
224
static int hf_dap_criticalExtensions;             /* BIT_STRING */
225
static int hf_dap_referenceType;                  /* ReferenceType */
226
static int hf_dap_entryOnly;                      /* BOOLEAN */
227
static int hf_dap_exclusions;                     /* Exclusions */
228
static int hf_dap_nameResolveOnMaster;            /* BOOLEAN */
229
static int hf_dap_operationContexts;              /* ContextSelection */
230
static int hf_dap_familyGrouping;                 /* FamilyGrouping */
231
static int hf_dap_rdnSequence;                    /* RDNSequence */
232
static int hf_dap_unsignedReadArgument;           /* ReadArgumentData */
233
static int hf_dap_signedReadArgument;             /* T_signedReadArgument */
234
static int hf_dap_readArgument;                   /* ReadArgumentData */
235
static int hf_dap_entry;                          /* EntryInformation */
236
static int hf_dap_modifyRights;                   /* ModifyRights */
237
static int hf_dap_performer;                      /* DistinguishedName */
238
static int hf_dap_aliasDereferenced;              /* BOOLEAN */
239
static int hf_dap_notification;                   /* SEQUENCE_SIZE_1_MAX_OF_Attribute */
240
static int hf_dap_notification_item;              /* Attribute */
241
static int hf_dap_unsignedReadResult;             /* ReadResultData */
242
static int hf_dap_signedReadResult;               /* T_signedReadResult */
243
static int hf_dap_readResult;                     /* ReadResultData */
244
static int hf_dap_ModifyRights_item;              /* ModifyRights_item */
245
static int hf_dap_item;                           /* T_item */
246
static int hf_dap_item_entry;                     /* NULL */
247
static int hf_dap_attribute_type;                 /* AttributeType */
248
static int hf_dap_value_assertion;                /* AttributeValueAssertion */
249
static int hf_dap_permission;                     /* T_permission */
250
static int hf_dap_purported;                      /* AttributeValueAssertion */
251
static int hf_dap_unsignedCompareArgument;        /* CompareArgumentData */
252
static int hf_dap_signedCompareArgument;          /* T_signedCompareArgument */
253
static int hf_dap_compareArgument;                /* CompareArgumentData */
254
static int hf_dap_matched;                        /* BOOLEAN */
255
static int hf_dap_matchedSubtype;                 /* AttributeType */
256
static int hf_dap_unsignedCompareResult;          /* CompareResultData */
257
static int hf_dap_signedCompareResult;            /* T_signedCompareResult */
258
static int hf_dap_compareResult;                  /* CompareResultData */
259
static int hf_dap_invokeID;                       /* InvokeId */
260
static int hf_dap_unsignedAbandonArgument;        /* AbandonArgumentData */
261
static int hf_dap_signedAbandonArgument;          /* T_signedAbandonArgument */
262
static int hf_dap_abandonArgument;                /* AbandonArgumentData */
263
static int hf_dap_null;                           /* NULL */
264
static int hf_dap_abandon_information;            /* AbandonInformation */
265
static int hf_dap_unsignedAbandonResult;          /* AbandonResultData */
266
static int hf_dap_signedAbandonResult;            /* T_signedAbandonResult */
267
static int hf_dap_abandonResult;                  /* AbandonResultData */
268
static int hf_dap_pagedResults;                   /* PagedResultsRequest */
269
static int hf_dap_listFamily;                     /* BOOLEAN */
270
static int hf_dap_unsignedListArgument;           /* ListArgumentData */
271
static int hf_dap_signedListArgument;             /* T_signedListArgument */
272
static int hf_dap_listArgument;                   /* ListArgumentData */
273
static int hf_dap_listInfo;                       /* T_listInfo */
274
static int hf_dap_subordinates;                   /* T_subordinates */
275
static int hf_dap_subordinates_item;              /* T_subordinates_item */
276
static int hf_dap_aliasEntry;                     /* BOOLEAN */
277
static int hf_dap_partialOutcomeQualifier;        /* PartialOutcomeQualifier */
278
static int hf_dap_uncorrelatedListInfo;           /* SET_OF_ListResult */
279
static int hf_dap_uncorrelatedListInfo_item;      /* ListResult */
280
static int hf_dap_unsignedListResult;             /* ListResultData */
281
static int hf_dap_signedListResult;               /* T_signedListResult */
282
static int hf_dap_listResult;                     /* ListResultData */
283
static int hf_dap_limitProblem;                   /* LimitProblem */
284
static int hf_dap_unexplored;                     /* SET_SIZE_1_MAX_OF_ContinuationReference */
285
static int hf_dap_unexplored_item;                /* ContinuationReference */
286
static int hf_dap_unavailableCriticalExtensions;  /* BOOLEAN */
287
static int hf_dap_unknownErrors;                  /* T_unknownErrors */
288
static int hf_dap_unknownErrors_item;             /* OBJECT_IDENTIFIER */
289
static int hf_dap_queryReference;                 /* OCTET_STRING */
290
static int hf_dap_overspecFilter;                 /* Filter */
291
static int hf_dap_entryCount;                     /* T_entryCount */
292
static int hf_dap_bestEstimate;                   /* INTEGER */
293
static int hf_dap_lowEstimate;                    /* INTEGER */
294
static int hf_dap_exact;                          /* INTEGER */
295
static int hf_dap_streamedResult;                 /* BOOLEAN */
296
static int hf_dap_baseObject;                     /* Name */
297
static int hf_dap_subset;                         /* T_subset */
298
static int hf_dap_filter;                         /* Filter */
299
static int hf_dap_searchAliases;                  /* BOOLEAN */
300
static int hf_dap_matchedValuesOnly;              /* BOOLEAN */
301
static int hf_dap_extendedFilter;                 /* Filter */
302
static int hf_dap_checkOverspecified;             /* BOOLEAN */
303
static int hf_dap_relaxation;                     /* RelaxationPolicy */
304
static int hf_dap_extendedArea;                   /* INTEGER */
305
static int hf_dap_hierarchySelections;            /* HierarchySelections */
306
static int hf_dap_searchControlOptions;           /* SearchControlOptions */
307
static int hf_dap_joinArguments;                  /* SEQUENCE_SIZE_1_MAX_OF_JoinArgument */
308
static int hf_dap_joinArguments_item;             /* JoinArgument */
309
static int hf_dap_joinType;                       /* T_joinType */
310
static int hf_dap_unsignedSearchArgument;         /* SearchArgumentData */
311
static int hf_dap_signedSearchArgument;           /* T_signedSearchArgument */
312
static int hf_dap_searchArgument;                 /* SearchArgumentData */
313
static int hf_dap_joinBaseObject;                 /* Name */
314
static int hf_dap_domainLocalID;                  /* DomainLocalID */
315
static int hf_dap_joinSubset;                     /* T_joinSubset */
316
static int hf_dap_joinFilter;                     /* Filter */
317
static int hf_dap_joinAttributes;                 /* SEQUENCE_SIZE_1_MAX_OF_JoinAttPair */
318
static int hf_dap_joinAttributes_item;            /* JoinAttPair */
319
static int hf_dap_joinSelection;                  /* EntryInformationSelection */
320
static int hf_dap_baseAtt;                        /* AttributeType */
321
static int hf_dap_joinAtt;                        /* AttributeType */
322
static int hf_dap_joinContext;                    /* SEQUENCE_SIZE_1_MAX_OF_JoinContextType */
323
static int hf_dap_joinContext_item;               /* JoinContextType */
324
static int hf_dap_searchInfo;                     /* T_searchInfo */
325
static int hf_dap_entries;                        /* SET_OF_EntryInformation */
326
static int hf_dap_entries_item;                   /* EntryInformation */
327
static int hf_dap_altMatching;                    /* BOOLEAN */
328
static int hf_dap_uncorrelatedSearchInfo;         /* SET_OF_SearchResult */
329
static int hf_dap_uncorrelatedSearchInfo_item;    /* SearchResult */
330
static int hf_dap_unsignedSearchResult;           /* SearchResultData */
331
static int hf_dap_signedSearchResult;             /* T_signedSearchResult */
332
static int hf_dap_searchResult;                   /* SearchResultData */
333
static int hf_dap_add_entry;                      /* SET_OF_Attribute */
334
static int hf_dap_add_entry_item;                 /* Attribute */
335
static int hf_dap_targetSystem;                   /* AccessPoint */
336
static int hf_dap_unsignedAddEntryArgument;       /* AddEntryArgumentData */
337
static int hf_dap_signedAddEntryArgument;         /* T_signedAddEntryArgument */
338
static int hf_dap_addEntryArgument;               /* AddEntryArgumentData */
339
static int hf_dap_add_entry_information;          /* AddEntryInformation */
340
static int hf_dap_unsignedAddEntryResult;         /* AddEntryResultData */
341
static int hf_dap_signedAddEntryResult;           /* T_signedAddEntryResult */
342
static int hf_dap_addEntryResult;                 /* AddEntryResultData */
343
static int hf_dap_unsignedRemoveEntryArgument;    /* RemoveEntryArgumentData */
344
static int hf_dap_signedRemoveEntryArgument;      /* T_signedRemoveEntryArgument */
345
static int hf_dap_removeEntryArgument;            /* RemoveEntryArgumentData */
346
static int hf_dap_remove_entry_information;       /* RemoveEntryInformation */
347
static int hf_dap_unsignedRemoveEntryResult;      /* RemoveEntryResultData */
348
static int hf_dap_signedRemoveEntryResult;        /* T_signedRemoveEntryResult */
349
static int hf_dap_removeEntryResult;              /* RemoveEntryResultData */
350
static int hf_dap_changes;                        /* SEQUENCE_OF_EntryModification */
351
static int hf_dap_changes_item;                   /* EntryModification */
352
static int hf_dap_unsignedModifyEntryArgument;    /* ModifyEntryArgumentData */
353
static int hf_dap_signedModifyEntryArgument;      /* T_signedModifyEntryArgument */
354
static int hf_dap_modifyEntryArgument;            /* ModifyEntryArgumentData */
355
static int hf_dap_modify_entry_information;       /* ModifyEntryInformation */
356
static int hf_dap_unsignedModifyEntryResult;      /* ModifyEntryResultData */
357
static int hf_dap_signedModifyEntryResult;        /* T_signedModifyEntryResult */
358
static int hf_dap_modifyEntryResult;              /* ModifyEntryResultData */
359
static int hf_dap_addAttribute;                   /* Attribute */
360
static int hf_dap_removeAttribute;                /* AttributeType */
361
static int hf_dap_addValues;                      /* Attribute */
362
static int hf_dap_removeValues;                   /* Attribute */
363
static int hf_dap_alterValues;                    /* AttributeTypeAndValue */
364
static int hf_dap_resetValue;                     /* AttributeType */
365
static int hf_dap_newRDN;                         /* RelativeDistinguishedName */
366
static int hf_dap_deleteOldRDN;                   /* BOOLEAN */
367
static int hf_dap_newSuperior;                    /* DistinguishedName */
368
static int hf_dap_modify_dn_information;          /* ModifyDNInformation */
369
static int hf_dap_unsignedModifyDNResult;         /* ModifyDNResultData */
370
static int hf_dap_signedModifyDNResult;           /* T_signedModifyDNResult */
371
static int hf_dap_modifyDNResult;                 /* ModifyDNResultData */
372
static int hf_dap_unsignedAbandoned;              /* AbandonedData */
373
static int hf_dap_signedAbandoned;                /* T_signedAbandoned */
374
static int hf_dap_abandoned;                      /* AbandonedData */
375
static int hf_dap_abandon_failed_problem;         /* AbandonProblem */
376
static int hf_dap_operation;                      /* InvokeId */
377
static int hf_dap_unsignedAbandonFailedError;     /* AbandonFailedErrorData */
378
static int hf_dap_signedAbandonFailedError;       /* T_signedAbandonFailedError */
379
static int hf_dap_abandonFailedError;             /* AbandonFailedErrorData */
380
static int hf_dap_problems;                       /* T_problems */
381
static int hf_dap_problems_item;                  /* T_problems_item */
382
static int hf_dap_attribute_error_problem;        /* AttributeProblem */
383
static int hf_dap_value;                          /* AttributeValue */
384
static int hf_dap_unsignedAttributeError;         /* AttributeErrorData */
385
static int hf_dap_signedAttributeError;           /* T_signedAttributeError */
386
static int hf_dap_attributeError;                 /* AttributeErrorData */
387
static int hf_dap_name_error_problem;             /* NameProblem */
388
static int hf_dap_matched_name;                   /* Name */
389
static int hf_dap_unsignedNameError;              /* NameErrorData */
390
static int hf_dap_signedNameError;                /* T_signedNameError */
391
static int hf_dap_nameError;                      /* NameErrorData */
392
static int hf_dap_candidate;                      /* ContinuationReference */
393
static int hf_dap_unsignedReferral;               /* ReferralData */
394
static int hf_dap_signedReferral;                 /* T_signedReferral */
395
static int hf_dap_referral;                       /* ReferralData */
396
static int hf_dap_security_error_problem;         /* SecurityProblem */
397
static int hf_dap_spkmInfo;                       /* T_spkmInfo */
398
static int hf_dap_unsignedSecurityError;          /* SecurityErrorData */
399
static int hf_dap_signedSecurityError;            /* T_signedSecurityError */
400
static int hf_dap_securityErrorData;              /* SecurityErrorData */
401
static int hf_dap_service_error_problem;          /* ServiceProblem */
402
static int hf_dap_unsignedServiceError;           /* ServiceErrorData */
403
static int hf_dap_signedServiceError;             /* T_signedServiceError */
404
static int hf_dap_serviceError;                   /* ServiceErrorData */
405
static int hf_dap_update_error_problem;           /* UpdateProblem */
406
static int hf_dap_attributeInfo;                  /* T_attributeInfo */
407
static int hf_dap_attributeInfo_item;             /* T_attributeInfo_item */
408
static int hf_dap_unsignedUpdateError;            /* UpdateErrorData */
409
static int hf_dap_signedUpdateError;              /* T_signedUpdateError */
410
static int hf_dap_updateError;                    /* UpdateErrorData */
411
/* named bits */
412
static int hf_dap_ServiceControlOptions_preferChaining;
413
static int hf_dap_ServiceControlOptions_chainingProhibited;
414
static int hf_dap_ServiceControlOptions_localScope;
415
static int hf_dap_ServiceControlOptions_dontUseCopy;
416
static int hf_dap_ServiceControlOptions_dontDereferenceAliases;
417
static int hf_dap_ServiceControlOptions_subentries;
418
static int hf_dap_ServiceControlOptions_copyShallDo;
419
static int hf_dap_ServiceControlOptions_partialNameResolution;
420
static int hf_dap_ServiceControlOptions_manageDSAIT;
421
static int hf_dap_ServiceControlOptions_noSubtypeMatch;
422
static int hf_dap_ServiceControlOptions_noSubtypeSelection;
423
static int hf_dap_ServiceControlOptions_countFamily;
424
static int hf_dap_ServiceControlOptions_dontSelectFriends;
425
static int hf_dap_ServiceControlOptions_dontMatchFriends;
426
static int hf_dap_Versions_v1;
427
static int hf_dap_Versions_v2;
428
static int hf_dap_T_permission_add;
429
static int hf_dap_T_permission_remove;
430
static int hf_dap_T_permission_rename;
431
static int hf_dap_T_permission_move;
432
static int hf_dap_HierarchySelections_self;
433
static int hf_dap_HierarchySelections_children;
434
static int hf_dap_HierarchySelections_parent;
435
static int hf_dap_HierarchySelections_hierarchy;
436
static int hf_dap_HierarchySelections_top;
437
static int hf_dap_HierarchySelections_subtree;
438
static int hf_dap_HierarchySelections_siblings;
439
static int hf_dap_HierarchySelections_siblingChildren;
440
static int hf_dap_HierarchySelections_siblingSubtree;
441
static int hf_dap_HierarchySelections_all;
442
static int hf_dap_SearchControlOptions_searchAliases;
443
static int hf_dap_SearchControlOptions_matchedValuesOnly;
444
static int hf_dap_SearchControlOptions_checkOverspecified;
445
static int hf_dap_SearchControlOptions_performExactly;
446
static int hf_dap_SearchControlOptions_includeAllAreas;
447
static int hf_dap_SearchControlOptions_noSystemRelaxation;
448
static int hf_dap_SearchControlOptions_dnAttribute;
449
static int hf_dap_SearchControlOptions_matchOnResidualName;
450
static int hf_dap_SearchControlOptions_entryCount;
451
static int hf_dap_SearchControlOptions_useSubset;
452
static int hf_dap_SearchControlOptions_separateFamilyMembers;
453
static int hf_dap_SearchControlOptions_searchFamily;
454
455
/* Initialize the subtree pointers */
456
static int ett_dap;
457
static int ett_dap_ServiceControls;
458
static int ett_dap_T_manageDSAITPlaneRef;
459
static int ett_dap_ServiceControlOptions;
460
static int ett_dap_EntryInformationSelection;
461
static int ett_dap_T_attributes;
462
static int ett_dap_SET_OF_AttributeType;
463
static int ett_dap_T_extraAttributes;
464
static int ett_dap_SET_SIZE_1_MAX_OF_AttributeType;
465
static int ett_dap_ContextSelection;
466
static int ett_dap_SET_SIZE_1_MAX_OF_TypeAndContextAssertion;
467
static int ett_dap_TypeAndContextAssertion;
468
static int ett_dap_T_contextAssertions;
469
static int ett_dap_SEQUENCE_OF_ContextAssertion;
470
static int ett_dap_SET_OF_ContextAssertion;
471
static int ett_dap_FamilyReturn;
472
static int ett_dap_T_familySelect;
473
static int ett_dap_EntryInformation;
474
static int ett_dap_T_entry_information;
475
static int ett_dap_EntryInformationItem;
476
static int ett_dap_FamilyEntries;
477
static int ett_dap_SEQUENCE_OF_FamilyEntry;
478
static int ett_dap_FamilyEntry;
479
static int ett_dap_FamilyInformation;
480
static int ett_dap_T_family_information_item;
481
static int ett_dap_SEQUENCE_SIZE_1_MAX_OF_FamilyEntries;
482
static int ett_dap_Filter;
483
static int ett_dap_SetOfFilter;
484
static int ett_dap_FilterItem;
485
static int ett_dap_T_substrings;
486
static int ett_dap_T_strings;
487
static int ett_dap_T_strings_item;
488
static int ett_dap_MatchingRuleAssertion;
489
static int ett_dap_T_matchingRule;
490
static int ett_dap_PagedResultsRequest;
491
static int ett_dap_T_newRequest;
492
static int ett_dap_SEQUENCE_SIZE_1_MAX_OF_SortKey;
493
static int ett_dap_SortKey;
494
static int ett_dap_SecurityParameters;
495
static int ett_dap_Time;
496
static int ett_dap_DirectoryBindArgument;
497
static int ett_dap_Credentials;
498
static int ett_dap_SimpleCredentials;
499
static int ett_dap_T_validity;
500
static int ett_dap_T_time1;
501
static int ett_dap_T_time2;
502
static int ett_dap_T_password;
503
static int ett_dap_T_protected;
504
static int ett_dap_StrongCredentials;
505
static int ett_dap_SpkmCredentials;
506
static int ett_dap_SaslCredentials;
507
static int ett_dap_TokenData;
508
static int ett_dap_SEQUENCE_SIZE_1_MAX_OF_AlgorithmIdentifier;
509
static int ett_dap_Token;
510
static int ett_dap_Versions;
511
static int ett_dap_DirectoryBindError;
512
static int ett_dap_T_signedDirectoryBindError;
513
static int ett_dap_DirectoryBindErrorData;
514
static int ett_dap_T_error;
515
static int ett_dap_ReadArgumentData;
516
static int ett_dap_Name;
517
static int ett_dap_ReadArgument;
518
static int ett_dap_T_signedReadArgument;
519
static int ett_dap_ReadResultData;
520
static int ett_dap_SEQUENCE_SIZE_1_MAX_OF_Attribute;
521
static int ett_dap_ReadResult;
522
static int ett_dap_T_signedReadResult;
523
static int ett_dap_ModifyRights;
524
static int ett_dap_ModifyRights_item;
525
static int ett_dap_T_item;
526
static int ett_dap_T_permission;
527
static int ett_dap_CompareArgumentData;
528
static int ett_dap_CompareArgument;
529
static int ett_dap_T_signedCompareArgument;
530
static int ett_dap_CompareResultData;
531
static int ett_dap_CompareResult;
532
static int ett_dap_T_signedCompareResult;
533
static int ett_dap_AbandonArgumentData;
534
static int ett_dap_AbandonArgument;
535
static int ett_dap_T_signedAbandonArgument;
536
static int ett_dap_AbandonResultData;
537
static int ett_dap_AbandonResult;
538
static int ett_dap_AbandonInformation;
539
static int ett_dap_T_signedAbandonResult;
540
static int ett_dap_ListArgumentData;
541
static int ett_dap_ListArgument;
542
static int ett_dap_T_signedListArgument;
543
static int ett_dap_ListResultData;
544
static int ett_dap_T_listInfo;
545
static int ett_dap_T_subordinates;
546
static int ett_dap_T_subordinates_item;
547
static int ett_dap_SET_OF_ListResult;
548
static int ett_dap_ListResult;
549
static int ett_dap_T_signedListResult;
550
static int ett_dap_PartialOutcomeQualifier;
551
static int ett_dap_SET_SIZE_1_MAX_OF_ContinuationReference;
552
static int ett_dap_T_unknownErrors;
553
static int ett_dap_T_entryCount;
554
static int ett_dap_SearchArgumentData;
555
static int ett_dap_SEQUENCE_SIZE_1_MAX_OF_JoinArgument;
556
static int ett_dap_SearchArgument;
557
static int ett_dap_T_signedSearchArgument;
558
static int ett_dap_HierarchySelections;
559
static int ett_dap_SearchControlOptions;
560
static int ett_dap_JoinArgument;
561
static int ett_dap_SEQUENCE_SIZE_1_MAX_OF_JoinAttPair;
562
static int ett_dap_JoinAttPair;
563
static int ett_dap_SEQUENCE_SIZE_1_MAX_OF_JoinContextType;
564
static int ett_dap_SearchResultData;
565
static int ett_dap_T_searchInfo;
566
static int ett_dap_SET_OF_EntryInformation;
567
static int ett_dap_SET_OF_SearchResult;
568
static int ett_dap_SearchResult;
569
static int ett_dap_T_signedSearchResult;
570
static int ett_dap_AddEntryArgumentData;
571
static int ett_dap_SET_OF_Attribute;
572
static int ett_dap_AddEntryArgument;
573
static int ett_dap_T_signedAddEntryArgument;
574
static int ett_dap_AddEntryResultData;
575
static int ett_dap_AddEntryResult;
576
static int ett_dap_AddEntryInformation;
577
static int ett_dap_T_signedAddEntryResult;
578
static int ett_dap_RemoveEntryArgumentData;
579
static int ett_dap_RemoveEntryArgument;
580
static int ett_dap_T_signedRemoveEntryArgument;
581
static int ett_dap_RemoveEntryResultData;
582
static int ett_dap_RemoveEntryResult;
583
static int ett_dap_RemoveEntryInformation;
584
static int ett_dap_T_signedRemoveEntryResult;
585
static int ett_dap_ModifyEntryArgumentData;
586
static int ett_dap_SEQUENCE_OF_EntryModification;
587
static int ett_dap_ModifyEntryArgument;
588
static int ett_dap_T_signedModifyEntryArgument;
589
static int ett_dap_ModifyEntryResultData;
590
static int ett_dap_ModifyEntryResult;
591
static int ett_dap_ModifyEntryInformation;
592
static int ett_dap_T_signedModifyEntryResult;
593
static int ett_dap_EntryModification;
594
static int ett_dap_ModifyDNArgument;
595
static int ett_dap_ModifyDNResultData;
596
static int ett_dap_ModifyDNResult;
597
static int ett_dap_ModifyDNInformation;
598
static int ett_dap_T_signedModifyDNResult;
599
static int ett_dap_AbandonedData;
600
static int ett_dap_Abandoned;
601
static int ett_dap_T_signedAbandoned;
602
static int ett_dap_AbandonFailedErrorData;
603
static int ett_dap_AbandonFailedError;
604
static int ett_dap_T_signedAbandonFailedError;
605
static int ett_dap_AttributeErrorData;
606
static int ett_dap_T_problems;
607
static int ett_dap_T_problems_item;
608
static int ett_dap_AttributeError;
609
static int ett_dap_T_signedAttributeError;
610
static int ett_dap_NameErrorData;
611
static int ett_dap_NameError;
612
static int ett_dap_T_signedNameError;
613
static int ett_dap_ReferralData;
614
static int ett_dap_Referral;
615
static int ett_dap_T_signedReferral;
616
static int ett_dap_SecurityErrorData;
617
static int ett_dap_SecurityError;
618
static int ett_dap_T_signedSecurityError;
619
static int ett_dap_ServiceErrorData;
620
static int ett_dap_ServiceError;
621
static int ett_dap_T_signedServiceError;
622
static int ett_dap_UpdateErrorData;
623
static int ett_dap_T_attributeInfo;
624
static int ett_dap_T_attributeInfo_item;
625
static int ett_dap_UpdateError;
626
static int ett_dap_T_signedUpdateError;
627
628
static expert_field ei_dap_anonymous;
629
630
#define id_opcode_read                 1
631
#define id_opcode_compare              2
632
#define id_opcode_abandon              3
633
#define id_opcode_list                 4
634
#define id_opcode_search               5
635
#define id_opcode_addEntry             6
636
#define id_opcode_removeEntry          7
637
#define id_opcode_modifyEntry          8
638
#define id_opcode_modifyDN             9
639
#define id_errcode_attributeError      1
640
#define id_errcode_nameError           2
641
#define id_errcode_serviceError        3
642
#define id_errcode_referral            4
643
#define id_errcode_abandoned           5
644
#define id_errcode_securityError       6
645
#define id_errcode_abandonFailed       7
646
#define id_errcode_updateError         8
647
#define id_errcode_dsaReferral         9
648
649
650
/* DAP OPERATIONS */
651
static const value_string dap_opr_code_string_vals[] = {
652
  { op_ros_bind, "directoryBind" },
653
  { id_opcode_read, "read" },
654
  { id_opcode_compare, "compare" },
655
  { id_opcode_abandon, "abandon" },
656
  { id_opcode_list, "list" },
657
  { id_opcode_search, "search" },
658
  { id_opcode_addEntry, "addEntry" },
659
  { id_opcode_removeEntry, "removeEntry" },
660
  { id_opcode_modifyEntry, "modifyEntry" },
661
  { id_opcode_modifyDN, "modifyDN" },
662
  { 0, NULL }
663
};
664
665
666
/* DAP ERRORS */
667
static const value_string dap_err_code_string_vals[] = {
668
  { err_ros_bind, "directoryBindError" },
669
  { id_errcode_abandoned, "abandoned" },
670
  { id_errcode_abandonFailed, "abandonFailed" },
671
  { id_errcode_attributeError, "attributeError" },
672
  { id_errcode_nameError, "nameError" },
673
  { id_errcode_referral, "referral" },
674
  { id_errcode_securityError, "securityError" },
675
  { id_errcode_serviceError, "serviceError" },
676
  { id_errcode_updateError, "updateError" },
677
    { 0, NULL }
678
};
679
680
681
/*--- Cyclic dependencies ---*/
682
683
/* FamilyEntries -> FamilyEntries/familyEntries -> FamilyEntry -> FamilyEntry/family-info -> FamilyEntries */
684
static unsigned dissect_dap_FamilyEntries(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
685
686
/* FilterItem/substrings/strings/_item/initial -> FilterItem/substrings/strings/_item/initial */
687
static unsigned dissect_dap_T_initial(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
688
689
/* FilterItem/substrings/strings/_item/any -> FilterItem/substrings/strings/_item/any */
690
static unsigned dissect_dap_T_any(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
691
692
/* FilterItem/substrings/strings/_item/final -> FilterItem/substrings/strings/_item/final */
693
static unsigned dissect_dap_T_final(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
694
695
/* MatchingRuleAssertion/matchValue -> MatchingRuleAssertion/matchValue */
696
static unsigned dissect_dap_T_matchValue(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
697
698
/* Filter -> SetOfFilter -> Filter */
699
/* Filter -> Filter */
700
/*unsigned dissect_dap_Filter(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);*/
701
702
/* ListResultData -> ListResultData/uncorrelatedListInfo -> ListResult -> ListResultData */
703
/* ListResultData -> ListResultData/uncorrelatedListInfo -> ListResult -> ListResult/signedListResult -> ListResultData */
704
static unsigned dissect_dap_ListResultData(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
705
706
/* SearchResultData -> SearchResultData/uncorrelatedSearchInfo -> SearchResult -> SearchResultData */
707
/* SearchResultData -> SearchResultData/uncorrelatedSearchInfo -> SearchResult -> SearchResult/signedSearchResult -> SearchResultData */
708
static unsigned dissect_dap_SearchResultData(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_);
709
710
711
712
const value_string dap_FamilyGrouping_vals[] = {
713
  {   1, "entryOnly" },
714
  {   2, "compoundEntry" },
715
  {   3, "strands" },
716
  {   4, "multiStrand" },
717
  { 0, NULL }
718
};
719
720
721
unsigned
722
0
dissect_dap_FamilyGrouping(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
723
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
724
0
                                  NULL);
725
726
0
  return offset;
727
0
}
728
729
730
static int * const ServiceControlOptions_bits[] = {
731
  &hf_dap_ServiceControlOptions_preferChaining,
732
  &hf_dap_ServiceControlOptions_chainingProhibited,
733
  &hf_dap_ServiceControlOptions_localScope,
734
  &hf_dap_ServiceControlOptions_dontUseCopy,
735
  &hf_dap_ServiceControlOptions_dontDereferenceAliases,
736
  &hf_dap_ServiceControlOptions_subentries,
737
  &hf_dap_ServiceControlOptions_copyShallDo,
738
  &hf_dap_ServiceControlOptions_partialNameResolution,
739
  &hf_dap_ServiceControlOptions_manageDSAIT,
740
  &hf_dap_ServiceControlOptions_noSubtypeMatch,
741
  &hf_dap_ServiceControlOptions_noSubtypeSelection,
742
  &hf_dap_ServiceControlOptions_countFamily,
743
  &hf_dap_ServiceControlOptions_dontSelectFriends,
744
  &hf_dap_ServiceControlOptions_dontMatchFriends,
745
  NULL
746
};
747
748
unsigned
749
0
dissect_dap_ServiceControlOptions(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
750
0
  offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
751
0
                                    ServiceControlOptions_bits, 14, hf_index, ett_dap_ServiceControlOptions,
752
0
                                    NULL);
753
754
0
  return offset;
755
0
}
756
757
758
static const value_string dap_T_priority_vals[] = {
759
  {   0, "low" },
760
  {   1, "medium" },
761
  {   2, "high" },
762
  { 0, NULL }
763
};
764
765
766
static unsigned
767
0
dissect_dap_T_priority(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
768
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
769
0
                                                NULL);
770
771
0
  return offset;
772
0
}
773
774
775
776
static unsigned
777
0
dissect_dap_INTEGER(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
778
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
779
0
                                                NULL);
780
781
0
  return offset;
782
0
}
783
784
785
static const value_string dap_T_scopeOfReferral_vals[] = {
786
  {   0, "dmd" },
787
  {   1, "country" },
788
  { 0, NULL }
789
};
790
791
792
static unsigned
793
0
dissect_dap_T_scopeOfReferral(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
794
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
795
0
                                                NULL);
796
797
0
  return offset;
798
0
}
799
800
801
static const ber_choice_t Name_choice[] = {
802
  {   0, &hf_dap_rdnSequence     , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509if_RDNSequence },
803
  { 0, NULL, 0, 0, 0, NULL }
804
};
805
806
static unsigned
807
0
dissect_dap_Name(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
808
0
  const char *dn;
809
810
0
    offset = dissect_ber_choice(actx, tree, tvb, offset,
811
0
                                 Name_choice, hf_index, ett_dap_Name,
812
0
                                 NULL);
813
814
815
0
  dn = x509if_get_last_dn();
816
0
  col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %s", (dn && *dn) ? dn : "(root)");
817
818
819
820
0
  return offset;
821
0
}
822
823
824
static const ber_sequence_t T_manageDSAITPlaneRef_sequence[] = {
825
  { &hf_dap_dsaName         , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_dap_Name },
826
  { &hf_dap_agreementID     , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_disp_AgreementID },
827
  { NULL, 0, 0, 0, NULL }
828
};
829
830
static unsigned
831
0
dissect_dap_T_manageDSAITPlaneRef(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
832
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
833
0
                                   T_manageDSAITPlaneRef_sequence, hf_index, ett_dap_T_manageDSAITPlaneRef);
834
835
0
  return offset;
836
0
}
837
838
839
840
static unsigned
841
0
dissect_dap_OBJECT_IDENTIFIER(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
842
0
  offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
843
844
0
  return offset;
845
0
}
846
847
848
static const ber_sequence_t ServiceControls_set[] = {
849
  { &hf_dap_options         , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_dap_ServiceControlOptions },
850
  { &hf_dap_priority        , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_dap_T_priority },
851
  { &hf_dap_timeLimit       , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_dap_INTEGER },
852
  { &hf_dap_sizeLimit       , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_dap_INTEGER },
853
  { &hf_dap_scopeOfReferral , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_dap_T_scopeOfReferral },
854
  { &hf_dap_attributeSizeLimit, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL, dissect_dap_INTEGER },
855
  { &hf_dap_manageDSAITPlaneRef, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL, dissect_dap_T_manageDSAITPlaneRef },
856
  { &hf_dap_serviceType     , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL, dissect_dap_OBJECT_IDENTIFIER },
857
  { &hf_dap_userClass       , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL, dissect_dap_INTEGER },
858
  { NULL, 0, 0, 0, NULL }
859
};
860
861
static unsigned
862
0
dissect_dap_ServiceControls(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
863
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
864
0
                              ServiceControls_set, hf_index, ett_dap_ServiceControls);
865
866
0
  return offset;
867
0
}
868
869
870
871
static unsigned
872
0
dissect_dap_NULL(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
873
0
  offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
874
875
0
  return offset;
876
0
}
877
878
879
static const ber_sequence_t SET_OF_AttributeType_set_of[1] = {
880
  { &hf_dap_select_item     , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x509if_AttributeType },
881
};
882
883
static unsigned
884
0
dissect_dap_SET_OF_AttributeType(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
885
0
  offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
886
0
                                 SET_OF_AttributeType_set_of, hf_index, ett_dap_SET_OF_AttributeType);
887
888
0
  return offset;
889
0
}
890
891
892
static const value_string dap_T_attributes_vals[] = {
893
  {   0, "allUserAttributes" },
894
  {   1, "select" },
895
  { 0, NULL }
896
};
897
898
static const ber_choice_t T_attributes_choice[] = {
899
  {   0, &hf_dap_allUserAttributes, BER_CLASS_CON, 0, 0, dissect_dap_NULL },
900
  {   1, &hf_dap_select          , BER_CLASS_CON, 1, 0, dissect_dap_SET_OF_AttributeType },
901
  { 0, NULL, 0, 0, 0, NULL }
902
};
903
904
static unsigned
905
0
dissect_dap_T_attributes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
906
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
907
0
                                 T_attributes_choice, hf_index, ett_dap_T_attributes,
908
0
                                 NULL);
909
910
0
  return offset;
911
0
}
912
913
914
static const value_string dap_T_infoTypes_vals[] = {
915
  {   0, "attributeTypesOnly" },
916
  {   1, "attributeTypesAndValues" },
917
  { 0, NULL }
918
};
919
920
921
static unsigned
922
0
dissect_dap_T_infoTypes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
923
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
924
0
                                                NULL);
925
926
0
  return offset;
927
0
}
928
929
930
static const ber_sequence_t SET_SIZE_1_MAX_OF_AttributeType_set_of[1] = {
931
  { &hf_dap_extraSelect_item, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x509if_AttributeType },
932
};
933
934
static unsigned
935
0
dissect_dap_SET_SIZE_1_MAX_OF_AttributeType(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
936
0
  offset = dissect_ber_constrained_set_of(implicit_tag, actx, tree, tvb, offset,
937
0
                                             1, NO_BOUND, SET_SIZE_1_MAX_OF_AttributeType_set_of, hf_index, ett_dap_SET_SIZE_1_MAX_OF_AttributeType);
938
939
0
  return offset;
940
0
}
941
942
943
static const value_string dap_T_extraAttributes_vals[] = {
944
  {   3, "allOperationalAttributes" },
945
  {   4, "select" },
946
  { 0, NULL }
947
};
948
949
static const ber_choice_t T_extraAttributes_choice[] = {
950
  {   3, &hf_dap_allOperationalAttributes, BER_CLASS_CON, 3, 0, dissect_dap_NULL },
951
  {   4, &hf_dap_extraSelect     , BER_CLASS_CON, 4, 0, dissect_dap_SET_SIZE_1_MAX_OF_AttributeType },
952
  { 0, NULL, 0, 0, 0, NULL }
953
};
954
955
static unsigned
956
0
dissect_dap_T_extraAttributes(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
957
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
958
0
                                 T_extraAttributes_choice, hf_index, ett_dap_T_extraAttributes,
959
0
                                 NULL);
960
961
0
  return offset;
962
0
}
963
964
965
static const ber_sequence_t SEQUENCE_OF_ContextAssertion_sequence_of[1] = {
966
  { &hf_dap_preference_item , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509if_ContextAssertion },
967
};
968
969
static unsigned
970
0
dissect_dap_SEQUENCE_OF_ContextAssertion(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
971
0
  offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
972
0
                                      SEQUENCE_OF_ContextAssertion_sequence_of, hf_index, ett_dap_SEQUENCE_OF_ContextAssertion);
973
974
0
  return offset;
975
0
}
976
977
978
static const ber_sequence_t SET_OF_ContextAssertion_set_of[1] = {
979
  { &hf_dap_all_item        , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509if_ContextAssertion },
980
};
981
982
static unsigned
983
0
dissect_dap_SET_OF_ContextAssertion(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
984
0
  offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
985
0
                                 SET_OF_ContextAssertion_set_of, hf_index, ett_dap_SET_OF_ContextAssertion);
986
987
0
  return offset;
988
0
}
989
990
991
static const value_string dap_T_contextAssertions_vals[] = {
992
  {   0, "preference" },
993
  {   1, "all" },
994
  { 0, NULL }
995
};
996
997
static const ber_choice_t T_contextAssertions_choice[] = {
998
  {   0, &hf_dap_preference      , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dap_SEQUENCE_OF_ContextAssertion },
999
  {   1, &hf_dap_all             , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dap_SET_OF_ContextAssertion },
1000
  { 0, NULL, 0, 0, 0, NULL }
1001
};
1002
1003
static unsigned
1004
0
dissect_dap_T_contextAssertions(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1005
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
1006
0
                                 T_contextAssertions_choice, hf_index, ett_dap_T_contextAssertions,
1007
0
                                 NULL);
1008
1009
0
  return offset;
1010
0
}
1011
1012
1013
static const ber_sequence_t TypeAndContextAssertion_sequence[] = {
1014
  { &hf_dap_type            , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x509if_AttributeType },
1015
  { &hf_dap_contextAssertions, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_dap_T_contextAssertions },
1016
  { NULL, 0, 0, 0, NULL }
1017
};
1018
1019
static unsigned
1020
0
dissect_dap_TypeAndContextAssertion(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1021
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1022
0
                                   TypeAndContextAssertion_sequence, hf_index, ett_dap_TypeAndContextAssertion);
1023
1024
0
  return offset;
1025
0
}
1026
1027
1028
static const ber_sequence_t SET_SIZE_1_MAX_OF_TypeAndContextAssertion_set_of[1] = {
1029
  { &hf_dap_selectedContexts_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dap_TypeAndContextAssertion },
1030
};
1031
1032
static unsigned
1033
0
dissect_dap_SET_SIZE_1_MAX_OF_TypeAndContextAssertion(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1034
0
  offset = dissect_ber_constrained_set_of(implicit_tag, actx, tree, tvb, offset,
1035
0
                                             1, NO_BOUND, SET_SIZE_1_MAX_OF_TypeAndContextAssertion_set_of, hf_index, ett_dap_SET_SIZE_1_MAX_OF_TypeAndContextAssertion);
1036
1037
0
  return offset;
1038
0
}
1039
1040
1041
const value_string dap_ContextSelection_vals[] = {
1042
  {   0, "allContexts" },
1043
  {   1, "selectedContexts" },
1044
  { 0, NULL }
1045
};
1046
1047
static const ber_choice_t ContextSelection_choice[] = {
1048
  {   0, &hf_dap_allContexts     , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_dap_NULL },
1049
  {   1, &hf_dap_selectedContexts, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dap_SET_SIZE_1_MAX_OF_TypeAndContextAssertion },
1050
  { 0, NULL, 0, 0, 0, NULL }
1051
};
1052
1053
unsigned
1054
0
dissect_dap_ContextSelection(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1055
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
1056
0
                                 ContextSelection_choice, hf_index, ett_dap_ContextSelection,
1057
0
                                 NULL);
1058
1059
0
  return offset;
1060
0
}
1061
1062
1063
1064
static unsigned
1065
0
dissect_dap_BOOLEAN(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1066
0
  offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
1067
1068
0
  return offset;
1069
0
}
1070
1071
1072
static const value_string dap_T_memberSelect_vals[] = {
1073
  {   1, "contributingEntriesOnly" },
1074
  {   2, "participatingEntriesOnly" },
1075
  {   3, "compoundEntry" },
1076
  { 0, NULL }
1077
};
1078
1079
1080
static unsigned
1081
0
dissect_dap_T_memberSelect(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1082
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1083
0
                                  NULL);
1084
1085
0
  return offset;
1086
0
}
1087
1088
1089
static const ber_sequence_t T_familySelect_sequence_of[1] = {
1090
  { &hf_dap_familySelect_item, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_dap_OBJECT_IDENTIFIER },
1091
};
1092
1093
static unsigned
1094
0
dissect_dap_T_familySelect(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1095
0
  offset = dissect_ber_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset,
1096
0
                                                  1, NO_BOUND, T_familySelect_sequence_of, hf_index, ett_dap_T_familySelect);
1097
1098
0
  return offset;
1099
0
}
1100
1101
1102
static const ber_sequence_t FamilyReturn_sequence[] = {
1103
  { &hf_dap_memberSelect    , BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_dap_T_memberSelect },
1104
  { &hf_dap_familySelect    , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_dap_T_familySelect },
1105
  { NULL, 0, 0, 0, NULL }
1106
};
1107
1108
unsigned
1109
0
dissect_dap_FamilyReturn(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1110
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1111
0
                                   FamilyReturn_sequence, hf_index, ett_dap_FamilyReturn);
1112
1113
0
  return offset;
1114
0
}
1115
1116
1117
static const ber_sequence_t EntryInformationSelection_set[] = {
1118
  { &hf_dap_attributes      , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_dap_T_attributes },
1119
  { &hf_dap_infoTypes       , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_dap_T_infoTypes },
1120
  { &hf_dap_extraAttributes , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_dap_T_extraAttributes },
1121
  { &hf_dap_contextSelection, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_dap_ContextSelection },
1122
  { &hf_dap_returnContexts  , BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_dap_BOOLEAN },
1123
  { &hf_dap_familyReturn    , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_dap_FamilyReturn },
1124
  { NULL, 0, 0, 0, NULL }
1125
};
1126
1127
static unsigned
1128
0
dissect_dap_EntryInformationSelection(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1129
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1130
0
                              EntryInformationSelection_set, hf_index, ett_dap_EntryInformationSelection);
1131
1132
0
  return offset;
1133
0
}
1134
1135
1136
static const value_string dap_EntryInformationItem_vals[] = {
1137
  {   0, "attributeType" },
1138
  {   1, "attribute" },
1139
  { 0, NULL }
1140
};
1141
1142
static const ber_choice_t EntryInformationItem_choice[] = {
1143
  {   0, &hf_dap_attributeType   , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x509if_AttributeType },
1144
  {   1, &hf_dap_attribute       , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509if_Attribute },
1145
  { 0, NULL, 0, 0, 0, NULL }
1146
};
1147
1148
static unsigned
1149
0
dissect_dap_EntryInformationItem(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1150
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
1151
0
                                 EntryInformationItem_choice, hf_index, ett_dap_EntryInformationItem,
1152
0
                                 NULL);
1153
1154
0
  return offset;
1155
0
}
1156
1157
1158
static const ber_sequence_t T_entry_information_set_of[1] = {
1159
  { &hf_dap_entry_information_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_dap_EntryInformationItem },
1160
};
1161
1162
static unsigned
1163
0
dissect_dap_T_entry_information(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1164
0
  offset = dissect_ber_constrained_set_of(implicit_tag, actx, tree, tvb, offset,
1165
0
                                             1, NO_BOUND, T_entry_information_set_of, hf_index, ett_dap_T_entry_information);
1166
1167
0
  return offset;
1168
0
}
1169
1170
1171
static const ber_sequence_t EntryInformation_sequence[] = {
1172
  { &hf_dap_name            , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_dap_Name },
1173
  { &hf_dap_fromEntry       , BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_dap_BOOLEAN },
1174
  { &hf_dap_entry_information, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_dap_T_entry_information },
1175
  { &hf_dap_incompleteEntry , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_dap_BOOLEAN },
1176
  { &hf_dap_partialName     , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_dap_BOOLEAN },
1177
  { &hf_dap_derivedEntry    , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL, dissect_dap_BOOLEAN },
1178
  { NULL, 0, 0, 0, NULL }
1179
};
1180
1181
static unsigned
1182
0
dissect_dap_EntryInformation(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1183
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1184
0
                                   EntryInformation_sequence, hf_index, ett_dap_EntryInformation);
1185
1186
0
  return offset;
1187
0
}
1188
1189
1190
static const value_string dap_T_family_information_item_vals[] = {
1191
  {   0, "attributeType" },
1192
  {   1, "attribute" },
1193
  { 0, NULL }
1194
};
1195
1196
static const ber_choice_t T_family_information_item_choice[] = {
1197
  {   0, &hf_dap_attributeType   , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x509if_AttributeType },
1198
  {   1, &hf_dap_attribute       , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509if_Attribute },
1199
  { 0, NULL, 0, 0, 0, NULL }
1200
};
1201
1202
static unsigned
1203
0
dissect_dap_T_family_information_item(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1204
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
1205
0
                                 T_family_information_item_choice, hf_index, ett_dap_T_family_information_item,
1206
0
                                 NULL);
1207
0
1208
0
  return offset;
1209
0
}
1210
1211
1212
static const ber_sequence_t FamilyInformation_sequence_of[1] = {
1213
  { &hf_dap_family_information_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_dap_T_family_information_item },
1214
};
1215
1216
static unsigned
1217
0
dissect_dap_FamilyInformation(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1218
0
  offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
1219
0
                                      FamilyInformation_sequence_of, hf_index, ett_dap_FamilyInformation);
1220
0
1221
0
  return offset;
1222
0
}
1223
1224
1225
static const ber_sequence_t SEQUENCE_SIZE_1_MAX_OF_FamilyEntries_sequence_of[1] = {
1226
  { &hf_dap_family_info_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dap_FamilyEntries },
1227
};
1228
1229
static unsigned
1230
0
dissect_dap_SEQUENCE_SIZE_1_MAX_OF_FamilyEntries(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1231
0
  offset = dissect_ber_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset,
1232
0
                                                  1, NO_BOUND, SEQUENCE_SIZE_1_MAX_OF_FamilyEntries_sequence_of, hf_index, ett_dap_SEQUENCE_SIZE_1_MAX_OF_FamilyEntries);
1233
0
1234
0
  return offset;
1235
0
}
1236
1237
1238
static const ber_sequence_t FamilyEntry_sequence[] = {
1239
  { &hf_dap_rdn             , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x509if_RelativeDistinguishedName },
1240
  { &hf_dap_family_information, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dap_FamilyInformation },
1241
  { &hf_dap_family_info     , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_dap_SEQUENCE_SIZE_1_MAX_OF_FamilyEntries },
1242
  { NULL, 0, 0, 0, NULL }
1243
};
1244
1245
static unsigned
1246
0
dissect_dap_FamilyEntry(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1247
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1248
0
                                   FamilyEntry_sequence, hf_index, ett_dap_FamilyEntry);
1249
0
1250
0
  return offset;
1251
0
}
1252
1253
1254
static const ber_sequence_t SEQUENCE_OF_FamilyEntry_sequence_of[1] = {
1255
  { &hf_dap_familyEntries_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dap_FamilyEntry },
1256
};
1257
1258
static unsigned
1259
0
dissect_dap_SEQUENCE_OF_FamilyEntry(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1260
0
  offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
1261
0
                                      SEQUENCE_OF_FamilyEntry_sequence_of, hf_index, ett_dap_SEQUENCE_OF_FamilyEntry);
1262
0
1263
0
  return offset;
1264
0
}
1265
1266
1267
static const ber_sequence_t FamilyEntries_sequence[] = {
1268
  { &hf_dap_family_class    , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_dap_OBJECT_IDENTIFIER },
1269
  { &hf_dap_familyEntries   , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dap_SEQUENCE_OF_FamilyEntry },
1270
  { NULL, 0, 0, 0, NULL }
1271
};
1272
1273
static unsigned
1274
0
dissect_dap_FamilyEntries(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1275
0
  // FamilyEntries -> FamilyEntries/familyEntries -> FamilyEntry -> FamilyEntry/family-info -> FamilyEntries
1276
0
  increment_dissection_depth_by_n(actx->pinfo, 4);
1277
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1278
0
                                   FamilyEntries_sequence, hf_index, ett_dap_FamilyEntries);
1279
0
1280
0
  decrement_dissection_depth_by_n(actx->pinfo, 4);
1281
0
  return offset;
1282
0
}
1283
1284
1285
1286
static unsigned
1287
0
dissect_dap_T_initial(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1288
  // FilterItem/substrings/strings/_item/initial -> FilterItem/substrings/strings/_item/initial
1289
0
  increment_dissection_depth_by_n(actx->pinfo, 1);
1290
0
  proto_item *it;
1291
0
  it = proto_tree_add_item(tree, hf_index, tvb, offset, -1, ENC_BIG_ENDIAN);
1292
0
  proto_item_append_text(it," XXX: Not yet implemented!");
1293
1294
1295
0
  decrement_dissection_depth_by_n(actx->pinfo, 1);
1296
0
  return offset;
1297
0
}
1298
1299
1300
1301
static unsigned
1302
0
dissect_dap_T_any(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1303
  // FilterItem/substrings/strings/_item/any -> FilterItem/substrings/strings/_item/any
1304
0
  increment_dissection_depth_by_n(actx->pinfo, 1);
1305
  /* XXX: not yet implemented */
1306
1307
1308
0
  decrement_dissection_depth_by_n(actx->pinfo, 1);
1309
0
  return offset;
1310
0
}
1311
1312
1313
1314
static unsigned
1315
0
dissect_dap_T_final(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1316
  // FilterItem/substrings/strings/_item/final -> FilterItem/substrings/strings/_item/final
1317
0
  increment_dissection_depth_by_n(actx->pinfo, 1);
1318
  /* XXX: not yet implemented */
1319
1320
1321
0
  decrement_dissection_depth_by_n(actx->pinfo, 1);
1322
0
  return offset;
1323
0
}
1324
1325
1326
static const value_string dap_T_strings_item_vals[] = {
1327
  {   0, "initial" },
1328
  {   1, "any" },
1329
  {   2, "final" },
1330
  {   3, "control" },
1331
  { 0, NULL }
1332
};
1333
1334
static const ber_choice_t T_strings_item_choice[] = {
1335
  {   0, &hf_dap_initial         , BER_CLASS_CON, 0, 0, dissect_dap_T_initial },
1336
  {   1, &hf_dap_any             , BER_CLASS_CON, 1, 0, dissect_dap_T_any },
1337
  {   2, &hf_dap_final           , BER_CLASS_CON, 2, 0, dissect_dap_T_final },
1338
  {   3, &hf_dap_control         , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509if_Attribute },
1339
  { 0, NULL, 0, 0, 0, NULL }
1340
};
1341
1342
static unsigned
1343
0
dissect_dap_T_strings_item(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1344
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
1345
0
                                 T_strings_item_choice, hf_index, ett_dap_T_strings_item,
1346
0
                                 NULL);
1347
1348
0
  return offset;
1349
0
}
1350
1351
1352
static const ber_sequence_t T_strings_sequence_of[1] = {
1353
  { &hf_dap_strings_item    , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_dap_T_strings_item },
1354
};
1355
1356
static unsigned
1357
0
dissect_dap_T_strings(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1358
0
  offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
1359
0
                                      T_strings_sequence_of, hf_index, ett_dap_T_strings);
1360
1361
0
  return offset;
1362
0
}
1363
1364
1365
static const ber_sequence_t T_substrings_sequence[] = {
1366
  { &hf_dap_sunstringType   , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_dap_OBJECT_IDENTIFIER },
1367
  { &hf_dap_strings         , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dap_T_strings },
1368
  { NULL, 0, 0, 0, NULL }
1369
};
1370
1371
static unsigned
1372
0
dissect_dap_T_substrings(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1373
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1374
0
                                   T_substrings_sequence, hf_index, ett_dap_T_substrings);
1375
1376
0
  return offset;
1377
0
}
1378
1379
1380
static const ber_sequence_t T_matchingRule_set_of[1] = {
1381
  { &hf_dap_matchingRule_item, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_dap_OBJECT_IDENTIFIER },
1382
};
1383
1384
static unsigned
1385
0
dissect_dap_T_matchingRule(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1386
0
  offset = dissect_ber_constrained_set_of(implicit_tag, actx, tree, tvb, offset,
1387
0
                                             1, NO_BOUND, T_matchingRule_set_of, hf_index, ett_dap_T_matchingRule);
1388
1389
0
  return offset;
1390
0
}
1391
1392
1393
1394
static unsigned
1395
0
dissect_dap_T_matchValue(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1396
  // MatchingRuleAssertion/matchValue -> MatchingRuleAssertion/matchValue
1397
0
  increment_dissection_depth_by_n(actx->pinfo, 1);
1398
  /* XXX: not yet implemented */
1399
1400
1401
0
  decrement_dissection_depth_by_n(actx->pinfo, 1);
1402
0
  return offset;
1403
0
}
1404
1405
1406
static const ber_sequence_t MatchingRuleAssertion_sequence[] = {
1407
  { &hf_dap_matchingRule    , BER_CLASS_CON, 1, 0, dissect_dap_T_matchingRule },
1408
  { &hf_dap_type            , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_x509if_AttributeType },
1409
  { &hf_dap_matchValue      , BER_CLASS_CON, 3, 0, dissect_dap_T_matchValue },
1410
  { &hf_dap_dnAttributes    , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_dap_BOOLEAN },
1411
  { NULL, 0, 0, 0, NULL }
1412
};
1413
1414
static unsigned
1415
0
dissect_dap_MatchingRuleAssertion(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1416
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1417
0
                                   MatchingRuleAssertion_sequence, hf_index, ett_dap_MatchingRuleAssertion);
1418
1419
0
  return offset;
1420
0
}
1421
1422
1423
static const value_string dap_FilterItem_vals[] = {
1424
  {   0, "equality" },
1425
  {   1, "substrings" },
1426
  {   2, "greaterOrEqual" },
1427
  {   3, "lessOrEqual" },
1428
  {   4, "present" },
1429
  {   5, "approximateMatch" },
1430
  {   6, "extensibleMatch" },
1431
  {   7, "contextPresent" },
1432
  { 0, NULL }
1433
};
1434
1435
static const ber_choice_t FilterItem_choice[] = {
1436
  {   0, &hf_dap_equality        , BER_CLASS_CON, 0, 0, dissect_x509if_AttributeValueAssertion },
1437
  {   1, &hf_dap_substrings      , BER_CLASS_CON, 1, 0, dissect_dap_T_substrings },
1438
  {   2, &hf_dap_greaterOrEqual  , BER_CLASS_CON, 2, 0, dissect_x509if_AttributeValueAssertion },
1439
  {   3, &hf_dap_lessOrEqual     , BER_CLASS_CON, 3, 0, dissect_x509if_AttributeValueAssertion },
1440
  {   4, &hf_dap_present         , BER_CLASS_CON, 4, 0, dissect_x509if_AttributeType },
1441
  {   5, &hf_dap_approximateMatch, BER_CLASS_CON, 5, 0, dissect_x509if_AttributeValueAssertion },
1442
  {   6, &hf_dap_extensibleMatch , BER_CLASS_CON, 6, 0, dissect_dap_MatchingRuleAssertion },
1443
  {   7, &hf_dap_contextPresent  , BER_CLASS_CON, 7, 0, dissect_x509if_AttributeTypeAssertion },
1444
  { 0, NULL, 0, 0, 0, NULL }
1445
};
1446
1447
static unsigned
1448
0
dissect_dap_FilterItem(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1449
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
1450
0
                                 FilterItem_choice, hf_index, ett_dap_FilterItem,
1451
0
                                 NULL);
1452
1453
0
  return offset;
1454
0
}
1455
1456
1457
static const ber_sequence_t SetOfFilter_set_of[1] = {
1458
  { &hf_dap_SetOfFilter_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_dap_Filter },
1459
};
1460
1461
static unsigned
1462
0
dissect_dap_SetOfFilter(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1463
0
  offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
1464
0
                                 SetOfFilter_set_of, hf_index, ett_dap_SetOfFilter);
1465
1466
0
  return offset;
1467
0
}
1468
1469
1470
const value_string dap_Filter_vals[] = {
1471
  {   0, "item" },
1472
  {   1, "and" },
1473
  {   2, "or" },
1474
  {   3, "not" },
1475
  { 0, NULL }
1476
};
1477
1478
static const ber_choice_t Filter_choice[] = {
1479
  {   0, &hf_dap_filter_item     , BER_CLASS_CON, 0, 0, dissect_dap_FilterItem },
1480
  {   1, &hf_dap_and             , BER_CLASS_CON, 1, 0, dissect_dap_SetOfFilter },
1481
  {   2, &hf_dap_or              , BER_CLASS_CON, 2, 0, dissect_dap_SetOfFilter },
1482
  {   3, &hf_dap_not             , BER_CLASS_CON, 3, 0, dissect_dap_Filter },
1483
  { 0, NULL, 0, 0, 0, NULL }
1484
};
1485
1486
unsigned
1487
0
dissect_dap_Filter(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1488
  // Filter -> SetOfFilter -> Filter
1489
0
  increment_dissection_depth_by_n(actx->pinfo, 2);
1490
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
1491
0
                                 Filter_choice, hf_index, ett_dap_Filter,
1492
0
                                 NULL);
1493
1494
0
  decrement_dissection_depth_by_n(actx->pinfo, 2);
1495
0
  return offset;
1496
0
}
1497
1498
1499
static const ber_sequence_t SortKey_sequence[] = {
1500
  { &hf_dap_type            , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x509if_AttributeType },
1501
  { &hf_dap_orderingRule    , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_dap_OBJECT_IDENTIFIER },
1502
  { NULL, 0, 0, 0, NULL }
1503
};
1504
1505
static unsigned
1506
0
dissect_dap_SortKey(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1507
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1508
0
                                   SortKey_sequence, hf_index, ett_dap_SortKey);
1509
1510
0
  return offset;
1511
0
}
1512
1513
1514
static const ber_sequence_t SEQUENCE_SIZE_1_MAX_OF_SortKey_sequence_of[1] = {
1515
  { &hf_dap_sortKeys_item   , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dap_SortKey },
1516
};
1517
1518
static unsigned
1519
0
dissect_dap_SEQUENCE_SIZE_1_MAX_OF_SortKey(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1520
0
  offset = dissect_ber_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset,
1521
0
                                                  1, NO_BOUND, SEQUENCE_SIZE_1_MAX_OF_SortKey_sequence_of, hf_index, ett_dap_SEQUENCE_SIZE_1_MAX_OF_SortKey);
1522
1523
0
  return offset;
1524
0
}
1525
1526
1527
static const ber_sequence_t T_newRequest_sequence[] = {
1528
  { &hf_dap_pageSize        , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_dap_INTEGER },
1529
  { &hf_dap_sortKeys        , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_dap_SEQUENCE_SIZE_1_MAX_OF_SortKey },
1530
  { &hf_dap_reverse         , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_dap_BOOLEAN },
1531
  { &hf_dap_unmerged        , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_dap_BOOLEAN },
1532
  { NULL, 0, 0, 0, NULL }
1533
};
1534
1535
static unsigned
1536
0
dissect_dap_T_newRequest(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1537
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1538
0
                                   T_newRequest_sequence, hf_index, ett_dap_T_newRequest);
1539
1540
0
  return offset;
1541
0
}
1542
1543
1544
1545
static unsigned
1546
0
dissect_dap_T_pagedResultsQueryReference(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1547
0
  tvbuff_t *out_tvb;
1548
0
  unsigned  i;
1549
0
  unsigned  len;
1550
1551
0
    offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
1552
0
                                       &out_tvb);
1553
1554
1555
0
  if(out_tvb) {
1556
    /* now see if we can add a string representation */
1557
0
    len = tvb_reported_length(out_tvb);
1558
0
    if(tvb_ascii_isprint(out_tvb, 0, len)) {
1559
0
      if(actx->created_item) {
1560
1561
0
        proto_item_append_text(actx->created_item," (");
1562
0
        for(i=0; i<len; i++)
1563
0
          proto_item_append_text(actx->created_item,"%c",tvb_get_uint8(out_tvb,i));
1564
0
        proto_item_append_text(actx->created_item,")");
1565
0
      }
1566
0
    }
1567
0
  }
1568
1569
1570
0
  return offset;
1571
0
}
1572
1573
1574
static const value_string dap_PagedResultsRequest_vals[] = {
1575
  {   0, "newRequest" },
1576
  {   1, "queryReference" },
1577
  { 0, NULL }
1578
};
1579
1580
static const ber_choice_t PagedResultsRequest_choice[] = {
1581
  {   0, &hf_dap_newRequest      , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dap_T_newRequest },
1582
  {   1, &hf_dap_pagedResultsQueryReference, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_dap_T_pagedResultsQueryReference },
1583
  { 0, NULL, 0, 0, 0, NULL }
1584
};
1585
1586
static unsigned
1587
0
dissect_dap_PagedResultsRequest(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1588
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
1589
0
                                 PagedResultsRequest_choice, hf_index, ett_dap_PagedResultsRequest,
1590
0
                                 NULL);
1591
1592
0
  return offset;
1593
0
}
1594
1595
1596
1597
static unsigned
1598
0
dissect_dap_UTCTime(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1599
0
  offset = dissect_ber_UTCTime(implicit_tag, actx, tree, tvb, offset, hf_index, NULL, NULL);
1600
1601
0
  return offset;
1602
0
}
1603
1604
1605
1606
static unsigned
1607
0
dissect_dap_GeneralizedTime(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1608
0
  offset = dissect_ber_GeneralizedTime(implicit_tag, actx, tree, tvb, offset, hf_index);
1609
1610
0
  return offset;
1611
0
}
1612
1613
1614
static const value_string dap_Time_vals[] = {
1615
  {   0, "utcTime" },
1616
  {   1, "generalizedTime" },
1617
  { 0, NULL }
1618
};
1619
1620
static const ber_choice_t Time_choice[] = {
1621
  {   0, &hf_dap_utcTime         , BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_NOOWNTAG, dissect_dap_UTCTime },
1622
  {   1, &hf_dap_generalizedTime , BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_NOOWNTAG, dissect_dap_GeneralizedTime },
1623
  { 0, NULL, 0, 0, 0, NULL }
1624
};
1625
1626
static unsigned
1627
0
dissect_dap_Time(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1628
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
1629
0
                                 Time_choice, hf_index, ett_dap_Time,
1630
0
                                 NULL);
1631
1632
0
  return offset;
1633
0
}
1634
1635
1636
1637
static unsigned
1638
0
dissect_dap_BIT_STRING(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1639
0
  offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
1640
0
                                    NULL, 0, hf_index, -1,
1641
0
                                    NULL);
1642
1643
0
  return offset;
1644
0
}
1645
1646
1647
static const value_string dap_ProtectionRequest_vals[] = {
1648
  {   0, "none" },
1649
  {   1, "signed" },
1650
  {   2, "encrypted" },
1651
  {   3, "signed-encrypted" },
1652
  { 0, NULL }
1653
};
1654
1655
1656
static unsigned
1657
0
dissect_dap_ProtectionRequest(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1658
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1659
0
                                                NULL);
1660
1661
0
  return offset;
1662
0
}
1663
1664
1665
static const value_string dap_ErrorProtectionRequest_vals[] = {
1666
  {   0, "none" },
1667
  {   1, "signed" },
1668
  {   2, "encrypted" },
1669
  {   3, "signed-encrypted" },
1670
  { 0, NULL }
1671
};
1672
1673
1674
static unsigned
1675
0
dissect_dap_ErrorProtectionRequest(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1676
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1677
0
                                                NULL);
1678
1679
0
  return offset;
1680
0
}
1681
1682
1683
static const ber_sequence_t SecurityParameters_set[] = {
1684
  { &hf_dap_certification_path, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_x509af_CertificationPath },
1685
  { &hf_dap_distinguished_name, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_x509if_DistinguishedName },
1686
  { &hf_dap_time            , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_dap_Time },
1687
  { &hf_dap_random          , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_dap_BIT_STRING },
1688
  { &hf_dap_target          , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_dap_ProtectionRequest },
1689
  { &hf_dap_response        , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL, dissect_dap_BIT_STRING },
1690
  { &hf_dap_operationCode   , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL, dissect_ros_Code },
1691
  { &hf_dap_attributeCertificationPath, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL, dissect_x509af_AttributeCertificationPath },
1692
  { &hf_dap_errorProtection , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL, dissect_dap_ErrorProtectionRequest },
1693
  { &hf_dap_errorCode       , BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL, dissect_ros_Code },
1694
  { NULL, 0, 0, 0, NULL }
1695
};
1696
1697
unsigned
1698
0
dissect_dap_SecurityParameters(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1699
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1700
0
                              SecurityParameters_set, hf_index, ett_dap_SecurityParameters);
1701
1702
0
  return offset;
1703
0
}
1704
1705
1706
static const value_string dap_T_time1_vals[] = {
1707
  {   0, "utc" },
1708
  {   1, "gt" },
1709
  { 0, NULL }
1710
};
1711
1712
static const ber_choice_t T_time1_choice[] = {
1713
  {   0, &hf_dap_utc             , BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_NOOWNTAG, dissect_dap_UTCTime },
1714
  {   1, &hf_dap_gt              , BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_NOOWNTAG, dissect_dap_GeneralizedTime },
1715
  { 0, NULL, 0, 0, 0, NULL }
1716
};
1717
1718
static unsigned
1719
0
dissect_dap_T_time1(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1720
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
1721
0
                                 T_time1_choice, hf_index, ett_dap_T_time1,
1722
0
                                 NULL);
1723
1724
0
  return offset;
1725
0
}
1726
1727
1728
static const value_string dap_T_time2_vals[] = {
1729
  {   0, "utc" },
1730
  {   1, "gt" },
1731
  { 0, NULL }
1732
};
1733
1734
static const ber_choice_t T_time2_choice[] = {
1735
  {   0, &hf_dap_utc             , BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_NOOWNTAG, dissect_dap_UTCTime },
1736
  {   1, &hf_dap_gt              , BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_NOOWNTAG, dissect_dap_GeneralizedTime },
1737
  { 0, NULL, 0, 0, 0, NULL }
1738
};
1739
1740
static unsigned
1741
0
dissect_dap_T_time2(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1742
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
1743
0
                                 T_time2_choice, hf_index, ett_dap_T_time2,
1744
0
                                 NULL);
1745
1746
0
  return offset;
1747
0
}
1748
1749
1750
static const ber_sequence_t T_validity_set[] = {
1751
  { &hf_dap_time1           , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_dap_T_time1 },
1752
  { &hf_dap_time2           , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_dap_T_time2 },
1753
  { &hf_dap_random1         , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_dap_BIT_STRING },
1754
  { &hf_dap_random2         , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_dap_BIT_STRING },
1755
  { NULL, 0, 0, 0, NULL }
1756
};
1757
1758
static unsigned
1759
0
dissect_dap_T_validity(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1760
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1761
0
                              T_validity_set, hf_index, ett_dap_T_validity);
1762
1763
0
  return offset;
1764
0
}
1765
1766
1767
1768
static unsigned
1769
0
dissect_dap_OCTET_STRING(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1770
0
  offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
1771
0
                                       NULL);
1772
1773
0
  return offset;
1774
0
}
1775
1776
1777
static const ber_sequence_t T_protected_sequence[] = {
1778
  { &hf_dap_protectedPassword, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_dap_OCTET_STRING },
1779
  { &hf_dap_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
1780
  { &hf_dap_encrypted       , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_dap_BIT_STRING },
1781
  { NULL, 0, 0, 0, NULL }
1782
};
1783
1784
static unsigned
1785
0
dissect_dap_T_protected(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1786
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1787
0
                                   T_protected_sequence, hf_index, ett_dap_T_protected);
1788
1789
0
  return offset;
1790
0
}
1791
1792
1793
static const value_string dap_T_password_vals[] = {
1794
  {   0, "unprotected" },
1795
  {   1, "protected" },
1796
  { 0, NULL }
1797
};
1798
1799
static const ber_choice_t T_password_choice[] = {
1800
  {   0, &hf_dap_unprotected     , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_dap_OCTET_STRING },
1801
  {   1, &hf_dap_protected       , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dap_T_protected },
1802
  { 0, NULL, 0, 0, 0, NULL }
1803
};
1804
1805
static unsigned
1806
0
dissect_dap_T_password(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1807
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
1808
0
                                 T_password_choice, hf_index, ett_dap_T_password,
1809
0
                                 NULL);
1810
1811
0
  return offset;
1812
0
}
1813
1814
1815
static const ber_sequence_t SimpleCredentials_sequence[] = {
1816
  { &hf_dap_distinguished_name, BER_CLASS_CON, 0, 0, dissect_x509if_DistinguishedName },
1817
  { &hf_dap_validity        , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_dap_T_validity },
1818
  { &hf_dap_password        , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_dap_T_password },
1819
  { NULL, 0, 0, 0, NULL }
1820
};
1821
1822
static unsigned
1823
0
dissect_dap_SimpleCredentials(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1824
1825
0
    offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1826
0
                                   SimpleCredentials_sequence, hf_index, ett_dap_SimpleCredentials);
1827
1828
1829
  /* There is no DN when the name is absent */
1830
0
  const char *dn = x509if_get_last_dn();
1831
0
  col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %s", dn ? dn : "");
1832
1833
1834
1835
1836
1837
0
  return offset;
1838
0
}
1839
1840
1841
static const ber_sequence_t SEQUENCE_SIZE_1_MAX_OF_AlgorithmIdentifier_sequence_of[1] = {
1842
  { &hf_dap_bindIntAlgorithm_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
1843
};
1844
1845
static unsigned
1846
0
dissect_dap_SEQUENCE_SIZE_1_MAX_OF_AlgorithmIdentifier(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1847
0
  offset = dissect_ber_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset,
1848
0
                                                  1, NO_BOUND, SEQUENCE_SIZE_1_MAX_OF_AlgorithmIdentifier_sequence_of, hf_index, ett_dap_SEQUENCE_SIZE_1_MAX_OF_AlgorithmIdentifier);
1849
1850
0
  return offset;
1851
0
}
1852
1853
1854
1855
static unsigned
1856
0
dissect_dap_BindKeyInfo(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1857
0
  offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
1858
0
                                    NULL, 0, hf_index, -1,
1859
0
                                    NULL);
1860
1861
0
  return offset;
1862
0
}
1863
1864
1865
static const ber_sequence_t TokenData_sequence[] = {
1866
  { &hf_dap_algorithm       , BER_CLASS_CON, 0, 0, dissect_x509af_AlgorithmIdentifier },
1867
  { &hf_dap_distinguished_name, BER_CLASS_CON, 1, 0, dissect_x509if_DistinguishedName },
1868
  { &hf_dap_utctime         , BER_CLASS_CON, 2, 0, dissect_dap_UTCTime },
1869
  { &hf_dap_random          , BER_CLASS_CON, 3, 0, dissect_dap_BIT_STRING },
1870
  { &hf_dap_response        , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_dap_BIT_STRING },
1871
  { &hf_dap_bindIntAlgorithm, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL, dissect_dap_SEQUENCE_SIZE_1_MAX_OF_AlgorithmIdentifier },
1872
  { &hf_dap_bindIntKeyInfo  , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL, dissect_dap_BindKeyInfo },
1873
  { &hf_dap_bindConfAlgorithm, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL, dissect_dap_SEQUENCE_SIZE_1_MAX_OF_AlgorithmIdentifier },
1874
  { &hf_dap_bindConfKeyInfo , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL, dissect_dap_BindKeyInfo },
1875
  { NULL, 0, 0, 0, NULL }
1876
};
1877
1878
static unsigned
1879
0
dissect_dap_TokenData(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1880
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1881
0
                                   TokenData_sequence, hf_index, ett_dap_TokenData);
1882
1883
0
  return offset;
1884
0
}
1885
1886
1887
static const ber_sequence_t Token_sequence[] = {
1888
  { &hf_dap_token_data      , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dap_TokenData },
1889
  { &hf_dap_algorithm_identifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
1890
  { &hf_dap_encrypted       , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_dap_BIT_STRING },
1891
  { NULL, 0, 0, 0, NULL }
1892
};
1893
1894
static unsigned
1895
0
dissect_dap_Token(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1896
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1897
0
                                   Token_sequence, hf_index, ett_dap_Token);
1898
1899
0
  return offset;
1900
0
}
1901
1902
1903
static const ber_sequence_t StrongCredentials_set[] = {
1904
  { &hf_dap_certification_path, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_x509af_CertificationPath },
1905
  { &hf_dap_bind_token      , BER_CLASS_CON, 1, 0, dissect_dap_Token },
1906
  { &hf_dap_distinguished_name, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_x509if_DistinguishedName },
1907
  { &hf_dap_attributeCertificationPath, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_x509af_AttributeCertificationPath },
1908
  { NULL, 0, 0, 0, NULL }
1909
};
1910
1911
static unsigned
1912
0
dissect_dap_StrongCredentials(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1913
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1914
0
                              StrongCredentials_set, hf_index, ett_dap_StrongCredentials);
1915
1916
0
  return offset;
1917
0
}
1918
1919
1920
1921
static unsigned
1922
0
dissect_dap_EXTERNAL(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1923
0
  offset = dissect_ber_external_type(implicit_tag, tree, tvb, offset, actx, hf_index, NULL);
1924
1925
0
  return offset;
1926
0
}
1927
1928
1929
1930
static unsigned
1931
0
dissect_dap_T_req(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1932
  /* XXX: not yet implemented */
1933
1934
1935
0
  return offset;
1936
0
}
1937
1938
1939
1940
static unsigned
1941
0
dissect_dap_T_rep(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1942
  /* XXX: not yet implemented */
1943
1944
1945
0
  return offset;
1946
0
}
1947
1948
1949
static const value_string dap_SpkmCredentials_vals[] = {
1950
  {   0, "req" },
1951
  {   1, "rep" },
1952
  { 0, NULL }
1953
};
1954
1955
static const ber_choice_t SpkmCredentials_choice[] = {
1956
  {   0, &hf_dap_req             , BER_CLASS_CON, 0, 0, dissect_dap_T_req },
1957
  {   1, &hf_dap_rep             , BER_CLASS_CON, 1, 0, dissect_dap_T_rep },
1958
  { 0, NULL, 0, 0, 0, NULL }
1959
};
1960
1961
static unsigned
1962
0
dissect_dap_SpkmCredentials(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1963
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
1964
0
                                 SpkmCredentials_choice, hf_index, ett_dap_SpkmCredentials,
1965
0
                                 NULL);
1966
1967
0
  return offset;
1968
0
}
1969
1970
1971
static const ber_sequence_t SaslCredentials_sequence[] = {
1972
  { &hf_dap_mechanism       , BER_CLASS_CON, 0, 0, dissect_x509sat_DirectoryString },
1973
  { &hf_dap_saslCredentials , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_dap_OCTET_STRING },
1974
  { &hf_dap_saslAbort       , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_dap_BOOLEAN },
1975
  { NULL, 0, 0, 0, NULL }
1976
};
1977
1978
static unsigned
1979
0
dissect_dap_SaslCredentials(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1980
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1981
0
                                   SaslCredentials_sequence, hf_index, ett_dap_SaslCredentials);
1982
1983
0
  return offset;
1984
0
}
1985
1986
1987
static const value_string dap_Credentials_vals[] = {
1988
  {   0, "simple" },
1989
  {   1, "strong" },
1990
  {   2, "externalProcedure" },
1991
  {   3, "spkm" },
1992
  {   4, "sasl" },
1993
  { 0, NULL }
1994
};
1995
1996
static const ber_choice_t Credentials_choice[] = {
1997
  {   0, &hf_dap_simple          , BER_CLASS_CON, 0, 0, dissect_dap_SimpleCredentials },
1998
  {   1, &hf_dap_strong          , BER_CLASS_CON, 1, 0, dissect_dap_StrongCredentials },
1999
  {   2, &hf_dap_externalProcedure, BER_CLASS_CON, 2, 0, dissect_dap_EXTERNAL },
2000
  {   3, &hf_dap_spkm            , BER_CLASS_CON, 3, 0, dissect_dap_SpkmCredentials },
2001
  {   4, &hf_dap_sasl            , BER_CLASS_CON, 4, 0, dissect_dap_SaslCredentials },
2002
  { 0, NULL, 0, 0, 0, NULL }
2003
};
2004
2005
static unsigned
2006
0
dissect_dap_Credentials(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2007
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
2008
0
                                 Credentials_choice, hf_index, ett_dap_Credentials,
2009
0
                                 NULL);
2010
2011
0
  return offset;
2012
0
}
2013
2014
2015
static int * const Versions_bits[] = {
2016
  &hf_dap_Versions_v1,
2017
  &hf_dap_Versions_v2,
2018
  NULL
2019
};
2020
2021
static unsigned
2022
0
dissect_dap_Versions(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2023
0
  offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
2024
0
                                    Versions_bits, 2, hf_index, ett_dap_Versions,
2025
0
                                    NULL);
2026
2027
0
  return offset;
2028
0
}
2029
2030
2031
static const ber_sequence_t DirectoryBindArgument_set[] = {
2032
  { &hf_dap_credentials     , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_dap_Credentials },
2033
  { &hf_dap_versions        , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_dap_Versions },
2034
  { NULL, 0, 0, 0, NULL }
2035
};
2036
2037
unsigned
2038
0
dissect_dap_DirectoryBindArgument(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2039
2040
0
  uint32_t len;
2041
2042
  /* check and see if this is an empty set */
2043
0
  dissect_ber_length(actx->pinfo, tree, tvb, offset+1, &len, NULL);
2044
2045
0
  if(len == 0) {
2046
    /* it's an empty set - i.e anonymous  (assuming version is DEFAULTed) */
2047
0
    proto_tree_add_expert_remaining(tree, actx->pinfo, &ei_dap_anonymous, tvb, offset);
2048
2049
0
    col_append_str(actx->pinfo->cinfo, COL_INFO, " anonymous");
2050
2051
0
  }
2052
  /* do the default thing */
2053
2054
0
    offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
2055
0
                              DirectoryBindArgument_set, hf_index, ett_dap_DirectoryBindArgument);
2056
2057
2058
2059
0
  return offset;
2060
0
}
2061
2062
2063
2064
static unsigned
2065
0
dissect_dap_DirectoryBindResult(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2066
0
  offset = dissect_dap_DirectoryBindArgument(implicit_tag, tvb, offset, actx, tree, hf_index);
2067
2068
0
  return offset;
2069
0
}
2070
2071
2072
static const value_string dap_ServiceProblem_vals[] = {
2073
  {   1, "busy" },
2074
  {   2, "unavailable" },
2075
  {   3, "unwillingToPerform" },
2076
  {   4, "chainingRequired" },
2077
  {   5, "unableToProceed" },
2078
  {   6, "invalidReference" },
2079
  {   7, "timeLimitExceeded" },
2080
  {   8, "administrativeLimitExceeded" },
2081
  {   9, "loopDetected" },
2082
  {  10, "unavailableCriticalExtension" },
2083
  {  11, "outOfScope" },
2084
  {  12, "ditError" },
2085
  {  13, "invalidQueryReference" },
2086
  {  14, "requestedServiceNotAvailable" },
2087
  {  15, "unsupportedMatchingUse" },
2088
  {  16, "ambiguousKeyAttributes" },
2089
  {  17, "saslBindInProgress" },
2090
  { 0, NULL }
2091
};
2092
2093
2094
static unsigned
2095
0
dissect_dap_ServiceProblem(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2096
0
  uint32_t problem;
2097
2098
0
    offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2099
0
                                                &problem);
2100
2101
2102
0
  col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %s", val_to_str(actx->pinfo->pool, problem, dap_ServiceProblem_vals, "ServiceProblem(%d)"));
2103
2104
2105
0
  return offset;
2106
0
}
2107
2108
2109
const value_string dap_SecurityProblem_vals[] = {
2110
  {   1, "inappropriateAuthentication" },
2111
  {   2, "invalidCredentials" },
2112
  {   3, "insufficientAccessRights" },
2113
  {   4, "invalidSignature" },
2114
  {   5, "protectionRequired" },
2115
  {   6, "noInformation" },
2116
  {   7, "blockedCredentials" },
2117
  {   8, "invalidQOPMatch" },
2118
  {   9, "spkmError" },
2119
  { 0, NULL }
2120
};
2121
2122
2123
unsigned
2124
0
dissect_dap_SecurityProblem(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2125
0
  uint32_t problem;
2126
2127
0
    offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2128
0
                                                &problem);
2129
2130
2131
0
  col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %s", val_to_str(actx->pinfo->pool, problem, dap_SecurityProblem_vals, "SecurityProblem(%d)"));
2132
2133
2134
0
  return offset;
2135
0
}
2136
2137
2138
static const value_string dap_T_error_vals[] = {
2139
  {   1, "serviceError" },
2140
  {   2, "securityError" },
2141
  { 0, NULL }
2142
};
2143
2144
static const ber_choice_t T_error_choice[] = {
2145
  {   1, &hf_dap_serviceProblem  , BER_CLASS_CON, 1, 0, dissect_dap_ServiceProblem },
2146
  {   2, &hf_dap_securityProblem , BER_CLASS_CON, 2, 0, dissect_dap_SecurityProblem },
2147
  { 0, NULL, 0, 0, 0, NULL }
2148
};
2149
2150
static unsigned
2151
0
dissect_dap_T_error(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2152
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
2153
0
                                 T_error_choice, hf_index, ett_dap_T_error,
2154
0
                                 NULL);
2155
2156
0
  return offset;
2157
0
}
2158
2159
2160
static const ber_sequence_t DirectoryBindErrorData_set[] = {
2161
  { &hf_dap_versions        , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_dap_Versions },
2162
  { &hf_dap_error           , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_dap_T_error },
2163
  { &hf_dap_securityParameters, BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL, dissect_dap_SecurityParameters },
2164
  { NULL, 0, 0, 0, NULL }
2165
};
2166
2167
static unsigned
2168
0
dissect_dap_DirectoryBindErrorData(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2169
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
2170
0
                              DirectoryBindErrorData_set, hf_index, ett_dap_DirectoryBindErrorData);
2171
2172
0
  return offset;
2173
0
}
2174
2175
2176
static const ber_sequence_t T_signedDirectoryBindError_sequence[] = {
2177
  { &hf_dap_directoryBindError, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dap_DirectoryBindErrorData },
2178
  { &hf_dap_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
2179
  { &hf_dap_encrypted       , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_dap_BIT_STRING },
2180
  { NULL, 0, 0, 0, NULL }
2181
};
2182
2183
static unsigned
2184
0
dissect_dap_T_signedDirectoryBindError(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2185
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2186
0
                                   T_signedDirectoryBindError_sequence, hf_index, ett_dap_T_signedDirectoryBindError);
2187
2188
0
  return offset;
2189
0
}
2190
2191
2192
const value_string dap_DirectoryBindError_vals[] = {
2193
  {   0, "unsignedDirectoryBindError" },
2194
  {   1, "signedDirectoryBindError" },
2195
  { 0, NULL }
2196
};
2197
2198
static const ber_choice_t DirectoryBindError_choice[] = {
2199
  {   0, &hf_dap_unsignedDirectoryBindError, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dap_DirectoryBindErrorData },
2200
  {   1, &hf_dap_signedDirectoryBindError, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dap_T_signedDirectoryBindError },
2201
  { 0, NULL, 0, 0, 0, NULL }
2202
};
2203
2204
unsigned
2205
0
dissect_dap_DirectoryBindError(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2206
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
2207
0
                                 DirectoryBindError_choice, hf_index, ett_dap_DirectoryBindError,
2208
0
                                 NULL);
2209
2210
0
  return offset;
2211
0
}
2212
2213
2214
static const ber_sequence_t ReadArgumentData_set[] = {
2215
  { &hf_dap_object          , BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_dap_Name },
2216
  { &hf_dap_selection       , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_dap_EntryInformationSelection },
2217
  { &hf_dap_modifyRightsRequest, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_dap_BOOLEAN },
2218
  { &hf_dap_serviceControls , BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL, dissect_dap_ServiceControls },
2219
  { &hf_dap_securityParameters, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL, dissect_dap_SecurityParameters },
2220
  { &hf_dap_requestor       , BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL, dissect_x509if_DistinguishedName },
2221
  { &hf_dap_operationProgress, BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL, dissect_dsp_OperationProgress },
2222
  { &hf_dap_aliasedRDNs     , BER_CLASS_CON, 26, BER_FLAGS_OPTIONAL, dissect_dap_INTEGER },
2223
  { &hf_dap_criticalExtensions, BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL, dissect_dap_BIT_STRING },
2224
  { &hf_dap_referenceType   , BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL, dissect_dsp_ReferenceType },
2225
  { &hf_dap_entryOnly       , BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL, dissect_dap_BOOLEAN },
2226
  { &hf_dap_exclusions      , BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL, dissect_dsp_Exclusions },
2227
  { &hf_dap_nameResolveOnMaster, BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL, dissect_dap_BOOLEAN },
2228
  { &hf_dap_operationContexts, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_dap_ContextSelection },
2229
  { &hf_dap_familyGrouping  , BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL, dissect_dap_FamilyGrouping },
2230
  { NULL, 0, 0, 0, NULL }
2231
};
2232
2233
static unsigned
2234
0
dissect_dap_ReadArgumentData(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2235
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
2236
0
                              ReadArgumentData_set, hf_index, ett_dap_ReadArgumentData);
2237
2238
0
  return offset;
2239
0
}
2240
2241
2242
static const ber_sequence_t T_signedReadArgument_sequence[] = {
2243
  { &hf_dap_readArgument    , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dap_ReadArgumentData },
2244
  { &hf_dap_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
2245
  { &hf_dap_encrypted       , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_dap_BIT_STRING },
2246
  { NULL, 0, 0, 0, NULL }
2247
};
2248
2249
static unsigned
2250
0
dissect_dap_T_signedReadArgument(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2251
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2252
0
                                   T_signedReadArgument_sequence, hf_index, ett_dap_T_signedReadArgument);
2253
2254
0
  return offset;
2255
0
}
2256
2257
2258
const value_string dap_ReadArgument_vals[] = {
2259
  {   0, "unsignedReadArgument" },
2260
  {   1, "signedReadArgument" },
2261
  { 0, NULL }
2262
};
2263
2264
static const ber_choice_t ReadArgument_choice[] = {
2265
  {   0, &hf_dap_unsignedReadArgument, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dap_ReadArgumentData },
2266
  {   1, &hf_dap_signedReadArgument, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dap_T_signedReadArgument },
2267
  { 0, NULL, 0, 0, 0, NULL }
2268
};
2269
2270
unsigned
2271
0
dissect_dap_ReadArgument(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2272
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
2273
0
                                 ReadArgument_choice, hf_index, ett_dap_ReadArgument,
2274
0
                                 NULL);
2275
2276
0
  return offset;
2277
0
}
2278
2279
2280
static const value_string dap_T_item_vals[] = {
2281
  {   0, "entry" },
2282
  {   1, "attribute" },
2283
  {   2, "value" },
2284
  { 0, NULL }
2285
};
2286
2287
static const ber_choice_t T_item_choice[] = {
2288
  {   0, &hf_dap_item_entry      , BER_CLASS_CON, 0, 0, dissect_dap_NULL },
2289
  {   1, &hf_dap_attribute_type  , BER_CLASS_CON, 1, 0, dissect_x509if_AttributeType },
2290
  {   2, &hf_dap_value_assertion , BER_CLASS_CON, 2, 0, dissect_x509if_AttributeValueAssertion },
2291
  { 0, NULL, 0, 0, 0, NULL }
2292
};
2293
2294
static unsigned
2295
0
dissect_dap_T_item(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2296
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
2297
0
                                 T_item_choice, hf_index, ett_dap_T_item,
2298
0
                                 NULL);
2299
2300
0
  return offset;
2301
0
}
2302
2303
2304
static int * const T_permission_bits[] = {
2305
  &hf_dap_T_permission_add,
2306
  &hf_dap_T_permission_remove,
2307
  &hf_dap_T_permission_rename,
2308
  &hf_dap_T_permission_move,
2309
  NULL
2310
};
2311
2312
static unsigned
2313
0
dissect_dap_T_permission(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2314
0
  offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
2315
0
                                    T_permission_bits, 4, hf_index, ett_dap_T_permission,
2316
0
                                    NULL);
2317
2318
0
  return offset;
2319
0
}
2320
2321
2322
static const ber_sequence_t ModifyRights_item_sequence[] = {
2323
  { &hf_dap_item            , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_dap_T_item },
2324
  { &hf_dap_permission      , BER_CLASS_CON, 3, 0, dissect_dap_T_permission },
2325
  { NULL, 0, 0, 0, NULL }
2326
};
2327
2328
static unsigned
2329
0
dissect_dap_ModifyRights_item(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2330
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2331
0
                                   ModifyRights_item_sequence, hf_index, ett_dap_ModifyRights_item);
2332
2333
0
  return offset;
2334
0
}
2335
2336
2337
static const ber_sequence_t ModifyRights_set_of[1] = {
2338
  { &hf_dap_ModifyRights_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dap_ModifyRights_item },
2339
};
2340
2341
static unsigned
2342
0
dissect_dap_ModifyRights(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2343
0
  offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
2344
0
                                 ModifyRights_set_of, hf_index, ett_dap_ModifyRights);
2345
2346
0
  return offset;
2347
0
}
2348
2349
2350
static const ber_sequence_t SEQUENCE_SIZE_1_MAX_OF_Attribute_sequence_of[1] = {
2351
  { &hf_dap_notification_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509if_Attribute },
2352
};
2353
2354
static unsigned
2355
0
dissect_dap_SEQUENCE_SIZE_1_MAX_OF_Attribute(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2356
0
  offset = dissect_ber_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset,
2357
0
                                                  1, NO_BOUND, SEQUENCE_SIZE_1_MAX_OF_Attribute_sequence_of, hf_index, ett_dap_SEQUENCE_SIZE_1_MAX_OF_Attribute);
2358
2359
0
  return offset;
2360
0
}
2361
2362
2363
static const ber_sequence_t ReadResultData_set[] = {
2364
  { &hf_dap_entry           , BER_CLASS_CON, 0, 0, dissect_dap_EntryInformation },
2365
  { &hf_dap_modifyRights    , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_dap_ModifyRights },
2366
  { &hf_dap_securityParameters, BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL, dissect_dap_SecurityParameters },
2367
  { &hf_dap_performer       , BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL, dissect_x509if_DistinguishedName },
2368
  { &hf_dap_aliasDereferenced, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL, dissect_dap_BOOLEAN },
2369
  { &hf_dap_notification    , BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL, dissect_dap_SEQUENCE_SIZE_1_MAX_OF_Attribute },
2370
  { NULL, 0, 0, 0, NULL }
2371
};
2372
2373
static unsigned
2374
0
dissect_dap_ReadResultData(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2375
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
2376
0
                              ReadResultData_set, hf_index, ett_dap_ReadResultData);
2377
2378
0
  return offset;
2379
0
}
2380
2381
2382
static const ber_sequence_t T_signedReadResult_sequence[] = {
2383
  { &hf_dap_readResult      , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dap_ReadResultData },
2384
  { &hf_dap_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
2385
  { &hf_dap_encrypted       , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_dap_BIT_STRING },
2386
  { NULL, 0, 0, 0, NULL }
2387
};
2388
2389
static unsigned
2390
0
dissect_dap_T_signedReadResult(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2391
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2392
0
                                   T_signedReadResult_sequence, hf_index, ett_dap_T_signedReadResult);
2393
2394
0
  return offset;
2395
0
}
2396
2397
2398
const value_string dap_ReadResult_vals[] = {
2399
  {   0, "unsignedReadResult" },
2400
  {   1, "signedReadResult" },
2401
  { 0, NULL }
2402
};
2403
2404
static const ber_choice_t ReadResult_choice[] = {
2405
  {   0, &hf_dap_unsignedReadResult, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dap_ReadResultData },
2406
  {   1, &hf_dap_signedReadResult, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dap_T_signedReadResult },
2407
  { 0, NULL, 0, 0, 0, NULL }
2408
};
2409
2410
unsigned
2411
0
dissect_dap_ReadResult(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2412
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
2413
0
                                 ReadResult_choice, hf_index, ett_dap_ReadResult,
2414
0
                                 NULL);
2415
2416
0
  return offset;
2417
0
}
2418
2419
2420
static const ber_sequence_t CompareArgumentData_set[] = {
2421
  { &hf_dap_object          , BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_dap_Name },
2422
  { &hf_dap_purported       , BER_CLASS_CON, 1, 0, dissect_x509if_AttributeValueAssertion },
2423
  { &hf_dap_serviceControls , BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL, dissect_dap_ServiceControls },
2424
  { &hf_dap_securityParameters, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL, dissect_dap_SecurityParameters },
2425
  { &hf_dap_requestor       , BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL, dissect_x509if_DistinguishedName },
2426
  { &hf_dap_operationProgress, BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL, dissect_dsp_OperationProgress },
2427
  { &hf_dap_aliasedRDNs     , BER_CLASS_CON, 26, BER_FLAGS_OPTIONAL, dissect_dap_INTEGER },
2428
  { &hf_dap_criticalExtensions, BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL, dissect_dap_BIT_STRING },
2429
  { &hf_dap_referenceType   , BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL, dissect_dsp_ReferenceType },
2430
  { &hf_dap_entryOnly       , BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL, dissect_dap_BOOLEAN },
2431
  { &hf_dap_exclusions      , BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL, dissect_dsp_Exclusions },
2432
  { &hf_dap_nameResolveOnMaster, BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL, dissect_dap_BOOLEAN },
2433
  { &hf_dap_operationContexts, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_dap_ContextSelection },
2434
  { &hf_dap_familyGrouping  , BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL, dissect_dap_FamilyGrouping },
2435
  { NULL, 0, 0, 0, NULL }
2436
};
2437
2438
static unsigned
2439
0
dissect_dap_CompareArgumentData(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2440
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
2441
0
                              CompareArgumentData_set, hf_index, ett_dap_CompareArgumentData);
2442
2443
0
  return offset;
2444
0
}
2445
2446
2447
static const ber_sequence_t T_signedCompareArgument_sequence[] = {
2448
  { &hf_dap_compareArgument , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dap_CompareArgumentData },
2449
  { &hf_dap_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
2450
  { &hf_dap_encrypted       , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_dap_BIT_STRING },
2451
  { NULL, 0, 0, 0, NULL }
2452
};
2453
2454
static unsigned
2455
0
dissect_dap_T_signedCompareArgument(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2456
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2457
0
                                   T_signedCompareArgument_sequence, hf_index, ett_dap_T_signedCompareArgument);
2458
2459
0
  return offset;
2460
0
}
2461
2462
2463
const value_string dap_CompareArgument_vals[] = {
2464
  {   0, "unsignedCompareArgument" },
2465
  {   1, "signedCompareArgument" },
2466
  { 0, NULL }
2467
};
2468
2469
static const ber_choice_t CompareArgument_choice[] = {
2470
  {   0, &hf_dap_unsignedCompareArgument, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dap_CompareArgumentData },
2471
  {   1, &hf_dap_signedCompareArgument, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dap_T_signedCompareArgument },
2472
  { 0, NULL, 0, 0, 0, NULL }
2473
};
2474
2475
unsigned
2476
0
dissect_dap_CompareArgument(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2477
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
2478
0
                                 CompareArgument_choice, hf_index, ett_dap_CompareArgument,
2479
0
                                 NULL);
2480
2481
0
  return offset;
2482
0
}
2483
2484
2485
static const ber_sequence_t CompareResultData_set[] = {
2486
  { &hf_dap_name            , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_dap_Name },
2487
  { &hf_dap_matched         , BER_CLASS_CON, 0, 0, dissect_dap_BOOLEAN },
2488
  { &hf_dap_fromEntry       , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_dap_BOOLEAN },
2489
  { &hf_dap_matchedSubtype  , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_x509if_AttributeType },
2490
  { &hf_dap_securityParameters, BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL, dissect_dap_SecurityParameters },
2491
  { &hf_dap_performer       , BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL, dissect_x509if_DistinguishedName },
2492
  { &hf_dap_aliasDereferenced, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL, dissect_dap_BOOLEAN },
2493
  { &hf_dap_notification    , BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL, dissect_dap_SEQUENCE_SIZE_1_MAX_OF_Attribute },
2494
  { NULL, 0, 0, 0, NULL }
2495
};
2496
2497
static unsigned
2498
0
dissect_dap_CompareResultData(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2499
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
2500
0
                              CompareResultData_set, hf_index, ett_dap_CompareResultData);
2501
2502
0
  return offset;
2503
0
}
2504
2505
2506
static const ber_sequence_t T_signedCompareResult_sequence[] = {
2507
  { &hf_dap_compareResult   , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dap_CompareResultData },
2508
  { &hf_dap_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
2509
  { &hf_dap_encrypted       , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_dap_BIT_STRING },
2510
  { NULL, 0, 0, 0, NULL }
2511
};
2512
2513
static unsigned
2514
0
dissect_dap_T_signedCompareResult(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2515
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2516
0
                                   T_signedCompareResult_sequence, hf_index, ett_dap_T_signedCompareResult);
2517
2518
0
  return offset;
2519
0
}
2520
2521
2522
const value_string dap_CompareResult_vals[] = {
2523
  {   0, "unsignedCompareResult" },
2524
  {   1, "signedCompareResult" },
2525
  { 0, NULL }
2526
};
2527
2528
static const ber_choice_t CompareResult_choice[] = {
2529
  {   0, &hf_dap_unsignedCompareResult, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dap_CompareResultData },
2530
  {   1, &hf_dap_signedCompareResult, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dap_T_signedCompareResult },
2531
  { 0, NULL, 0, 0, 0, NULL }
2532
};
2533
2534
unsigned
2535
0
dissect_dap_CompareResult(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2536
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
2537
0
                                 CompareResult_choice, hf_index, ett_dap_CompareResult,
2538
0
                                 NULL);
2539
2540
0
  return offset;
2541
0
}
2542
2543
2544
static const ber_sequence_t AbandonArgumentData_sequence[] = {
2545
  { &hf_dap_invokeID        , BER_CLASS_CON, 0, 0, dissect_ros_InvokeId },
2546
  { NULL, 0, 0, 0, NULL }
2547
};
2548
2549
static unsigned
2550
0
dissect_dap_AbandonArgumentData(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2551
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2552
0
                                   AbandonArgumentData_sequence, hf_index, ett_dap_AbandonArgumentData);
2553
2554
0
  return offset;
2555
0
}
2556
2557
2558
static const ber_sequence_t T_signedAbandonArgument_sequence[] = {
2559
  { &hf_dap_abandonArgument , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dap_AbandonArgumentData },
2560
  { &hf_dap_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
2561
  { &hf_dap_encrypted       , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_dap_BIT_STRING },
2562
  { NULL, 0, 0, 0, NULL }
2563
};
2564
2565
static unsigned
2566
0
dissect_dap_T_signedAbandonArgument(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2567
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2568
0
                                   T_signedAbandonArgument_sequence, hf_index, ett_dap_T_signedAbandonArgument);
2569
2570
0
  return offset;
2571
0
}
2572
2573
2574
const value_string dap_AbandonArgument_vals[] = {
2575
  {   0, "unsignedAbandonArgument" },
2576
  {   1, "signedAbandonArgument" },
2577
  { 0, NULL }
2578
};
2579
2580
static const ber_choice_t AbandonArgument_choice[] = {
2581
  {   0, &hf_dap_unsignedAbandonArgument, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dap_AbandonArgumentData },
2582
  {   1, &hf_dap_signedAbandonArgument, BER_CLASS_CON, 0, 0, dissect_dap_T_signedAbandonArgument },
2583
  { 0, NULL, 0, 0, 0, NULL }
2584
};
2585
2586
unsigned
2587
0
dissect_dap_AbandonArgument(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2588
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
2589
0
                                 AbandonArgument_choice, hf_index, ett_dap_AbandonArgument,
2590
0
                                 NULL);
2591
2592
0
  return offset;
2593
0
}
2594
2595
2596
static const ber_sequence_t AbandonResultData_sequence[] = {
2597
  { &hf_dap_invokeID        , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_ros_InvokeId },
2598
  { &hf_dap_securityParameters, BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL, dissect_dap_SecurityParameters },
2599
  { &hf_dap_performer       , BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL, dissect_x509if_DistinguishedName },
2600
  { &hf_dap_aliasDereferenced, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL, dissect_dap_BOOLEAN },
2601
  { &hf_dap_notification    , BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL, dissect_dap_SEQUENCE_SIZE_1_MAX_OF_Attribute },
2602
  { NULL, 0, 0, 0, NULL }
2603
};
2604
2605
static unsigned
2606
0
dissect_dap_AbandonResultData(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2607
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2608
0
                                   AbandonResultData_sequence, hf_index, ett_dap_AbandonResultData);
2609
2610
0
  return offset;
2611
0
}
2612
2613
2614
static const ber_sequence_t T_signedAbandonResult_sequence[] = {
2615
  { &hf_dap_abandonResult   , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dap_AbandonResultData },
2616
  { &hf_dap_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
2617
  { &hf_dap_encrypted       , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_dap_BIT_STRING },
2618
  { NULL, 0, 0, 0, NULL }
2619
};
2620
2621
static unsigned
2622
0
dissect_dap_T_signedAbandonResult(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2623
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2624
0
                                   T_signedAbandonResult_sequence, hf_index, ett_dap_T_signedAbandonResult);
2625
2626
0
  return offset;
2627
0
}
2628
2629
2630
static const value_string dap_AbandonInformation_vals[] = {
2631
  {   0, "unsignedAbandonResult" },
2632
  {   1, "signedAbandonResult" },
2633
  { 0, NULL }
2634
};
2635
2636
static const ber_choice_t AbandonInformation_choice[] = {
2637
  {   0, &hf_dap_unsignedAbandonResult, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dap_AbandonResultData },
2638
  {   1, &hf_dap_signedAbandonResult, BER_CLASS_CON, 0, 0, dissect_dap_T_signedAbandonResult },
2639
  { 0, NULL, 0, 0, 0, NULL }
2640
};
2641
2642
static unsigned
2643
0
dissect_dap_AbandonInformation(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2644
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
2645
0
                                 AbandonInformation_choice, hf_index, ett_dap_AbandonInformation,
2646
0
                                 NULL);
2647
2648
0
  return offset;
2649
0
}
2650
2651
2652
const value_string dap_AbandonResult_vals[] = {
2653
  {   0, "null" },
2654
  {   1, "information" },
2655
  { 0, NULL }
2656
};
2657
2658
static const ber_choice_t AbandonResult_choice[] = {
2659
  {   0, &hf_dap_null            , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_dap_NULL },
2660
  {   1, &hf_dap_abandon_information, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_dap_AbandonInformation },
2661
  { 0, NULL, 0, 0, 0, NULL }
2662
};
2663
2664
unsigned
2665
0
dissect_dap_AbandonResult(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2666
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
2667
0
                                 AbandonResult_choice, hf_index, ett_dap_AbandonResult,
2668
0
                                 NULL);
2669
2670
0
  return offset;
2671
0
}
2672
2673
2674
static const ber_sequence_t ListArgumentData_set[] = {
2675
  { &hf_dap_object          , BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_dap_Name },
2676
  { &hf_dap_pagedResults    , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_dap_PagedResultsRequest },
2677
  { &hf_dap_listFamily      , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_dap_BOOLEAN },
2678
  { &hf_dap_serviceControls , BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL, dissect_dap_ServiceControls },
2679
  { &hf_dap_securityParameters, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL, dissect_dap_SecurityParameters },
2680
  { &hf_dap_requestor       , BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL, dissect_x509if_DistinguishedName },
2681
  { &hf_dap_operationProgress, BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL, dissect_dsp_OperationProgress },
2682
  { &hf_dap_aliasedRDNs     , BER_CLASS_CON, 26, BER_FLAGS_OPTIONAL, dissect_dap_INTEGER },
2683
  { &hf_dap_criticalExtensions, BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL, dissect_dap_BIT_STRING },
2684
  { &hf_dap_referenceType   , BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL, dissect_dsp_ReferenceType },
2685
  { &hf_dap_entryOnly       , BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL, dissect_dap_BOOLEAN },
2686
  { &hf_dap_exclusions      , BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL, dissect_dsp_Exclusions },
2687
  { &hf_dap_nameResolveOnMaster, BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL, dissect_dap_BOOLEAN },
2688
  { &hf_dap_operationContexts, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_dap_ContextSelection },
2689
  { &hf_dap_familyGrouping  , BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL, dissect_dap_FamilyGrouping },
2690
  { NULL, 0, 0, 0, NULL }
2691
};
2692
2693
static unsigned
2694
0
dissect_dap_ListArgumentData(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2695
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
2696
0
                              ListArgumentData_set, hf_index, ett_dap_ListArgumentData);
2697
2698
0
  return offset;
2699
0
}
2700
2701
2702
static const ber_sequence_t T_signedListArgument_sequence[] = {
2703
  { &hf_dap_listArgument    , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dap_ListArgumentData },
2704
  { &hf_dap_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
2705
  { &hf_dap_encrypted       , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_dap_BIT_STRING },
2706
  { NULL, 0, 0, 0, NULL }
2707
};
2708
2709
static unsigned
2710
0
dissect_dap_T_signedListArgument(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2711
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2712
0
                                   T_signedListArgument_sequence, hf_index, ett_dap_T_signedListArgument);
2713
2714
0
  return offset;
2715
0
}
2716
2717
2718
const value_string dap_ListArgument_vals[] = {
2719
  {   0, "unsignedListArgument" },
2720
  {   1, "signedListArgument" },
2721
  { 0, NULL }
2722
};
2723
2724
static const ber_choice_t ListArgument_choice[] = {
2725
  {   0, &hf_dap_unsignedListArgument, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dap_ListArgumentData },
2726
  {   1, &hf_dap_signedListArgument, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dap_T_signedListArgument },
2727
  { 0, NULL, 0, 0, 0, NULL }
2728
};
2729
2730
unsigned
2731
0
dissect_dap_ListArgument(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2732
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
2733
0
                                 ListArgument_choice, hf_index, ett_dap_ListArgument,
2734
0
                                 NULL);
2735
2736
0
  return offset;
2737
0
}
2738
2739
2740
static const ber_sequence_t T_subordinates_item_sequence[] = {
2741
  { &hf_dap_rdn             , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x509if_RelativeDistinguishedName },
2742
  { &hf_dap_aliasEntry      , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_dap_BOOLEAN },
2743
  { &hf_dap_fromEntry       , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_dap_BOOLEAN },
2744
  { NULL, 0, 0, 0, NULL }
2745
};
2746
2747
static unsigned
2748
0
dissect_dap_T_subordinates_item(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2749
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2750
0
                                   T_subordinates_item_sequence, hf_index, ett_dap_T_subordinates_item);
2751
2752
0
  return offset;
2753
0
}
2754
2755
2756
static const ber_sequence_t T_subordinates_set_of[1] = {
2757
  { &hf_dap_subordinates_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dap_T_subordinates_item },
2758
};
2759
2760
static unsigned
2761
0
dissect_dap_T_subordinates(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2762
0
  offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
2763
0
                                 T_subordinates_set_of, hf_index, ett_dap_T_subordinates);
2764
2765
0
  return offset;
2766
0
}
2767
2768
2769
static const value_string dap_LimitProblem_vals[] = {
2770
  {   0, "timeLimitExceeded" },
2771
  {   1, "sizeLimitExceeded" },
2772
  {   2, "administrativeLimitExceeded" },
2773
  { 0, NULL }
2774
};
2775
2776
2777
static unsigned
2778
0
dissect_dap_LimitProblem(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2779
0
  uint32_t problem;
2780
2781
0
    offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2782
0
                                                &problem);
2783
2784
2785
0
  col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %s", val_to_str(actx->pinfo->pool, problem, dap_LimitProblem_vals, "LimitProblem(%d)"));
2786
2787
2788
0
  return offset;
2789
0
}
2790
2791
2792
static const ber_sequence_t SET_SIZE_1_MAX_OF_ContinuationReference_set_of[1] = {
2793
  { &hf_dap_unexplored_item , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ContinuationReference },
2794
};
2795
2796
static unsigned
2797
0
dissect_dap_SET_SIZE_1_MAX_OF_ContinuationReference(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2798
0
  offset = dissect_ber_constrained_set_of(implicit_tag, actx, tree, tvb, offset,
2799
0
                                             1, NO_BOUND, SET_SIZE_1_MAX_OF_ContinuationReference_set_of, hf_index, ett_dap_SET_SIZE_1_MAX_OF_ContinuationReference);
2800
2801
0
  return offset;
2802
0
}
2803
2804
2805
static const ber_sequence_t T_unknownErrors_set_of[1] = {
2806
  { &hf_dap_unknownErrors_item, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_dap_OBJECT_IDENTIFIER },
2807
};
2808
2809
static unsigned
2810
0
dissect_dap_T_unknownErrors(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2811
0
  offset = dissect_ber_constrained_set_of(implicit_tag, actx, tree, tvb, offset,
2812
0
                                             1, NO_BOUND, T_unknownErrors_set_of, hf_index, ett_dap_T_unknownErrors);
2813
2814
0
  return offset;
2815
0
}
2816
2817
2818
static const value_string dap_T_entryCount_vals[] = {
2819
  {   7, "bestEstimate" },
2820
  {   8, "lowEstimate" },
2821
  {   9, "exact" },
2822
  { 0, NULL }
2823
};
2824
2825
static const ber_choice_t T_entryCount_choice[] = {
2826
  {   7, &hf_dap_bestEstimate    , BER_CLASS_CON, 7, 0, dissect_dap_INTEGER },
2827
  {   8, &hf_dap_lowEstimate     , BER_CLASS_CON, 8, 0, dissect_dap_INTEGER },
2828
  {   9, &hf_dap_exact           , BER_CLASS_CON, 9, 0, dissect_dap_INTEGER },
2829
  { 0, NULL, 0, 0, 0, NULL }
2830
};
2831
2832
static unsigned
2833
0
dissect_dap_T_entryCount(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2834
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
2835
0
                                 T_entryCount_choice, hf_index, ett_dap_T_entryCount,
2836
0
                                 NULL);
2837
2838
0
  return offset;
2839
0
}
2840
2841
2842
static const ber_sequence_t PartialOutcomeQualifier_set[] = {
2843
  { &hf_dap_limitProblem    , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_dap_LimitProblem },
2844
  { &hf_dap_unexplored      , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_dap_SET_SIZE_1_MAX_OF_ContinuationReference },
2845
  { &hf_dap_unavailableCriticalExtensions, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_dap_BOOLEAN },
2846
  { &hf_dap_unknownErrors   , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_dap_T_unknownErrors },
2847
  { &hf_dap_queryReference  , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_dap_OCTET_STRING },
2848
  { &hf_dap_overspecFilter  , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_dap_Filter },
2849
  { &hf_dap_notification    , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL, dissect_dap_SEQUENCE_SIZE_1_MAX_OF_Attribute },
2850
  { &hf_dap_entryCount      , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_dap_T_entryCount },
2851
  { &hf_dap_streamedResult  , BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL, dissect_dap_BOOLEAN },
2852
  { NULL, 0, 0, 0, NULL }
2853
};
2854
2855
static unsigned
2856
0
dissect_dap_PartialOutcomeQualifier(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2857
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
2858
0
                              PartialOutcomeQualifier_set, hf_index, ett_dap_PartialOutcomeQualifier);
2859
2860
0
  return offset;
2861
0
}
2862
2863
2864
static const ber_sequence_t T_listInfo_set[] = {
2865
  { &hf_dap_name            , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_dap_Name },
2866
  { &hf_dap_subordinates    , BER_CLASS_CON, 1, 0, dissect_dap_T_subordinates },
2867
  { &hf_dap_partialOutcomeQualifier, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_dap_PartialOutcomeQualifier },
2868
  { &hf_dap_securityParameters, BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL, dissect_dap_SecurityParameters },
2869
  { &hf_dap_performer       , BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL, dissect_x509if_DistinguishedName },
2870
  { &hf_dap_aliasDereferenced, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL, dissect_dap_BOOLEAN },
2871
  { &hf_dap_notification    , BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL, dissect_dap_SEQUENCE_SIZE_1_MAX_OF_Attribute },
2872
  { NULL, 0, 0, 0, NULL }
2873
};
2874
2875
static unsigned
2876
0
dissect_dap_T_listInfo(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2877
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
2878
0
                              T_listInfo_set, hf_index, ett_dap_T_listInfo);
2879
2880
0
  return offset;
2881
0
}
2882
2883
2884
static const ber_sequence_t T_signedListResult_sequence[] = {
2885
  { &hf_dap_listResult      , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_dap_ListResultData },
2886
  { &hf_dap_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
2887
  { &hf_dap_encrypted       , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_dap_BIT_STRING },
2888
  { NULL, 0, 0, 0, NULL }
2889
};
2890
2891
static unsigned
2892
0
dissect_dap_T_signedListResult(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2893
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2894
0
                                   T_signedListResult_sequence, hf_index, ett_dap_T_signedListResult);
2895
2896
0
  return offset;
2897
0
}
2898
2899
2900
const value_string dap_ListResult_vals[] = {
2901
  {   0, "unsignedListResult" },
2902
  {   1, "signedListResult" },
2903
  { 0, NULL }
2904
};
2905
2906
static const ber_choice_t ListResult_choice[] = {
2907
  {   0, &hf_dap_unsignedListResult, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_dap_ListResultData },
2908
  {   1, &hf_dap_signedListResult, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dap_T_signedListResult },
2909
  { 0, NULL, 0, 0, 0, NULL }
2910
};
2911
2912
unsigned
2913
0
dissect_dap_ListResult(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2914
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
2915
0
                                 ListResult_choice, hf_index, ett_dap_ListResult,
2916
0
                                 NULL);
2917
2918
0
  return offset;
2919
0
}
2920
2921
2922
static const ber_sequence_t SET_OF_ListResult_set_of[1] = {
2923
  { &hf_dap_uncorrelatedListInfo_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_dap_ListResult },
2924
};
2925
2926
static unsigned
2927
0
dissect_dap_SET_OF_ListResult(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2928
0
  offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
2929
0
                                 SET_OF_ListResult_set_of, hf_index, ett_dap_SET_OF_ListResult);
2930
2931
0
  return offset;
2932
0
}
2933
2934
2935
static const value_string dap_ListResultData_vals[] = {
2936
  {   0, "listInfo" },
2937
  {   1, "uncorrelatedListInfo" },
2938
  { 0, NULL }
2939
};
2940
2941
static const ber_choice_t ListResultData_choice[] = {
2942
  {   0, &hf_dap_listInfo        , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dap_T_listInfo },
2943
  {   1, &hf_dap_uncorrelatedListInfo, BER_CLASS_CON, 0, 0, dissect_dap_SET_OF_ListResult },
2944
  { 0, NULL, 0, 0, 0, NULL }
2945
};
2946
2947
static unsigned
2948
0
dissect_dap_ListResultData(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2949
  // ListResultData -> ListResultData/uncorrelatedListInfo -> ListResult -> ListResultData
2950
0
  increment_dissection_depth_by_n(actx->pinfo, 3);
2951
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
2952
0
                                 ListResultData_choice, hf_index, ett_dap_ListResultData,
2953
0
                                 NULL);
2954
2955
0
  decrement_dissection_depth_by_n(actx->pinfo, 3);
2956
0
  return offset;
2957
0
}
2958
2959
2960
static const value_string dap_T_subset_vals[] = {
2961
  {   0, "baseObject" },
2962
  {   1, "oneLevel" },
2963
  {   2, "wholeSubtree" },
2964
  { 0, NULL }
2965
};
2966
2967
2968
static unsigned
2969
0
dissect_dap_T_subset(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2970
0
  uint32_t subset;
2971
2972
0
    offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2973
0
                                                &subset);
2974
2975
2976
0
  col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %s", val_to_str(actx->pinfo->pool, subset, dap_T_subset_vals, "Subset(%d)"));
2977
2978
2979
2980
0
  return offset;
2981
0
}
2982
2983
2984
static int * const HierarchySelections_bits[] = {
2985
  &hf_dap_HierarchySelections_self,
2986
  &hf_dap_HierarchySelections_children,
2987
  &hf_dap_HierarchySelections_parent,
2988
  &hf_dap_HierarchySelections_hierarchy,
2989
  &hf_dap_HierarchySelections_top,
2990
  &hf_dap_HierarchySelections_subtree,
2991
  &hf_dap_HierarchySelections_siblings,
2992
  &hf_dap_HierarchySelections_siblingChildren,
2993
  &hf_dap_HierarchySelections_siblingSubtree,
2994
  &hf_dap_HierarchySelections_all,
2995
  NULL
2996
};
2997
2998
unsigned
2999
0
dissect_dap_HierarchySelections(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3000
0
  offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
3001
0
                                    HierarchySelections_bits, 10, hf_index, ett_dap_HierarchySelections,
3002
0
                                    NULL);
3003
3004
0
  return offset;
3005
0
}
3006
3007
3008
static int * const SearchControlOptions_bits[] = {
3009
  &hf_dap_SearchControlOptions_searchAliases,
3010
  &hf_dap_SearchControlOptions_matchedValuesOnly,
3011
  &hf_dap_SearchControlOptions_checkOverspecified,
3012
  &hf_dap_SearchControlOptions_performExactly,
3013
  &hf_dap_SearchControlOptions_includeAllAreas,
3014
  &hf_dap_SearchControlOptions_noSystemRelaxation,
3015
  &hf_dap_SearchControlOptions_dnAttribute,
3016
  &hf_dap_SearchControlOptions_matchOnResidualName,
3017
  &hf_dap_SearchControlOptions_entryCount,
3018
  &hf_dap_SearchControlOptions_useSubset,
3019
  &hf_dap_SearchControlOptions_separateFamilyMembers,
3020
  &hf_dap_SearchControlOptions_searchFamily,
3021
  NULL
3022
};
3023
3024
unsigned
3025
0
dissect_dap_SearchControlOptions(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3026
0
  offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
3027
0
                                    SearchControlOptions_bits, 12, hf_index, ett_dap_SearchControlOptions,
3028
0
                                    NULL);
3029
3030
0
  return offset;
3031
0
}
3032
3033
3034
3035
static unsigned
3036
0
dissect_dap_DomainLocalID(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3037
0
  offset = dissect_x509sat_DirectoryString(implicit_tag, tvb, offset, actx, tree, hf_index);
3038
3039
0
  return offset;
3040
0
}
3041
3042
3043
static const value_string dap_T_joinSubset_vals[] = {
3044
  {   0, "baseObject" },
3045
  {   1, "oneLevel" },
3046
  {   2, "wholeSubtree" },
3047
  { 0, NULL }
3048
};
3049
3050
3051
static unsigned
3052
0
dissect_dap_T_joinSubset(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3053
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3054
0
                                  NULL);
3055
3056
0
  return offset;
3057
0
}
3058
3059
3060
3061
static unsigned
3062
0
dissect_dap_JoinContextType(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3063
0
  offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
3064
3065
0
  return offset;
3066
0
}
3067
3068
3069
static const ber_sequence_t SEQUENCE_SIZE_1_MAX_OF_JoinContextType_sequence_of[1] = {
3070
  { &hf_dap_joinContext_item, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_dap_JoinContextType },
3071
};
3072
3073
static unsigned
3074
0
dissect_dap_SEQUENCE_SIZE_1_MAX_OF_JoinContextType(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3075
0
  offset = dissect_ber_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset,
3076
0
                                                  1, NO_BOUND, SEQUENCE_SIZE_1_MAX_OF_JoinContextType_sequence_of, hf_index, ett_dap_SEQUENCE_SIZE_1_MAX_OF_JoinContextType);
3077
3078
0
  return offset;
3079
0
}
3080
3081
3082
static const ber_sequence_t JoinAttPair_sequence[] = {
3083
  { &hf_dap_baseAtt         , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x509if_AttributeType },
3084
  { &hf_dap_joinAtt         , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x509if_AttributeType },
3085
  { &hf_dap_joinContext     , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_dap_SEQUENCE_SIZE_1_MAX_OF_JoinContextType },
3086
  { NULL, 0, 0, 0, NULL }
3087
};
3088
3089
static unsigned
3090
0
dissect_dap_JoinAttPair(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3091
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3092
0
                                   JoinAttPair_sequence, hf_index, ett_dap_JoinAttPair);
3093
3094
0
  return offset;
3095
0
}
3096
3097
3098
static const ber_sequence_t SEQUENCE_SIZE_1_MAX_OF_JoinAttPair_sequence_of[1] = {
3099
  { &hf_dap_joinAttributes_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dap_JoinAttPair },
3100
};
3101
3102
static unsigned
3103
0
dissect_dap_SEQUENCE_SIZE_1_MAX_OF_JoinAttPair(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3104
0
  offset = dissect_ber_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset,
3105
0
                                                  1, NO_BOUND, SEQUENCE_SIZE_1_MAX_OF_JoinAttPair_sequence_of, hf_index, ett_dap_SEQUENCE_SIZE_1_MAX_OF_JoinAttPair);
3106
3107
0
  return offset;
3108
0
}
3109
3110
3111
static const ber_sequence_t JoinArgument_sequence[] = {
3112
  { &hf_dap_joinBaseObject  , BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_dap_Name },
3113
  { &hf_dap_domainLocalID   , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_dap_DomainLocalID },
3114
  { &hf_dap_joinSubset      , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_dap_T_joinSubset },
3115
  { &hf_dap_joinFilter      , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_dap_Filter },
3116
  { &hf_dap_joinAttributes  , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_dap_SEQUENCE_SIZE_1_MAX_OF_JoinAttPair },
3117
  { &hf_dap_joinSelection   , BER_CLASS_CON, 5, 0, dissect_dap_EntryInformationSelection },
3118
  { NULL, 0, 0, 0, NULL }
3119
};
3120
3121
static unsigned
3122
0
dissect_dap_JoinArgument(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3123
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3124
0
                                   JoinArgument_sequence, hf_index, ett_dap_JoinArgument);
3125
3126
0
  return offset;
3127
0
}
3128
3129
3130
static const ber_sequence_t SEQUENCE_SIZE_1_MAX_OF_JoinArgument_sequence_of[1] = {
3131
  { &hf_dap_joinArguments_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dap_JoinArgument },
3132
};
3133
3134
static unsigned
3135
0
dissect_dap_SEQUENCE_SIZE_1_MAX_OF_JoinArgument(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3136
0
  offset = dissect_ber_constrained_sequence_of(implicit_tag, actx, tree, tvb, offset,
3137
0
                                                  1, NO_BOUND, SEQUENCE_SIZE_1_MAX_OF_JoinArgument_sequence_of, hf_index, ett_dap_SEQUENCE_SIZE_1_MAX_OF_JoinArgument);
3138
3139
0
  return offset;
3140
0
}
3141
3142
3143
static const value_string dap_T_joinType_vals[] = {
3144
  {   0, "innerJoin" },
3145
  {   1, "leftOuterJoin" },
3146
  {   2, "fullOuterJoin" },
3147
  { 0, NULL }
3148
};
3149
3150
3151
static unsigned
3152
0
dissect_dap_T_joinType(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3153
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3154
0
                                  NULL);
3155
3156
0
  return offset;
3157
0
}
3158
3159
3160
static const ber_sequence_t SearchArgumentData_set[] = {
3161
  { &hf_dap_baseObject      , BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_dap_Name },
3162
  { &hf_dap_subset          , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_dap_T_subset },
3163
  { &hf_dap_filter          , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_dap_Filter },
3164
  { &hf_dap_searchAliases   , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_dap_BOOLEAN },
3165
  { &hf_dap_selection       , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_dap_EntryInformationSelection },
3166
  { &hf_dap_pagedResults    , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_dap_PagedResultsRequest },
3167
  { &hf_dap_matchedValuesOnly, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL, dissect_dap_BOOLEAN },
3168
  { &hf_dap_extendedFilter  , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_dap_Filter },
3169
  { &hf_dap_checkOverspecified, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL, dissect_dap_BOOLEAN },
3170
  { &hf_dap_relaxation      , BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL, dissect_x509if_RelaxationPolicy },
3171
  { &hf_dap_extendedArea    , BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL, dissect_dap_INTEGER },
3172
  { &hf_dap_hierarchySelections, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL, dissect_dap_HierarchySelections },
3173
  { &hf_dap_searchControlOptions, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL, dissect_dap_SearchControlOptions },
3174
  { &hf_dap_joinArguments   , BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL, dissect_dap_SEQUENCE_SIZE_1_MAX_OF_JoinArgument },
3175
  { &hf_dap_joinType        , BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL, dissect_dap_T_joinType },
3176
  { &hf_dap_serviceControls , BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL, dissect_dap_ServiceControls },
3177
  { &hf_dap_securityParameters, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL, dissect_dap_SecurityParameters },
3178
  { &hf_dap_requestor       , BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL, dissect_x509if_DistinguishedName },
3179
  { &hf_dap_operationProgress, BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL, dissect_dsp_OperationProgress },
3180
  { &hf_dap_aliasedRDNs     , BER_CLASS_CON, 26, BER_FLAGS_OPTIONAL, dissect_dap_INTEGER },
3181
  { &hf_dap_criticalExtensions, BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL, dissect_dap_BIT_STRING },
3182
  { &hf_dap_referenceType   , BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL, dissect_dsp_ReferenceType },
3183
  { &hf_dap_entryOnly       , BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL, dissect_dap_BOOLEAN },
3184
  { &hf_dap_exclusions      , BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL, dissect_dsp_Exclusions },
3185
  { &hf_dap_nameResolveOnMaster, BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL, dissect_dap_BOOLEAN },
3186
  { &hf_dap_operationContexts, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_dap_ContextSelection },
3187
  { &hf_dap_familyGrouping  , BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL, dissect_dap_FamilyGrouping },
3188
  { NULL, 0, 0, 0, NULL }
3189
};
3190
3191
static unsigned
3192
0
dissect_dap_SearchArgumentData(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3193
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3194
0
                              SearchArgumentData_set, hf_index, ett_dap_SearchArgumentData);
3195
3196
0
  return offset;
3197
0
}
3198
3199
3200
static const ber_sequence_t T_signedSearchArgument_sequence[] = {
3201
  { &hf_dap_searchArgument  , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dap_SearchArgumentData },
3202
  { &hf_dap_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
3203
  { &hf_dap_encrypted       , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_dap_BIT_STRING },
3204
  { NULL, 0, 0, 0, NULL }
3205
};
3206
3207
static unsigned
3208
0
dissect_dap_T_signedSearchArgument(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3209
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3210
0
                                   T_signedSearchArgument_sequence, hf_index, ett_dap_T_signedSearchArgument);
3211
3212
0
  return offset;
3213
0
}
3214
3215
3216
const value_string dap_SearchArgument_vals[] = {
3217
  {   0, "unsignedSearchArgument" },
3218
  {   1, "signedSearchArgument" },
3219
  { 0, NULL }
3220
};
3221
3222
static const ber_choice_t SearchArgument_choice[] = {
3223
  {   0, &hf_dap_unsignedSearchArgument, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dap_SearchArgumentData },
3224
  {   1, &hf_dap_signedSearchArgument, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dap_T_signedSearchArgument },
3225
  { 0, NULL, 0, 0, 0, NULL }
3226
};
3227
3228
unsigned
3229
0
dissect_dap_SearchArgument(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3230
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
3231
0
                                 SearchArgument_choice, hf_index, ett_dap_SearchArgument,
3232
0
                                 NULL);
3233
3234
0
  return offset;
3235
0
}
3236
3237
3238
static const ber_sequence_t SET_OF_EntryInformation_set_of[1] = {
3239
  { &hf_dap_entries_item    , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dap_EntryInformation },
3240
};
3241
3242
static unsigned
3243
0
dissect_dap_SET_OF_EntryInformation(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3244
0
  offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
3245
0
                                 SET_OF_EntryInformation_set_of, hf_index, ett_dap_SET_OF_EntryInformation);
3246
3247
0
  return offset;
3248
0
}
3249
3250
3251
static const ber_sequence_t T_searchInfo_set[] = {
3252
  { &hf_dap_name            , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_dap_Name },
3253
  { &hf_dap_entries         , BER_CLASS_CON, 0, 0, dissect_dap_SET_OF_EntryInformation },
3254
  { &hf_dap_partialOutcomeQualifier, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_dap_PartialOutcomeQualifier },
3255
  { &hf_dap_altMatching     , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_dap_BOOLEAN },
3256
  { &hf_dap_securityParameters, BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL, dissect_dap_SecurityParameters },
3257
  { &hf_dap_performer       , BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL, dissect_x509if_DistinguishedName },
3258
  { &hf_dap_aliasDereferenced, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL, dissect_dap_BOOLEAN },
3259
  { &hf_dap_notification    , BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL, dissect_dap_SEQUENCE_SIZE_1_MAX_OF_Attribute },
3260
  { NULL, 0, 0, 0, NULL }
3261
};
3262
3263
static unsigned
3264
0
dissect_dap_T_searchInfo(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3265
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3266
0
                              T_searchInfo_set, hf_index, ett_dap_T_searchInfo);
3267
3268
0
  return offset;
3269
0
}
3270
3271
3272
static const ber_sequence_t T_signedSearchResult_sequence[] = {
3273
  { &hf_dap_searchResult    , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_dap_SearchResultData },
3274
  { &hf_dap_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
3275
  { &hf_dap_encrypted       , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_dap_BIT_STRING },
3276
  { NULL, 0, 0, 0, NULL }
3277
};
3278
3279
static unsigned
3280
0
dissect_dap_T_signedSearchResult(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3281
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3282
0
                                   T_signedSearchResult_sequence, hf_index, ett_dap_T_signedSearchResult);
3283
3284
0
  return offset;
3285
0
}
3286
3287
3288
const value_string dap_SearchResult_vals[] = {
3289
  {   0, "unsignedSearchResult" },
3290
  {   1, "signedSearchResult" },
3291
  { 0, NULL }
3292
};
3293
3294
static const ber_choice_t SearchResult_choice[] = {
3295
  {   0, &hf_dap_unsignedSearchResult, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_dap_SearchResultData },
3296
  {   1, &hf_dap_signedSearchResult, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dap_T_signedSearchResult },
3297
  { 0, NULL, 0, 0, 0, NULL }
3298
};
3299
3300
unsigned
3301
0
dissect_dap_SearchResult(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3302
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
3303
0
                                 SearchResult_choice, hf_index, ett_dap_SearchResult,
3304
0
                                 NULL);
3305
3306
0
  return offset;
3307
0
}
3308
3309
3310
static const ber_sequence_t SET_OF_SearchResult_set_of[1] = {
3311
  { &hf_dap_uncorrelatedSearchInfo_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_dap_SearchResult },
3312
};
3313
3314
static unsigned
3315
0
dissect_dap_SET_OF_SearchResult(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3316
0
  offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
3317
0
                                 SET_OF_SearchResult_set_of, hf_index, ett_dap_SET_OF_SearchResult);
3318
3319
0
  return offset;
3320
0
}
3321
3322
3323
static const value_string dap_SearchResultData_vals[] = {
3324
  {   0, "searchInfo" },
3325
  {   1, "uncorrelatedSearchInfo" },
3326
  { 0, NULL }
3327
};
3328
3329
static const ber_choice_t SearchResultData_choice[] = {
3330
  {   0, &hf_dap_searchInfo      , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dap_T_searchInfo },
3331
  {   1, &hf_dap_uncorrelatedSearchInfo, BER_CLASS_CON, 0, 0, dissect_dap_SET_OF_SearchResult },
3332
  { 0, NULL, 0, 0, 0, NULL }
3333
};
3334
3335
static unsigned
3336
0
dissect_dap_SearchResultData(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3337
  // SearchResultData -> SearchResultData/uncorrelatedSearchInfo -> SearchResult -> SearchResultData
3338
0
  increment_dissection_depth_by_n(actx->pinfo, 3);
3339
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
3340
0
                                 SearchResultData_choice, hf_index, ett_dap_SearchResultData,
3341
0
                                 NULL);
3342
3343
0
  decrement_dissection_depth_by_n(actx->pinfo, 3);
3344
0
  return offset;
3345
0
}
3346
3347
3348
static const ber_sequence_t SET_OF_Attribute_set_of[1] = {
3349
  { &hf_dap_add_entry_item  , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509if_Attribute },
3350
};
3351
3352
static unsigned
3353
0
dissect_dap_SET_OF_Attribute(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3354
0
  offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
3355
0
                                 SET_OF_Attribute_set_of, hf_index, ett_dap_SET_OF_Attribute);
3356
3357
0
  return offset;
3358
0
}
3359
3360
3361
static const ber_sequence_t AddEntryArgumentData_set[] = {
3362
  { &hf_dap_object          , BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_dap_Name },
3363
  { &hf_dap_add_entry       , BER_CLASS_CON, 1, 0, dissect_dap_SET_OF_Attribute },
3364
  { &hf_dap_targetSystem    , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_dsp_AccessPoint },
3365
  { &hf_dap_serviceControls , BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL, dissect_dap_ServiceControls },
3366
  { &hf_dap_securityParameters, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL, dissect_dap_SecurityParameters },
3367
  { &hf_dap_requestor       , BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL, dissect_x509if_DistinguishedName },
3368
  { &hf_dap_operationProgress, BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL, dissect_dsp_OperationProgress },
3369
  { &hf_dap_aliasedRDNs     , BER_CLASS_CON, 26, BER_FLAGS_OPTIONAL, dissect_dap_INTEGER },
3370
  { &hf_dap_criticalExtensions, BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL, dissect_dap_BIT_STRING },
3371
  { &hf_dap_referenceType   , BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL, dissect_dsp_ReferenceType },
3372
  { &hf_dap_entryOnly       , BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL, dissect_dap_BOOLEAN },
3373
  { &hf_dap_exclusions      , BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL, dissect_dsp_Exclusions },
3374
  { &hf_dap_nameResolveOnMaster, BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL, dissect_dap_BOOLEAN },
3375
  { &hf_dap_operationContexts, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_dap_ContextSelection },
3376
  { &hf_dap_familyGrouping  , BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL, dissect_dap_FamilyGrouping },
3377
  { NULL, 0, 0, 0, NULL }
3378
};
3379
3380
static unsigned
3381
0
dissect_dap_AddEntryArgumentData(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3382
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3383
0
                              AddEntryArgumentData_set, hf_index, ett_dap_AddEntryArgumentData);
3384
3385
0
  return offset;
3386
0
}
3387
3388
3389
static const ber_sequence_t T_signedAddEntryArgument_sequence[] = {
3390
  { &hf_dap_addEntryArgument, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dap_AddEntryArgumentData },
3391
  { &hf_dap_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
3392
  { &hf_dap_encrypted       , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_dap_BIT_STRING },
3393
  { NULL, 0, 0, 0, NULL }
3394
};
3395
3396
static unsigned
3397
0
dissect_dap_T_signedAddEntryArgument(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3398
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3399
0
                                   T_signedAddEntryArgument_sequence, hf_index, ett_dap_T_signedAddEntryArgument);
3400
3401
0
  return offset;
3402
0
}
3403
3404
3405
const value_string dap_AddEntryArgument_vals[] = {
3406
  {   0, "unsignedAddEntryArgument" },
3407
  {   1, "signedAddEntryArgument" },
3408
  { 0, NULL }
3409
};
3410
3411
static const ber_choice_t AddEntryArgument_choice[] = {
3412
  {   0, &hf_dap_unsignedAddEntryArgument, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dap_AddEntryArgumentData },
3413
  {   1, &hf_dap_signedAddEntryArgument, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dap_T_signedAddEntryArgument },
3414
  { 0, NULL, 0, 0, 0, NULL }
3415
};
3416
3417
unsigned
3418
0
dissect_dap_AddEntryArgument(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3419
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
3420
0
                                 AddEntryArgument_choice, hf_index, ett_dap_AddEntryArgument,
3421
0
                                 NULL);
3422
3423
0
  return offset;
3424
0
}
3425
3426
3427
static const ber_sequence_t AddEntryResultData_sequence[] = {
3428
  { &hf_dap_securityParameters, BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL, dissect_dap_SecurityParameters },
3429
  { &hf_dap_performer       , BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL, dissect_x509if_DistinguishedName },
3430
  { &hf_dap_aliasDereferenced, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL, dissect_dap_BOOLEAN },
3431
  { &hf_dap_notification    , BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL, dissect_dap_SEQUENCE_SIZE_1_MAX_OF_Attribute },
3432
  { NULL, 0, 0, 0, NULL }
3433
};
3434
3435
static unsigned
3436
0
dissect_dap_AddEntryResultData(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3437
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3438
0
                                   AddEntryResultData_sequence, hf_index, ett_dap_AddEntryResultData);
3439
3440
0
  return offset;
3441
0
}
3442
3443
3444
static const ber_sequence_t T_signedAddEntryResult_sequence[] = {
3445
  { &hf_dap_addEntryResult  , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dap_AddEntryResultData },
3446
  { &hf_dap_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
3447
  { &hf_dap_encrypted       , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_dap_BIT_STRING },
3448
  { NULL, 0, 0, 0, NULL }
3449
};
3450
3451
static unsigned
3452
0
dissect_dap_T_signedAddEntryResult(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3453
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3454
0
                                   T_signedAddEntryResult_sequence, hf_index, ett_dap_T_signedAddEntryResult);
3455
3456
0
  return offset;
3457
0
}
3458
3459
3460
static const value_string dap_AddEntryInformation_vals[] = {
3461
  {   0, "unsignedAddEntryResult" },
3462
  {   1, "signedAddEntryResult" },
3463
  { 0, NULL }
3464
};
3465
3466
static const ber_choice_t AddEntryInformation_choice[] = {
3467
  {   0, &hf_dap_unsignedAddEntryResult, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dap_AddEntryResultData },
3468
  {   1, &hf_dap_signedAddEntryResult, BER_CLASS_CON, 0, 0, dissect_dap_T_signedAddEntryResult },
3469
  { 0, NULL, 0, 0, 0, NULL }
3470
};
3471
3472
static unsigned
3473
0
dissect_dap_AddEntryInformation(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3474
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
3475
0
                                 AddEntryInformation_choice, hf_index, ett_dap_AddEntryInformation,
3476
0
                                 NULL);
3477
3478
0
  return offset;
3479
0
}
3480
3481
3482
const value_string dap_AddEntryResult_vals[] = {
3483
  {   0, "null" },
3484
  {   1, "information" },
3485
  { 0, NULL }
3486
};
3487
3488
static const ber_choice_t AddEntryResult_choice[] = {
3489
  {   0, &hf_dap_null            , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_dap_NULL },
3490
  {   1, &hf_dap_add_entry_information, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_dap_AddEntryInformation },
3491
  { 0, NULL, 0, 0, 0, NULL }
3492
};
3493
3494
unsigned
3495
0
dissect_dap_AddEntryResult(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3496
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
3497
0
                                 AddEntryResult_choice, hf_index, ett_dap_AddEntryResult,
3498
0
                                 NULL);
3499
3500
0
  return offset;
3501
0
}
3502
3503
3504
static const ber_sequence_t RemoveEntryArgumentData_set[] = {
3505
  { &hf_dap_object          , BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_dap_Name },
3506
  { &hf_dap_serviceControls , BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL, dissect_dap_ServiceControls },
3507
  { &hf_dap_securityParameters, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL, dissect_dap_SecurityParameters },
3508
  { &hf_dap_requestor       , BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL, dissect_x509if_DistinguishedName },
3509
  { &hf_dap_operationProgress, BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL, dissect_dsp_OperationProgress },
3510
  { &hf_dap_aliasedRDNs     , BER_CLASS_CON, 26, BER_FLAGS_OPTIONAL, dissect_dap_INTEGER },
3511
  { &hf_dap_criticalExtensions, BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL, dissect_dap_BIT_STRING },
3512
  { &hf_dap_referenceType   , BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL, dissect_dsp_ReferenceType },
3513
  { &hf_dap_entryOnly       , BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL, dissect_dap_BOOLEAN },
3514
  { &hf_dap_exclusions      , BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL, dissect_dsp_Exclusions },
3515
  { &hf_dap_nameResolveOnMaster, BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL, dissect_dap_BOOLEAN },
3516
  { &hf_dap_operationContexts, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_dap_ContextSelection },
3517
  { &hf_dap_familyGrouping  , BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL, dissect_dap_FamilyGrouping },
3518
  { NULL, 0, 0, 0, NULL }
3519
};
3520
3521
static unsigned
3522
0
dissect_dap_RemoveEntryArgumentData(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3523
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3524
0
                              RemoveEntryArgumentData_set, hf_index, ett_dap_RemoveEntryArgumentData);
3525
3526
0
  return offset;
3527
0
}
3528
3529
3530
static const ber_sequence_t T_signedRemoveEntryArgument_sequence[] = {
3531
  { &hf_dap_removeEntryArgument, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dap_RemoveEntryArgumentData },
3532
  { &hf_dap_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
3533
  { &hf_dap_encrypted       , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_dap_BIT_STRING },
3534
  { NULL, 0, 0, 0, NULL }
3535
};
3536
3537
static unsigned
3538
0
dissect_dap_T_signedRemoveEntryArgument(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3539
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3540
0
                                   T_signedRemoveEntryArgument_sequence, hf_index, ett_dap_T_signedRemoveEntryArgument);
3541
3542
0
  return offset;
3543
0
}
3544
3545
3546
const value_string dap_RemoveEntryArgument_vals[] = {
3547
  {   0, "unsignedRemoveEntryArgument" },
3548
  {   1, "signedRemoveEntryArgument" },
3549
  { 0, NULL }
3550
};
3551
3552
static const ber_choice_t RemoveEntryArgument_choice[] = {
3553
  {   0, &hf_dap_unsignedRemoveEntryArgument, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dap_RemoveEntryArgumentData },
3554
  {   1, &hf_dap_signedRemoveEntryArgument, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dap_T_signedRemoveEntryArgument },
3555
  { 0, NULL, 0, 0, 0, NULL }
3556
};
3557
3558
unsigned
3559
0
dissect_dap_RemoveEntryArgument(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3560
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
3561
0
                                 RemoveEntryArgument_choice, hf_index, ett_dap_RemoveEntryArgument,
3562
0
                                 NULL);
3563
3564
0
  return offset;
3565
0
}
3566
3567
3568
static const ber_sequence_t RemoveEntryResultData_sequence[] = {
3569
  { &hf_dap_securityParameters, BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL, dissect_dap_SecurityParameters },
3570
  { &hf_dap_performer       , BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL, dissect_x509if_DistinguishedName },
3571
  { &hf_dap_aliasDereferenced, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL, dissect_dap_BOOLEAN },
3572
  { &hf_dap_notification    , BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL, dissect_dap_SEQUENCE_SIZE_1_MAX_OF_Attribute },
3573
  { NULL, 0, 0, 0, NULL }
3574
};
3575
3576
static unsigned
3577
0
dissect_dap_RemoveEntryResultData(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3578
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3579
0
                                   RemoveEntryResultData_sequence, hf_index, ett_dap_RemoveEntryResultData);
3580
3581
0
  return offset;
3582
0
}
3583
3584
3585
static const ber_sequence_t T_signedRemoveEntryResult_sequence[] = {
3586
  { &hf_dap_removeEntryResult, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dap_RemoveEntryResultData },
3587
  { &hf_dap_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
3588
  { &hf_dap_encrypted       , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_dap_BIT_STRING },
3589
  { NULL, 0, 0, 0, NULL }
3590
};
3591
3592
static unsigned
3593
0
dissect_dap_T_signedRemoveEntryResult(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3594
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3595
0
                                   T_signedRemoveEntryResult_sequence, hf_index, ett_dap_T_signedRemoveEntryResult);
3596
3597
0
  return offset;
3598
0
}
3599
3600
3601
static const value_string dap_RemoveEntryInformation_vals[] = {
3602
  {   0, "unsignedRemoveEntryResult" },
3603
  {   1, "signedRemoveEntryResult" },
3604
  { 0, NULL }
3605
};
3606
3607
static const ber_choice_t RemoveEntryInformation_choice[] = {
3608
  {   0, &hf_dap_unsignedRemoveEntryResult, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dap_RemoveEntryResultData },
3609
  {   1, &hf_dap_signedRemoveEntryResult, BER_CLASS_CON, 0, 0, dissect_dap_T_signedRemoveEntryResult },
3610
  { 0, NULL, 0, 0, 0, NULL }
3611
};
3612
3613
static unsigned
3614
0
dissect_dap_RemoveEntryInformation(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3615
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
3616
0
                                 RemoveEntryInformation_choice, hf_index, ett_dap_RemoveEntryInformation,
3617
0
                                 NULL);
3618
3619
0
  return offset;
3620
0
}
3621
3622
3623
const value_string dap_RemoveEntryResult_vals[] = {
3624
  {   0, "null" },
3625
  {   1, "information" },
3626
  { 0, NULL }
3627
};
3628
3629
static const ber_choice_t RemoveEntryResult_choice[] = {
3630
  {   0, &hf_dap_null            , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_dap_NULL },
3631
  {   1, &hf_dap_remove_entry_information, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_dap_RemoveEntryInformation },
3632
  { 0, NULL, 0, 0, 0, NULL }
3633
};
3634
3635
unsigned
3636
0
dissect_dap_RemoveEntryResult(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3637
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
3638
0
                                 RemoveEntryResult_choice, hf_index, ett_dap_RemoveEntryResult,
3639
0
                                 NULL);
3640
3641
0
  return offset;
3642
0
}
3643
3644
3645
const value_string dap_EntryModification_vals[] = {
3646
  {   0, "addAttribute" },
3647
  {   1, "removeAttribute" },
3648
  {   2, "addValues" },
3649
  {   3, "removeValues" },
3650
  {   4, "alterValues" },
3651
  {   5, "resetValue" },
3652
  { 0, NULL }
3653
};
3654
3655
static const ber_choice_t EntryModification_choice[] = {
3656
  {   0, &hf_dap_addAttribute    , BER_CLASS_CON, 0, 0, dissect_x509if_Attribute },
3657
  {   1, &hf_dap_removeAttribute , BER_CLASS_CON, 1, 0, dissect_x509if_AttributeType },
3658
  {   2, &hf_dap_addValues       , BER_CLASS_CON, 2, 0, dissect_x509if_Attribute },
3659
  {   3, &hf_dap_removeValues    , BER_CLASS_CON, 3, 0, dissect_x509if_Attribute },
3660
  {   4, &hf_dap_alterValues     , BER_CLASS_CON, 4, 0, dissect_crmf_AttributeTypeAndValue },
3661
  {   5, &hf_dap_resetValue      , BER_CLASS_CON, 5, 0, dissect_x509if_AttributeType },
3662
  { 0, NULL, 0, 0, 0, NULL }
3663
};
3664
3665
unsigned
3666
0
dissect_dap_EntryModification(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3667
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
3668
0
                                 EntryModification_choice, hf_index, ett_dap_EntryModification,
3669
0
                                 NULL);
3670
3671
0
  return offset;
3672
0
}
3673
3674
3675
static const ber_sequence_t SEQUENCE_OF_EntryModification_sequence_of[1] = {
3676
  { &hf_dap_changes_item    , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_dap_EntryModification },
3677
};
3678
3679
static unsigned
3680
0
dissect_dap_SEQUENCE_OF_EntryModification(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3681
0
  offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
3682
0
                                      SEQUENCE_OF_EntryModification_sequence_of, hf_index, ett_dap_SEQUENCE_OF_EntryModification);
3683
3684
0
  return offset;
3685
0
}
3686
3687
3688
static const ber_sequence_t ModifyEntryArgumentData_set[] = {
3689
  { &hf_dap_object          , BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_dap_Name },
3690
  { &hf_dap_changes         , BER_CLASS_CON, 1, 0, dissect_dap_SEQUENCE_OF_EntryModification },
3691
  { &hf_dap_selection       , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_dap_EntryInformationSelection },
3692
  { &hf_dap_serviceControls , BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL, dissect_dap_ServiceControls },
3693
  { &hf_dap_securityParameters, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL, dissect_dap_SecurityParameters },
3694
  { &hf_dap_requestor       , BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL, dissect_x509if_DistinguishedName },
3695
  { &hf_dap_operationProgress, BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL, dissect_dsp_OperationProgress },
3696
  { &hf_dap_aliasedRDNs     , BER_CLASS_CON, 26, BER_FLAGS_OPTIONAL, dissect_dap_INTEGER },
3697
  { &hf_dap_criticalExtensions, BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL, dissect_dap_BIT_STRING },
3698
  { &hf_dap_referenceType   , BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL, dissect_dsp_ReferenceType },
3699
  { &hf_dap_entryOnly       , BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL, dissect_dap_BOOLEAN },
3700
  { &hf_dap_exclusions      , BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL, dissect_dsp_Exclusions },
3701
  { &hf_dap_nameResolveOnMaster, BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL, dissect_dap_BOOLEAN },
3702
  { &hf_dap_operationContexts, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_dap_ContextSelection },
3703
  { &hf_dap_familyGrouping  , BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL, dissect_dap_FamilyGrouping },
3704
  { NULL, 0, 0, 0, NULL }
3705
};
3706
3707
static unsigned
3708
0
dissect_dap_ModifyEntryArgumentData(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3709
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3710
0
                              ModifyEntryArgumentData_set, hf_index, ett_dap_ModifyEntryArgumentData);
3711
3712
0
  return offset;
3713
0
}
3714
3715
3716
static const ber_sequence_t T_signedModifyEntryArgument_sequence[] = {
3717
  { &hf_dap_modifyEntryArgument, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dap_ModifyEntryArgumentData },
3718
  { &hf_dap_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
3719
  { &hf_dap_encrypted       , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_dap_BIT_STRING },
3720
  { NULL, 0, 0, 0, NULL }
3721
};
3722
3723
static unsigned
3724
0
dissect_dap_T_signedModifyEntryArgument(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3725
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3726
0
                                   T_signedModifyEntryArgument_sequence, hf_index, ett_dap_T_signedModifyEntryArgument);
3727
3728
0
  return offset;
3729
0
}
3730
3731
3732
const value_string dap_ModifyEntryArgument_vals[] = {
3733
  {   0, "unsignedModifyEntryArgument" },
3734
  {   1, "signedModifyEntryArgument" },
3735
  { 0, NULL }
3736
};
3737
3738
static const ber_choice_t ModifyEntryArgument_choice[] = {
3739
  {   0, &hf_dap_unsignedModifyEntryArgument, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dap_ModifyEntryArgumentData },
3740
  {   1, &hf_dap_signedModifyEntryArgument, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dap_T_signedModifyEntryArgument },
3741
  { 0, NULL, 0, 0, 0, NULL }
3742
};
3743
3744
unsigned
3745
0
dissect_dap_ModifyEntryArgument(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3746
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
3747
0
                                 ModifyEntryArgument_choice, hf_index, ett_dap_ModifyEntryArgument,
3748
0
                                 NULL);
3749
3750
0
  return offset;
3751
0
}
3752
3753
3754
static const ber_sequence_t ModifyEntryResultData_sequence[] = {
3755
  { &hf_dap_entry           , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_dap_EntryInformation },
3756
  { &hf_dap_securityParameters, BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL, dissect_dap_SecurityParameters },
3757
  { &hf_dap_performer       , BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL, dissect_x509if_DistinguishedName },
3758
  { &hf_dap_aliasDereferenced, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL, dissect_dap_BOOLEAN },
3759
  { &hf_dap_notification    , BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL, dissect_dap_SEQUENCE_SIZE_1_MAX_OF_Attribute },
3760
  { NULL, 0, 0, 0, NULL }
3761
};
3762
3763
static unsigned
3764
0
dissect_dap_ModifyEntryResultData(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3765
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3766
0
                                   ModifyEntryResultData_sequence, hf_index, ett_dap_ModifyEntryResultData);
3767
3768
0
  return offset;
3769
0
}
3770
3771
3772
static const ber_sequence_t T_signedModifyEntryResult_sequence[] = {
3773
  { &hf_dap_modifyEntryResult, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dap_ModifyEntryResultData },
3774
  { &hf_dap_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
3775
  { &hf_dap_encrypted       , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_dap_BIT_STRING },
3776
  { NULL, 0, 0, 0, NULL }
3777
};
3778
3779
static unsigned
3780
0
dissect_dap_T_signedModifyEntryResult(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3781
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3782
0
                                   T_signedModifyEntryResult_sequence, hf_index, ett_dap_T_signedModifyEntryResult);
3783
3784
0
  return offset;
3785
0
}
3786
3787
3788
static const value_string dap_ModifyEntryInformation_vals[] = {
3789
  {   0, "unsignedModifyEntryResult" },
3790
  {   1, "signedModifyEntryResult" },
3791
  { 0, NULL }
3792
};
3793
3794
static const ber_choice_t ModifyEntryInformation_choice[] = {
3795
  {   0, &hf_dap_unsignedModifyEntryResult, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dap_ModifyEntryResultData },
3796
  {   1, &hf_dap_signedModifyEntryResult, BER_CLASS_CON, 0, 0, dissect_dap_T_signedModifyEntryResult },
3797
  { 0, NULL, 0, 0, 0, NULL }
3798
};
3799
3800
static unsigned
3801
0
dissect_dap_ModifyEntryInformation(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3802
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
3803
0
                                 ModifyEntryInformation_choice, hf_index, ett_dap_ModifyEntryInformation,
3804
0
                                 NULL);
3805
3806
0
  return offset;
3807
0
}
3808
3809
3810
const value_string dap_ModifyEntryResult_vals[] = {
3811
  {   0, "null" },
3812
  {   1, "information" },
3813
  { 0, NULL }
3814
};
3815
3816
static const ber_choice_t ModifyEntryResult_choice[] = {
3817
  {   0, &hf_dap_null            , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_dap_NULL },
3818
  {   1, &hf_dap_modify_entry_information, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_dap_ModifyEntryInformation },
3819
  { 0, NULL, 0, 0, 0, NULL }
3820
};
3821
3822
unsigned
3823
0
dissect_dap_ModifyEntryResult(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3824
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
3825
0
                                 ModifyEntryResult_choice, hf_index, ett_dap_ModifyEntryResult,
3826
0
                                 NULL);
3827
3828
0
  return offset;
3829
0
}
3830
3831
3832
static const ber_sequence_t ModifyDNArgument_set[] = {
3833
  { &hf_dap_distinguished_name, BER_CLASS_CON, 0, 0, dissect_x509if_DistinguishedName },
3834
  { &hf_dap_newRDN          , BER_CLASS_CON, 1, 0, dissect_x509if_RelativeDistinguishedName },
3835
  { &hf_dap_deleteOldRDN    , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_dap_BOOLEAN },
3836
  { &hf_dap_newSuperior     , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_x509if_DistinguishedName },
3837
  { &hf_dap_serviceControls , BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL, dissect_dap_ServiceControls },
3838
  { &hf_dap_securityParameters, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL, dissect_dap_SecurityParameters },
3839
  { &hf_dap_requestor       , BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL, dissect_x509if_DistinguishedName },
3840
  { &hf_dap_operationProgress, BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL, dissect_dsp_OperationProgress },
3841
  { &hf_dap_aliasedRDNs     , BER_CLASS_CON, 26, BER_FLAGS_OPTIONAL, dissect_dap_INTEGER },
3842
  { &hf_dap_criticalExtensions, BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL, dissect_dap_BIT_STRING },
3843
  { &hf_dap_referenceType   , BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL, dissect_dsp_ReferenceType },
3844
  { &hf_dap_entryOnly       , BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL, dissect_dap_BOOLEAN },
3845
  { &hf_dap_exclusions      , BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL, dissect_dsp_Exclusions },
3846
  { &hf_dap_nameResolveOnMaster, BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL, dissect_dap_BOOLEAN },
3847
  { &hf_dap_operationContexts, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_dap_ContextSelection },
3848
  { &hf_dap_familyGrouping  , BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL, dissect_dap_FamilyGrouping },
3849
  { NULL, 0, 0, 0, NULL }
3850
};
3851
3852
unsigned
3853
0
dissect_dap_ModifyDNArgument(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3854
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3855
0
                              ModifyDNArgument_set, hf_index, ett_dap_ModifyDNArgument);
3856
3857
0
  return offset;
3858
0
}
3859
3860
3861
static const ber_sequence_t ModifyDNResultData_sequence[] = {
3862
  { &hf_dap_newRDN          , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_x509if_RelativeDistinguishedName },
3863
  { &hf_dap_securityParameters, BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL, dissect_dap_SecurityParameters },
3864
  { &hf_dap_performer       , BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL, dissect_x509if_DistinguishedName },
3865
  { &hf_dap_aliasDereferenced, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL, dissect_dap_BOOLEAN },
3866
  { &hf_dap_notification    , BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL, dissect_dap_SEQUENCE_SIZE_1_MAX_OF_Attribute },
3867
  { NULL, 0, 0, 0, NULL }
3868
};
3869
3870
static unsigned
3871
0
dissect_dap_ModifyDNResultData(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3872
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3873
0
                                   ModifyDNResultData_sequence, hf_index, ett_dap_ModifyDNResultData);
3874
3875
0
  return offset;
3876
0
}
3877
3878
3879
static const ber_sequence_t T_signedModifyDNResult_sequence[] = {
3880
  { &hf_dap_modifyDNResult  , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dap_ModifyDNResultData },
3881
  { &hf_dap_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
3882
  { &hf_dap_encrypted       , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_dap_BIT_STRING },
3883
  { NULL, 0, 0, 0, NULL }
3884
};
3885
3886
static unsigned
3887
0
dissect_dap_T_signedModifyDNResult(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3888
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3889
0
                                   T_signedModifyDNResult_sequence, hf_index, ett_dap_T_signedModifyDNResult);
3890
3891
0
  return offset;
3892
0
}
3893
3894
3895
static const value_string dap_ModifyDNInformation_vals[] = {
3896
  {   0, "unsignedModifyDNResult" },
3897
  {   1, "signedModifyDNResult" },
3898
  { 0, NULL }
3899
};
3900
3901
static const ber_choice_t ModifyDNInformation_choice[] = {
3902
  {   0, &hf_dap_unsignedModifyDNResult, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dap_ModifyDNResultData },
3903
  {   1, &hf_dap_signedModifyDNResult, BER_CLASS_CON, 0, 0, dissect_dap_T_signedModifyDNResult },
3904
  { 0, NULL, 0, 0, 0, NULL }
3905
};
3906
3907
static unsigned
3908
0
dissect_dap_ModifyDNInformation(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3909
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
3910
0
                                 ModifyDNInformation_choice, hf_index, ett_dap_ModifyDNInformation,
3911
0
                                 NULL);
3912
3913
0
  return offset;
3914
0
}
3915
3916
3917
const value_string dap_ModifyDNResult_vals[] = {
3918
  {   0, "null" },
3919
  {   1, "information" },
3920
  { 0, NULL }
3921
};
3922
3923
static const ber_choice_t ModifyDNResult_choice[] = {
3924
  {   0, &hf_dap_null            , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_dap_NULL },
3925
  {   1, &hf_dap_modify_dn_information, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_dap_ModifyDNInformation },
3926
  { 0, NULL, 0, 0, 0, NULL }
3927
};
3928
3929
unsigned
3930
0
dissect_dap_ModifyDNResult(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3931
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
3932
0
                                 ModifyDNResult_choice, hf_index, ett_dap_ModifyDNResult,
3933
0
                                 NULL);
3934
3935
0
  return offset;
3936
0
}
3937
3938
3939
static const ber_sequence_t AbandonedData_set[] = {
3940
  { &hf_dap_securityParameters, BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL, dissect_dap_SecurityParameters },
3941
  { &hf_dap_performer       , BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL, dissect_x509if_DistinguishedName },
3942
  { &hf_dap_aliasDereferenced, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL, dissect_dap_BOOLEAN },
3943
  { &hf_dap_notification    , BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL, dissect_dap_SEQUENCE_SIZE_1_MAX_OF_Attribute },
3944
  { NULL, 0, 0, 0, NULL }
3945
};
3946
3947
static unsigned
3948
0
dissect_dap_AbandonedData(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3949
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
3950
0
                              AbandonedData_set, hf_index, ett_dap_AbandonedData);
3951
3952
0
  return offset;
3953
0
}
3954
3955
3956
static const ber_sequence_t T_signedAbandoned_sequence[] = {
3957
  { &hf_dap_abandoned       , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dap_AbandonedData },
3958
  { &hf_dap_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
3959
  { &hf_dap_encrypted       , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_dap_BIT_STRING },
3960
  { NULL, 0, 0, 0, NULL }
3961
};
3962
3963
static unsigned
3964
0
dissect_dap_T_signedAbandoned(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3965
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3966
0
                                   T_signedAbandoned_sequence, hf_index, ett_dap_T_signedAbandoned);
3967
3968
0
  return offset;
3969
0
}
3970
3971
3972
const value_string dap_Abandoned_vals[] = {
3973
  {   0, "unsignedAbandoned" },
3974
  {   1, "signedAbandoned" },
3975
  { 0, NULL }
3976
};
3977
3978
static const ber_choice_t Abandoned_choice[] = {
3979
  {   0, &hf_dap_unsignedAbandoned, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dap_AbandonedData },
3980
  {   1, &hf_dap_signedAbandoned , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dap_T_signedAbandoned },
3981
  { 0, NULL, 0, 0, 0, NULL }
3982
};
3983
3984
unsigned
3985
0
dissect_dap_Abandoned(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3986
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
3987
0
                                 Abandoned_choice, hf_index, ett_dap_Abandoned,
3988
0
                                 NULL);
3989
3990
0
  return offset;
3991
0
}
3992
3993
3994
static const value_string dap_AbandonProblem_vals[] = {
3995
  {   1, "noSuchOperation" },
3996
  {   2, "tooLate" },
3997
  {   3, "cannotAbandon" },
3998
  { 0, NULL }
3999
};
4000
4001
4002
static unsigned
4003
0
dissect_dap_AbandonProblem(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4004
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4005
0
                                                NULL);
4006
4007
0
  return offset;
4008
0
}
4009
4010
4011
static const ber_sequence_t AbandonFailedErrorData_set[] = {
4012
  { &hf_dap_abandon_failed_problem, BER_CLASS_CON, 0, 0, dissect_dap_AbandonProblem },
4013
  { &hf_dap_operation       , BER_CLASS_CON, 1, 0, dissect_ros_InvokeId },
4014
  { &hf_dap_securityParameters, BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL, dissect_dap_SecurityParameters },
4015
  { &hf_dap_performer       , BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL, dissect_x509if_DistinguishedName },
4016
  { &hf_dap_aliasDereferenced, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL, dissect_dap_BOOLEAN },
4017
  { &hf_dap_notification    , BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL, dissect_dap_SEQUENCE_SIZE_1_MAX_OF_Attribute },
4018
  { NULL, 0, 0, 0, NULL }
4019
};
4020
4021
static unsigned
4022
0
dissect_dap_AbandonFailedErrorData(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4023
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
4024
0
                              AbandonFailedErrorData_set, hf_index, ett_dap_AbandonFailedErrorData);
4025
4026
0
  return offset;
4027
0
}
4028
4029
4030
static const ber_sequence_t T_signedAbandonFailedError_sequence[] = {
4031
  { &hf_dap_abandonFailedError, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dap_AbandonFailedErrorData },
4032
  { &hf_dap_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
4033
  { &hf_dap_encrypted       , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_dap_BIT_STRING },
4034
  { NULL, 0, 0, 0, NULL }
4035
};
4036
4037
static unsigned
4038
0
dissect_dap_T_signedAbandonFailedError(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4039
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4040
0
                                   T_signedAbandonFailedError_sequence, hf_index, ett_dap_T_signedAbandonFailedError);
4041
4042
0
  return offset;
4043
0
}
4044
4045
4046
const value_string dap_AbandonFailedError_vals[] = {
4047
  {   0, "unsignedAbandonFailedError" },
4048
  {   1, "signedAbandonFailedError" },
4049
  { 0, NULL }
4050
};
4051
4052
static const ber_choice_t AbandonFailedError_choice[] = {
4053
  {   0, &hf_dap_unsignedAbandonFailedError, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dap_AbandonFailedErrorData },
4054
  {   1, &hf_dap_signedAbandonFailedError, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dap_T_signedAbandonFailedError },
4055
  { 0, NULL, 0, 0, 0, NULL }
4056
};
4057
4058
unsigned
4059
0
dissect_dap_AbandonFailedError(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4060
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
4061
0
                                 AbandonFailedError_choice, hf_index, ett_dap_AbandonFailedError,
4062
0
                                 NULL);
4063
4064
0
  return offset;
4065
0
}
4066
4067
4068
static const value_string dap_AttributeProblem_vals[] = {
4069
  {   1, "noSuchAttributeOrValue" },
4070
  {   2, "invalidAttributeSyntax" },
4071
  {   3, "undefinedAttributeType" },
4072
  {   4, "inappropriateMatching" },
4073
  {   5, "constraintViolation" },
4074
  {   6, "attributeOrValueAlreadyExists" },
4075
  {   7, "contextViolation" },
4076
  { 0, NULL }
4077
};
4078
4079
4080
static unsigned
4081
0
dissect_dap_AttributeProblem(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4082
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4083
0
                                                NULL);
4084
4085
0
  return offset;
4086
0
}
4087
4088
4089
static const ber_sequence_t T_problems_item_sequence[] = {
4090
  { &hf_dap_attribute_error_problem, BER_CLASS_CON, 0, 0, dissect_dap_AttributeProblem },
4091
  { &hf_dap_type            , BER_CLASS_CON, 1, 0, dissect_x509if_AttributeType },
4092
  { &hf_dap_value           , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_x509if_AttributeValue },
4093
  { NULL, 0, 0, 0, NULL }
4094
};
4095
4096
static unsigned
4097
0
dissect_dap_T_problems_item(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4098
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4099
0
                                   T_problems_item_sequence, hf_index, ett_dap_T_problems_item);
4100
4101
0
  return offset;
4102
0
}
4103
4104
4105
static const ber_sequence_t T_problems_set_of[1] = {
4106
  { &hf_dap_problems_item   , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dap_T_problems_item },
4107
};
4108
4109
static unsigned
4110
0
dissect_dap_T_problems(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4111
0
  offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
4112
0
                                 T_problems_set_of, hf_index, ett_dap_T_problems);
4113
4114
0
  return offset;
4115
0
}
4116
4117
4118
static const ber_sequence_t AttributeErrorData_set[] = {
4119
  { &hf_dap_object          , BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_dap_Name },
4120
  { &hf_dap_problems        , BER_CLASS_CON, 1, 0, dissect_dap_T_problems },
4121
  { &hf_dap_securityParameters, BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL, dissect_dap_SecurityParameters },
4122
  { &hf_dap_performer       , BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL, dissect_x509if_DistinguishedName },
4123
  { &hf_dap_aliasDereferenced, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL, dissect_dap_BOOLEAN },
4124
  { &hf_dap_notification    , BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL, dissect_dap_SEQUENCE_SIZE_1_MAX_OF_Attribute },
4125
  { NULL, 0, 0, 0, NULL }
4126
};
4127
4128
static unsigned
4129
0
dissect_dap_AttributeErrorData(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4130
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
4131
0
                              AttributeErrorData_set, hf_index, ett_dap_AttributeErrorData);
4132
4133
0
  return offset;
4134
0
}
4135
4136
4137
static const ber_sequence_t T_signedAttributeError_sequence[] = {
4138
  { &hf_dap_attributeError  , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dap_AttributeErrorData },
4139
  { &hf_dap_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
4140
  { &hf_dap_encrypted       , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_dap_BIT_STRING },
4141
  { NULL, 0, 0, 0, NULL }
4142
};
4143
4144
static unsigned
4145
0
dissect_dap_T_signedAttributeError(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4146
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4147
0
                                   T_signedAttributeError_sequence, hf_index, ett_dap_T_signedAttributeError);
4148
4149
0
  return offset;
4150
0
}
4151
4152
4153
const value_string dap_AttributeError_vals[] = {
4154
  {   0, "unsignedAttributeError" },
4155
  {   1, "signedAttributeError" },
4156
  { 0, NULL }
4157
};
4158
4159
static const ber_choice_t AttributeError_choice[] = {
4160
  {   0, &hf_dap_unsignedAttributeError, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dap_AttributeErrorData },
4161
  {   1, &hf_dap_signedAttributeError, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dap_T_signedAttributeError },
4162
  { 0, NULL, 0, 0, 0, NULL }
4163
};
4164
4165
unsigned
4166
0
dissect_dap_AttributeError(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4167
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
4168
0
                                 AttributeError_choice, hf_index, ett_dap_AttributeError,
4169
0
                                 NULL);
4170
4171
0
  return offset;
4172
0
}
4173
4174
4175
static const value_string dap_NameProblem_vals[] = {
4176
  {   1, "noSuchObject" },
4177
  {   2, "aliasProblem" },
4178
  {   3, "invalidAttributeSyntax" },
4179
  {   4, "aliasDereferencingProblem" },
4180
  {   5, "contextProblem" },
4181
  { 0, NULL }
4182
};
4183
4184
4185
static unsigned
4186
0
dissect_dap_NameProblem(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4187
0
  offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4188
0
                                                NULL);
4189
4190
0
  return offset;
4191
0
}
4192
4193
4194
static const ber_sequence_t NameErrorData_set[] = {
4195
  { &hf_dap_name_error_problem, BER_CLASS_CON, 0, 0, dissect_dap_NameProblem },
4196
  { &hf_dap_matched_name    , BER_CLASS_CON, 1, BER_FLAGS_NOTCHKTAG, dissect_dap_Name },
4197
  { &hf_dap_securityParameters, BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL, dissect_dap_SecurityParameters },
4198
  { &hf_dap_performer       , BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL, dissect_x509if_DistinguishedName },
4199
  { &hf_dap_aliasDereferenced, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL, dissect_dap_BOOLEAN },
4200
  { &hf_dap_notification    , BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL, dissect_dap_SEQUENCE_SIZE_1_MAX_OF_Attribute },
4201
  { NULL, 0, 0, 0, NULL }
4202
};
4203
4204
static unsigned
4205
0
dissect_dap_NameErrorData(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4206
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
4207
0
                              NameErrorData_set, hf_index, ett_dap_NameErrorData);
4208
4209
0
  return offset;
4210
0
}
4211
4212
4213
static const ber_sequence_t T_signedNameError_sequence[] = {
4214
  { &hf_dap_nameError       , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dap_NameErrorData },
4215
  { &hf_dap_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
4216
  { &hf_dap_encrypted       , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_dap_BIT_STRING },
4217
  { NULL, 0, 0, 0, NULL }
4218
};
4219
4220
static unsigned
4221
0
dissect_dap_T_signedNameError(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4222
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4223
0
                                   T_signedNameError_sequence, hf_index, ett_dap_T_signedNameError);
4224
4225
0
  return offset;
4226
0
}
4227
4228
4229
const value_string dap_NameError_vals[] = {
4230
  {   0, "unsignedNameError" },
4231
  {   1, "signedNameError" },
4232
  { 0, NULL }
4233
};
4234
4235
static const ber_choice_t NameError_choice[] = {
4236
  {   0, &hf_dap_unsignedNameError, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dap_NameErrorData },
4237
  {   1, &hf_dap_signedNameError , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dap_T_signedNameError },
4238
  { 0, NULL, 0, 0, 0, NULL }
4239
};
4240
4241
unsigned
4242
0
dissect_dap_NameError(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4243
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
4244
0
                                 NameError_choice, hf_index, ett_dap_NameError,
4245
0
                                 NULL);
4246
4247
0
  return offset;
4248
0
}
4249
4250
4251
static const ber_sequence_t ReferralData_set[] = {
4252
  { &hf_dap_candidate       , BER_CLASS_CON, 0, 0, dissect_dsp_ContinuationReference },
4253
  { &hf_dap_securityParameters, BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL, dissect_dap_SecurityParameters },
4254
  { &hf_dap_performer       , BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL, dissect_x509if_DistinguishedName },
4255
  { &hf_dap_aliasDereferenced, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL, dissect_dap_BOOLEAN },
4256
  { &hf_dap_notification    , BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL, dissect_dap_SEQUENCE_SIZE_1_MAX_OF_Attribute },
4257
  { NULL, 0, 0, 0, NULL }
4258
};
4259
4260
static unsigned
4261
0
dissect_dap_ReferralData(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4262
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
4263
0
                              ReferralData_set, hf_index, ett_dap_ReferralData);
4264
4265
0
  return offset;
4266
0
}
4267
4268
4269
static const ber_sequence_t T_signedReferral_sequence[] = {
4270
  { &hf_dap_referral        , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dap_ReferralData },
4271
  { &hf_dap_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
4272
  { &hf_dap_encrypted       , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_dap_BIT_STRING },
4273
  { NULL, 0, 0, 0, NULL }
4274
};
4275
4276
static unsigned
4277
0
dissect_dap_T_signedReferral(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4278
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4279
0
                                   T_signedReferral_sequence, hf_index, ett_dap_T_signedReferral);
4280
4281
0
  return offset;
4282
0
}
4283
4284
4285
const value_string dap_Referral_vals[] = {
4286
  {   0, "unsignedReferral" },
4287
  {   1, "signedReferral" },
4288
  { 0, NULL }
4289
};
4290
4291
static const ber_choice_t Referral_choice[] = {
4292
  {   0, &hf_dap_unsignedReferral, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dap_ReferralData },
4293
  {   1, &hf_dap_signedReferral  , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dap_T_signedReferral },
4294
  { 0, NULL, 0, 0, 0, NULL }
4295
};
4296
4297
unsigned
4298
0
dissect_dap_Referral(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4299
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
4300
0
                                 Referral_choice, hf_index, ett_dap_Referral,
4301
0
                                 NULL);
4302
4303
0
  return offset;
4304
0
}
4305
4306
4307
4308
static unsigned
4309
0
dissect_dap_T_spkmInfo(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4310
  /* XXX: not yet implemented */
4311
4312
4313
0
  return offset;
4314
0
}
4315
4316
4317
static const ber_sequence_t SecurityErrorData_set[] = {
4318
  { &hf_dap_security_error_problem, BER_CLASS_CON, 0, 0, dissect_dap_SecurityProblem },
4319
  { &hf_dap_spkmInfo        , BER_CLASS_CON, 1, 0, dissect_dap_T_spkmInfo },
4320
  { &hf_dap_securityParameters, BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL, dissect_dap_SecurityParameters },
4321
  { &hf_dap_performer       , BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL, dissect_x509if_DistinguishedName },
4322
  { &hf_dap_aliasDereferenced, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL, dissect_dap_BOOLEAN },
4323
  { &hf_dap_notification    , BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL, dissect_dap_SEQUENCE_SIZE_1_MAX_OF_Attribute },
4324
  { NULL, 0, 0, 0, NULL }
4325
};
4326
4327
static unsigned
4328
0
dissect_dap_SecurityErrorData(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4329
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
4330
0
                              SecurityErrorData_set, hf_index, ett_dap_SecurityErrorData);
4331
4332
0
  return offset;
4333
0
}
4334
4335
4336
static const ber_sequence_t T_signedSecurityError_sequence[] = {
4337
  { &hf_dap_securityErrorData, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dap_SecurityErrorData },
4338
  { &hf_dap_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
4339
  { &hf_dap_encrypted       , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_dap_BIT_STRING },
4340
  { NULL, 0, 0, 0, NULL }
4341
};
4342
4343
static unsigned
4344
0
dissect_dap_T_signedSecurityError(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4345
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4346
0
                                   T_signedSecurityError_sequence, hf_index, ett_dap_T_signedSecurityError);
4347
4348
0
  return offset;
4349
0
}
4350
4351
4352
const value_string dap_SecurityError_vals[] = {
4353
  {   0, "unsignedSecurityError" },
4354
  {   1, "signedSecurityError" },
4355
  { 0, NULL }
4356
};
4357
4358
static const ber_choice_t SecurityError_choice[] = {
4359
  {   0, &hf_dap_unsignedSecurityError, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dap_SecurityErrorData },
4360
  {   1, &hf_dap_signedSecurityError, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dap_T_signedSecurityError },
4361
  { 0, NULL, 0, 0, 0, NULL }
4362
};
4363
4364
unsigned
4365
0
dissect_dap_SecurityError(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4366
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
4367
0
                                 SecurityError_choice, hf_index, ett_dap_SecurityError,
4368
0
                                 NULL);
4369
4370
0
  return offset;
4371
0
}
4372
4373
4374
static const ber_sequence_t ServiceErrorData_set[] = {
4375
  { &hf_dap_service_error_problem, BER_CLASS_CON, 0, 0, dissect_dap_ServiceProblem },
4376
  { &hf_dap_securityParameters, BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL, dissect_dap_SecurityParameters },
4377
  { &hf_dap_performer       , BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL, dissect_x509if_DistinguishedName },
4378
  { &hf_dap_aliasDereferenced, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL, dissect_dap_BOOLEAN },
4379
  { &hf_dap_notification    , BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL, dissect_dap_SEQUENCE_SIZE_1_MAX_OF_Attribute },
4380
  { NULL, 0, 0, 0, NULL }
4381
};
4382
4383
static unsigned
4384
0
dissect_dap_ServiceErrorData(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4385
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
4386
0
                              ServiceErrorData_set, hf_index, ett_dap_ServiceErrorData);
4387
4388
0
  return offset;
4389
0
}
4390
4391
4392
static const ber_sequence_t T_signedServiceError_sequence[] = {
4393
  { &hf_dap_serviceError    , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dap_ServiceErrorData },
4394
  { &hf_dap_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
4395
  { &hf_dap_encrypted       , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_dap_BIT_STRING },
4396
  { NULL, 0, 0, 0, NULL }
4397
};
4398
4399
static unsigned
4400
0
dissect_dap_T_signedServiceError(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4401
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4402
0
                                   T_signedServiceError_sequence, hf_index, ett_dap_T_signedServiceError);
4403
4404
0
  return offset;
4405
0
}
4406
4407
4408
const value_string dap_ServiceError_vals[] = {
4409
  {   0, "unsignedServiceError" },
4410
  {   1, "signedServiceError" },
4411
  { 0, NULL }
4412
};
4413
4414
static const ber_choice_t ServiceError_choice[] = {
4415
  {   0, &hf_dap_unsignedServiceError, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dap_ServiceErrorData },
4416
  {   1, &hf_dap_signedServiceError, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dap_T_signedServiceError },
4417
  { 0, NULL, 0, 0, 0, NULL }
4418
};
4419
4420
unsigned
4421
0
dissect_dap_ServiceError(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4422
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
4423
0
                                 ServiceError_choice, hf_index, ett_dap_ServiceError,
4424
0
                                 NULL);
4425
4426
0
  return offset;
4427
0
}
4428
4429
4430
static const value_string dap_UpdateProblem_vals[] = {
4431
  {   1, "namingViolation" },
4432
  {   2, "objectClassViolation" },
4433
  {   3, "notAllowedOnNonLeaf" },
4434
  {   4, "notAllowedOnRDN" },
4435
  {   5, "entryAlreadyExists" },
4436
  {   6, "affectsMultipleDSAs" },
4437
  {   7, "objectClassModificationProhibited" },
4438
  {   8, "noSuchSuperior" },
4439
  {   9, "notAncestor" },
4440
  {  10, "parentNotAncestor" },
4441
  {  11, "hierarchyRuleViolation" },
4442
  {  12, "familyRuleViolation" },
4443
  { 0, NULL }
4444
};
4445
4446
4447
static unsigned
4448
0
dissect_dap_UpdateProblem(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4449
0
  uint32_t problem;
4450
4451
0
    offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4452
0
                                                &problem);
4453
4454
4455
0
  col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %s", val_to_str(actx->pinfo->pool, problem, dap_UpdateProblem_vals, "UpdateProblem(%d)"));
4456
4457
4458
0
  return offset;
4459
0
}
4460
4461
4462
static const value_string dap_T_attributeInfo_item_vals[] = {
4463
  {   0, "attributeType" },
4464
  {   1, "attribute" },
4465
  { 0, NULL }
4466
};
4467
4468
static const ber_choice_t T_attributeInfo_item_choice[] = {
4469
  {   0, &hf_dap_attributeType   , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_x509if_AttributeType },
4470
  {   1, &hf_dap_attribute       , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509if_Attribute },
4471
  { 0, NULL, 0, 0, 0, NULL }
4472
};
4473
4474
static unsigned
4475
0
dissect_dap_T_attributeInfo_item(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4476
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
4477
0
                                 T_attributeInfo_item_choice, hf_index, ett_dap_T_attributeInfo_item,
4478
0
                                 NULL);
4479
4480
0
  return offset;
4481
0
}
4482
4483
4484
static const ber_sequence_t T_attributeInfo_set_of[1] = {
4485
  { &hf_dap_attributeInfo_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_dap_T_attributeInfo_item },
4486
};
4487
4488
static unsigned
4489
0
dissect_dap_T_attributeInfo(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4490
0
  offset = dissect_ber_constrained_set_of(implicit_tag, actx, tree, tvb, offset,
4491
0
                                             1, NO_BOUND, T_attributeInfo_set_of, hf_index, ett_dap_T_attributeInfo);
4492
4493
0
  return offset;
4494
0
}
4495
4496
4497
static const ber_sequence_t UpdateErrorData_set[] = {
4498
  { &hf_dap_update_error_problem, BER_CLASS_CON, 0, 0, dissect_dap_UpdateProblem },
4499
  { &hf_dap_attributeInfo   , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_dap_T_attributeInfo },
4500
  { &hf_dap_securityParameters, BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL, dissect_dap_SecurityParameters },
4501
  { &hf_dap_performer       , BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL, dissect_x509if_DistinguishedName },
4502
  { &hf_dap_aliasDereferenced, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL, dissect_dap_BOOLEAN },
4503
  { &hf_dap_notification    , BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL, dissect_dap_SEQUENCE_SIZE_1_MAX_OF_Attribute },
4504
  { NULL, 0, 0, 0, NULL }
4505
};
4506
4507
static unsigned
4508
0
dissect_dap_UpdateErrorData(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4509
0
  offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
4510
0
                              UpdateErrorData_set, hf_index, ett_dap_UpdateErrorData);
4511
4512
0
  return offset;
4513
0
}
4514
4515
4516
static const ber_sequence_t T_signedUpdateError_sequence[] = {
4517
  { &hf_dap_updateError     , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dap_UpdateErrorData },
4518
  { &hf_dap_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
4519
  { &hf_dap_encrypted       , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_dap_BIT_STRING },
4520
  { NULL, 0, 0, 0, NULL }
4521
};
4522
4523
static unsigned
4524
0
dissect_dap_T_signedUpdateError(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4525
0
  offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4526
0
                                   T_signedUpdateError_sequence, hf_index, ett_dap_T_signedUpdateError);
4527
4528
0
  return offset;
4529
0
}
4530
4531
4532
const value_string dap_UpdateError_vals[] = {
4533
  {   0, "unsignedUpdateError" },
4534
  {   1, "signedUpdateError" },
4535
  { 0, NULL }
4536
};
4537
4538
static const ber_choice_t UpdateError_choice[] = {
4539
  {   0, &hf_dap_unsignedUpdateError, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dap_UpdateErrorData },
4540
  {   1, &hf_dap_signedUpdateError, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dap_T_signedUpdateError },
4541
  { 0, NULL, 0, 0, 0, NULL }
4542
};
4543
4544
unsigned
4545
0
dissect_dap_UpdateError(bool implicit_tag _U_, tvbuff_t *tvb _U_, unsigned offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4546
0
  offset = dissect_ber_choice(actx, tree, tvb, offset,
4547
0
                                 UpdateError_choice, hf_index, ett_dap_UpdateError,
4548
0
                                 NULL);
4549
4550
0
  return offset;
4551
0
}
4552
4553
/*--- PDUs ---*/
4554
4555
0
static int dissect_DirectoryBindArgument_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4556
0
  unsigned offset = 0;
4557
0
  asn1_ctx_t asn1_ctx;
4558
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4559
0
  offset = dissect_dap_DirectoryBindArgument(false, tvb, offset, &asn1_ctx, tree, hf_dap_DirectoryBindArgument_PDU);
4560
0
  return offset;
4561
0
}
4562
0
static int dissect_DirectoryBindResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4563
0
  unsigned offset = 0;
4564
0
  asn1_ctx_t asn1_ctx;
4565
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4566
0
  offset = dissect_dap_DirectoryBindResult(false, tvb, offset, &asn1_ctx, tree, hf_dap_DirectoryBindResult_PDU);
4567
0
  return offset;
4568
0
}
4569
0
static int dissect_DirectoryBindError_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4570
0
  unsigned offset = 0;
4571
0
  asn1_ctx_t asn1_ctx;
4572
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4573
0
  offset = dissect_dap_DirectoryBindError(false, tvb, offset, &asn1_ctx, tree, hf_dap_DirectoryBindError_PDU);
4574
0
  return offset;
4575
0
}
4576
0
static int dissect_ReadArgument_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4577
0
  unsigned offset = 0;
4578
0
  asn1_ctx_t asn1_ctx;
4579
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4580
0
  offset = dissect_dap_ReadArgument(false, tvb, offset, &asn1_ctx, tree, hf_dap_ReadArgument_PDU);
4581
0
  return offset;
4582
0
}
4583
0
static int dissect_ReadResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4584
0
  unsigned offset = 0;
4585
0
  asn1_ctx_t asn1_ctx;
4586
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4587
0
  offset = dissect_dap_ReadResult(false, tvb, offset, &asn1_ctx, tree, hf_dap_ReadResult_PDU);
4588
0
  return offset;
4589
0
}
4590
0
static int dissect_CompareArgument_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4591
0
  unsigned offset = 0;
4592
0
  asn1_ctx_t asn1_ctx;
4593
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4594
0
  offset = dissect_dap_CompareArgument(false, tvb, offset, &asn1_ctx, tree, hf_dap_CompareArgument_PDU);
4595
0
  return offset;
4596
0
}
4597
0
static int dissect_CompareResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4598
0
  unsigned offset = 0;
4599
0
  asn1_ctx_t asn1_ctx;
4600
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4601
0
  offset = dissect_dap_CompareResult(false, tvb, offset, &asn1_ctx, tree, hf_dap_CompareResult_PDU);
4602
0
  return offset;
4603
0
}
4604
0
static int dissect_AbandonArgument_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4605
0
  unsigned offset = 0;
4606
0
  asn1_ctx_t asn1_ctx;
4607
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4608
0
  offset = dissect_dap_AbandonArgument(false, tvb, offset, &asn1_ctx, tree, hf_dap_AbandonArgument_PDU);
4609
0
  return offset;
4610
0
}
4611
0
static int dissect_AbandonResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4612
0
  unsigned offset = 0;
4613
0
  asn1_ctx_t asn1_ctx;
4614
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4615
0
  offset = dissect_dap_AbandonResult(false, tvb, offset, &asn1_ctx, tree, hf_dap_AbandonResult_PDU);
4616
0
  return offset;
4617
0
}
4618
0
static int dissect_ListArgument_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4619
0
  unsigned offset = 0;
4620
0
  asn1_ctx_t asn1_ctx;
4621
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4622
0
  offset = dissect_dap_ListArgument(false, tvb, offset, &asn1_ctx, tree, hf_dap_ListArgument_PDU);
4623
0
  return offset;
4624
0
}
4625
0
static int dissect_ListResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4626
0
  unsigned offset = 0;
4627
0
  asn1_ctx_t asn1_ctx;
4628
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4629
0
  offset = dissect_dap_ListResult(false, tvb, offset, &asn1_ctx, tree, hf_dap_ListResult_PDU);
4630
0
  return offset;
4631
0
}
4632
0
static int dissect_SearchArgument_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4633
0
  unsigned offset = 0;
4634
0
  asn1_ctx_t asn1_ctx;
4635
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4636
0
  offset = dissect_dap_SearchArgument(false, tvb, offset, &asn1_ctx, tree, hf_dap_SearchArgument_PDU);
4637
0
  return offset;
4638
0
}
4639
0
static int dissect_SearchResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4640
0
  unsigned offset = 0;
4641
0
  asn1_ctx_t asn1_ctx;
4642
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4643
0
  offset = dissect_dap_SearchResult(false, tvb, offset, &asn1_ctx, tree, hf_dap_SearchResult_PDU);
4644
0
  return offset;
4645
0
}
4646
0
static int dissect_AddEntryArgument_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4647
0
  unsigned offset = 0;
4648
0
  asn1_ctx_t asn1_ctx;
4649
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4650
0
  offset = dissect_dap_AddEntryArgument(false, tvb, offset, &asn1_ctx, tree, hf_dap_AddEntryArgument_PDU);
4651
0
  return offset;
4652
0
}
4653
0
static int dissect_AddEntryResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4654
0
  unsigned offset = 0;
4655
0
  asn1_ctx_t asn1_ctx;
4656
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4657
0
  offset = dissect_dap_AddEntryResult(false, tvb, offset, &asn1_ctx, tree, hf_dap_AddEntryResult_PDU);
4658
0
  return offset;
4659
0
}
4660
0
static int dissect_RemoveEntryArgument_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4661
0
  unsigned offset = 0;
4662
0
  asn1_ctx_t asn1_ctx;
4663
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4664
0
  offset = dissect_dap_RemoveEntryArgument(false, tvb, offset, &asn1_ctx, tree, hf_dap_RemoveEntryArgument_PDU);
4665
0
  return offset;
4666
0
}
4667
0
static int dissect_RemoveEntryResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4668
0
  unsigned offset = 0;
4669
0
  asn1_ctx_t asn1_ctx;
4670
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4671
0
  offset = dissect_dap_RemoveEntryResult(false, tvb, offset, &asn1_ctx, tree, hf_dap_RemoveEntryResult_PDU);
4672
0
  return offset;
4673
0
}
4674
0
static int dissect_ModifyEntryArgument_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4675
0
  unsigned offset = 0;
4676
0
  asn1_ctx_t asn1_ctx;
4677
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4678
0
  offset = dissect_dap_ModifyEntryArgument(false, tvb, offset, &asn1_ctx, tree, hf_dap_ModifyEntryArgument_PDU);
4679
0
  return offset;
4680
0
}
4681
0
static int dissect_ModifyEntryResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4682
0
  unsigned offset = 0;
4683
0
  asn1_ctx_t asn1_ctx;
4684
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4685
0
  offset = dissect_dap_ModifyEntryResult(false, tvb, offset, &asn1_ctx, tree, hf_dap_ModifyEntryResult_PDU);
4686
0
  return offset;
4687
0
}
4688
0
static int dissect_ModifyDNArgument_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4689
0
  unsigned offset = 0;
4690
0
  asn1_ctx_t asn1_ctx;
4691
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4692
0
  offset = dissect_dap_ModifyDNArgument(false, tvb, offset, &asn1_ctx, tree, hf_dap_ModifyDNArgument_PDU);
4693
0
  return offset;
4694
0
}
4695
0
static int dissect_ModifyDNResult_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4696
0
  unsigned offset = 0;
4697
0
  asn1_ctx_t asn1_ctx;
4698
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4699
0
  offset = dissect_dap_ModifyDNResult(false, tvb, offset, &asn1_ctx, tree, hf_dap_ModifyDNResult_PDU);
4700
0
  return offset;
4701
0
}
4702
0
static int dissect_Abandoned_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4703
0
  unsigned offset = 0;
4704
0
  asn1_ctx_t asn1_ctx;
4705
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4706
0
  offset = dissect_dap_Abandoned(false, tvb, offset, &asn1_ctx, tree, hf_dap_Abandoned_PDU);
4707
0
  return offset;
4708
0
}
4709
0
static int dissect_AbandonFailedError_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4710
0
  unsigned offset = 0;
4711
0
  asn1_ctx_t asn1_ctx;
4712
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4713
0
  offset = dissect_dap_AbandonFailedError(false, tvb, offset, &asn1_ctx, tree, hf_dap_AbandonFailedError_PDU);
4714
0
  return offset;
4715
0
}
4716
0
static int dissect_AttributeError_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4717
0
  unsigned offset = 0;
4718
0
  asn1_ctx_t asn1_ctx;
4719
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4720
0
  offset = dissect_dap_AttributeError(false, tvb, offset, &asn1_ctx, tree, hf_dap_AttributeError_PDU);
4721
0
  return offset;
4722
0
}
4723
0
static int dissect_NameError_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4724
0
  unsigned offset = 0;
4725
0
  asn1_ctx_t asn1_ctx;
4726
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4727
0
  offset = dissect_dap_NameError(false, tvb, offset, &asn1_ctx, tree, hf_dap_NameError_PDU);
4728
0
  return offset;
4729
0
}
4730
0
static int dissect_Referral_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4731
0
  unsigned offset = 0;
4732
0
  asn1_ctx_t asn1_ctx;
4733
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4734
0
  offset = dissect_dap_Referral(false, tvb, offset, &asn1_ctx, tree, hf_dap_Referral_PDU);
4735
0
  return offset;
4736
0
}
4737
0
static int dissect_SecurityError_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4738
0
  unsigned offset = 0;
4739
0
  asn1_ctx_t asn1_ctx;
4740
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4741
0
  offset = dissect_dap_SecurityError(false, tvb, offset, &asn1_ctx, tree, hf_dap_SecurityError_PDU);
4742
0
  return offset;
4743
0
}
4744
0
static int dissect_ServiceError_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4745
0
  unsigned offset = 0;
4746
0
  asn1_ctx_t asn1_ctx;
4747
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4748
0
  offset = dissect_dap_ServiceError(false, tvb, offset, &asn1_ctx, tree, hf_dap_ServiceError_PDU);
4749
0
  return offset;
4750
0
}
4751
0
static int dissect_UpdateError_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4752
0
  unsigned offset = 0;
4753
0
  asn1_ctx_t asn1_ctx;
4754
0
  asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, true, pinfo);
4755
0
  offset = dissect_dap_UpdateError(false, tvb, offset, &asn1_ctx, tree, hf_dap_UpdateError_PDU);
4756
0
  return offset;
4757
0
}
4758
4759
4760
4761
static const ros_opr_t dap_opr_tab[] = {
4762
  /* directoryBind */
4763
  { op_ros_bind              ,  dissect_DirectoryBindArgument_PDU,  dissect_DirectoryBindResult_PDU },
4764
  /* read */
4765
  { id_opcode_read           ,  dissect_ReadArgument_PDU, dissect_ReadResult_PDU },
4766
  /* compare */
4767
  { id_opcode_compare        ,  dissect_CompareArgument_PDU,  dissect_CompareResult_PDU },
4768
  /* abandon */
4769
  { id_opcode_abandon        ,  dissect_AbandonArgument_PDU,  dissect_AbandonResult_PDU },
4770
  /* list */
4771
  { id_opcode_list           ,  dissect_ListArgument_PDU, dissect_ListResult_PDU },
4772
  /* search */
4773
  { id_opcode_search         ,  dissect_SearchArgument_PDU, dissect_SearchResult_PDU },
4774
  /* addEntry */
4775
  { id_opcode_addEntry       ,  dissect_AddEntryArgument_PDU, dissect_AddEntryResult_PDU },
4776
  /* removeEntry */
4777
  { id_opcode_removeEntry    ,  dissect_RemoveEntryArgument_PDU,  dissect_RemoveEntryResult_PDU },
4778
  /* modifyEntry */
4779
  { id_opcode_modifyEntry    ,  dissect_ModifyEntryArgument_PDU,  dissect_ModifyEntryResult_PDU },
4780
  /* modifyDN */
4781
  { id_opcode_modifyDN       ,  dissect_ModifyDNArgument_PDU, dissect_ModifyDNResult_PDU },
4782
  { 0,        (dissector_t)(-1),  (dissector_t)(-1) },
4783
};
4784
4785
4786
static const ros_err_t dap_err_tab[] = {
4787
  /* directoryBindError*/
4788
  { err_ros_bind, dissect_DirectoryBindError_PDU },
4789
  /* abandoned*/
4790
  { id_errcode_abandoned, dissect_Abandoned_PDU },
4791
  /* abandonFailed*/
4792
  { id_errcode_abandonFailed, dissect_AbandonFailedError_PDU },
4793
  /* attributeError*/
4794
  { id_errcode_attributeError,  dissect_AttributeError_PDU },
4795
  /* nameError*/
4796
  { id_errcode_nameError, dissect_NameError_PDU },
4797
  /* referral*/
4798
  { id_errcode_referral,  dissect_Referral_PDU },
4799
  /* securityError*/
4800
  { id_errcode_securityError, dissect_SecurityError_PDU },
4801
  /* serviceError*/
4802
  { id_errcode_serviceError,  dissect_ServiceError_PDU },
4803
  /* updateError*/
4804
  { id_errcode_updateError, dissect_UpdateError_PDU },
4805
  { 0,  (dissector_t)(-1) },
4806
};
4807
4808
4809
static const ros_info_t dap_ros_info = {
4810
  "DAP",
4811
  &proto_dap,
4812
  &ett_dap,
4813
  dap_opr_code_string_vals,
4814
  dap_opr_tab,
4815
  dap_err_code_string_vals,
4816
  dap_err_tab
4817
};
4818
4819
4820
/*--- proto_register_dap -------------------------------------------*/
4821
16
void proto_register_dap(void) {
4822
4823
  /* List of fields */
4824
16
  static hf_register_info hf[] =
4825
16
  {
4826
16
    { &hf_dap_DirectoryBindArgument_PDU,
4827
16
      { "DirectoryBindArgument", "dap.DirectoryBindArgument_element",
4828
16
        FT_NONE, BASE_NONE, NULL, 0,
4829
16
        NULL, HFILL }},
4830
16
    { &hf_dap_DirectoryBindResult_PDU,
4831
16
      { "DirectoryBindResult", "dap.DirectoryBindResult_element",
4832
16
        FT_NONE, BASE_NONE, NULL, 0,
4833
16
        NULL, HFILL }},
4834
16
    { &hf_dap_DirectoryBindError_PDU,
4835
16
      { "DirectoryBindError", "dap.DirectoryBindError",
4836
16
        FT_UINT32, BASE_DEC, VALS(dap_DirectoryBindError_vals), 0,
4837
16
        NULL, HFILL }},
4838
16
    { &hf_dap_ReadArgument_PDU,
4839
16
      { "ReadArgument", "dap.ReadArgument",
4840
16
        FT_UINT32, BASE_DEC, VALS(dap_ReadArgument_vals), 0,
4841
16
        NULL, HFILL }},
4842
16
    { &hf_dap_ReadResult_PDU,
4843
16
      { "ReadResult", "dap.ReadResult",
4844
16
        FT_UINT32, BASE_DEC, VALS(dap_ReadResult_vals), 0,
4845
16
        NULL, HFILL }},
4846
16
    { &hf_dap_CompareArgument_PDU,
4847
16
      { "CompareArgument", "dap.CompareArgument",
4848
16
        FT_UINT32, BASE_DEC, VALS(dap_CompareArgument_vals), 0,
4849
16
        NULL, HFILL }},
4850
16
    { &hf_dap_CompareResult_PDU,
4851
16
      { "CompareResult", "dap.CompareResult",
4852
16
        FT_UINT32, BASE_DEC, VALS(dap_CompareResult_vals), 0,
4853
16
        NULL, HFILL }},
4854
16
    { &hf_dap_AbandonArgument_PDU,
4855
16
      { "AbandonArgument", "dap.AbandonArgument",
4856
16
        FT_UINT32, BASE_DEC, VALS(dap_AbandonArgument_vals), 0,
4857
16
        NULL, HFILL }},
4858
16
    { &hf_dap_AbandonResult_PDU,
4859
16
      { "AbandonResult", "dap.AbandonResult",
4860
16
        FT_UINT32, BASE_DEC, VALS(dap_AbandonResult_vals), 0,
4861
16
        NULL, HFILL }},
4862
16
    { &hf_dap_ListArgument_PDU,
4863
16
      { "ListArgument", "dap.ListArgument",
4864
16
        FT_UINT32, BASE_DEC, VALS(dap_ListArgument_vals), 0,
4865
16
        NULL, HFILL }},
4866
16
    { &hf_dap_ListResult_PDU,
4867
16
      { "ListResult", "dap.ListResult",
4868
16
        FT_UINT32, BASE_DEC, VALS(dap_ListResult_vals), 0,
4869
16
        NULL, HFILL }},
4870
16
    { &hf_dap_SearchArgument_PDU,
4871
16
      { "SearchArgument", "dap.SearchArgument",
4872
16
        FT_UINT32, BASE_DEC, VALS(dap_SearchArgument_vals), 0,
4873
16
        NULL, HFILL }},
4874
16
    { &hf_dap_SearchResult_PDU,
4875
16
      { "SearchResult", "dap.SearchResult",
4876
16
        FT_UINT32, BASE_DEC, VALS(dap_SearchResult_vals), 0,
4877
16
        NULL, HFILL }},
4878
16
    { &hf_dap_AddEntryArgument_PDU,
4879
16
      { "AddEntryArgument", "dap.AddEntryArgument",
4880
16
        FT_UINT32, BASE_DEC, VALS(dap_AddEntryArgument_vals), 0,
4881
16
        NULL, HFILL }},
4882
16
    { &hf_dap_AddEntryResult_PDU,
4883
16
      { "AddEntryResult", "dap.AddEntryResult",
4884
16
        FT_UINT32, BASE_DEC, VALS(dap_AddEntryResult_vals), 0,
4885
16
        NULL, HFILL }},
4886
16
    { &hf_dap_RemoveEntryArgument_PDU,
4887
16
      { "RemoveEntryArgument", "dap.RemoveEntryArgument",
4888
16
        FT_UINT32, BASE_DEC, VALS(dap_RemoveEntryArgument_vals), 0,
4889
16
        NULL, HFILL }},
4890
16
    { &hf_dap_RemoveEntryResult_PDU,
4891
16
      { "RemoveEntryResult", "dap.RemoveEntryResult",
4892
16
        FT_UINT32, BASE_DEC, VALS(dap_RemoveEntryResult_vals), 0,
4893
16
        NULL, HFILL }},
4894
16
    { &hf_dap_ModifyEntryArgument_PDU,
4895
16
      { "ModifyEntryArgument", "dap.ModifyEntryArgument",
4896
16
        FT_UINT32, BASE_DEC, VALS(dap_ModifyEntryArgument_vals), 0,
4897
16
        NULL, HFILL }},
4898
16
    { &hf_dap_ModifyEntryResult_PDU,
4899
16
      { "ModifyEntryResult", "dap.ModifyEntryResult",
4900
16
        FT_UINT32, BASE_DEC, VALS(dap_ModifyEntryResult_vals), 0,
4901
16
        NULL, HFILL }},
4902
16
    { &hf_dap_ModifyDNArgument_PDU,
4903
16
      { "ModifyDNArgument", "dap.ModifyDNArgument_element",
4904
16
        FT_NONE, BASE_NONE, NULL, 0,
4905
16
        NULL, HFILL }},
4906
16
    { &hf_dap_ModifyDNResult_PDU,
4907
16
      { "ModifyDNResult", "dap.ModifyDNResult",
4908
16
        FT_UINT32, BASE_DEC, VALS(dap_ModifyDNResult_vals), 0,
4909
16
        NULL, HFILL }},
4910
16
    { &hf_dap_Abandoned_PDU,
4911
16
      { "Abandoned", "dap.Abandoned",
4912
16
        FT_UINT32, BASE_DEC, VALS(dap_Abandoned_vals), 0,
4913
16
        NULL, HFILL }},
4914
16
    { &hf_dap_AbandonFailedError_PDU,
4915
16
      { "AbandonFailedError", "dap.AbandonFailedError",
4916
16
        FT_UINT32, BASE_DEC, VALS(dap_AbandonFailedError_vals), 0,
4917
16
        NULL, HFILL }},
4918
16
    { &hf_dap_AttributeError_PDU,
4919
16
      { "AttributeError", "dap.AttributeError",
4920
16
        FT_UINT32, BASE_DEC, VALS(dap_AttributeError_vals), 0,
4921
16
        NULL, HFILL }},
4922
16
    { &hf_dap_NameError_PDU,
4923
16
      { "NameError", "dap.NameError",
4924
16
        FT_UINT32, BASE_DEC, VALS(dap_NameError_vals), 0,
4925
16
        NULL, HFILL }},
4926
16
    { &hf_dap_Referral_PDU,
4927
16
      { "Referral", "dap.Referral",
4928
16
        FT_UINT32, BASE_DEC, VALS(dap_Referral_vals), 0,
4929
16
        NULL, HFILL }},
4930
16
    { &hf_dap_SecurityError_PDU,
4931
16
      { "SecurityError", "dap.SecurityError",
4932
16
        FT_UINT32, BASE_DEC, VALS(dap_SecurityError_vals), 0,
4933
16
        NULL, HFILL }},
4934
16
    { &hf_dap_ServiceError_PDU,
4935
16
      { "ServiceError", "dap.ServiceError",
4936
16
        FT_UINT32, BASE_DEC, VALS(dap_ServiceError_vals), 0,
4937
16
        NULL, HFILL }},
4938
16
    { &hf_dap_UpdateError_PDU,
4939
16
      { "UpdateError", "dap.UpdateError",
4940
16
        FT_UINT32, BASE_DEC, VALS(dap_UpdateError_vals), 0,
4941
16
        NULL, HFILL }},
4942
16
    { &hf_dap_options,
4943
16
      { "options", "dap.options",
4944
16
        FT_BYTES, BASE_NONE, NULL, 0,
4945
16
        "ServiceControlOptions", HFILL }},
4946
16
    { &hf_dap_priority,
4947
16
      { "priority", "dap.priority",
4948
16
        FT_INT32, BASE_DEC, VALS(dap_T_priority_vals), 0,
4949
16
        NULL, HFILL }},
4950
16
    { &hf_dap_timeLimit,
4951
16
      { "timeLimit", "dap.timeLimit",
4952
16
        FT_INT32, BASE_DEC, NULL, 0,
4953
16
        "INTEGER", HFILL }},
4954
16
    { &hf_dap_sizeLimit,
4955
16
      { "sizeLimit", "dap.sizeLimit",
4956
16
        FT_INT32, BASE_DEC, NULL, 0,
4957
16
        "INTEGER", HFILL }},
4958
16
    { &hf_dap_scopeOfReferral,
4959
16
      { "scopeOfReferral", "dap.scopeOfReferral",
4960
16
        FT_INT32, BASE_DEC, VALS(dap_T_scopeOfReferral_vals), 0,
4961
16
        NULL, HFILL }},
4962
16
    { &hf_dap_attributeSizeLimit,
4963
16
      { "attributeSizeLimit", "dap.attributeSizeLimit",
4964
16
        FT_INT32, BASE_DEC, NULL, 0,
4965
16
        "INTEGER", HFILL }},
4966
16
    { &hf_dap_manageDSAITPlaneRef,
4967
16
      { "manageDSAITPlaneRef", "dap.manageDSAITPlaneRef_element",
4968
16
        FT_NONE, BASE_NONE, NULL, 0,
4969
16
        NULL, HFILL }},
4970
16
    { &hf_dap_dsaName,
4971
16
      { "dsaName", "dap.dsaName",
4972
16
        FT_UINT32, BASE_DEC, VALS(x509if_Name_vals), 0,
4973
16
        "Name", HFILL }},
4974
16
    { &hf_dap_agreementID,
4975
16
      { "agreementID", "dap.agreementID_element",
4976
16
        FT_NONE, BASE_NONE, NULL, 0,
4977
16
        NULL, HFILL }},
4978
16
    { &hf_dap_serviceType,
4979
16
      { "serviceType", "dap.serviceType",
4980
16
        FT_OID, BASE_NONE, NULL, 0,
4981
16
        "OBJECT_IDENTIFIER", HFILL }},
4982
16
    { &hf_dap_userClass,
4983
16
      { "userClass", "dap.userClass",
4984
16
        FT_INT32, BASE_DEC, NULL, 0,
4985
16
        "INTEGER", HFILL }},
4986
16
    { &hf_dap_attributes,
4987
16
      { "attributes", "dap.attributes",
4988
16
        FT_UINT32, BASE_DEC, VALS(dap_T_attributes_vals), 0,
4989
16
        NULL, HFILL }},
4990
16
    { &hf_dap_allUserAttributes,
4991
16
      { "allUserAttributes", "dap.allUserAttributes_element",
4992
16
        FT_NONE, BASE_NONE, NULL, 0,
4993
16
        NULL, HFILL }},
4994
16
    { &hf_dap_select,
4995
16
      { "select", "dap.select",
4996
16
        FT_UINT32, BASE_DEC, NULL, 0,
4997
16
        "SET_OF_AttributeType", HFILL }},
4998
16
    { &hf_dap_select_item,
4999
16
      { "AttributeType", "dap.AttributeType",
5000
16
        FT_OID, BASE_NONE, NULL, 0,
5001
16
        NULL, HFILL }},
5002
16
    { &hf_dap_infoTypes,
5003
16
      { "infoTypes", "dap.infoTypes",
5004
16
        FT_INT32, BASE_DEC, VALS(dap_T_infoTypes_vals), 0,
5005
16
        NULL, HFILL }},
5006
16
    { &hf_dap_extraAttributes,
5007
16
      { "extraAttributes", "dap.extraAttributes",
5008
16
        FT_UINT32, BASE_DEC, VALS(dap_T_extraAttributes_vals), 0,
5009
16
        NULL, HFILL }},
5010
16
    { &hf_dap_allOperationalAttributes,
5011
16
      { "allOperationalAttributes", "dap.allOperationalAttributes_element",
5012
16
        FT_NONE, BASE_NONE, NULL, 0,
5013
16
        NULL, HFILL }},
5014
16
    { &hf_dap_extraSelect,
5015
16
      { "select", "dap.extraSelect",
5016
16
        FT_UINT32, BASE_DEC, NULL, 0,
5017
16
        "SET_SIZE_1_MAX_OF_AttributeType", HFILL }},
5018
16
    { &hf_dap_extraSelect_item,
5019
16
      { "AttributeType", "dap.AttributeType",
5020
16
        FT_OID, BASE_NONE, NULL, 0,
5021
16
        NULL, HFILL }},
5022
16
    { &hf_dap_contextSelection,
5023
16
      { "contextSelection", "dap.contextSelection",
5024
16
        FT_UINT32, BASE_DEC, VALS(dap_ContextSelection_vals), 0,
5025
16
        NULL, HFILL }},
5026
16
    { &hf_dap_returnContexts,
5027
16
      { "returnContexts", "dap.returnContexts",
5028
16
        FT_BOOLEAN, BASE_NONE, NULL, 0,
5029
16
        "BOOLEAN", HFILL }},
5030
16
    { &hf_dap_familyReturn,
5031
16
      { "familyReturn", "dap.familyReturn_element",
5032
16
        FT_NONE, BASE_NONE, NULL, 0,
5033
16
        NULL, HFILL }},
5034
16
    { &hf_dap_allContexts,
5035
16
      { "allContexts", "dap.allContexts_element",
5036
16
        FT_NONE, BASE_NONE, NULL, 0,
5037
16
        NULL, HFILL }},
5038
16
    { &hf_dap_selectedContexts,
5039
16
      { "selectedContexts", "dap.selectedContexts",
5040
16
        FT_UINT32, BASE_DEC, NULL, 0,
5041
16
        "SET_SIZE_1_MAX_OF_TypeAndContextAssertion", HFILL }},
5042
16
    { &hf_dap_selectedContexts_item,
5043
16
      { "TypeAndContextAssertion", "dap.TypeAndContextAssertion_element",
5044
16
        FT_NONE, BASE_NONE, NULL, 0,
5045
16
        NULL, HFILL }},
5046
16
    { &hf_dap_type,
5047
16
      { "type", "dap.type",
5048
16
        FT_OID, BASE_NONE, NULL, 0,
5049
16
        "AttributeType", HFILL }},
5050
16
    { &hf_dap_contextAssertions,
5051
16
      { "contextAssertions", "dap.contextAssertions",
5052
16
        FT_UINT32, BASE_DEC, VALS(dap_T_contextAssertions_vals), 0,
5053
16
        NULL, HFILL }},
5054
16
    { &hf_dap_preference,
5055
16
      { "preference", "dap.preference",
5056
16
        FT_UINT32, BASE_DEC, NULL, 0,
5057
16
        "SEQUENCE_OF_ContextAssertion", HFILL }},
5058
16
    { &hf_dap_preference_item,
5059
16
      { "ContextAssertion", "dap.ContextAssertion_element",
5060
16
        FT_NONE, BASE_NONE, NULL, 0,
5061
16
        NULL, HFILL }},
5062
16
    { &hf_dap_all,
5063
16
      { "all", "dap.all",
5064
16
        FT_UINT32, BASE_DEC, NULL, 0,
5065
16
        "SET_OF_ContextAssertion", HFILL }},
5066
16
    { &hf_dap_all_item,
5067
16
      { "ContextAssertion", "dap.ContextAssertion_element",
5068
16
        FT_NONE, BASE_NONE, NULL, 0,
5069
16
        NULL, HFILL }},
5070
16
    { &hf_dap_memberSelect,
5071
16
      { "memberSelect", "dap.memberSelect",
5072
16
        FT_UINT32, BASE_DEC, VALS(dap_T_memberSelect_vals), 0,
5073
16
        NULL, HFILL }},
5074
16
    { &hf_dap_familySelect,
5075
16
      { "familySelect", "dap.familySelect",
5076
16
        FT_UINT32, BASE_DEC, NULL, 0,
5077
16
        NULL, HFILL }},
5078
16
    { &hf_dap_familySelect_item,
5079
16
      { "familySelect item", "dap.familySelect_item",
5080
16
        FT_OID, BASE_NONE, NULL, 0,
5081
16
        "OBJECT_IDENTIFIER", HFILL }},
5082
16
    { &hf_dap_name,
5083
16
      { "name", "dap.name",
5084
16
        FT_UINT32, BASE_DEC, VALS(x509if_Name_vals), 0,
5085
16
        NULL, HFILL }},
5086
16
    { &hf_dap_fromEntry,
5087
16
      { "fromEntry", "dap.fromEntry",
5088
16
        FT_BOOLEAN, BASE_NONE, NULL, 0,
5089
16
        "BOOLEAN", HFILL }},
5090
16
    { &hf_dap_entry_information,
5091
16
      { "information", "dap.entry_information",
5092
16
        FT_UINT32, BASE_DEC, NULL, 0,
5093
16
        "T_entry_information", HFILL }},
5094
16
    { &hf_dap_entry_information_item,
5095
16
      { "information item", "dap.entry_information_item",
5096
16
        FT_UINT32, BASE_DEC, VALS(dap_EntryInformationItem_vals), 0,
5097
16
        "EntryInformationItem", HFILL }},
5098
16
    { &hf_dap_attributeType,
5099
16
      { "attributeType", "dap.attributeType",
5100
16
        FT_OID, BASE_NONE, NULL, 0,
5101
16
        NULL, HFILL }},
5102
16
    { &hf_dap_attribute,
5103
16
      { "attribute", "dap.attribute_element",
5104
16
        FT_NONE, BASE_NONE, NULL, 0,
5105
16
        NULL, HFILL }},
5106
16
    { &hf_dap_incompleteEntry,
5107
16
      { "incompleteEntry", "dap.incompleteEntry",
5108
16
        FT_BOOLEAN, BASE_NONE, NULL, 0,
5109
16
        "BOOLEAN", HFILL }},
5110
16
    { &hf_dap_partialName,
5111
16
      { "partialName", "dap.partialName",
5112
16
        FT_BOOLEAN, BASE_NONE, NULL, 0,
5113
16
        "BOOLEAN", HFILL }},
5114
16
    { &hf_dap_derivedEntry,
5115
16
      { "derivedEntry", "dap.derivedEntry",
5116
16
        FT_BOOLEAN, BASE_NONE, NULL, 0,
5117
16
        "BOOLEAN", HFILL }},
5118
16
    { &hf_dap_family_class,
5119
16
      { "family-class", "dap.family_class",
5120
16
        FT_OID, BASE_NONE, NULL, 0,
5121
16
        "OBJECT_IDENTIFIER", HFILL }},
5122
16
    { &hf_dap_familyEntries,
5123
16
      { "familyEntries", "dap.familyEntries",
5124
16
        FT_UINT32, BASE_DEC, NULL, 0,
5125
16
        "SEQUENCE_OF_FamilyEntry", HFILL }},
5126
16
    { &hf_dap_familyEntries_item,
5127
16
      { "FamilyEntry", "dap.FamilyEntry_element",
5128
16
        FT_NONE, BASE_NONE, NULL, 0,
5129
16
        NULL, HFILL }},
5130
16
    { &hf_dap_rdn,
5131
16
      { "rdn", "dap.rdn",
5132
16
        FT_UINT32, BASE_DEC, NULL, 0,
5133
16
        "RelativeDistinguishedName", HFILL }},
5134
16
    { &hf_dap_family_information,
5135
16
      { "information", "dap.family_information",
5136
16
        FT_UINT32, BASE_DEC, NULL, 0,
5137
16
        "FamilyInformation", HFILL }},
5138
16
    { &hf_dap_family_information_item,
5139
16
      { "information item", "dap.family_information_item",
5140
16
        FT_UINT32, BASE_DEC, VALS(dap_T_family_information_item_vals), 0,
5141
16
        "T_family_information_item", HFILL }},
5142
16
    { &hf_dap_family_info,
5143
16
      { "family-info", "dap.family_info",
5144
16
        FT_UINT32, BASE_DEC, NULL, 0,
5145
16
        "SEQUENCE_SIZE_1_MAX_OF_FamilyEntries", HFILL }},
5146
16
    { &hf_dap_family_info_item,
5147
16
      { "FamilyEntries", "dap.FamilyEntries_element",
5148
16
        FT_NONE, BASE_NONE, NULL, 0,
5149
16
        NULL, HFILL }},
5150
16
    { &hf_dap_filter_item,
5151
16
      { "item", "dap.filter_item",
5152
16
        FT_UINT32, BASE_DEC, VALS(dap_FilterItem_vals), 0,
5153
16
        "FilterItem", HFILL }},
5154
16
    { &hf_dap_and,
5155
16
      { "and", "dap.and",
5156
16
        FT_UINT32, BASE_DEC, NULL, 0,
5157
16
        "SetOfFilter", HFILL }},
5158
16
    { &hf_dap_or,
5159
16
      { "or", "dap.or",
5160
16
        FT_UINT32, BASE_DEC, NULL, 0,
5161
16
        "SetOfFilter", HFILL }},
5162
16
    { &hf_dap_not,
5163
16
      { "not", "dap.not",
5164
16
        FT_UINT32, BASE_DEC, VALS(dap_Filter_vals), 0,
5165
16
        "Filter", HFILL }},
5166
16
    { &hf_dap_SetOfFilter_item,
5167
16
      { "Filter", "dap.Filter",
5168
16
        FT_UINT32, BASE_DEC, VALS(dap_Filter_vals), 0,
5169
16
        NULL, HFILL }},
5170
16
    { &hf_dap_equality,
5171
16
      { "equality", "dap.equality_element",
5172
16
        FT_NONE, BASE_NONE, NULL, 0,
5173
16
        "AttributeValueAssertion", HFILL }},
5174
16
    { &hf_dap_substrings,
5175
16
      { "substrings", "dap.substrings_element",
5176
16
        FT_NONE, BASE_NONE, NULL, 0,
5177
16
        NULL, HFILL }},
5178
16
    { &hf_dap_sunstringType,
5179
16
      { "type", "dap.sunstringType",
5180
16
        FT_OID, BASE_NONE, NULL, 0,
5181
16
        "OBJECT_IDENTIFIER", HFILL }},
5182
16
    { &hf_dap_strings,
5183
16
      { "strings", "dap.strings",
5184
16
        FT_UINT32, BASE_DEC, NULL, 0,
5185
16
        NULL, HFILL }},
5186
16
    { &hf_dap_strings_item,
5187
16
      { "strings item", "dap.strings_item",
5188
16
        FT_UINT32, BASE_DEC, VALS(dap_T_strings_item_vals), 0,
5189
16
        NULL, HFILL }},
5190
16
    { &hf_dap_initial,
5191
16
      { "initial", "dap.initial_element",
5192
16
        FT_NONE, BASE_NONE, NULL, 0,
5193
16
        NULL, HFILL }},
5194
16
    { &hf_dap_any,
5195
16
      { "any", "dap.any_element",
5196
16
        FT_NONE, BASE_NONE, NULL, 0,
5197
16
        NULL, HFILL }},
5198
16
    { &hf_dap_final,
5199
16
      { "final", "dap.final_element",
5200
16
        FT_NONE, BASE_NONE, NULL, 0,
5201
16
        NULL, HFILL }},
5202
16
    { &hf_dap_control,
5203
16
      { "control", "dap.control_element",
5204
16
        FT_NONE, BASE_NONE, NULL, 0,
5205
16
        "Attribute", HFILL }},
5206
16
    { &hf_dap_greaterOrEqual,
5207
16
      { "greaterOrEqual", "dap.greaterOrEqual_element",
5208
16
        FT_NONE, BASE_NONE, NULL, 0,
5209
16
        "AttributeValueAssertion", HFILL }},
5210
16
    { &hf_dap_lessOrEqual,
5211
16
      { "lessOrEqual", "dap.lessOrEqual_element",
5212
16
        FT_NONE, BASE_NONE, NULL, 0,
5213
16
        "AttributeValueAssertion", HFILL }},
5214
16
    { &hf_dap_present,
5215
16
      { "present", "dap.present",
5216
16
        FT_OID, BASE_NONE, NULL, 0,
5217
16
        "AttributeType", HFILL }},
5218
16
    { &hf_dap_approximateMatch,
5219
16
      { "approximateMatch", "dap.approximateMatch_element",
5220
16
        FT_NONE, BASE_NONE, NULL, 0,
5221
16
        "AttributeValueAssertion", HFILL }},
5222
16
    { &hf_dap_extensibleMatch,
5223
16
      { "extensibleMatch", "dap.extensibleMatch_element",
5224
16
        FT_NONE, BASE_NONE, NULL, 0,
5225
16
        "MatchingRuleAssertion", HFILL }},
5226
16
    { &hf_dap_contextPresent,
5227
16
      { "contextPresent", "dap.contextPresent_element",
5228
16
        FT_NONE, BASE_NONE, NULL, 0,
5229
16
        "AttributeTypeAssertion", HFILL }},
5230
16
    { &hf_dap_matchingRule,
5231
16
      { "matchingRule", "dap.matchingRule",
5232
16
        FT_UINT32, BASE_DEC, NULL, 0,
5233
16
        NULL, HFILL }},
5234
16
    { &hf_dap_matchingRule_item,
5235
16
      { "matchingRule item", "dap.matchingRule_item",
5236
16
        FT_OID, BASE_NONE, NULL, 0,
5237
16
        "OBJECT_IDENTIFIER", HFILL }},
5238
16
    { &hf_dap_matchValue,
5239
16
      { "matchValue", "dap.matchValue_element",
5240
16
        FT_NONE, BASE_NONE, NULL, 0,
5241
16
        NULL, HFILL }},
5242
16
    { &hf_dap_dnAttributes,
5243
16
      { "dnAttributes", "dap.dnAttributes",
5244
16
        FT_BOOLEAN, BASE_NONE, NULL, 0,
5245
16
        "BOOLEAN", HFILL }},
5246
16
    { &hf_dap_newRequest,
5247
16
      { "newRequest", "dap.newRequest_element",
5248
16
        FT_NONE, BASE_NONE, NULL, 0,
5249
16
        NULL, HFILL }},
5250
16
    { &hf_dap_pageSize,
5251
16
      { "pageSize", "dap.pageSize",
5252
16
        FT_INT32, BASE_DEC, NULL, 0,
5253
16
        "INTEGER", HFILL }},
5254
16
    { &hf_dap_sortKeys,
5255
16
      { "sortKeys", "dap.sortKeys",
5256
16
        FT_UINT32, BASE_DEC, NULL, 0,
5257
16
        "SEQUENCE_SIZE_1_MAX_OF_SortKey", HFILL }},
5258
16
    { &hf_dap_sortKeys_item,
5259
16
      { "SortKey", "dap.SortKey_element",
5260
16
        FT_NONE, BASE_NONE, NULL, 0,
5261
16
        NULL, HFILL }},
5262
16
    { &hf_dap_reverse,
5263
16
      { "reverse", "dap.reverse",
5264
16
        FT_BOOLEAN, BASE_NONE, NULL, 0,
5265
16
        "BOOLEAN", HFILL }},
5266
16
    { &hf_dap_unmerged,
5267
16
      { "unmerged", "dap.unmerged",
5268
16
        FT_BOOLEAN, BASE_NONE, NULL, 0,
5269
16
        "BOOLEAN", HFILL }},
5270
16
    { &hf_dap_pagedResultsQueryReference,
5271
16
      { "queryReference", "dap.pagedResultsQueryReference",
5272
16
        FT_BYTES, BASE_NONE, NULL, 0,
5273
16
        "T_pagedResultsQueryReference", HFILL }},
5274
16
    { &hf_dap_orderingRule,
5275
16
      { "orderingRule", "dap.orderingRule",
5276
16
        FT_OID, BASE_NONE, NULL, 0,
5277
16
        "OBJECT_IDENTIFIER", HFILL }},
5278
16
    { &hf_dap_certification_path,
5279
16
      { "certification-path", "dap.certification_path_element",
5280
16
        FT_NONE, BASE_NONE, NULL, 0,
5281
16
        "CertificationPath", HFILL }},
5282
16
    { &hf_dap_distinguished_name,
5283
16
      { "name", "dap.distinguished_name",
5284
16
        FT_UINT32, BASE_DEC, NULL, 0,
5285
16
        "DistinguishedName", HFILL }},
5286
16
    { &hf_dap_time,
5287
16
      { "time", "dap.time",
5288
16
        FT_UINT32, BASE_DEC, VALS(dap_Time_vals), 0,
5289
16
        NULL, HFILL }},
5290
16
    { &hf_dap_random,
5291
16
      { "random", "dap.random",
5292
16
        FT_BYTES, BASE_NONE, NULL, 0,
5293
16
        "BIT_STRING", HFILL }},
5294
16
    { &hf_dap_target,
5295
16
      { "target", "dap.target",
5296
16
        FT_INT32, BASE_DEC, VALS(dap_ProtectionRequest_vals), 0,
5297
16
        "ProtectionRequest", HFILL }},
5298
16
    { &hf_dap_response,
5299
16
      { "response", "dap.response",
5300
16
        FT_BYTES, BASE_NONE, NULL, 0,
5301
16
        "BIT_STRING", HFILL }},
5302
16
    { &hf_dap_operationCode,
5303
16
      { "operationCode", "dap.operationCode",
5304
16
        FT_UINT32, BASE_DEC, VALS(ros_Code_vals), 0,
5305
16
        "Code", HFILL }},
5306
16
    { &hf_dap_attributeCertificationPath,
5307
16
      { "attributeCertificationPath", "dap.attributeCertificationPath_element",
5308
16
        FT_NONE, BASE_NONE, NULL, 0,
5309
16
        NULL, HFILL }},
5310
16
    { &hf_dap_errorProtection,
5311
16
      { "errorProtection", "dap.errorProtection",
5312
16
        FT_INT32, BASE_DEC, VALS(dap_ErrorProtectionRequest_vals), 0,
5313
16
        "ErrorProtectionRequest", HFILL }},
5314
16
    { &hf_dap_errorCode,
5315
16
      { "errorCode", "dap.errorCode",
5316
16
        FT_UINT32, BASE_DEC, VALS(ros_Code_vals), 0,
5317
16
        "Code", HFILL }},
5318
16
    { &hf_dap_utcTime,
5319
16
      { "utcTime", "dap.utcTime",
5320
16
        FT_STRING, BASE_NONE, NULL, 0,
5321
16
        NULL, HFILL }},
5322
16
    { &hf_dap_generalizedTime,
5323
16
      { "generalizedTime", "dap.generalizedTime",
5324
16
        FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0,
5325
16
        NULL, HFILL }},
5326
16
    { &hf_dap_credentials,
5327
16
      { "credentials", "dap.credentials",
5328
16
        FT_UINT32, BASE_DEC, VALS(dap_Credentials_vals), 0,
5329
16
        NULL, HFILL }},
5330
16
    { &hf_dap_versions,
5331
16
      { "versions", "dap.versions",
5332
16
        FT_BYTES, BASE_NONE, NULL, 0,
5333
16
        NULL, HFILL }},
5334
16
    { &hf_dap_simple,
5335
16
      { "simple", "dap.simple_element",
5336
16
        FT_NONE, BASE_NONE, NULL, 0,
5337
16
        "SimpleCredentials", HFILL }},
5338
16
    { &hf_dap_strong,
5339
16
      { "strong", "dap.strong_element",
5340
16
        FT_NONE, BASE_NONE, NULL, 0,
5341
16
        "StrongCredentials", HFILL }},
5342
16
    { &hf_dap_externalProcedure,
5343
16
      { "externalProcedure", "dap.externalProcedure_element",
5344
16
        FT_NONE, BASE_NONE, NULL, 0,
5345
16
        "EXTERNAL", HFILL }},
5346
16
    { &hf_dap_spkm,
5347
16
      { "spkm", "dap.spkm",
5348
16
        FT_UINT32, BASE_DEC, VALS(dap_SpkmCredentials_vals), 0,
5349
16
        "SpkmCredentials", HFILL }},
5350
16
    { &hf_dap_sasl,
5351
16
      { "sasl", "dap.sasl_element",
5352
16
        FT_NONE, BASE_NONE, NULL, 0,
5353
16
        "SaslCredentials", HFILL }},
5354
16
    { &hf_dap_validity,
5355
16
      { "validity", "dap.validity_element",
5356
16
        FT_NONE, BASE_NONE, NULL, 0,
5357
16
        NULL, HFILL }},
5358
16
    { &hf_dap_time1,
5359
16
      { "time1", "dap.time1",
5360
16
        FT_UINT32, BASE_DEC, VALS(dap_T_time1_vals), 0,
5361
16
        NULL, HFILL }},
5362
16
    { &hf_dap_utc,
5363
16
      { "utc", "dap.utc",
5364
16
        FT_STRING, BASE_NONE, NULL, 0,
5365
16
        "UTCTime", HFILL }},
5366
16
    { &hf_dap_gt,
5367
16
      { "gt", "dap.gt",
5368
16
        FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0,
5369
16
        "GeneralizedTime", HFILL }},
5370
16
    { &hf_dap_time2,
5371
16
      { "time2", "dap.time2",
5372
16
        FT_UINT32, BASE_DEC, VALS(dap_T_time2_vals), 0,
5373
16
        NULL, HFILL }},
5374
16
    { &hf_dap_random1,
5375
16
      { "random1", "dap.random1",
5376
16
        FT_BYTES, BASE_NONE, NULL, 0,
5377
16
        "BIT_STRING", HFILL }},
5378
16
    { &hf_dap_random2,
5379
16
      { "random2", "dap.random2",
5380
16
        FT_BYTES, BASE_NONE, NULL, 0,
5381
16
        "BIT_STRING", HFILL }},
5382
16
    { &hf_dap_password,
5383
16
      { "password", "dap.password",
5384
16
        FT_UINT32, BASE_DEC, VALS(dap_T_password_vals), 0,
5385
16
        NULL, HFILL }},
5386
16
    { &hf_dap_unprotected,
5387
16
      { "unprotected", "dap.unprotected",
5388
16
        FT_BYTES, BASE_NONE, NULL, 0,
5389
16
        "OCTET_STRING", HFILL }},
5390
16
    { &hf_dap_protected,
5391
16
      { "protected", "dap.protected_element",
5392
16
        FT_NONE, BASE_NONE, NULL, 0,
5393
16
        NULL, HFILL }},
5394
16
    { &hf_dap_protectedPassword,
5395
16
      { "protectedPassword", "dap.protectedPassword",
5396
16
        FT_BYTES, BASE_NONE, NULL, 0,
5397
16
        "OCTET_STRING", HFILL }},
5398
16
    { &hf_dap_algorithmIdentifier,
5399
16
      { "algorithmIdentifier", "dap.algorithmIdentifier_element",
5400
16
        FT_NONE, BASE_NONE, NULL, 0,
5401
16
        NULL, HFILL }},
5402
16
    { &hf_dap_encrypted,
5403
16
      { "encrypted", "dap.encrypted",
5404
16
        FT_BYTES, BASE_NONE, NULL, 0,
5405
16
        "BIT_STRING", HFILL }},
5406
16
    { &hf_dap_bind_token,
5407
16
      { "bind-token", "dap.bind_token_element",
5408
16
        FT_NONE, BASE_NONE, NULL, 0,
5409
16
        "Token", HFILL }},
5410
16
    { &hf_dap_req,
5411
16
      { "req", "dap.req_element",
5412
16
        FT_NONE, BASE_NONE, NULL, 0,
5413
16
        NULL, HFILL }},
5414
16
    { &hf_dap_rep,
5415
16
      { "rep", "dap.rep_element",
5416
16
        FT_NONE, BASE_NONE, NULL, 0,
5417
16
        NULL, HFILL }},
5418
16
    { &hf_dap_mechanism,
5419
16
      { "mechanism", "dap.mechanism",
5420
16
        FT_UINT32, BASE_DEC, VALS(x509sat_DirectoryString_vals), 0,
5421
16
        "DirectoryString", HFILL }},
5422
16
    { &hf_dap_saslCredentials,
5423
16
      { "credentials", "dap.saslCredentials",
5424
16
        FT_BYTES, BASE_NONE, NULL, 0,
5425
16
        "OCTET_STRING", HFILL }},
5426
16
    { &hf_dap_saslAbort,
5427
16
      { "saslAbort", "dap.saslAbort",
5428
16
        FT_BOOLEAN, BASE_NONE, NULL, 0,
5429
16
        "BOOLEAN", HFILL }},
5430
16
    { &hf_dap_algorithm,
5431
16
      { "algorithm", "dap.algorithm_element",
5432
16
        FT_NONE, BASE_NONE, NULL, 0,
5433
16
        "AlgorithmIdentifier", HFILL }},
5434
16
    { &hf_dap_utctime,
5435
16
      { "time", "dap.utctime",
5436
16
        FT_STRING, BASE_NONE, NULL, 0,
5437
16
        "UTCTime", HFILL }},
5438
16
    { &hf_dap_bindIntAlgorithm,
5439
16
      { "bindIntAlgorithm", "dap.bindIntAlgorithm",
5440
16
        FT_UINT32, BASE_DEC, NULL, 0,
5441
16
        "SEQUENCE_SIZE_1_MAX_OF_AlgorithmIdentifier", HFILL }},
5442
16
    { &hf_dap_bindIntAlgorithm_item,
5443
16
      { "AlgorithmIdentifier", "dap.AlgorithmIdentifier_element",
5444
16
        FT_NONE, BASE_NONE, NULL, 0,
5445
16
        NULL, HFILL }},
5446
16
    { &hf_dap_bindIntKeyInfo,
5447
16
      { "bindIntKeyInfo", "dap.bindIntKeyInfo",
5448
16
        FT_BYTES, BASE_NONE, NULL, 0,
5449
16
        "BindKeyInfo", HFILL }},
5450
16
    { &hf_dap_bindConfAlgorithm,
5451
16
      { "bindConfAlgorithm", "dap.bindConfAlgorithm",
5452
16
        FT_UINT32, BASE_DEC, NULL, 0,
5453
16
        "SEQUENCE_SIZE_1_MAX_OF_AlgorithmIdentifier", HFILL }},
5454
16
    { &hf_dap_bindConfAlgorithm_item,
5455
16
      { "AlgorithmIdentifier", "dap.AlgorithmIdentifier_element",
5456
16
        FT_NONE, BASE_NONE, NULL, 0,
5457
16
        NULL, HFILL }},
5458
16
    { &hf_dap_bindConfKeyInfo,
5459
16
      { "bindConfKeyInfo", "dap.bindConfKeyInfo",
5460
16
        FT_BYTES, BASE_NONE, NULL, 0,
5461
16
        "BindKeyInfo", HFILL }},
5462
16
    { &hf_dap_token_data,
5463
16
      { "token-data", "dap.token_data_element",
5464
16
        FT_NONE, BASE_NONE, NULL, 0,
5465
16
        "TokenData", HFILL }},
5466
16
    { &hf_dap_algorithm_identifier,
5467
16
      { "algorithm-identifier", "dap.algorithm_identifier_element",
5468
16
        FT_NONE, BASE_NONE, NULL, 0,
5469
16
        "AlgorithmIdentifier", HFILL }},
5470
16
    { &hf_dap_unsignedDirectoryBindError,
5471
16
      { "unsignedDirectoryBindError", "dap.unsignedDirectoryBindError_element",
5472
16
        FT_NONE, BASE_NONE, NULL, 0,
5473
16
        "DirectoryBindErrorData", HFILL }},
5474
16
    { &hf_dap_signedDirectoryBindError,
5475
16
      { "signedDirectoryBindError", "dap.signedDirectoryBindError_element",
5476
16
        FT_NONE, BASE_NONE, NULL, 0,
5477
16
        NULL, HFILL }},
5478
16
    { &hf_dap_directoryBindError,
5479
16
      { "directoryBindError", "dap.directoryBindError_element",
5480
16
        FT_NONE, BASE_NONE, NULL, 0,
5481
16
        "DirectoryBindErrorData", HFILL }},
5482
16
    { &hf_dap_error,
5483
16
      { "error", "dap.error",
5484
16
        FT_UINT32, BASE_DEC, VALS(dap_T_error_vals), 0,
5485
16
        NULL, HFILL }},
5486
16
    { &hf_dap_serviceProblem,
5487
16
      { "serviceError", "dap.serviceProblem",
5488
16
        FT_INT32, BASE_DEC, VALS(dap_ServiceProblem_vals), 0,
5489
16
        "ServiceProblem", HFILL }},
5490
16
    { &hf_dap_securityProblem,
5491
16
      { "securityError", "dap.securityProblem",
5492
16
        FT_INT32, BASE_DEC, VALS(dap_SecurityProblem_vals), 0,
5493
16
        "SecurityProblem", HFILL }},
5494
16
    { &hf_dap_securityParameters,
5495
16
      { "securityParameters", "dap.securityParameters_element",
5496
16
        FT_NONE, BASE_NONE, NULL, 0,
5497
16
        NULL, HFILL }},
5498
16
    { &hf_dap_object,
5499
16
      { "object", "dap.object",
5500
16
        FT_UINT32, BASE_DEC, VALS(x509if_Name_vals), 0,
5501
16
        "Name", HFILL }},
5502
16
    { &hf_dap_selection,
5503
16
      { "selection", "dap.selection_element",
5504
16
        FT_NONE, BASE_NONE, NULL, 0,
5505
16
        "EntryInformationSelection", HFILL }},
5506
16
    { &hf_dap_modifyRightsRequest,
5507
16
      { "modifyRightsRequest", "dap.modifyRightsRequest",
5508
16
        FT_BOOLEAN, BASE_NONE, NULL, 0,
5509
16
        "BOOLEAN", HFILL }},
5510
16
    { &hf_dap_serviceControls,
5511
16
      { "serviceControls", "dap.serviceControls_element",
5512
16
        FT_NONE, BASE_NONE, NULL, 0,
5513
16
        NULL, HFILL }},
5514
16
    { &hf_dap_requestor,
5515
16
      { "requestor", "dap.requestor",
5516
16
        FT_UINT32, BASE_DEC, NULL, 0,
5517
16
        "DistinguishedName", HFILL }},
5518
16
    { &hf_dap_operationProgress,
5519
16
      { "operationProgress", "dap.operationProgress_element",
5520
16
        FT_NONE, BASE_NONE, NULL, 0,
5521
16
        NULL, HFILL }},
5522
16
    { &hf_dap_aliasedRDNs,
5523
16
      { "aliasedRDNs", "dap.aliasedRDNs",
5524
16
        FT_INT32, BASE_DEC, NULL, 0,
5525
16
        "INTEGER", HFILL }},
5526
16
    { &hf_dap_criticalExtensions,
5527
16
      { "criticalExtensions", "dap.criticalExtensions",
5528
16
        FT_BYTES, BASE_NONE, NULL, 0,
5529
16
        "BIT_STRING", HFILL }},
5530
16
    { &hf_dap_referenceType,
5531
16
      { "referenceType", "dap.referenceType",
5532
16
        FT_UINT32, BASE_DEC, VALS(dsp_ReferenceType_vals), 0,
5533
16
        NULL, HFILL }},
5534
16
    { &hf_dap_entryOnly,
5535
16
      { "entryOnly", "dap.entryOnly",
5536
16
        FT_BOOLEAN, BASE_NONE, NULL, 0,
5537
16
        "BOOLEAN", HFILL }},
5538
16
    { &hf_dap_exclusions,
5539
16
      { "exclusions", "dap.exclusions",
5540
16
        FT_UINT32, BASE_DEC, NULL, 0,
5541
16
        NULL, HFILL }},
5542
16
    { &hf_dap_nameResolveOnMaster,
5543
16
      { "nameResolveOnMaster", "dap.nameResolveOnMaster",
5544
16
        FT_BOOLEAN, BASE_NONE, NULL, 0,
5545
16
        "BOOLEAN", HFILL }},
5546
16
    { &hf_dap_operationContexts,
5547
16
      { "operationContexts", "dap.operationContexts",
5548
16
        FT_UINT32, BASE_DEC, VALS(dap_ContextSelection_vals), 0,
5549
16
        "ContextSelection", HFILL }},
5550
16
    { &hf_dap_familyGrouping,
5551
16
      { "familyGrouping", "dap.familyGrouping",
5552
16
        FT_UINT32, BASE_DEC, VALS(dap_FamilyGrouping_vals), 0,
5553
16
        NULL, HFILL }},
5554
16
    { &hf_dap_rdnSequence,
5555
16
      { "rdnSequence", "dap.rdnSequence",
5556
16
        FT_UINT32, BASE_DEC, NULL, 0,
5557
16
        NULL, HFILL }},
5558
16
    { &hf_dap_unsignedReadArgument,
5559
16
      { "unsignedReadArgument", "dap.unsignedReadArgument_element",
5560
16
        FT_NONE, BASE_NONE, NULL, 0,
5561
16
        "ReadArgumentData", HFILL }},
5562
16
    { &hf_dap_signedReadArgument,
5563
16
      { "signedReadArgument", "dap.signedReadArgument_element",
5564
16
        FT_NONE, BASE_NONE, NULL, 0,
5565
16
        NULL, HFILL }},
5566
16
    { &hf_dap_readArgument,
5567
16
      { "readArgument", "dap.readArgument_element",
5568
16
        FT_NONE, BASE_NONE, NULL, 0,
5569
16
        "ReadArgumentData", HFILL }},
5570
16
    { &hf_dap_entry,
5571
16
      { "entry", "dap.entry_element",
5572
16
        FT_NONE, BASE_NONE, NULL, 0,
5573
16
        "EntryInformation", HFILL }},
5574
16
    { &hf_dap_modifyRights,
5575
16
      { "modifyRights", "dap.modifyRights",
5576
16
        FT_UINT32, BASE_DEC, NULL, 0,
5577
16
        NULL, HFILL }},
5578
16
    { &hf_dap_performer,
5579
16
      { "performer", "dap.performer",
5580
16
        FT_UINT32, BASE_DEC, NULL, 0,
5581
16
        "DistinguishedName", HFILL }},
5582
16
    { &hf_dap_aliasDereferenced,
5583
16
      { "aliasDereferenced", "dap.aliasDereferenced",
5584
16
        FT_BOOLEAN, BASE_NONE, NULL, 0,
5585
16
        "BOOLEAN", HFILL }},
5586
16
    { &hf_dap_notification,
5587
16
      { "notification", "dap.notification",
5588
16
        FT_UINT32, BASE_DEC, NULL, 0,
5589
16
        "SEQUENCE_SIZE_1_MAX_OF_Attribute", HFILL }},
5590
16
    { &hf_dap_notification_item,
5591
16
      { "Attribute", "dap.Attribute_element",
5592
16
        FT_NONE, BASE_NONE, NULL, 0,
5593
16
        NULL, HFILL }},
5594
16
    { &hf_dap_unsignedReadResult,
5595
16
      { "unsignedReadResult", "dap.unsignedReadResult_element",
5596
16
        FT_NONE, BASE_NONE, NULL, 0,
5597
16
        "ReadResultData", HFILL }},
5598
16
    { &hf_dap_signedReadResult,
5599
16
      { "signedReadResult", "dap.signedReadResult_element",
5600
16
        FT_NONE, BASE_NONE, NULL, 0,
5601
16
        NULL, HFILL }},
5602
16
    { &hf_dap_readResult,
5603
16
      { "readResult", "dap.readResult_element",
5604
16
        FT_NONE, BASE_NONE, NULL, 0,
5605
16
        "ReadResultData", HFILL }},
5606
16
    { &hf_dap_ModifyRights_item,
5607
16
      { "ModifyRights item", "dap.ModifyRights_item_element",
5608
16
        FT_NONE, BASE_NONE, NULL, 0,
5609
16
        NULL, HFILL }},
5610
16
    { &hf_dap_item,
5611
16
      { "item", "dap.item",
5612
16
        FT_UINT32, BASE_DEC, VALS(dap_T_item_vals), 0,
5613
16
        NULL, HFILL }},
5614
16
    { &hf_dap_item_entry,
5615
16
      { "entry", "dap.item_entry_element",
5616
16
        FT_NONE, BASE_NONE, NULL, 0,
5617
16
        NULL, HFILL }},
5618
16
    { &hf_dap_attribute_type,
5619
16
      { "attribute", "dap.attribute_type",
5620
16
        FT_OID, BASE_NONE, NULL, 0,
5621
16
        "AttributeType", HFILL }},
5622
16
    { &hf_dap_value_assertion,
5623
16
      { "value", "dap.value_assertion_element",
5624
16
        FT_NONE, BASE_NONE, NULL, 0,
5625
16
        "AttributeValueAssertion", HFILL }},
5626
16
    { &hf_dap_permission,
5627
16
      { "permission", "dap.permission",
5628
16
        FT_BYTES, BASE_NONE, NULL, 0,
5629
16
        NULL, HFILL }},
5630
16
    { &hf_dap_purported,
5631
16
      { "purported", "dap.purported_element",
5632
16
        FT_NONE, BASE_NONE, NULL, 0,
5633
16
        "AttributeValueAssertion", HFILL }},
5634
16
    { &hf_dap_unsignedCompareArgument,
5635
16
      { "unsignedCompareArgument", "dap.unsignedCompareArgument_element",
5636
16
        FT_NONE, BASE_NONE, NULL, 0,
5637
16
        "CompareArgumentData", HFILL }},
5638
16
    { &hf_dap_signedCompareArgument,
5639
16
      { "signedCompareArgument", "dap.signedCompareArgument_element",
5640
16
        FT_NONE, BASE_NONE, NULL, 0,
5641
16
        NULL, HFILL }},
5642
16
    { &hf_dap_compareArgument,
5643
16
      { "compareArgument", "dap.compareArgument_element",
5644
16
        FT_NONE, BASE_NONE, NULL, 0,
5645
16
        "CompareArgumentData", HFILL }},
5646
16
    { &hf_dap_matched,
5647
16
      { "matched", "dap.matched",
5648
16
        FT_BOOLEAN, BASE_NONE, NULL, 0,
5649
16
        "BOOLEAN", HFILL }},
5650
16
    { &hf_dap_matchedSubtype,
5651
16
      { "matchedSubtype", "dap.matchedSubtype",
5652
16
        FT_OID, BASE_NONE, NULL, 0,
5653
16
        "AttributeType", HFILL }},
5654
16
    { &hf_dap_unsignedCompareResult,
5655
16
      { "unsignedCompareResult", "dap.unsignedCompareResult_element",
5656
16
        FT_NONE, BASE_NONE, NULL, 0,
5657
16
        "CompareResultData", HFILL }},
5658
16
    { &hf_dap_signedCompareResult,
5659
16
      { "signedCompareResult", "dap.signedCompareResult_element",
5660
16
        FT_NONE, BASE_NONE, NULL, 0,
5661
16
        NULL, HFILL }},
5662
16
    { &hf_dap_compareResult,
5663
16
      { "compareResult", "dap.compareResult_element",
5664
16
        FT_NONE, BASE_NONE, NULL, 0,
5665
16
        "CompareResultData", HFILL }},
5666
16
    { &hf_dap_invokeID,
5667
16
      { "invokeID", "dap.invokeID",
5668
16
        FT_UINT32, BASE_DEC, VALS(ros_InvokeId_vals), 0,
5669
16
        NULL, HFILL }},
5670
16
    { &hf_dap_unsignedAbandonArgument,
5671
16
      { "unsignedAbandonArgument", "dap.unsignedAbandonArgument_element",
5672
16
        FT_NONE, BASE_NONE, NULL, 0,
5673
16
        "AbandonArgumentData", HFILL }},
5674
16
    { &hf_dap_signedAbandonArgument,
5675
16
      { "signedAbandonArgument", "dap.signedAbandonArgument_element",
5676
16
        FT_NONE, BASE_NONE, NULL, 0,
5677
16
        NULL, HFILL }},
5678
16
    { &hf_dap_abandonArgument,
5679
16
      { "abandonArgument", "dap.abandonArgument_element",
5680
16
        FT_NONE, BASE_NONE, NULL, 0,
5681
16
        "AbandonArgumentData", HFILL }},
5682
16
    { &hf_dap_null,
5683
16
      { "null", "dap.null_element",
5684
16
        FT_NONE, BASE_NONE, NULL, 0,
5685
16
        NULL, HFILL }},
5686
16
    { &hf_dap_abandon_information,
5687
16
      { "information", "dap.abandon_information",
5688
16
        FT_UINT32, BASE_DEC, VALS(dap_AbandonInformation_vals), 0,
5689
16
        "AbandonInformation", HFILL }},
5690
16
    { &hf_dap_unsignedAbandonResult,
5691
16
      { "unsignedAbandonResult", "dap.unsignedAbandonResult_element",
5692
16
        FT_NONE, BASE_NONE, NULL, 0,
5693
16
        "AbandonResultData", HFILL }},
5694
16
    { &hf_dap_signedAbandonResult,
5695
16
      { "signedAbandonResult", "dap.signedAbandonResult_element",
5696
16
        FT_NONE, BASE_NONE, NULL, 0,
5697
16
        NULL, HFILL }},
5698
16
    { &hf_dap_abandonResult,
5699
16
      { "abandonResult", "dap.abandonResult_element",
5700
16
        FT_NONE, BASE_NONE, NULL, 0,
5701
16
        "AbandonResultData", HFILL }},
5702
16
    { &hf_dap_pagedResults,
5703
16
      { "pagedResults", "dap.pagedResults",
5704
16
        FT_UINT32, BASE_DEC, VALS(dap_PagedResultsRequest_vals), 0,
5705
16
        "PagedResultsRequest", HFILL }},
5706
16
    { &hf_dap_listFamily,
5707
16
      { "listFamily", "dap.listFamily",
5708
16
        FT_BOOLEAN, BASE_NONE, NULL, 0,
5709
16
        "BOOLEAN", HFILL }},
5710
16
    { &hf_dap_unsignedListArgument,
5711
16
      { "unsignedListArgument", "dap.unsignedListArgument_element",
5712
16
        FT_NONE, BASE_NONE, NULL, 0,
5713
16
        "ListArgumentData", HFILL }},
5714
16
    { &hf_dap_signedListArgument,
5715
16
      { "signedListArgument", "dap.signedListArgument_element",
5716
16
        FT_NONE, BASE_NONE, NULL, 0,
5717
16
        NULL, HFILL }},
5718
16
    { &hf_dap_listArgument,
5719
16
      { "listArgument", "dap.listArgument_element",
5720
16
        FT_NONE, BASE_NONE, NULL, 0,
5721
16
        "ListArgumentData", HFILL }},
5722
16
    { &hf_dap_listInfo,
5723
16
      { "listInfo", "dap.listInfo_element",
5724
16
        FT_NONE, BASE_NONE, NULL, 0,
5725
16
        NULL, HFILL }},
5726
16
    { &hf_dap_subordinates,
5727
16
      { "subordinates", "dap.subordinates",
5728
16
        FT_UINT32, BASE_DEC, NULL, 0,
5729
16
        NULL, HFILL }},
5730
16
    { &hf_dap_subordinates_item,
5731
16
      { "subordinates item", "dap.subordinates_item_element",
5732
16
        FT_NONE, BASE_NONE, NULL, 0,
5733
16
        NULL, HFILL }},
5734
16
    { &hf_dap_aliasEntry,
5735
16
      { "aliasEntry", "dap.aliasEntry",
5736
16
        FT_BOOLEAN, BASE_NONE, NULL, 0,
5737
16
        "BOOLEAN", HFILL }},
5738
16
    { &hf_dap_partialOutcomeQualifier,
5739
16
      { "partialOutcomeQualifier", "dap.partialOutcomeQualifier_element",
5740
16
        FT_NONE, BASE_NONE, NULL, 0,
5741
16
        NULL, HFILL }},
5742
16
    { &hf_dap_uncorrelatedListInfo,
5743
16
      { "uncorrelatedListInfo", "dap.uncorrelatedListInfo",
5744
16
        FT_UINT32, BASE_DEC, NULL, 0,
5745
16
        "SET_OF_ListResult", HFILL }},
5746
16
    { &hf_dap_uncorrelatedListInfo_item,
5747
16
      { "ListResult", "dap.ListResult",
5748
16
        FT_UINT32, BASE_DEC, VALS(dap_ListResult_vals), 0,
5749
16
        NULL, HFILL }},
5750
16
    { &hf_dap_unsignedListResult,
5751
16
      { "unsignedListResult", "dap.unsignedListResult",
5752
16
        FT_UINT32, BASE_DEC, VALS(dap_ListResultData_vals), 0,
5753
16
        "ListResultData", HFILL }},
5754
16
    { &hf_dap_signedListResult,
5755
16
      { "signedListResult", "dap.signedListResult_element",
5756
16
        FT_NONE, BASE_NONE, NULL, 0,
5757
16
        NULL, HFILL }},
5758
16
    { &hf_dap_listResult,
5759
16
      { "listResult", "dap.listResult",
5760
16
        FT_UINT32, BASE_DEC, VALS(dap_ListResultData_vals), 0,
5761
16
        "ListResultData", HFILL }},
5762
16
    { &hf_dap_limitProblem,
5763
16
      { "limitProblem", "dap.limitProblem",
5764
16
        FT_INT32, BASE_DEC, VALS(dap_LimitProblem_vals), 0,
5765
16
        NULL, HFILL }},
5766
16
    { &hf_dap_unexplored,
5767
16
      { "unexplored", "dap.unexplored",
5768
16
        FT_UINT32, BASE_DEC, NULL, 0,
5769
16
        "SET_SIZE_1_MAX_OF_ContinuationReference", HFILL }},
5770
16
    { &hf_dap_unexplored_item,
5771
16
      { "ContinuationReference", "dap.ContinuationReference_element",
5772
16
        FT_NONE, BASE_NONE, NULL, 0,
5773
16
        NULL, HFILL }},
5774
16
    { &hf_dap_unavailableCriticalExtensions,
5775
16
      { "unavailableCriticalExtensions", "dap.unavailableCriticalExtensions",
5776
16
        FT_BOOLEAN, BASE_NONE, NULL, 0,
5777
16
        "BOOLEAN", HFILL }},
5778
16
    { &hf_dap_unknownErrors,
5779
16
      { "unknownErrors", "dap.unknownErrors",
5780
16
        FT_UINT32, BASE_DEC, NULL, 0,
5781
16
        NULL, HFILL }},
5782
16
    { &hf_dap_unknownErrors_item,
5783
16
      { "unknownErrors item", "dap.unknownErrors_item",
5784
16
        FT_OID, BASE_NONE, NULL, 0,
5785
16
        "OBJECT_IDENTIFIER", HFILL }},
5786
16
    { &hf_dap_queryReference,
5787
16
      { "queryReference", "dap.queryReference",
5788
16
        FT_BYTES, BASE_NONE, NULL, 0,
5789
16
        "OCTET_STRING", HFILL }},
5790
16
    { &hf_dap_overspecFilter,
5791
16
      { "overspecFilter", "dap.overspecFilter",
5792
16
        FT_UINT32, BASE_DEC, VALS(dap_Filter_vals), 0,
5793
16
        "Filter", HFILL }},
5794
16
    { &hf_dap_entryCount,
5795
16
      { "entryCount", "dap.entryCount",
5796
16
        FT_UINT32, BASE_DEC, VALS(dap_T_entryCount_vals), 0,
5797
16
        NULL, HFILL }},
5798
16
    { &hf_dap_bestEstimate,
5799
16
      { "bestEstimate", "dap.bestEstimate",
5800
16
        FT_INT32, BASE_DEC, NULL, 0,
5801
16
        "INTEGER", HFILL }},
5802
16
    { &hf_dap_lowEstimate,
5803
16
      { "lowEstimate", "dap.lowEstimate",
5804
16
        FT_INT32, BASE_DEC, NULL, 0,
5805
16
        "INTEGER", HFILL }},
5806
16
    { &hf_dap_exact,
5807
16
      { "exact", "dap.exact",
5808
16
        FT_INT32, BASE_DEC, NULL, 0,
5809
16
        "INTEGER", HFILL }},
5810
16
    { &hf_dap_streamedResult,
5811
16
      { "streamedResult", "dap.streamedResult",
5812
16
        FT_BOOLEAN, BASE_NONE, NULL, 0,
5813
16
        "BOOLEAN", HFILL }},
5814
16
    { &hf_dap_baseObject,
5815
16
      { "baseObject", "dap.baseObject",
5816
16
        FT_UINT32, BASE_DEC, VALS(x509if_Name_vals), 0,
5817
16
        "Name", HFILL }},
5818
16
    { &hf_dap_subset,
5819
16
      { "subset", "dap.subset",
5820
16
        FT_INT32, BASE_DEC, VALS(dap_T_subset_vals), 0,
5821
16
        NULL, HFILL }},
5822
16
    { &hf_dap_filter,
5823
16
      { "filter", "dap.filter",
5824
16
        FT_UINT32, BASE_DEC, VALS(dap_Filter_vals), 0,
5825
16
        NULL, HFILL }},
5826
16
    { &hf_dap_searchAliases,
5827
16
      { "searchAliases", "dap.searchAliases",
5828
16
        FT_BOOLEAN, BASE_NONE, NULL, 0,
5829
16
        "BOOLEAN", HFILL }},
5830
16
    { &hf_dap_matchedValuesOnly,
5831
16
      { "matchedValuesOnly", "dap.matchedValuesOnly",
5832
16
        FT_BOOLEAN, BASE_NONE, NULL, 0,
5833
16
        "BOOLEAN", HFILL }},
5834
16
    { &hf_dap_extendedFilter,
5835
16
      { "extendedFilter", "dap.extendedFilter",
5836
16
        FT_UINT32, BASE_DEC, VALS(dap_Filter_vals), 0,
5837
16
        "Filter", HFILL }},
5838
16
    { &hf_dap_checkOverspecified,
5839
16
      { "checkOverspecified", "dap.checkOverspecified",
5840
16
        FT_BOOLEAN, BASE_NONE, NULL, 0,
5841
16
        "BOOLEAN", HFILL }},
5842
16
    { &hf_dap_relaxation,
5843
16
      { "relaxation", "dap.relaxation_element",
5844
16
        FT_NONE, BASE_NONE, NULL, 0,
5845
16
        "RelaxationPolicy", HFILL }},
5846
16
    { &hf_dap_extendedArea,
5847
16
      { "extendedArea", "dap.extendedArea",
5848
16
        FT_INT32, BASE_DEC, NULL, 0,
5849
16
        "INTEGER", HFILL }},
5850
16
    { &hf_dap_hierarchySelections,
5851
16
      { "hierarchySelections", "dap.hierarchySelections",
5852
16
        FT_BYTES, BASE_NONE, NULL, 0,
5853
16
        NULL, HFILL }},
5854
16
    { &hf_dap_searchControlOptions,
5855
16
      { "searchControlOptions", "dap.searchControlOptions",
5856
16
        FT_BYTES, BASE_NONE, NULL, 0,
5857
16
        NULL, HFILL }},
5858
16
    { &hf_dap_joinArguments,
5859
16
      { "joinArguments", "dap.joinArguments",
5860
16
        FT_UINT32, BASE_DEC, NULL, 0,
5861
16
        "SEQUENCE_SIZE_1_MAX_OF_JoinArgument", HFILL }},
5862
16
    { &hf_dap_joinArguments_item,
5863
16
      { "JoinArgument", "dap.JoinArgument_element",
5864
16
        FT_NONE, BASE_NONE, NULL, 0,
5865
16
        NULL, HFILL }},
5866
16
    { &hf_dap_joinType,
5867
16
      { "joinType", "dap.joinType",
5868
16
        FT_UINT32, BASE_DEC, VALS(dap_T_joinType_vals), 0,
5869
16
        NULL, HFILL }},
5870
16
    { &hf_dap_unsignedSearchArgument,
5871
16
      { "unsignedSearchArgument", "dap.unsignedSearchArgument_element",
5872
16
        FT_NONE, BASE_NONE, NULL, 0,
5873
16
        "SearchArgumentData", HFILL }},
5874
16
    { &hf_dap_signedSearchArgument,
5875
16
      { "signedSearchArgument", "dap.signedSearchArgument_element",
5876
16
        FT_NONE, BASE_NONE, NULL, 0,
5877
16
        NULL, HFILL }},
5878
16
    { &hf_dap_searchArgument,
5879
16
      { "searchArgument", "dap.searchArgument_element",
5880
16
        FT_NONE, BASE_NONE, NULL, 0,
5881
16
        "SearchArgumentData", HFILL }},
5882
16
    { &hf_dap_joinBaseObject,
5883
16
      { "joinBaseObject", "dap.joinBaseObject",
5884
16
        FT_UINT32, BASE_DEC, VALS(x509if_Name_vals), 0,
5885
16
        "Name", HFILL }},
5886
16
    { &hf_dap_domainLocalID,
5887
16
      { "domainLocalID", "dap.domainLocalID",
5888
16
        FT_UINT32, BASE_DEC, VALS(x509sat_DirectoryString_vals), 0,
5889
16
        NULL, HFILL }},
5890
16
    { &hf_dap_joinSubset,
5891
16
      { "joinSubset", "dap.joinSubset",
5892
16
        FT_UINT32, BASE_DEC, VALS(dap_T_joinSubset_vals), 0,
5893
16
        NULL, HFILL }},
5894
16
    { &hf_dap_joinFilter,
5895
16
      { "joinFilter", "dap.joinFilter",
5896
16
        FT_UINT32, BASE_DEC, VALS(dap_Filter_vals), 0,
5897
16
        "Filter", HFILL }},
5898
16
    { &hf_dap_joinAttributes,
5899
16
      { "joinAttributes", "dap.joinAttributes",
5900
16
        FT_UINT32, BASE_DEC, NULL, 0,
5901
16
        "SEQUENCE_SIZE_1_MAX_OF_JoinAttPair", HFILL }},
5902
16
    { &hf_dap_joinAttributes_item,
5903
16
      { "JoinAttPair", "dap.JoinAttPair_element",
5904
16
        FT_NONE, BASE_NONE, NULL, 0,
5905
16
        NULL, HFILL }},
5906
16
    { &hf_dap_joinSelection,
5907
16
      { "joinSelection", "dap.joinSelection_element",
5908
16
        FT_NONE, BASE_NONE, NULL, 0,
5909
16
        "EntryInformationSelection", HFILL }},
5910
16
    { &hf_dap_baseAtt,
5911
16
      { "baseAtt", "dap.baseAtt",
5912
16
        FT_OID, BASE_NONE, NULL, 0,
5913
16
        "AttributeType", HFILL }},
5914
16
    { &hf_dap_joinAtt,
5915
16
      { "joinAtt", "dap.joinAtt",
5916
16
        FT_OID, BASE_NONE, NULL, 0,
5917
16
        "AttributeType", HFILL }},
5918
16
    { &hf_dap_joinContext,
5919
16
      { "joinContext", "dap.joinContext",
5920
16
        FT_UINT32, BASE_DEC, NULL, 0,
5921
16
        "SEQUENCE_SIZE_1_MAX_OF_JoinContextType", HFILL }},
5922
16
    { &hf_dap_joinContext_item,
5923
16
      { "JoinContextType", "dap.JoinContextType",
5924
16
        FT_OID, BASE_NONE, NULL, 0,
5925
16
        NULL, HFILL }},
5926
16
    { &hf_dap_searchInfo,
5927
16
      { "searchInfo", "dap.searchInfo_element",
5928
16
        FT_NONE, BASE_NONE, NULL, 0,
5929
16
        NULL, HFILL }},
5930
16
    { &hf_dap_entries,
5931
16
      { "entries", "dap.entries",
5932
16
        FT_UINT32, BASE_DEC, NULL, 0,
5933
16
        "SET_OF_EntryInformation", HFILL }},
5934
16
    { &hf_dap_entries_item,
5935
16
      { "EntryInformation", "dap.EntryInformation_element",
5936
16
        FT_NONE, BASE_NONE, NULL, 0,
5937
16
        NULL, HFILL }},
5938
16
    { &hf_dap_altMatching,
5939
16
      { "altMatching", "dap.altMatching",
5940
16
        FT_BOOLEAN, BASE_NONE, NULL, 0,
5941
16
        "BOOLEAN", HFILL }},
5942
16
    { &hf_dap_uncorrelatedSearchInfo,
5943
16
      { "uncorrelatedSearchInfo", "dap.uncorrelatedSearchInfo",
5944
16
        FT_UINT32, BASE_DEC, NULL, 0,
5945
16
        "SET_OF_SearchResult", HFILL }},
5946
16
    { &hf_dap_uncorrelatedSearchInfo_item,
5947
16
      { "SearchResult", "dap.SearchResult",
5948
16
        FT_UINT32, BASE_DEC, VALS(dap_SearchResult_vals), 0,
5949
16
        NULL, HFILL }},
5950
16
    { &hf_dap_unsignedSearchResult,
5951
16
      { "unsignedSearchResult", "dap.unsignedSearchResult",
5952
16
        FT_UINT32, BASE_DEC, VALS(dap_SearchResultData_vals), 0,
5953
16
        "SearchResultData", HFILL }},
5954
16
    { &hf_dap_signedSearchResult,
5955
16
      { "signedSearchResult", "dap.signedSearchResult_element",
5956
16
        FT_NONE, BASE_NONE, NULL, 0,
5957
16
        NULL, HFILL }},
5958
16
    { &hf_dap_searchResult,
5959
16
      { "searchResult", "dap.searchResult",
5960
16
        FT_UINT32, BASE_DEC, VALS(dap_SearchResultData_vals), 0,
5961
16
        "SearchResultData", HFILL }},
5962
16
    { &hf_dap_add_entry,
5963
16
      { "entry", "dap.add_entry",
5964
16
        FT_UINT32, BASE_DEC, NULL, 0,
5965
16
        "SET_OF_Attribute", HFILL }},
5966
16
    { &hf_dap_add_entry_item,
5967
16
      { "Attribute", "dap.Attribute_element",
5968
16
        FT_NONE, BASE_NONE, NULL, 0,
5969
16
        NULL, HFILL }},
5970
16
    { &hf_dap_targetSystem,
5971
16
      { "targetSystem", "dap.targetSystem_element",
5972
16
        FT_NONE, BASE_NONE, NULL, 0,
5973
16
        "AccessPoint", HFILL }},
5974
16
    { &hf_dap_unsignedAddEntryArgument,
5975
16
      { "unsignedAddEntryArgument", "dap.unsignedAddEntryArgument_element",
5976
16
        FT_NONE, BASE_NONE, NULL, 0,
5977
16
        "AddEntryArgumentData", HFILL }},
5978
16
    { &hf_dap_signedAddEntryArgument,
5979
16
      { "signedAddEntryArgument", "dap.signedAddEntryArgument_element",
5980
16
        FT_NONE, BASE_NONE, NULL, 0,
5981
16
        NULL, HFILL }},
5982
16
    { &hf_dap_addEntryArgument,
5983
16
      { "addEntryArgument", "dap.addEntryArgument_element",
5984
16
        FT_NONE, BASE_NONE, NULL, 0,
5985
16
        "AddEntryArgumentData", HFILL }},
5986
16
    { &hf_dap_add_entry_information,
5987
16
      { "information", "dap.add_entry_information",
5988
16
        FT_UINT32, BASE_DEC, VALS(dap_AddEntryInformation_vals), 0,
5989
16
        "AddEntryInformation", HFILL }},
5990
16
    { &hf_dap_unsignedAddEntryResult,
5991
16
      { "unsignedAddEntryResult", "dap.unsignedAddEntryResult_element",
5992
16
        FT_NONE, BASE_NONE, NULL, 0,
5993
16
        "AddEntryResultData", HFILL }},
5994
16
    { &hf_dap_signedAddEntryResult,
5995
16
      { "signedAddEntryResult", "dap.signedAddEntryResult_element",
5996
16
        FT_NONE, BASE_NONE, NULL, 0,
5997
16
        NULL, HFILL }},
5998
16
    { &hf_dap_addEntryResult,
5999
16
      { "addEntryResult", "dap.addEntryResult_element",
6000
16
        FT_NONE, BASE_NONE, NULL, 0,
6001
16
        "AddEntryResultData", HFILL }},
6002
16
    { &hf_dap_unsignedRemoveEntryArgument,
6003
16
      { "unsignedRemoveEntryArgument", "dap.unsignedRemoveEntryArgument_element",
6004
16
        FT_NONE, BASE_NONE, NULL, 0,
6005
16
        "RemoveEntryArgumentData", HFILL }},
6006
16
    { &hf_dap_signedRemoveEntryArgument,
6007
16
      { "signedRemoveEntryArgument", "dap.signedRemoveEntryArgument_element",
6008
16
        FT_NONE, BASE_NONE, NULL, 0,
6009
16
        NULL, HFILL }},
6010
16
    { &hf_dap_removeEntryArgument,
6011
16
      { "removeEntryArgument", "dap.removeEntryArgument_element",
6012
16
        FT_NONE, BASE_NONE, NULL, 0,
6013
16
        "RemoveEntryArgumentData", HFILL }},
6014
16
    { &hf_dap_remove_entry_information,
6015
16
      { "information", "dap.remove_entry_information",
6016
16
        FT_UINT32, BASE_DEC, VALS(dap_RemoveEntryInformation_vals), 0,
6017
16
        "RemoveEntryInformation", HFILL }},
6018
16
    { &hf_dap_unsignedRemoveEntryResult,
6019
16
      { "unsignedRemoveEntryResult", "dap.unsignedRemoveEntryResult_element",
6020
16
        FT_NONE, BASE_NONE, NULL, 0,
6021
16
        "RemoveEntryResultData", HFILL }},
6022
16
    { &hf_dap_signedRemoveEntryResult,
6023
16
      { "signedRemoveEntryResult", "dap.signedRemoveEntryResult_element",
6024
16
        FT_NONE, BASE_NONE, NULL, 0,
6025
16
        NULL, HFILL }},
6026
16
    { &hf_dap_removeEntryResult,
6027
16
      { "removeEntryResult", "dap.removeEntryResult_element",
6028
16
        FT_NONE, BASE_NONE, NULL, 0,
6029
16
        "RemoveEntryResultData", HFILL }},
6030
16
    { &hf_dap_changes,
6031
16
      { "changes", "dap.changes",
6032
16
        FT_UINT32, BASE_DEC, NULL, 0,
6033
16
        "SEQUENCE_OF_EntryModification", HFILL }},
6034
16
    { &hf_dap_changes_item,
6035
16
      { "EntryModification", "dap.EntryModification",
6036
16
        FT_UINT32, BASE_DEC, VALS(dap_EntryModification_vals), 0,
6037
16
        NULL, HFILL }},
6038
16
    { &hf_dap_unsignedModifyEntryArgument,
6039
16
      { "unsignedModifyEntryArgument", "dap.unsignedModifyEntryArgument_element",
6040
16
        FT_NONE, BASE_NONE, NULL, 0,
6041
16
        "ModifyEntryArgumentData", HFILL }},
6042
16
    { &hf_dap_signedModifyEntryArgument,
6043
16
      { "signedModifyEntryArgument", "dap.signedModifyEntryArgument_element",
6044
16
        FT_NONE, BASE_NONE, NULL, 0,
6045
16
        NULL, HFILL }},
6046
16
    { &hf_dap_modifyEntryArgument,
6047
16
      { "modifyEntryArgument", "dap.modifyEntryArgument_element",
6048
16
        FT_NONE, BASE_NONE, NULL, 0,
6049
16
        "ModifyEntryArgumentData", HFILL }},
6050
16
    { &hf_dap_modify_entry_information,
6051
16
      { "information", "dap.modify_entry_information",
6052
16
        FT_UINT32, BASE_DEC, VALS(dap_ModifyEntryInformation_vals), 0,
6053
16
        "ModifyEntryInformation", HFILL }},
6054
16
    { &hf_dap_unsignedModifyEntryResult,
6055
16
      { "unsignedModifyEntryResult", "dap.unsignedModifyEntryResult_element",
6056
16
        FT_NONE, BASE_NONE, NULL, 0,
6057
16
        "ModifyEntryResultData", HFILL }},
6058
16
    { &hf_dap_signedModifyEntryResult,
6059
16
      { "signedModifyEntryResult", "dap.signedModifyEntryResult_element",
6060
16
        FT_NONE, BASE_NONE, NULL, 0,
6061
16
        NULL, HFILL }},
6062
16
    { &hf_dap_modifyEntryResult,
6063
16
      { "modifyEntryResult", "dap.modifyEntryResult_element",
6064
16
        FT_NONE, BASE_NONE, NULL, 0,
6065
16
        "ModifyEntryResultData", HFILL }},
6066
16
    { &hf_dap_addAttribute,
6067
16
      { "addAttribute", "dap.addAttribute_element",
6068
16
        FT_NONE, BASE_NONE, NULL, 0,
6069
16
        "Attribute", HFILL }},
6070
16
    { &hf_dap_removeAttribute,
6071
16
      { "removeAttribute", "dap.removeAttribute",
6072
16
        FT_OID, BASE_NONE, NULL, 0,
6073
16
        "AttributeType", HFILL }},
6074
16
    { &hf_dap_addValues,
6075
16
      { "addValues", "dap.addValues_element",
6076
16
        FT_NONE, BASE_NONE, NULL, 0,
6077
16
        "Attribute", HFILL }},
6078
16
    { &hf_dap_removeValues,
6079
16
      { "removeValues", "dap.removeValues_element",
6080
16
        FT_NONE, BASE_NONE, NULL, 0,
6081
16
        "Attribute", HFILL }},
6082
16
    { &hf_dap_alterValues,
6083
16
      { "alterValues", "dap.alterValues_element",
6084
16
        FT_NONE, BASE_NONE, NULL, 0,
6085
16
        "AttributeTypeAndValue", HFILL }},
6086
16
    { &hf_dap_resetValue,
6087
16
      { "resetValue", "dap.resetValue",
6088
16
        FT_OID, BASE_NONE, NULL, 0,
6089
16
        "AttributeType", HFILL }},
6090
16
    { &hf_dap_newRDN,
6091
16
      { "newRDN", "dap.newRDN",
6092
16
        FT_UINT32, BASE_DEC, NULL, 0,
6093
16
        "RelativeDistinguishedName", HFILL }},
6094
16
    { &hf_dap_deleteOldRDN,
6095
16
      { "deleteOldRDN", "dap.deleteOldRDN",
6096
16
        FT_BOOLEAN, BASE_NONE, NULL, 0,
6097
16
        "BOOLEAN", HFILL }},
6098
16
    { &hf_dap_newSuperior,
6099
16
      { "newSuperior", "dap.newSuperior",
6100
16
        FT_UINT32, BASE_DEC, NULL, 0,
6101
16
        "DistinguishedName", HFILL }},
6102
16
    { &hf_dap_modify_dn_information,
6103
16
      { "information", "dap.modify_dn_information",
6104
16
        FT_UINT32, BASE_DEC, VALS(dap_ModifyDNInformation_vals), 0,
6105
16
        "ModifyDNInformation", HFILL }},
6106
16
    { &hf_dap_unsignedModifyDNResult,
6107
16
      { "unsignedModifyDNResult", "dap.unsignedModifyDNResult_element",
6108
16
        FT_NONE, BASE_NONE, NULL, 0,
6109
16
        "ModifyDNResultData", HFILL }},
6110
16
    { &hf_dap_signedModifyDNResult,
6111
16
      { "signedModifyDNResult", "dap.signedModifyDNResult_element",
6112
16
        FT_NONE, BASE_NONE, NULL, 0,
6113
16
        NULL, HFILL }},
6114
16
    { &hf_dap_modifyDNResult,
6115
16
      { "modifyDNResult", "dap.modifyDNResult_element",
6116
16
        FT_NONE, BASE_NONE, NULL, 0,
6117
16
        "ModifyDNResultData", HFILL }},
6118
16
    { &hf_dap_unsignedAbandoned,
6119
16
      { "unsignedAbandoned", "dap.unsignedAbandoned_element",
6120
16
        FT_NONE, BASE_NONE, NULL, 0,
6121
16
        "AbandonedData", HFILL }},
6122
16
    { &hf_dap_signedAbandoned,
6123
16
      { "signedAbandoned", "dap.signedAbandoned_element",
6124
16
        FT_NONE, BASE_NONE, NULL, 0,
6125
16
        NULL, HFILL }},
6126
16
    { &hf_dap_abandoned,
6127
16
      { "abandoned", "dap.abandoned_element",
6128
16
        FT_NONE, BASE_NONE, NULL, 0,
6129
16
        "AbandonedData", HFILL }},
6130
16
    { &hf_dap_abandon_failed_problem,
6131
16
      { "problem", "dap.abandon_failed_problem",
6132
16
        FT_INT32, BASE_DEC, VALS(dap_AbandonProblem_vals), 0,
6133
16
        "AbandonProblem", HFILL }},
6134
16
    { &hf_dap_operation,
6135
16
      { "operation", "dap.operation",
6136
16
        FT_UINT32, BASE_DEC, VALS(ros_InvokeId_vals), 0,
6137
16
        "InvokeId", HFILL }},
6138
16
    { &hf_dap_unsignedAbandonFailedError,
6139
16
      { "unsignedAbandonFailedError", "dap.unsignedAbandonFailedError_element",
6140
16
        FT_NONE, BASE_NONE, NULL, 0,
6141
16
        "AbandonFailedErrorData", HFILL }},
6142
16
    { &hf_dap_signedAbandonFailedError,
6143
16
      { "signedAbandonFailedError", "dap.signedAbandonFailedError_element",
6144
16
        FT_NONE, BASE_NONE, NULL, 0,
6145
16
        NULL, HFILL }},
6146
16
    { &hf_dap_abandonFailedError,
6147
16
      { "abandonFailedError", "dap.abandonFailedError_element",
6148
16
        FT_NONE, BASE_NONE, NULL, 0,
6149
16
        "AbandonFailedErrorData", HFILL }},
6150
16
    { &hf_dap_problems,
6151
16
      { "problems", "dap.problems",
6152
16
        FT_UINT32, BASE_DEC, NULL, 0,
6153
16
        NULL, HFILL }},
6154
16
    { &hf_dap_problems_item,
6155
16
      { "problems item", "dap.problems_item_element",
6156
16
        FT_NONE, BASE_NONE, NULL, 0,
6157
16
        NULL, HFILL }},
6158
16
    { &hf_dap_attribute_error_problem,
6159
16
      { "problem", "dap.attribute_error_problem",
6160
16
        FT_INT32, BASE_DEC, VALS(dap_AttributeProblem_vals), 0,
6161
16
        "AttributeProblem", HFILL }},
6162
16
    { &hf_dap_value,
6163
16
      { "value", "dap.value_element",
6164
16
        FT_NONE, BASE_NONE, NULL, 0,
6165
16
        "AttributeValue", HFILL }},
6166
16
    { &hf_dap_unsignedAttributeError,
6167
16
      { "unsignedAttributeError", "dap.unsignedAttributeError_element",
6168
16
        FT_NONE, BASE_NONE, NULL, 0,
6169
16
        "AttributeErrorData", HFILL }},
6170
16
    { &hf_dap_signedAttributeError,
6171
16
      { "signedAttributeError", "dap.signedAttributeError_element",
6172
16
        FT_NONE, BASE_NONE, NULL, 0,
6173
16
        NULL, HFILL }},
6174
16
    { &hf_dap_attributeError,
6175
16
      { "attributeError", "dap.attributeError_element",
6176
16
        FT_NONE, BASE_NONE, NULL, 0,
6177
16
        "AttributeErrorData", HFILL }},
6178
16
    { &hf_dap_name_error_problem,
6179
16
      { "problem", "dap.name_error_problem",
6180
16
        FT_INT32, BASE_DEC, VALS(dap_NameProblem_vals), 0,
6181
16
        "NameProblem", HFILL }},
6182
16
    { &hf_dap_matched_name,
6183
16
      { "matched", "dap.matched_name",
6184
16
        FT_UINT32, BASE_DEC, VALS(x509if_Name_vals), 0,
6185
16
        "Name", HFILL }},
6186
16
    { &hf_dap_unsignedNameError,
6187
16
      { "unsignedNameError", "dap.unsignedNameError_element",
6188
16
        FT_NONE, BASE_NONE, NULL, 0,
6189
16
        "NameErrorData", HFILL }},
6190
16
    { &hf_dap_signedNameError,
6191
16
      { "signedNameError", "dap.signedNameError_element",
6192
16
        FT_NONE, BASE_NONE, NULL, 0,
6193
16
        NULL, HFILL }},
6194
16
    { &hf_dap_nameError,
6195
16
      { "nameError", "dap.nameError_element",
6196
16
        FT_NONE, BASE_NONE, NULL, 0,
6197
16
        "NameErrorData", HFILL }},
6198
16
    { &hf_dap_candidate,
6199
16
      { "candidate", "dap.candidate_element",
6200
16
        FT_NONE, BASE_NONE, NULL, 0,
6201
16
        "ContinuationReference", HFILL }},
6202
16
    { &hf_dap_unsignedReferral,
6203
16
      { "unsignedReferral", "dap.unsignedReferral_element",
6204
16
        FT_NONE, BASE_NONE, NULL, 0,
6205
16
        "ReferralData", HFILL }},
6206
16
    { &hf_dap_signedReferral,
6207
16
      { "signedReferral", "dap.signedReferral_element",
6208
16
        FT_NONE, BASE_NONE, NULL, 0,
6209
16
        NULL, HFILL }},
6210
16
    { &hf_dap_referral,
6211
16
      { "referral", "dap.referral_element",
6212
16
        FT_NONE, BASE_NONE, NULL, 0,
6213
16
        "ReferralData", HFILL }},
6214
16
    { &hf_dap_security_error_problem,
6215
16
      { "problem", "dap.security_error_problem",
6216
16
        FT_INT32, BASE_DEC, VALS(dap_SecurityProblem_vals), 0,
6217
16
        "SecurityProblem", HFILL }},
6218
16
    { &hf_dap_spkmInfo,
6219
16
      { "spkmInfo", "dap.spkmInfo_element",
6220
16
        FT_NONE, BASE_NONE, NULL, 0,
6221
16
        NULL, HFILL }},
6222
16
    { &hf_dap_unsignedSecurityError,
6223
16
      { "unsignedSecurityError", "dap.unsignedSecurityError_element",
6224
16
        FT_NONE, BASE_NONE, NULL, 0,
6225
16
        "SecurityErrorData", HFILL }},
6226
16
    { &hf_dap_signedSecurityError,
6227
16
      { "signedSecurityError", "dap.signedSecurityError_element",
6228
16
        FT_NONE, BASE_NONE, NULL, 0,
6229
16
        NULL, HFILL }},
6230
16
    { &hf_dap_securityErrorData,
6231
16
      { "securityError", "dap.securityErrorData_element",
6232
16
        FT_NONE, BASE_NONE, NULL, 0,
6233
16
        "SecurityErrorData", HFILL }},
6234
16
    { &hf_dap_service_error_problem,
6235
16
      { "problem", "dap.service_error_problem",
6236
16
        FT_INT32, BASE_DEC, VALS(dap_ServiceProblem_vals), 0,
6237
16
        "ServiceProblem", HFILL }},
6238
16
    { &hf_dap_unsignedServiceError,
6239
16
      { "unsignedServiceError", "dap.unsignedServiceError_element",
6240
16
        FT_NONE, BASE_NONE, NULL, 0,
6241
16
        "ServiceErrorData", HFILL }},
6242
16
    { &hf_dap_signedServiceError,
6243
16
      { "signedServiceError", "dap.signedServiceError_element",
6244
16
        FT_NONE, BASE_NONE, NULL, 0,
6245
16
        NULL, HFILL }},
6246
16
    { &hf_dap_serviceError,
6247
16
      { "serviceError", "dap.serviceError_element",
6248
16
        FT_NONE, BASE_NONE, NULL, 0,
6249
16
        "ServiceErrorData", HFILL }},
6250
16
    { &hf_dap_update_error_problem,
6251
16
      { "problem", "dap.update_error_problem",
6252
16
        FT_INT32, BASE_DEC, VALS(dap_UpdateProblem_vals), 0,
6253
16
        "UpdateProblem", HFILL }},
6254
16
    { &hf_dap_attributeInfo,
6255
16
      { "attributeInfo", "dap.attributeInfo",
6256
16
        FT_UINT32, BASE_DEC, NULL, 0,
6257
16
        NULL, HFILL }},
6258
16
    { &hf_dap_attributeInfo_item,
6259
16
      { "attributeInfo item", "dap.attributeInfo_item",
6260
16
        FT_UINT32, BASE_DEC, VALS(dap_T_attributeInfo_item_vals), 0,
6261
16
        NULL, HFILL }},
6262
16
    { &hf_dap_unsignedUpdateError,
6263
16
      { "unsignedUpdateError", "dap.unsignedUpdateError_element",
6264
16
        FT_NONE, BASE_NONE, NULL, 0,
6265
16
        "UpdateErrorData", HFILL }},
6266
16
    { &hf_dap_signedUpdateError,
6267
16
      { "signedUpdateError", "dap.signedUpdateError_element",
6268
16
        FT_NONE, BASE_NONE, NULL, 0,
6269
16
        NULL, HFILL }},
6270
16
    { &hf_dap_updateError,
6271
16
      { "updateError", "dap.updateError_element",
6272
16
        FT_NONE, BASE_NONE, NULL, 0,
6273
16
        "UpdateErrorData", HFILL }},
6274
16
    { &hf_dap_ServiceControlOptions_preferChaining,
6275
16
      { "preferChaining", "dap.ServiceControlOptions.preferChaining",
6276
16
        FT_BOOLEAN, 8, NULL, 0x80,
6277
16
        NULL, HFILL }},
6278
16
    { &hf_dap_ServiceControlOptions_chainingProhibited,
6279
16
      { "chainingProhibited", "dap.ServiceControlOptions.chainingProhibited",
6280
16
        FT_BOOLEAN, 8, NULL, 0x40,
6281
16
        NULL, HFILL }},
6282
16
    { &hf_dap_ServiceControlOptions_localScope,
6283
16
      { "localScope", "dap.ServiceControlOptions.localScope",
6284
16
        FT_BOOLEAN, 8, NULL, 0x20,
6285
16
        NULL, HFILL }},
6286
16
    { &hf_dap_ServiceControlOptions_dontUseCopy,
6287
16
      { "dontUseCopy", "dap.ServiceControlOptions.dontUseCopy",
6288
16
        FT_BOOLEAN, 8, NULL, 0x10,
6289
16
        NULL, HFILL }},
6290
16
    { &hf_dap_ServiceControlOptions_dontDereferenceAliases,
6291
16
      { "dontDereferenceAliases", "dap.ServiceControlOptions.dontDereferenceAliases",
6292
16
        FT_BOOLEAN, 8, NULL, 0x08,
6293
16
        NULL, HFILL }},
6294
16
    { &hf_dap_ServiceControlOptions_subentries,
6295
16
      { "subentries", "dap.ServiceControlOptions.subentries",
6296
16
        FT_BOOLEAN, 8, NULL, 0x04,
6297
16
        NULL, HFILL }},
6298
16
    { &hf_dap_ServiceControlOptions_copyShallDo,
6299
16
      { "copyShallDo", "dap.ServiceControlOptions.copyShallDo",
6300
16
        FT_BOOLEAN, 8, NULL, 0x02,
6301
16
        NULL, HFILL }},
6302
16
    { &hf_dap_ServiceControlOptions_partialNameResolution,
6303
16
      { "partialNameResolution", "dap.ServiceControlOptions.partialNameResolution",
6304
16
        FT_BOOLEAN, 8, NULL, 0x01,
6305
16
        NULL, HFILL }},
6306
16
    { &hf_dap_ServiceControlOptions_manageDSAIT,
6307
16
      { "manageDSAIT", "dap.ServiceControlOptions.manageDSAIT",
6308
16
        FT_BOOLEAN, 8, NULL, 0x80,
6309
16
        NULL, HFILL }},
6310
16
    { &hf_dap_ServiceControlOptions_noSubtypeMatch,
6311
16
      { "noSubtypeMatch", "dap.ServiceControlOptions.noSubtypeMatch",
6312
16
        FT_BOOLEAN, 8, NULL, 0x40,
6313
16
        NULL, HFILL }},
6314
16
    { &hf_dap_ServiceControlOptions_noSubtypeSelection,
6315
16
      { "noSubtypeSelection", "dap.ServiceControlOptions.noSubtypeSelection",
6316
16
        FT_BOOLEAN, 8, NULL, 0x20,
6317
16
        NULL, HFILL }},
6318
16
    { &hf_dap_ServiceControlOptions_countFamily,
6319
16
      { "countFamily", "dap.ServiceControlOptions.countFamily",
6320
16
        FT_BOOLEAN, 8, NULL, 0x10,
6321
16
        NULL, HFILL }},
6322
16
    { &hf_dap_ServiceControlOptions_dontSelectFriends,
6323
16
      { "dontSelectFriends", "dap.ServiceControlOptions.dontSelectFriends",
6324
16
        FT_BOOLEAN, 8, NULL, 0x08,
6325
16
        NULL, HFILL }},
6326
16
    { &hf_dap_ServiceControlOptions_dontMatchFriends,
6327
16
      { "dontMatchFriends", "dap.ServiceControlOptions.dontMatchFriends",
6328
16
        FT_BOOLEAN, 8, NULL, 0x04,
6329
16
        NULL, HFILL }},
6330
16
    { &hf_dap_Versions_v1,
6331
16
      { "v1", "dap.Versions.v1",
6332
16
        FT_BOOLEAN, 8, NULL, 0x80,
6333
16
        NULL, HFILL }},
6334
16
    { &hf_dap_Versions_v2,
6335
16
      { "v2", "dap.Versions.v2",
6336
16
        FT_BOOLEAN, 8, NULL, 0x40,
6337
16
        NULL, HFILL }},
6338
16
    { &hf_dap_T_permission_add,
6339
16
      { "add", "dap.T.permission.add",
6340
16
        FT_BOOLEAN, 8, NULL, 0x80,
6341
16
        NULL, HFILL }},
6342
16
    { &hf_dap_T_permission_remove,
6343
16
      { "remove", "dap.T.permission.remove",
6344
16
        FT_BOOLEAN, 8, NULL, 0x40,
6345
16
        NULL, HFILL }},
6346
16
    { &hf_dap_T_permission_rename,
6347
16
      { "rename", "dap.T.permission.rename",
6348
16
        FT_BOOLEAN, 8, NULL, 0x20,
6349
16
        NULL, HFILL }},
6350
16
    { &hf_dap_T_permission_move,
6351
16
      { "move", "dap.T.permission.move",
6352
16
        FT_BOOLEAN, 8, NULL, 0x10,
6353
16
        NULL, HFILL }},
6354
16
    { &hf_dap_HierarchySelections_self,
6355
16
      { "self", "dap.HierarchySelections.self",
6356
16
        FT_BOOLEAN, 8, NULL, 0x80,
6357
16
        NULL, HFILL }},
6358
16
    { &hf_dap_HierarchySelections_children,
6359
16
      { "children", "dap.HierarchySelections.children",
6360
16
        FT_BOOLEAN, 8, NULL, 0x40,
6361
16
        NULL, HFILL }},
6362
16
    { &hf_dap_HierarchySelections_parent,
6363
16
      { "parent", "dap.HierarchySelections.parent",
6364
16
        FT_BOOLEAN, 8, NULL, 0x20,
6365
16
        NULL, HFILL }},
6366
16
    { &hf_dap_HierarchySelections_hierarchy,
6367
16
      { "hierarchy", "dap.HierarchySelections.hierarchy",
6368
16
        FT_BOOLEAN, 8, NULL, 0x10,
6369
16
        NULL, HFILL }},
6370
16
    { &hf_dap_HierarchySelections_top,
6371
16
      { "top", "dap.HierarchySelections.top",
6372
16
        FT_BOOLEAN, 8, NULL, 0x08,
6373
16
        NULL, HFILL }},
6374
16
    { &hf_dap_HierarchySelections_subtree,
6375
16
      { "subtree", "dap.HierarchySelections.subtree",
6376
16
        FT_BOOLEAN, 8, NULL, 0x04,
6377
16
        NULL, HFILL }},
6378
16
    { &hf_dap_HierarchySelections_siblings,
6379
16
      { "siblings", "dap.HierarchySelections.siblings",
6380
16
        FT_BOOLEAN, 8, NULL, 0x02,
6381
16
        NULL, HFILL }},
6382
16
    { &hf_dap_HierarchySelections_siblingChildren,
6383
16
      { "siblingChildren", "dap.HierarchySelections.siblingChildren",
6384
16
        FT_BOOLEAN, 8, NULL, 0x01,
6385
16
        NULL, HFILL }},
6386
16
    { &hf_dap_HierarchySelections_siblingSubtree,
6387
16
      { "siblingSubtree", "dap.HierarchySelections.siblingSubtree",
6388
16
        FT_BOOLEAN, 8, NULL, 0x80,
6389
16
        NULL, HFILL }},
6390
16
    { &hf_dap_HierarchySelections_all,
6391
16
      { "all", "dap.HierarchySelections.all",
6392
16
        FT_BOOLEAN, 8, NULL, 0x40,
6393
16
        NULL, HFILL }},
6394
16
    { &hf_dap_SearchControlOptions_searchAliases,
6395
16
      { "searchAliases", "dap.SearchControlOptions.searchAliases",
6396
16
        FT_BOOLEAN, 8, NULL, 0x80,
6397
16
        NULL, HFILL }},
6398
16
    { &hf_dap_SearchControlOptions_matchedValuesOnly,
6399
16
      { "matchedValuesOnly", "dap.SearchControlOptions.matchedValuesOnly",
6400
16
        FT_BOOLEAN, 8, NULL, 0x40,
6401
16
        NULL, HFILL }},
6402
16
    { &hf_dap_SearchControlOptions_checkOverspecified,
6403
16
      { "checkOverspecified", "dap.SearchControlOptions.checkOverspecified",
6404
16
        FT_BOOLEAN, 8, NULL, 0x20,
6405
16
        NULL, HFILL }},
6406
16
    { &hf_dap_SearchControlOptions_performExactly,
6407
16
      { "performExactly", "dap.SearchControlOptions.performExactly",
6408
16
        FT_BOOLEAN, 8, NULL, 0x10,
6409
16
        NULL, HFILL }},
6410
16
    { &hf_dap_SearchControlOptions_includeAllAreas,
6411
16
      { "includeAllAreas", "dap.SearchControlOptions.includeAllAreas",
6412
16
        FT_BOOLEAN, 8, NULL, 0x08,
6413
16
        NULL, HFILL }},
6414
16
    { &hf_dap_SearchControlOptions_noSystemRelaxation,
6415
16
      { "noSystemRelaxation", "dap.SearchControlOptions.noSystemRelaxation",
6416
16
        FT_BOOLEAN, 8, NULL, 0x04,
6417
16
        NULL, HFILL }},
6418
16
    { &hf_dap_SearchControlOptions_dnAttribute,
6419
16
      { "dnAttribute", "dap.SearchControlOptions.dnAttribute",
6420
16
        FT_BOOLEAN, 8, NULL, 0x02,
6421
16
        NULL, HFILL }},
6422
16
    { &hf_dap_SearchControlOptions_matchOnResidualName,
6423
16
      { "matchOnResidualName", "dap.SearchControlOptions.matchOnResidualName",
6424
16
        FT_BOOLEAN, 8, NULL, 0x01,
6425
16
        NULL, HFILL }},
6426
16
    { &hf_dap_SearchControlOptions_entryCount,
6427
16
      { "entryCount", "dap.SearchControlOptions.entryCount",
6428
16
        FT_BOOLEAN, 8, NULL, 0x80,
6429
16
        NULL, HFILL }},
6430
16
    { &hf_dap_SearchControlOptions_useSubset,
6431
16
      { "useSubset", "dap.SearchControlOptions.useSubset",
6432
16
        FT_BOOLEAN, 8, NULL, 0x40,
6433
16
        NULL, HFILL }},
6434
16
    { &hf_dap_SearchControlOptions_separateFamilyMembers,
6435
16
      { "separateFamilyMembers", "dap.SearchControlOptions.separateFamilyMembers",
6436
16
        FT_BOOLEAN, 8, NULL, 0x20,
6437
16
        NULL, HFILL }},
6438
16
    { &hf_dap_SearchControlOptions_searchFamily,
6439
16
      { "searchFamily", "dap.SearchControlOptions.searchFamily",
6440
16
        FT_BOOLEAN, 8, NULL, 0x10,
6441
16
        NULL, HFILL }},
6442
16
  };
6443
6444
  /* List of subtrees */
6445
16
  static int *ett[] = {
6446
16
    &ett_dap,
6447
16
    &ett_dap_ServiceControls,
6448
16
    &ett_dap_T_manageDSAITPlaneRef,
6449
16
    &ett_dap_ServiceControlOptions,
6450
16
    &ett_dap_EntryInformationSelection,
6451
16
    &ett_dap_T_attributes,
6452
16
    &ett_dap_SET_OF_AttributeType,
6453
16
    &ett_dap_T_extraAttributes,
6454
16
    &ett_dap_SET_SIZE_1_MAX_OF_AttributeType,
6455
16
    &ett_dap_ContextSelection,
6456
16
    &ett_dap_SET_SIZE_1_MAX_OF_TypeAndContextAssertion,
6457
16
    &ett_dap_TypeAndContextAssertion,
6458
16
    &ett_dap_T_contextAssertions,
6459
16
    &ett_dap_SEQUENCE_OF_ContextAssertion,
6460
16
    &ett_dap_SET_OF_ContextAssertion,
6461
16
    &ett_dap_FamilyReturn,
6462
16
    &ett_dap_T_familySelect,
6463
16
    &ett_dap_EntryInformation,
6464
16
    &ett_dap_T_entry_information,
6465
16
    &ett_dap_EntryInformationItem,
6466
16
    &ett_dap_FamilyEntries,
6467
16
    &ett_dap_SEQUENCE_OF_FamilyEntry,
6468
16
    &ett_dap_FamilyEntry,
6469
16
    &ett_dap_FamilyInformation,
6470
16
    &ett_dap_T_family_information_item,
6471
16
    &ett_dap_SEQUENCE_SIZE_1_MAX_OF_FamilyEntries,
6472
16
    &ett_dap_Filter,
6473
16
    &ett_dap_SetOfFilter,
6474
16
    &ett_dap_FilterItem,
6475
16
    &ett_dap_T_substrings,
6476
16
    &ett_dap_T_strings,
6477
16
    &ett_dap_T_strings_item,
6478
16
    &ett_dap_MatchingRuleAssertion,
6479
16
    &ett_dap_T_matchingRule,
6480
16
    &ett_dap_PagedResultsRequest,
6481
16
    &ett_dap_T_newRequest,
6482
16
    &ett_dap_SEQUENCE_SIZE_1_MAX_OF_SortKey,
6483
16
    &ett_dap_SortKey,
6484
16
    &ett_dap_SecurityParameters,
6485
16
    &ett_dap_Time,
6486
16
    &ett_dap_DirectoryBindArgument,
6487
16
    &ett_dap_Credentials,
6488
16
    &ett_dap_SimpleCredentials,
6489
16
    &ett_dap_T_validity,
6490
16
    &ett_dap_T_time1,
6491
16
    &ett_dap_T_time2,
6492
16
    &ett_dap_T_password,
6493
16
    &ett_dap_T_protected,
6494
16
    &ett_dap_StrongCredentials,
6495
16
    &ett_dap_SpkmCredentials,
6496
16
    &ett_dap_SaslCredentials,
6497
16
    &ett_dap_TokenData,
6498
16
    &ett_dap_SEQUENCE_SIZE_1_MAX_OF_AlgorithmIdentifier,
6499
16
    &ett_dap_Token,
6500
16
    &ett_dap_Versions,
6501
16
    &ett_dap_DirectoryBindError,
6502
16
    &ett_dap_T_signedDirectoryBindError,
6503
16
    &ett_dap_DirectoryBindErrorData,
6504
16
    &ett_dap_T_error,
6505
16
    &ett_dap_ReadArgumentData,
6506
16
    &ett_dap_Name,
6507
16
    &ett_dap_ReadArgument,
6508
16
    &ett_dap_T_signedReadArgument,
6509
16
    &ett_dap_ReadResultData,
6510
16
    &ett_dap_SEQUENCE_SIZE_1_MAX_OF_Attribute,
6511
16
    &ett_dap_ReadResult,
6512
16
    &ett_dap_T_signedReadResult,
6513
16
    &ett_dap_ModifyRights,
6514
16
    &ett_dap_ModifyRights_item,
6515
16
    &ett_dap_T_item,
6516
16
    &ett_dap_T_permission,
6517
16
    &ett_dap_CompareArgumentData,
6518
16
    &ett_dap_CompareArgument,
6519
16
    &ett_dap_T_signedCompareArgument,
6520
16
    &ett_dap_CompareResultData,
6521
16
    &ett_dap_CompareResult,
6522
16
    &ett_dap_T_signedCompareResult,
6523
16
    &ett_dap_AbandonArgumentData,
6524
16
    &ett_dap_AbandonArgument,
6525
16
    &ett_dap_T_signedAbandonArgument,
6526
16
    &ett_dap_AbandonResultData,
6527
16
    &ett_dap_AbandonResult,
6528
16
    &ett_dap_AbandonInformation,
6529
16
    &ett_dap_T_signedAbandonResult,
6530
16
    &ett_dap_ListArgumentData,
6531
16
    &ett_dap_ListArgument,
6532
16
    &ett_dap_T_signedListArgument,
6533
16
    &ett_dap_ListResultData,
6534
16
    &ett_dap_T_listInfo,
6535
16
    &ett_dap_T_subordinates,
6536
16
    &ett_dap_T_subordinates_item,
6537
16
    &ett_dap_SET_OF_ListResult,
6538
16
    &ett_dap_ListResult,
6539
16
    &ett_dap_T_signedListResult,
6540
16
    &ett_dap_PartialOutcomeQualifier,
6541
16
    &ett_dap_SET_SIZE_1_MAX_OF_ContinuationReference,
6542
16
    &ett_dap_T_unknownErrors,
6543
16
    &ett_dap_T_entryCount,
6544
16
    &ett_dap_SearchArgumentData,
6545
16
    &ett_dap_SEQUENCE_SIZE_1_MAX_OF_JoinArgument,
6546
16
    &ett_dap_SearchArgument,
6547
16
    &ett_dap_T_signedSearchArgument,
6548
16
    &ett_dap_HierarchySelections,
6549
16
    &ett_dap_SearchControlOptions,
6550
16
    &ett_dap_JoinArgument,
6551
16
    &ett_dap_SEQUENCE_SIZE_1_MAX_OF_JoinAttPair,
6552
16
    &ett_dap_JoinAttPair,
6553
16
    &ett_dap_SEQUENCE_SIZE_1_MAX_OF_JoinContextType,
6554
16
    &ett_dap_SearchResultData,
6555
16
    &ett_dap_T_searchInfo,
6556
16
    &ett_dap_SET_OF_EntryInformation,
6557
16
    &ett_dap_SET_OF_SearchResult,
6558
16
    &ett_dap_SearchResult,
6559
16
    &ett_dap_T_signedSearchResult,
6560
16
    &ett_dap_AddEntryArgumentData,
6561
16
    &ett_dap_SET_OF_Attribute,
6562
16
    &ett_dap_AddEntryArgument,
6563
16
    &ett_dap_T_signedAddEntryArgument,
6564
16
    &ett_dap_AddEntryResultData,
6565
16
    &ett_dap_AddEntryResult,
6566
16
    &ett_dap_AddEntryInformation,
6567
16
    &ett_dap_T_signedAddEntryResult,
6568
16
    &ett_dap_RemoveEntryArgumentData,
6569
16
    &ett_dap_RemoveEntryArgument,
6570
16
    &ett_dap_T_signedRemoveEntryArgument,
6571
16
    &ett_dap_RemoveEntryResultData,
6572
16
    &ett_dap_RemoveEntryResult,
6573
16
    &ett_dap_RemoveEntryInformation,
6574
16
    &ett_dap_T_signedRemoveEntryResult,
6575
16
    &ett_dap_ModifyEntryArgumentData,
6576
16
    &ett_dap_SEQUENCE_OF_EntryModification,
6577
16
    &ett_dap_ModifyEntryArgument,
6578
16
    &ett_dap_T_signedModifyEntryArgument,
6579
16
    &ett_dap_ModifyEntryResultData,
6580
16
    &ett_dap_ModifyEntryResult,
6581
16
    &ett_dap_ModifyEntryInformation,
6582
16
    &ett_dap_T_signedModifyEntryResult,
6583
16
    &ett_dap_EntryModification,
6584
16
    &ett_dap_ModifyDNArgument,
6585
16
    &ett_dap_ModifyDNResultData,
6586
16
    &ett_dap_ModifyDNResult,
6587
16
    &ett_dap_ModifyDNInformation,
6588
16
    &ett_dap_T_signedModifyDNResult,
6589
16
    &ett_dap_AbandonedData,
6590
16
    &ett_dap_Abandoned,
6591
16
    &ett_dap_T_signedAbandoned,
6592
16
    &ett_dap_AbandonFailedErrorData,
6593
16
    &ett_dap_AbandonFailedError,
6594
16
    &ett_dap_T_signedAbandonFailedError,
6595
16
    &ett_dap_AttributeErrorData,
6596
16
    &ett_dap_T_problems,
6597
16
    &ett_dap_T_problems_item,
6598
16
    &ett_dap_AttributeError,
6599
16
    &ett_dap_T_signedAttributeError,
6600
16
    &ett_dap_NameErrorData,
6601
16
    &ett_dap_NameError,
6602
16
    &ett_dap_T_signedNameError,
6603
16
    &ett_dap_ReferralData,
6604
16
    &ett_dap_Referral,
6605
16
    &ett_dap_T_signedReferral,
6606
16
    &ett_dap_SecurityErrorData,
6607
16
    &ett_dap_SecurityError,
6608
16
    &ett_dap_T_signedSecurityError,
6609
16
    &ett_dap_ServiceErrorData,
6610
16
    &ett_dap_ServiceError,
6611
16
    &ett_dap_T_signedServiceError,
6612
16
    &ett_dap_UpdateErrorData,
6613
16
    &ett_dap_T_attributeInfo,
6614
16
    &ett_dap_T_attributeInfo_item,
6615
16
    &ett_dap_UpdateError,
6616
16
    &ett_dap_T_signedUpdateError,
6617
16
  };
6618
6619
16
  static ei_register_info ei[] = {
6620
16
    { &ei_dap_anonymous, { "dap.anonymous", PI_PROTOCOL, PI_NOTE, "Anonymous", EXPFILL }},
6621
16
  };
6622
6623
16
  module_t *dap_module;
6624
16
  expert_module_t* expert_dap;
6625
6626
  /* Register protocol */
6627
16
  proto_dap = proto_register_protocol("X.519 Directory Access Protocol", "DAP", "dap");
6628
6629
  /* Register fields and subtrees */
6630
16
  proto_register_field_array(proto_dap, hf, array_length(hf));
6631
16
  proto_register_subtree_array(ett, array_length(ett));
6632
16
  expert_dap = expert_register_protocol(proto_dap);
6633
16
  expert_register_field_array(expert_dap, ei, array_length(ei));
6634
6635
  /* Register our configuration options for DAP, particularly our port */
6636
6637
16
  dap_module = prefs_register_protocol_subtree("OSI/X.500", proto_dap, NULL);
6638
6639
16
  prefs_register_obsolete_preference(dap_module, "tcp.port");
6640
6641
16
  prefs_register_static_text_preference(dap_module, "tcp_port_info",
6642
16
            "The TCP ports used by the DAP protocol should be added to the TPKT preference \"TPKT TCP ports\", or the IDMP preference \"IDMP TCP Port\", or by selecting \"TPKT\" as the \"Transport\" protocol in the \"Decode As\" dialog.",
6643
16
            "DAP TCP Port preference moved information");
6644
16
}
6645
6646
6647
/*--- proto_reg_handoff_dap --- */
6648
16
void proto_reg_handoff_dap(void) {
6649
6650
  /* #include "packet-dap-dis-tab.c" */
6651
6652
  /* APPLICATION CONTEXT */
6653
6654
16
  oid_add_from_string("id-ac-directory-access","2.5.3.1");
6655
6656
  /* ABSTRACT SYNTAXES */
6657
6658
  /* Register DAP with ROS (with no use of RTSE) */
6659
16
  register_ros_protocol_info("2.5.9.1", &dap_ros_info, 0, "id-as-directory-access", false);
6660
6661
16
  register_idmp_protocol_info("2.5.33.0", &dap_ros_info, 0, "dap-ip");
6662
6663
  /* AttributeValueAssertions */
6664
16
  x509if_register_fmt(hf_dap_equality, "=");
6665
16
  x509if_register_fmt(hf_dap_greaterOrEqual, ">=");
6666
16
  x509if_register_fmt(hf_dap_lessOrEqual, "<=");
6667
16
  x509if_register_fmt(hf_dap_approximateMatch, "=~");
6668
  /* AttributeTypes */
6669
16
  x509if_register_fmt(hf_dap_present, "= *");
6670
6671
16
}