1 /* Do not modify this file. */
2 /* It is created automatically by the ASN.1 to Wireshark dissector compiler */
4 /* ../../tools/asn2eth.py -X -b -e -p dap -c dap.cnf -s packet-dap-template dap.asn */
6 /* Input file: packet-dap-template.c */
8 #line 1 "packet-dap-template.c"
10 * Routines for X.511 (X.500 Directory Asbtract Service) and X.519 DAP packet dissection
15 * Wireshark - Network traffic analyzer
16 * By Gerald Combs <gerald@wireshark.org>
17 * Copyright 1998 Gerald Combs
19 * This program is free software; you can redistribute it and/or
20 * modify it under the terms of the GNU General Public License
21 * as published by the Free Software Foundation; either version 2
22 * of the License, or (at your option) any later version.
24 * This program is distributed in the hope that it will be useful,
25 * but WITHOUT ANY WARRANTY; without even the implied warranty of
26 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
27 * GNU General Public License for more details.
29 * You should have received a copy of the GNU General Public License
30 * along with this program; if not, write to the Free Software
31 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
39 #include <epan/packet.h>
40 #include <epan/prefs.h>
41 #include <epan/conversation.h>
46 #include "packet-ber.h"
47 #include "packet-acse.h"
48 #include "packet-ros.h"
50 #include "packet-x509if.h"
51 #include "packet-x509af.h"
52 #include "packet-x509sat.h"
53 #include "packet-crmf.h"
55 #include "packet-dsp.h"
56 #include "packet-disp.h"
57 #include "packet-dap.h"
58 #include <epan/strutil.h>
60 /* we don't have a separate dissector for X519 -
61 most of DAP is defined in X511 */
62 #define PNAME "X.519 Directory Access Protocol"
66 static guint global_dap_tcp_port = 102;
67 static guint tcp_port = 0;
68 static dissector_handle_t tpkt_handle = NULL;
69 void prefs_register_dap(void); /* forwad declaration for use in preferences registration */
72 /* Initialize the protocol and registered fields */
75 static struct SESSION_DATA_STRUCTURE* session = NULL;
78 /*--- Included file: packet-dap-hf.c ---*/
79 #line 1 "packet-dap-hf.c"
80 static int hf_dap_securityParameters = -1; /* SecurityParameters */
81 static int hf_dap_performer = -1; /* DistinguishedName */
82 static int hf_dap_aliasDereferenced = -1; /* BOOLEAN */
83 static int hf_dap_notification = -1; /* SEQUENCE_OF_Attribute */
84 static int hf_dap_notification_item = -1; /* Attribute */
85 static int hf_dap_options = -1; /* ServiceControlOptions */
86 static int hf_dap_priority = -1; /* T_priority */
87 static int hf_dap_timeLimit = -1; /* INTEGER */
88 static int hf_dap_sizeLimit = -1; /* INTEGER */
89 static int hf_dap_scopeOfReferral = -1; /* T_scopeOfReferral */
90 static int hf_dap_attributeSizeLimit = -1; /* INTEGER */
91 static int hf_dap_manageDSAITPlaneRef = -1; /* T_manageDSAITPlaneRef */
92 static int hf_dap_dsaName = -1; /* Name */
93 static int hf_dap_agreementID = -1; /* AgreementID */
94 static int hf_dap_serviceType = -1; /* OBJECT_IDENTIFIER */
95 static int hf_dap_userClass = -1; /* INTEGER */
96 static int hf_dap_attributes = -1; /* T_attributes */
97 static int hf_dap_allUserAttributes = -1; /* NULL */
98 static int hf_dap_select = -1; /* SET_OF_AttributeType */
99 static int hf_dap_select_item = -1; /* AttributeType */
100 static int hf_dap_infoTypes = -1; /* T_infoTypes */
101 static int hf_dap_extraAttributes = -1; /* T_extraAttributes */
102 static int hf_dap_allOperationalAttributes = -1; /* NULL */
103 static int hf_dap_contextSelection = -1; /* ContextSelection */
104 static int hf_dap_returnContexts = -1; /* BOOLEAN */
105 static int hf_dap_familyReturn = -1; /* FamilyReturn */
106 static int hf_dap_allContexts = -1; /* NULL */
107 static int hf_dap_selectedContexts = -1; /* SET_OF_TypeAndContextAssertion */
108 static int hf_dap_selectedContexts_item = -1; /* TypeAndContextAssertion */
109 static int hf_dap_type = -1; /* AttributeType */
110 static int hf_dap_contextAssertions = -1; /* T_contextAssertions */
111 static int hf_dap_preference = -1; /* SEQUENCE_OF_ContextAssertion */
112 static int hf_dap_preference_item = -1; /* ContextAssertion */
113 static int hf_dap_all = -1; /* SET_OF_ContextAssertion */
114 static int hf_dap_all_item = -1; /* ContextAssertion */
115 static int hf_dap_memberSelect = -1; /* T_memberSelect */
116 static int hf_dap_familySelect = -1; /* T_familySelect */
117 static int hf_dap_familySelect_item = -1; /* OBJECT_IDENTIFIER */
118 static int hf_dap_name = -1; /* Name */
119 static int hf_dap_fromEntry = -1; /* BOOLEAN */
120 static int hf_dap_entry_information = -1; /* T_information */
121 static int hf_dap_entry_information_item = -1; /* EntryInformationItem */
122 static int hf_dap_attributeType = -1; /* AttributeType */
123 static int hf_dap_attribute = -1; /* Attribute */
124 static int hf_dap_incompleteEntry = -1; /* BOOLEAN */
125 static int hf_dap_partialName = -1; /* BOOLEAN */
126 static int hf_dap_derivedEntry = -1; /* BOOLEAN */
127 static int hf_dap_family_class = -1; /* OBJECT_IDENTIFIER */
128 static int hf_dap_familyEntries = -1; /* SEQUENCE_OF_FamilyEntry */
129 static int hf_dap_familyEntries_item = -1; /* FamilyEntry */
130 static int hf_dap_rdn = -1; /* RelativeDistinguishedName */
131 static int hf_dap_family_information = -1; /* FamilyInformation */
132 static int hf_dap_information_item = -1; /* T_information_item */
133 static int hf_dap_family_info = -1; /* SEQUENCE_OF_FamilyEntries */
134 static int hf_dap_family_info_item = -1; /* FamilyEntries */
135 static int hf_dap_filter_item = -1; /* FilterItem */
136 static int hf_dap_and = -1; /* SetOfFilter */
137 static int hf_dap_or = -1; /* SetOfFilter */
138 static int hf_dap_not = -1; /* Filter */
139 static int hf_dap_SetOfFilter_item = -1; /* Filter */
140 static int hf_dap_equality = -1; /* AttributeValueAssertion */
141 static int hf_dap_substrings = -1; /* T_substrings */
142 static int hf_dap_sunstringType = -1; /* OBJECT_IDENTIFIER */
143 static int hf_dap_strings = -1; /* T_strings */
144 static int hf_dap_strings_item = -1; /* T_strings_item */
145 static int hf_dap_initial = -1; /* T_initial */
146 static int hf_dap_any = -1; /* T_any */
147 static int hf_dap_final = -1; /* T_final */
148 static int hf_dap_control = -1; /* Attribute */
149 static int hf_dap_greaterOrEqual = -1; /* AttributeValueAssertion */
150 static int hf_dap_lessOrEqual = -1; /* AttributeValueAssertion */
151 static int hf_dap_present = -1; /* AttributeType */
152 static int hf_dap_approximateMatch = -1; /* AttributeValueAssertion */
153 static int hf_dap_extensibleMatch = -1; /* MatchingRuleAssertion */
154 static int hf_dap_contextPresent = -1; /* AttributeTypeAssertion */
155 static int hf_dap_matchingRule = -1; /* T_matchingRule */
156 static int hf_dap_matchingRule_item = -1; /* OBJECT_IDENTIFIER */
157 static int hf_dap_matchValue = -1; /* T_matchValue */
158 static int hf_dap_dnAttributes = -1; /* BOOLEAN */
159 static int hf_dap_newRequest = -1; /* T_newRequest */
160 static int hf_dap_pageSize = -1; /* INTEGER */
161 static int hf_dap_sortKeys = -1; /* SEQUENCE_OF_SortKey */
162 static int hf_dap_sortKeys_item = -1; /* SortKey */
163 static int hf_dap_reverse = -1; /* BOOLEAN */
164 static int hf_dap_unmerged = -1; /* BOOLEAN */
165 static int hf_dap_queryReference = -1; /* OCTET_STRING */
166 static int hf_dap_orderingRule = -1; /* OBJECT_IDENTIFIER */
167 static int hf_dap_certification_path = -1; /* CertificationPath */
168 static int hf_dap_distinguished_name = -1; /* DistinguishedName */
169 static int hf_dap_time = -1; /* Time */
170 static int hf_dap_random = -1; /* BIT_STRING */
171 static int hf_dap_target = -1; /* ProtectionRequest */
172 static int hf_dap_response = -1; /* BIT_STRING */
173 static int hf_dap_operationCode = -1; /* Code */
174 static int hf_dap_attributeCertificationPath = -1; /* AttributeCertificationPath */
175 static int hf_dap_errorProtection = -1; /* ErrorProtectionRequest */
176 static int hf_dap_errorCode = -1; /* Code */
177 static int hf_dap_utcTime = -1; /* UTCTime */
178 static int hf_dap_generalizedTime = -1; /* GeneralizedTime */
179 static int hf_dap_credentials = -1; /* Credentials */
180 static int hf_dap_versions = -1; /* Versions */
181 static int hf_dap_simple = -1; /* SimpleCredentials */
182 static int hf_dap_strong = -1; /* StrongCredentials */
183 static int hf_dap_externalProcedure = -1; /* EXTERNAL */
184 static int hf_dap_spkm = -1; /* SpkmCredentials */
185 static int hf_dap_validity = -1; /* T_validity */
186 static int hf_dap_time1 = -1; /* T_time1 */
187 static int hf_dap_utc = -1; /* UTCTime */
188 static int hf_dap_gt = -1; /* GeneralizedTime */
189 static int hf_dap_time2 = -1; /* T_time2 */
190 static int hf_dap_random1 = -1; /* BIT_STRING */
191 static int hf_dap_random2 = -1; /* BIT_STRING */
192 static int hf_dap_password = -1; /* T_password */
193 static int hf_dap_unprotected = -1; /* OCTET_STRING */
194 static int hf_dap_protected = -1; /* T_protected */
195 static int hf_dap_protectedPassword = -1; /* OCTET_STRING */
196 static int hf_dap_algorithmIdentifier = -1; /* AlgorithmIdentifier */
197 static int hf_dap_encrypted = -1; /* BIT_STRING */
198 static int hf_dap_bind_token = -1; /* T_bind_token */
199 static int hf_dap_req = -1; /* T_req */
200 static int hf_dap_rep = -1; /* T_rep */
201 static int hf_dap_error = -1; /* T_error */
202 static int hf_dap_serviceProblem = -1; /* ServiceProblem */
203 static int hf_dap_securityProblem = -1; /* SecurityProblem */
204 static int hf_dap_unsignedDirectoryBindError = -1; /* DirectoryBindErrorData */
205 static int hf_dap_signedDirectoryBindError = -1; /* T_signedDirectoryBindError */
206 static int hf_dap_directoryBindError = -1; /* DirectoryBindErrorData */
207 static int hf_dap_object = -1; /* Name */
208 static int hf_dap_selection = -1; /* EntryInformationSelection */
209 static int hf_dap_modifyRightsRequest = -1; /* BOOLEAN */
210 static int hf_dap_serviceControls = -1; /* ServiceControls */
211 static int hf_dap_requestor = -1; /* DistinguishedName */
212 static int hf_dap_operationProgress = -1; /* OperationProgress */
213 static int hf_dap_aliasedRDNs = -1; /* INTEGER */
214 static int hf_dap_criticalExtensions = -1; /* BIT_STRING */
215 static int hf_dap_referenceType = -1; /* ReferenceType */
216 static int hf_dap_entryOnly = -1; /* BOOLEAN */
217 static int hf_dap_nameResolveOnMaster = -1; /* BOOLEAN */
218 static int hf_dap_operationContexts = -1; /* ContextSelection */
219 static int hf_dap_familyGrouping = -1; /* FamilyGrouping */
220 static int hf_dap_rdnSequence = -1; /* RDNSequence */
221 static int hf_dap_unsignedReadArgument = -1; /* ReadArgumentData */
222 static int hf_dap_signedReadArgument = -1; /* T_signedReadArgument */
223 static int hf_dap_readArgument = -1; /* ReadArgumentData */
224 static int hf_dap_entry = -1; /* EntryInformation */
225 static int hf_dap_modifyRights = -1; /* ModifyRights */
226 static int hf_dap_unsignedReadResult = -1; /* ReadResultData */
227 static int hf_dap_signedReadResult = -1; /* T_signedReadResult */
228 static int hf_dap_readResult = -1; /* ReadResultData */
229 static int hf_dap_ModifyRights_item = -1; /* ModifyRights_item */
230 static int hf_dap_item = -1; /* T_item */
231 static int hf_dap_item_entry = -1; /* NULL */
232 static int hf_dap_attribute_type = -1; /* AttributeType */
233 static int hf_dap_value_assertion = -1; /* AttributeValueAssertion */
234 static int hf_dap_permission = -1; /* T_permission */
235 static int hf_dap_purported = -1; /* AttributeValueAssertion */
236 static int hf_dap_unsignedCompareArgument = -1; /* CompareArgumentData */
237 static int hf_dap_signedCompareArgument = -1; /* T_signedCompareArgument */
238 static int hf_dap_compareArgument = -1; /* CompareArgumentData */
239 static int hf_dap_matched = -1; /* BOOLEAN */
240 static int hf_dap_matchedSubtype = -1; /* AttributeType */
241 static int hf_dap_unsignedCompareResult = -1; /* CompareResultData */
242 static int hf_dap_signedCompareResult = -1; /* T_signedCompareResult */
243 static int hf_dap_compareResult = -1; /* CompareResultData */
244 static int hf_dap_invokeID = -1; /* InvokeId */
245 static int hf_dap_unsignedAbandonArgument = -1; /* AbandonArgumentData */
246 static int hf_dap_signedAbandonArgument = -1; /* T_signedAbandonArgument */
247 static int hf_dap_abandonArgument = -1; /* AbandonArgumentData */
248 static int hf_dap_null = -1; /* NULL */
249 static int hf_dap_abandon_information = -1; /* AbandonInformation */
250 static int hf_dap_unsignedAbandonResult = -1; /* AbandonResultData */
251 static int hf_dap_signedAbandonResult = -1; /* T_signedAbandonResult */
252 static int hf_dap_abandonResult = -1; /* AbandonResultData */
253 static int hf_dap_pagedResults = -1; /* PagedResultsRequest */
254 static int hf_dap_listFamily = -1; /* BOOLEAN */
255 static int hf_dap_unsignedListArgument = -1; /* ListArgumentData */
256 static int hf_dap_signedListArgument = -1; /* T_signedListArgument */
257 static int hf_dap_listArgument = -1; /* ListArgumentData */
258 static int hf_dap_listInfo = -1; /* T_listInfo */
259 static int hf_dap_subordinates = -1; /* T_subordinates */
260 static int hf_dap_subordinates_item = -1; /* T_subordinates_item */
261 static int hf_dap_aliasEntry = -1; /* BOOLEAN */
262 static int hf_dap_partialOutcomeQualifier = -1; /* PartialOutcomeQualifier */
263 static int hf_dap_uncorrelatedListInfo = -1; /* SET_OF_ListResult */
264 static int hf_dap_uncorrelatedListInfo_item = -1; /* ListResult */
265 static int hf_dap_unsignedListResult = -1; /* ListResultData */
266 static int hf_dap_signedListResult = -1; /* T_signedListResult */
267 static int hf_dap_listResult = -1; /* ListResultData */
268 static int hf_dap_limitProblem = -1; /* LimitProblem */
269 static int hf_dap_unexplored = -1; /* SET_OF_ContinuationReference */
270 static int hf_dap_unexplored_item = -1; /* ContinuationReference */
271 static int hf_dap_unavailableCriticalExtensions = -1; /* BOOLEAN */
272 static int hf_dap_unknownErrors = -1; /* T_unknownErrors */
273 static int hf_dap_unknownErrors_item = -1; /* OBJECT_IDENTIFIER */
274 static int hf_dap_overspecFilter = -1; /* Filter */
275 static int hf_dap_entryCount = -1; /* T_entryCount */
276 static int hf_dap_bestEstimate = -1; /* INTEGER */
277 static int hf_dap_lowEstimate = -1; /* INTEGER */
278 static int hf_dap_baseObject = -1; /* Name */
279 static int hf_dap_subset = -1; /* T_subset */
280 static int hf_dap_filter = -1; /* Filter */
281 static int hf_dap_searchAliases = -1; /* BOOLEAN */
282 static int hf_dap_matchedValuesOnly = -1; /* BOOLEAN */
283 static int hf_dap_extendedFilter = -1; /* Filter */
284 static int hf_dap_checkOverspecified = -1; /* BOOLEAN */
285 static int hf_dap_relaxation = -1; /* RelaxationPolicy */
286 static int hf_dap_extendedArea = -1; /* INTEGER */
287 static int hf_dap_hierarchySelections = -1; /* HierarchySelections */
288 static int hf_dap_searchControlOptions = -1; /* SearchControlOptions */
289 static int hf_dap_joinArguments = -1; /* SEQUENCE_SIZE_1_MAX_OF_JoinArgument */
290 static int hf_dap_joinArguments_item = -1; /* JoinArgument */
291 static int hf_dap_joinType = -1; /* T_joinType */
292 static int hf_dap_unsignedSearchArgument = -1; /* SearchArgumentData */
293 static int hf_dap_signedSearchArgument = -1; /* T_signedSearchArgument */
294 static int hf_dap_searchArgument = -1; /* SearchArgumentData */
295 static int hf_dap_joinBaseObject = -1; /* Name */
296 static int hf_dap_domainLocalID = -1; /* DomainLocalID */
297 static int hf_dap_joinSubset = -1; /* T_joinSubset */
298 static int hf_dap_joinFilter = -1; /* Filter */
299 static int hf_dap_joinAttributes = -1; /* SEQUENCE_OF_JoinAttPair */
300 static int hf_dap_joinAttributes_item = -1; /* JoinAttPair */
301 static int hf_dap_joinSelection = -1; /* EntryInformationSelection */
302 static int hf_dap_baseAtt = -1; /* AttributeType */
303 static int hf_dap_joinAtt = -1; /* AttributeType */
304 static int hf_dap_joinContext = -1; /* SEQUENCE_OF_JoinContextType */
305 static int hf_dap_joinContext_item = -1; /* JoinContextType */
306 static int hf_dap_searchInfo = -1; /* T_searchInfo */
307 static int hf_dap_entries = -1; /* SET_OF_EntryInformation */
308 static int hf_dap_entries_item = -1; /* EntryInformation */
309 static int hf_dap_altMatching = -1; /* BOOLEAN */
310 static int hf_dap_uncorrelatedSearchInfo = -1; /* SET_OF_SearchResult */
311 static int hf_dap_uncorrelatedSearchInfo_item = -1; /* SearchResult */
312 static int hf_dap_unsignedSearchResult = -1; /* SearchResultData */
313 static int hf_dap_signedSearchResult = -1; /* T_signedSearchResult */
314 static int hf_dap_searchResult = -1; /* SearchResultData */
315 static int hf_dap_add_entry = -1; /* SET_OF_Attribute */
316 static int hf_dap_entry_item = -1; /* Attribute */
317 static int hf_dap_targetSystem = -1; /* AccessPoint */
318 static int hf_dap_unsignedAddEntryArgument = -1; /* AddEntryArgumentData */
319 static int hf_dap_signedAddEntryArgument = -1; /* T_signedAddEntryArgument */
320 static int hf_dap_addEntryArgument = -1; /* AddEntryArgumentData */
321 static int hf_dap_add_entry_information = -1; /* AddEntryInformation */
322 static int hf_dap_unsignedAddEntryResult = -1; /* AddEntryResultData */
323 static int hf_dap_signedAddEntryResult = -1; /* T_signedAddEntryResult */
324 static int hf_dap_addEntryResult = -1; /* AddEntryResultData */
325 static int hf_dap_unsignedRemoveEntryArgument = -1; /* RemoveEntryArgumentData */
326 static int hf_dap_signedRemoveEntryArgument = -1; /* T_signedRemoveEntryArgument */
327 static int hf_dap_removeEntryArgument = -1; /* RemoveEntryArgumentData */
328 static int hf_dap_remove_entry_information = -1; /* RemoveEntryInformation */
329 static int hf_dap_unsignedRemoveEntryResult = -1; /* RemoveEntryResultData */
330 static int hf_dap_signedRemoveEntryResult = -1; /* T_signedRemoveEntryResult */
331 static int hf_dap_removeEntryResult = -1; /* RemoveEntryResultData */
332 static int hf_dap_changes = -1; /* SEQUENCE_OF_EntryModification */
333 static int hf_dap_changes_item = -1; /* EntryModification */
334 static int hf_dap_unsignedModifyEntryArgument = -1; /* ModifyEntryArgumentData */
335 static int hf_dap_signedModifyEntryArgument = -1; /* T_signedModifyEntryArgument */
336 static int hf_dap_modifyEntryArgument = -1; /* ModifyEntryArgumentData */
337 static int hf_dap_modify_entry_information = -1; /* ModifyEntryInformation */
338 static int hf_dap_unsignedModifyEntryResult = -1; /* ModifyEntryResultData */
339 static int hf_dap_signedModifyEntryResult = -1; /* T_signedModifyEntryResult */
340 static int hf_dap_modifyEntryResult = -1; /* ModifyEntryResultData */
341 static int hf_dap_addAttribute = -1; /* Attribute */
342 static int hf_dap_removeAttribute = -1; /* AttributeType */
343 static int hf_dap_addValues = -1; /* Attribute */
344 static int hf_dap_removeValues = -1; /* Attribute */
345 static int hf_dap_alterValues = -1; /* AttributeTypeAndValue */
346 static int hf_dap_resetValue = -1; /* AttributeType */
347 static int hf_dap_newRDN = -1; /* RelativeDistinguishedName */
348 static int hf_dap_deleteOldRDN = -1; /* BOOLEAN */
349 static int hf_dap_newSuperior = -1; /* DistinguishedName */
350 static int hf_dap_modify_dn_information = -1; /* ModifyDNInformation */
351 static int hf_dap_unsignedModifyDNResult = -1; /* ModifyDNResultData */
352 static int hf_dap_signedModifyDNResult = -1; /* T_signedModifyDNResult */
353 static int hf_dap_modifyDNResult = -1; /* ModifyDNResultData */
354 static int hf_dap_unsignedAbandoned = -1; /* AbandonedData */
355 static int hf_dap_signedAbandoned = -1; /* T_signedAbandoned */
356 static int hf_dap_abandoned = -1; /* AbandonedData */
357 static int hf_dap_abandon_failed_problem = -1; /* AbandonProblem */
358 static int hf_dap_operation = -1; /* InvokeId */
359 static int hf_dap_unsignedAbandonFailedError = -1; /* AbandonFailedErrorData */
360 static int hf_dap_signedAbandonFailedError = -1; /* T_signedAbandonFailedError */
361 static int hf_dap_abandonFailedError = -1; /* AbandonFailedErrorData */
362 static int hf_dap_problems = -1; /* T_problems */
363 static int hf_dap_problems_item = -1; /* T_problems_item */
364 static int hf_dap_attribute_error_problem = -1; /* AttributeProblem */
365 static int hf_dap_value = -1; /* AttributeValue */
366 static int hf_dap_unsignedAttributeError = -1; /* AttributeErrorData */
367 static int hf_dap_signedAttributeError = -1; /* T_signedAttributeError */
368 static int hf_dap_attributeError = -1; /* AttributeErrorData */
369 static int hf_dap_name_error_problem = -1; /* NameProblem */
370 static int hf_dap_matched_name = -1; /* Name */
371 static int hf_dap_unsignedNameError = -1; /* NameErrorData */
372 static int hf_dap_signedNameError = -1; /* T_signedNameError */
373 static int hf_dap_nameError = -1; /* NameErrorData */
374 static int hf_dap_candidate = -1; /* ContinuationReference */
375 static int hf_dap_unsignedReferral = -1; /* ReferralData */
376 static int hf_dap_signedReferral = -1; /* T_signedReferral */
377 static int hf_dap_referral = -1; /* ReferralData */
378 static int hf_dap_security_error_problem = -1; /* SecurityProblem */
379 static int hf_dap_spkmInfo = -1; /* T_spkmInfo */
380 static int hf_dap_unsignedSecurityError = -1; /* SecurityErrorData */
381 static int hf_dap_signedSecurityError = -1; /* T_signedSecurityError */
382 static int hf_dap_securityErrorData = -1; /* SecurityErrorData */
383 static int hf_dap_service_error_problem = -1; /* ServiceProblem */
384 static int hf_dap_unsignedServiceError = -1; /* ServiceErrorData */
385 static int hf_dap_signedServiceError = -1; /* T_signedServiceError */
386 static int hf_dap_serviceError = -1; /* ServiceErrorData */
387 static int hf_dap_update_error_problem = -1; /* UpdateProblem */
388 static int hf_dap_attributeInfo = -1; /* T_attributeInfo */
389 static int hf_dap_attributeInfo_item = -1; /* T_attributeInfo_item */
390 static int hf_dap_unsignedUpdateError = -1; /* UpdateErrorData */
391 static int hf_dap_signedUpdateError = -1; /* T_signedUpdateError */
392 static int hf_dap_updateError = -1; /* UpdateErrorData */
394 static int hf_dap_ServiceControlOptions_preferChaining = -1;
395 static int hf_dap_ServiceControlOptions_chainingProhibited = -1;
396 static int hf_dap_ServiceControlOptions_localScope = -1;
397 static int hf_dap_ServiceControlOptions_dontUseCopy = -1;
398 static int hf_dap_ServiceControlOptions_dontDereferenceAliases = -1;
399 static int hf_dap_ServiceControlOptions_subentries = -1;
400 static int hf_dap_ServiceControlOptions_copyShallDo = -1;
401 static int hf_dap_ServiceControlOptions_partialNameResolution = -1;
402 static int hf_dap_ServiceControlOptions_manageDSAIT = -1;
403 static int hf_dap_ServiceControlOptions_noSubtypeMatch = -1;
404 static int hf_dap_ServiceControlOptions_noSubtypeSelection = -1;
405 static int hf_dap_ServiceControlOptions_countFamily = -1;
406 static int hf_dap_Versions_v1 = -1;
407 static int hf_dap_Versions_v2 = -1;
408 static int hf_dap_T_permission_add = -1;
409 static int hf_dap_T_permission_remove = -1;
410 static int hf_dap_T_permission_rename = -1;
411 static int hf_dap_T_permission_move = -1;
412 static int hf_dap_HierarchySelections_self = -1;
413 static int hf_dap_HierarchySelections_children = -1;
414 static int hf_dap_HierarchySelections_parent = -1;
415 static int hf_dap_HierarchySelections_hierarchy = -1;
416 static int hf_dap_HierarchySelections_top = -1;
417 static int hf_dap_HierarchySelections_subtree = -1;
418 static int hf_dap_HierarchySelections_siblings = -1;
419 static int hf_dap_HierarchySelections_siblingChildren = -1;
420 static int hf_dap_HierarchySelections_siblingSubtree = -1;
421 static int hf_dap_HierarchySelections_all = -1;
422 static int hf_dap_SearchControlOptions_searchAliases = -1;
423 static int hf_dap_SearchControlOptions_matchedValuesOnly = -1;
424 static int hf_dap_SearchControlOptions_checkOverspecified = -1;
425 static int hf_dap_SearchControlOptions_performExactly = -1;
426 static int hf_dap_SearchControlOptions_includeAllAreas = -1;
427 static int hf_dap_SearchControlOptions_noSystemRelaxation = -1;
428 static int hf_dap_SearchControlOptions_dnAttribute = -1;
429 static int hf_dap_SearchControlOptions_matchOnResidualName = -1;
430 static int hf_dap_SearchControlOptions_entryCount = -1;
431 static int hf_dap_SearchControlOptions_useSubset = -1;
432 static int hf_dap_SearchControlOptions_separateFamilyMembers = -1;
433 static int hf_dap_SearchControlOptions_searchFamily = -1;
435 /*--- End of included file: packet-dap-hf.c ---*/
436 #line 70 "packet-dap-template.c"
438 /* Initialize the subtree pointers */
439 static gint ett_dap = -1;
441 /*--- Included file: packet-dap-ett.c ---*/
442 #line 1 "packet-dap-ett.c"
443 static gint ett_dap_CommonResults = -1;
444 static gint ett_dap_SEQUENCE_OF_Attribute = -1;
445 static gint ett_dap_ServiceControls = -1;
446 static gint ett_dap_T_manageDSAITPlaneRef = -1;
447 static gint ett_dap_ServiceControlOptions = -1;
448 static gint ett_dap_EntryInformationSelection = -1;
449 static gint ett_dap_T_attributes = -1;
450 static gint ett_dap_SET_OF_AttributeType = -1;
451 static gint ett_dap_T_extraAttributes = -1;
452 static gint ett_dap_ContextSelection = -1;
453 static gint ett_dap_SET_OF_TypeAndContextAssertion = -1;
454 static gint ett_dap_TypeAndContextAssertion = -1;
455 static gint ett_dap_T_contextAssertions = -1;
456 static gint ett_dap_SEQUENCE_OF_ContextAssertion = -1;
457 static gint ett_dap_SET_OF_ContextAssertion = -1;
458 static gint ett_dap_FamilyReturn = -1;
459 static gint ett_dap_T_familySelect = -1;
460 static gint ett_dap_EntryInformation = -1;
461 static gint ett_dap_T_information = -1;
462 static gint ett_dap_EntryInformationItem = -1;
463 static gint ett_dap_FamilyEntries = -1;
464 static gint ett_dap_SEQUENCE_OF_FamilyEntry = -1;
465 static gint ett_dap_FamilyEntry = -1;
466 static gint ett_dap_FamilyInformation = -1;
467 static gint ett_dap_T_information_item = -1;
468 static gint ett_dap_SEQUENCE_OF_FamilyEntries = -1;
469 static gint ett_dap_Filter = -1;
470 static gint ett_dap_SetOfFilter = -1;
471 static gint ett_dap_FilterItem = -1;
472 static gint ett_dap_T_substrings = -1;
473 static gint ett_dap_T_strings = -1;
474 static gint ett_dap_T_strings_item = -1;
475 static gint ett_dap_MatchingRuleAssertion = -1;
476 static gint ett_dap_T_matchingRule = -1;
477 static gint ett_dap_PagedResultsRequest = -1;
478 static gint ett_dap_T_newRequest = -1;
479 static gint ett_dap_SEQUENCE_OF_SortKey = -1;
480 static gint ett_dap_SortKey = -1;
481 static gint ett_dap_SecurityParameters = -1;
482 static gint ett_dap_Time = -1;
483 static gint ett_dap_DirectoryBindArgument = -1;
484 static gint ett_dap_Credentials = -1;
485 static gint ett_dap_SimpleCredentials = -1;
486 static gint ett_dap_T_validity = -1;
487 static gint ett_dap_T_time1 = -1;
488 static gint ett_dap_T_time2 = -1;
489 static gint ett_dap_T_password = -1;
490 static gint ett_dap_T_protected = -1;
491 static gint ett_dap_StrongCredentials = -1;
492 static gint ett_dap_SpkmCredentials = -1;
493 static gint ett_dap_Versions = -1;
494 static gint ett_dap_DirectoryBindErrorData = -1;
495 static gint ett_dap_T_error = -1;
496 static gint ett_dap_DirectoryBindError = -1;
497 static gint ett_dap_T_signedDirectoryBindError = -1;
498 static gint ett_dap_ReadArgumentData = -1;
499 static gint ett_dap_Name = -1;
500 static gint ett_dap_ReadArgument = -1;
501 static gint ett_dap_T_signedReadArgument = -1;
502 static gint ett_dap_ReadResultData = -1;
503 static gint ett_dap_ReadResult = -1;
504 static gint ett_dap_T_signedReadResult = -1;
505 static gint ett_dap_ModifyRights = -1;
506 static gint ett_dap_ModifyRights_item = -1;
507 static gint ett_dap_T_item = -1;
508 static gint ett_dap_T_permission = -1;
509 static gint ett_dap_CompareArgumentData = -1;
510 static gint ett_dap_CompareArgument = -1;
511 static gint ett_dap_T_signedCompareArgument = -1;
512 static gint ett_dap_CompareResultData = -1;
513 static gint ett_dap_CompareResult = -1;
514 static gint ett_dap_T_signedCompareResult = -1;
515 static gint ett_dap_AbandonArgumentData = -1;
516 static gint ett_dap_AbandonArgument = -1;
517 static gint ett_dap_T_signedAbandonArgument = -1;
518 static gint ett_dap_AbandonResultData = -1;
519 static gint ett_dap_AbandonResult = -1;
520 static gint ett_dap_AbandonInformation = -1;
521 static gint ett_dap_T_signedAbandonResult = -1;
522 static gint ett_dap_ListArgumentData = -1;
523 static gint ett_dap_ListArgument = -1;
524 static gint ett_dap_T_signedListArgument = -1;
525 static gint ett_dap_ListResultData = -1;
526 static gint ett_dap_T_listInfo = -1;
527 static gint ett_dap_T_subordinates = -1;
528 static gint ett_dap_T_subordinates_item = -1;
529 static gint ett_dap_SET_OF_ListResult = -1;
530 static gint ett_dap_ListResult = -1;
531 static gint ett_dap_T_signedListResult = -1;
532 static gint ett_dap_PartialOutcomeQualifier = -1;
533 static gint ett_dap_SET_OF_ContinuationReference = -1;
534 static gint ett_dap_T_unknownErrors = -1;
535 static gint ett_dap_T_entryCount = -1;
536 static gint ett_dap_SearchArgumentData = -1;
537 static gint ett_dap_SEQUENCE_SIZE_1_MAX_OF_JoinArgument = -1;
538 static gint ett_dap_SearchArgument = -1;
539 static gint ett_dap_T_signedSearchArgument = -1;
540 static gint ett_dap_HierarchySelections = -1;
541 static gint ett_dap_SearchControlOptions = -1;
542 static gint ett_dap_JoinArgument = -1;
543 static gint ett_dap_SEQUENCE_OF_JoinAttPair = -1;
544 static gint ett_dap_JoinAttPair = -1;
545 static gint ett_dap_SEQUENCE_OF_JoinContextType = -1;
546 static gint ett_dap_SearchResultData = -1;
547 static gint ett_dap_T_searchInfo = -1;
548 static gint ett_dap_SET_OF_EntryInformation = -1;
549 static gint ett_dap_SET_OF_SearchResult = -1;
550 static gint ett_dap_SearchResult = -1;
551 static gint ett_dap_T_signedSearchResult = -1;
552 static gint ett_dap_AddEntryArgumentData = -1;
553 static gint ett_dap_SET_OF_Attribute = -1;
554 static gint ett_dap_AddEntryArgument = -1;
555 static gint ett_dap_T_signedAddEntryArgument = -1;
556 static gint ett_dap_AddEntryResultData = -1;
557 static gint ett_dap_AddEntryResult = -1;
558 static gint ett_dap_AddEntryInformation = -1;
559 static gint ett_dap_T_signedAddEntryResult = -1;
560 static gint ett_dap_RemoveEntryArgumentData = -1;
561 static gint ett_dap_RemoveEntryArgument = -1;
562 static gint ett_dap_T_signedRemoveEntryArgument = -1;
563 static gint ett_dap_RemoveEntryResultData = -1;
564 static gint ett_dap_RemoveEntryResult = -1;
565 static gint ett_dap_RemoveEntryInformation = -1;
566 static gint ett_dap_T_signedRemoveEntryResult = -1;
567 static gint ett_dap_ModifyEntryArgumentData = -1;
568 static gint ett_dap_SEQUENCE_OF_EntryModification = -1;
569 static gint ett_dap_ModifyEntryArgument = -1;
570 static gint ett_dap_T_signedModifyEntryArgument = -1;
571 static gint ett_dap_ModifyEntryResultData = -1;
572 static gint ett_dap_ModifyEntryResult = -1;
573 static gint ett_dap_ModifyEntryInformation = -1;
574 static gint ett_dap_T_signedModifyEntryResult = -1;
575 static gint ett_dap_EntryModification = -1;
576 static gint ett_dap_ModifyDNArgument = -1;
577 static gint ett_dap_ModifyDNResultData = -1;
578 static gint ett_dap_ModifyDNResult = -1;
579 static gint ett_dap_ModifyDNInformation = -1;
580 static gint ett_dap_T_signedModifyDNResult = -1;
581 static gint ett_dap_AbandonedData = -1;
582 static gint ett_dap_Abandoned = -1;
583 static gint ett_dap_T_signedAbandoned = -1;
584 static gint ett_dap_AbandonFailedErrorData = -1;
585 static gint ett_dap_AbandonFailedError = -1;
586 static gint ett_dap_T_signedAbandonFailedError = -1;
587 static gint ett_dap_AttributeErrorData = -1;
588 static gint ett_dap_T_problems = -1;
589 static gint ett_dap_T_problems_item = -1;
590 static gint ett_dap_AttributeError = -1;
591 static gint ett_dap_T_signedAttributeError = -1;
592 static gint ett_dap_NameErrorData = -1;
593 static gint ett_dap_NameError = -1;
594 static gint ett_dap_T_signedNameError = -1;
595 static gint ett_dap_ReferralData = -1;
596 static gint ett_dap_Referral = -1;
597 static gint ett_dap_T_signedReferral = -1;
598 static gint ett_dap_SecurityErrorData = -1;
599 static gint ett_dap_SecurityError = -1;
600 static gint ett_dap_T_signedSecurityError = -1;
601 static gint ett_dap_ServiceErrorData = -1;
602 static gint ett_dap_ServiceError = -1;
603 static gint ett_dap_T_signedServiceError = -1;
604 static gint ett_dap_UpdateErrorData = -1;
605 static gint ett_dap_T_attributeInfo = -1;
606 static gint ett_dap_T_attributeInfo_item = -1;
607 static gint ett_dap_UpdateError = -1;
608 static gint ett_dap_T_signedUpdateError = -1;
610 /*--- End of included file: packet-dap-ett.c ---*/
611 #line 74 "packet-dap-template.c"
614 /*--- Included file: packet-dap-fn.c ---*/
615 #line 1 "packet-dap-fn.c"
616 /*--- Cyclic dependencies ---*/
618 /* FamilyEntries -> FamilyEntries/familyEntries -> FamilyEntry -> FamilyEntry/family-info -> FamilyEntries */
619 static int dissect_dap_FamilyEntries(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
621 static int dissect_family_info_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
622 return dissect_dap_FamilyEntries(FALSE, tvb, offset, pinfo, tree, hf_dap_family_info_item);
625 /* Filter -> SetOfFilter -> Filter */
626 /* Filter -> Filter */
627 int dissect_dap_Filter(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
629 static int dissect_not(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
630 return dissect_dap_Filter(FALSE, tvb, offset, pinfo, tree, hf_dap_not);
632 static int dissect_SetOfFilter_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
633 return dissect_dap_Filter(FALSE, tvb, offset, pinfo, tree, hf_dap_SetOfFilter_item);
635 static int dissect_overspecFilter(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
636 return dissect_dap_Filter(FALSE, tvb, offset, pinfo, tree, hf_dap_overspecFilter);
638 static int dissect_filter(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
639 return dissect_dap_Filter(FALSE, tvb, offset, pinfo, tree, hf_dap_filter);
641 static int dissect_extendedFilter(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
642 return dissect_dap_Filter(FALSE, tvb, offset, pinfo, tree, hf_dap_extendedFilter);
644 static int dissect_joinFilter(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
645 return dissect_dap_Filter(FALSE, tvb, offset, pinfo, tree, hf_dap_joinFilter);
648 /* ListResultData -> ListResultData/uncorrelatedListInfo -> ListResult -> ListResultData */
649 /* ListResultData -> ListResultData/uncorrelatedListInfo -> ListResult -> ListResult/signedListResult -> ListResultData */
650 static int dissect_dap_ListResultData(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
652 static int dissect_unsignedListResult(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
653 return dissect_dap_ListResultData(FALSE, tvb, offset, pinfo, tree, hf_dap_unsignedListResult);
655 static int dissect_listResult(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
656 return dissect_dap_ListResultData(FALSE, tvb, offset, pinfo, tree, hf_dap_listResult);
659 /* SearchResultData -> SearchResultData/uncorrelatedSearchInfo -> SearchResult -> SearchResultData */
660 /* SearchResultData -> SearchResultData/uncorrelatedSearchInfo -> SearchResult -> SearchResult/signedSearchResult -> SearchResultData */
661 static int dissect_dap_SearchResultData(gboolean implicit_tag, tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
663 static int dissect_unsignedSearchResult(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
664 return dissect_dap_SearchResultData(FALSE, tvb, offset, pinfo, tree, hf_dap_unsignedSearchResult);
666 static int dissect_searchResult(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
667 return dissect_dap_SearchResultData(FALSE, tvb, offset, pinfo, tree, hf_dap_searchResult);
671 /*--- Fields for imported types ---*/
673 static int dissect_performer(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
674 return dissect_x509if_DistinguishedName(FALSE, tvb, offset, pinfo, tree, hf_dap_performer);
676 static int dissect_notification_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
677 return dissect_x509if_Attribute(FALSE, tvb, offset, pinfo, tree, hf_dap_notification_item);
679 static int dissect_agreementID(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
680 return dissect_disp_AgreementID(FALSE, tvb, offset, pinfo, tree, hf_dap_agreementID);
682 static int dissect_select_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
683 return dissect_x509if_AttributeType(FALSE, tvb, offset, pinfo, tree, hf_dap_select_item);
685 static int dissect_type(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
686 return dissect_x509if_AttributeType(FALSE, tvb, offset, pinfo, tree, hf_dap_type);
688 static int dissect_preference_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
689 return dissect_x509if_ContextAssertion(FALSE, tvb, offset, pinfo, tree, hf_dap_preference_item);
691 static int dissect_all_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
692 return dissect_x509if_ContextAssertion(FALSE, tvb, offset, pinfo, tree, hf_dap_all_item);
694 static int dissect_attributeType(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
695 return dissect_x509if_AttributeType(FALSE, tvb, offset, pinfo, tree, hf_dap_attributeType);
697 static int dissect_attribute(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
698 return dissect_x509if_Attribute(FALSE, tvb, offset, pinfo, tree, hf_dap_attribute);
700 static int dissect_rdn(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
701 return dissect_x509if_RelativeDistinguishedName(FALSE, tvb, offset, pinfo, tree, hf_dap_rdn);
703 static int dissect_equality(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
704 return dissect_x509if_AttributeValueAssertion(FALSE, tvb, offset, pinfo, tree, hf_dap_equality);
706 static int dissect_control(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
707 return dissect_x509if_Attribute(FALSE, tvb, offset, pinfo, tree, hf_dap_control);
709 static int dissect_greaterOrEqual(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
710 return dissect_x509if_AttributeValueAssertion(FALSE, tvb, offset, pinfo, tree, hf_dap_greaterOrEqual);
712 static int dissect_lessOrEqual(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
713 return dissect_x509if_AttributeValueAssertion(FALSE, tvb, offset, pinfo, tree, hf_dap_lessOrEqual);
715 static int dissect_present(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
716 return dissect_x509if_AttributeType(FALSE, tvb, offset, pinfo, tree, hf_dap_present);
718 static int dissect_approximateMatch(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
719 return dissect_x509if_AttributeValueAssertion(FALSE, tvb, offset, pinfo, tree, hf_dap_approximateMatch);
721 static int dissect_contextPresent(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
722 return dissect_x509if_AttributeTypeAssertion(FALSE, tvb, offset, pinfo, tree, hf_dap_contextPresent);
724 static int dissect_certification_path(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
725 return dissect_x509af_CertificationPath(FALSE, tvb, offset, pinfo, tree, hf_dap_certification_path);
727 static int dissect_distinguished_name(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
728 return dissect_x509if_DistinguishedName(FALSE, tvb, offset, pinfo, tree, hf_dap_distinguished_name);
730 static int dissect_operationCode(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
731 return dissect_ros_Code(FALSE, tvb, offset, pinfo, tree, hf_dap_operationCode);
733 static int dissect_attributeCertificationPath(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
734 return dissect_x509af_AttributeCertificationPath(FALSE, tvb, offset, pinfo, tree, hf_dap_attributeCertificationPath);
736 static int dissect_errorCode(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
737 return dissect_ros_Code(FALSE, tvb, offset, pinfo, tree, hf_dap_errorCode);
739 static int dissect_externalProcedure(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
740 return dissect_acse_EXTERNAL(FALSE, tvb, offset, pinfo, tree, hf_dap_externalProcedure);
742 static int dissect_algorithmIdentifier(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
743 return dissect_x509af_AlgorithmIdentifier(FALSE, tvb, offset, pinfo, tree, hf_dap_algorithmIdentifier);
745 static int dissect_requestor(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
746 return dissect_x509if_DistinguishedName(FALSE, tvb, offset, pinfo, tree, hf_dap_requestor);
748 static int dissect_operationProgress(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
749 return dissect_dsp_OperationProgress(FALSE, tvb, offset, pinfo, tree, hf_dap_operationProgress);
751 static int dissect_referenceType(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
752 return dissect_dsp_ReferenceType(FALSE, tvb, offset, pinfo, tree, hf_dap_referenceType);
754 static int dissect_rdnSequence(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
755 return dissect_x509if_RDNSequence(FALSE, tvb, offset, pinfo, tree, hf_dap_rdnSequence);
757 static int dissect_attribute_type(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
758 return dissect_x509if_AttributeType(FALSE, tvb, offset, pinfo, tree, hf_dap_attribute_type);
760 static int dissect_value_assertion(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
761 return dissect_x509if_AttributeValueAssertion(FALSE, tvb, offset, pinfo, tree, hf_dap_value_assertion);
763 static int dissect_purported(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
764 return dissect_x509if_AttributeValueAssertion(FALSE, tvb, offset, pinfo, tree, hf_dap_purported);
766 static int dissect_matchedSubtype(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
767 return dissect_x509if_AttributeType(FALSE, tvb, offset, pinfo, tree, hf_dap_matchedSubtype);
769 static int dissect_invokeID(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
770 return dissect_ros_InvokeId(FALSE, tvb, offset, pinfo, tree, hf_dap_invokeID);
772 static int dissect_unexplored_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
773 return dissect_dsp_ContinuationReference(FALSE, tvb, offset, pinfo, tree, hf_dap_unexplored_item);
775 static int dissect_relaxation(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
776 return dissect_x509if_RelaxationPolicy(FALSE, tvb, offset, pinfo, tree, hf_dap_relaxation);
778 static int dissect_baseAtt(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
779 return dissect_x509if_AttributeType(FALSE, tvb, offset, pinfo, tree, hf_dap_baseAtt);
781 static int dissect_joinAtt(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
782 return dissect_x509if_AttributeType(FALSE, tvb, offset, pinfo, tree, hf_dap_joinAtt);
784 static int dissect_entry_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
785 return dissect_x509if_Attribute(FALSE, tvb, offset, pinfo, tree, hf_dap_entry_item);
787 static int dissect_targetSystem(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
788 return dissect_dsp_AccessPoint(FALSE, tvb, offset, pinfo, tree, hf_dap_targetSystem);
790 static int dissect_addAttribute(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
791 return dissect_x509if_Attribute(FALSE, tvb, offset, pinfo, tree, hf_dap_addAttribute);
793 static int dissect_removeAttribute(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
794 return dissect_x509if_AttributeType(FALSE, tvb, offset, pinfo, tree, hf_dap_removeAttribute);
796 static int dissect_addValues(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
797 return dissect_x509if_Attribute(FALSE, tvb, offset, pinfo, tree, hf_dap_addValues);
799 static int dissect_removeValues(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
800 return dissect_x509if_Attribute(FALSE, tvb, offset, pinfo, tree, hf_dap_removeValues);
802 static int dissect_alterValues(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
803 return dissect_crmf_AttributeTypeAndValue(FALSE, tvb, offset, pinfo, tree, hf_dap_alterValues);
805 static int dissect_resetValue(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
806 return dissect_x509if_AttributeType(FALSE, tvb, offset, pinfo, tree, hf_dap_resetValue);
808 static int dissect_newRDN(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
809 return dissect_x509if_RelativeDistinguishedName(FALSE, tvb, offset, pinfo, tree, hf_dap_newRDN);
811 static int dissect_newSuperior(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
812 return dissect_x509if_DistinguishedName(FALSE, tvb, offset, pinfo, tree, hf_dap_newSuperior);
814 static int dissect_operation(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
815 return dissect_ros_InvokeId(FALSE, tvb, offset, pinfo, tree, hf_dap_operation);
817 static int dissect_value(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
818 return dissect_x509if_AttributeValue(FALSE, tvb, offset, pinfo, tree, hf_dap_value);
820 static int dissect_candidate(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
821 return dissect_dsp_ContinuationReference(FALSE, tvb, offset, pinfo, tree, hf_dap_candidate);
825 static const value_string dap_FamilyGrouping_vals[] = {
827 { 2, "compoundEntry" },
829 { 4, "multiStrand" },
835 dissect_dap_FamilyGrouping(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
836 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
841 static int dissect_familyGrouping(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
842 return dissect_dap_FamilyGrouping(FALSE, tvb, offset, pinfo, tree, hf_dap_familyGrouping);
848 dissect_dap_UTCTime(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
849 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_UTCTime,
850 pinfo, tree, tvb, offset, hf_index,
855 static int dissect_utcTime(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
856 return dissect_dap_UTCTime(FALSE, tvb, offset, pinfo, tree, hf_dap_utcTime);
858 static int dissect_utc(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
859 return dissect_dap_UTCTime(FALSE, tvb, offset, pinfo, tree, hf_dap_utc);
865 dissect_dap_GeneralizedTime(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
866 offset = dissect_ber_GeneralizedTime(implicit_tag, pinfo, tree, tvb, offset, hf_index);
870 static int dissect_generalizedTime(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
871 return dissect_dap_GeneralizedTime(FALSE, tvb, offset, pinfo, tree, hf_dap_generalizedTime);
873 static int dissect_gt(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
874 return dissect_dap_GeneralizedTime(FALSE, tvb, offset, pinfo, tree, hf_dap_gt);
878 static const value_string dap_Time_vals[] = {
880 { 1, "generalizedTime" },
884 static const ber_choice_t Time_choice[] = {
885 { 0, BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_NOOWNTAG, dissect_utcTime },
886 { 1, BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_NOOWNTAG, dissect_generalizedTime },
891 dissect_dap_Time(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
892 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
893 Time_choice, hf_index, ett_dap_Time,
898 static int dissect_time(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
899 return dissect_dap_Time(FALSE, tvb, offset, pinfo, tree, hf_dap_time);
905 dissect_dap_BIT_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
906 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
912 static int dissect_random(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
913 return dissect_dap_BIT_STRING(FALSE, tvb, offset, pinfo, tree, hf_dap_random);
915 static int dissect_response(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
916 return dissect_dap_BIT_STRING(FALSE, tvb, offset, pinfo, tree, hf_dap_response);
918 static int dissect_random1(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
919 return dissect_dap_BIT_STRING(FALSE, tvb, offset, pinfo, tree, hf_dap_random1);
921 static int dissect_random2(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
922 return dissect_dap_BIT_STRING(FALSE, tvb, offset, pinfo, tree, hf_dap_random2);
924 static int dissect_encrypted(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
925 return dissect_dap_BIT_STRING(FALSE, tvb, offset, pinfo, tree, hf_dap_encrypted);
927 static int dissect_criticalExtensions(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
928 return dissect_dap_BIT_STRING(FALSE, tvb, offset, pinfo, tree, hf_dap_criticalExtensions);
932 static const value_string dap_ProtectionRequest_vals[] = {
936 { 3, "signed-encrypted" },
942 dissect_dap_ProtectionRequest(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
943 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
948 static int dissect_target(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
949 return dissect_dap_ProtectionRequest(FALSE, tvb, offset, pinfo, tree, hf_dap_target);
953 static const value_string dap_ErrorProtectionRequest_vals[] = {
957 { 3, "signed-encrypted" },
963 dissect_dap_ErrorProtectionRequest(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
964 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
969 static int dissect_errorProtection(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
970 return dissect_dap_ErrorProtectionRequest(FALSE, tvb, offset, pinfo, tree, hf_dap_errorProtection);
974 static const ber_sequence_t SecurityParameters_set[] = {
975 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_certification_path },
976 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_distinguished_name },
977 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_time },
978 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_random },
979 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_target },
980 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL, dissect_response },
981 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL, dissect_operationCode },
982 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL, dissect_attributeCertificationPath },
983 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL, dissect_errorProtection },
984 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL, dissect_errorCode },
989 dissect_dap_SecurityParameters(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
990 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
991 SecurityParameters_set, hf_index, ett_dap_SecurityParameters);
995 static int dissect_securityParameters(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
996 return dissect_dap_SecurityParameters(FALSE, tvb, offset, pinfo, tree, hf_dap_securityParameters);
1002 dissect_dap_BOOLEAN(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1003 offset = dissect_ber_boolean(implicit_tag, pinfo, tree, tvb, offset, hf_index);
1007 static int dissect_aliasDereferenced(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1008 return dissect_dap_BOOLEAN(FALSE, tvb, offset, pinfo, tree, hf_dap_aliasDereferenced);
1010 static int dissect_returnContexts(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1011 return dissect_dap_BOOLEAN(FALSE, tvb, offset, pinfo, tree, hf_dap_returnContexts);
1013 static int dissect_fromEntry(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1014 return dissect_dap_BOOLEAN(FALSE, tvb, offset, pinfo, tree, hf_dap_fromEntry);
1016 static int dissect_incompleteEntry(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1017 return dissect_dap_BOOLEAN(FALSE, tvb, offset, pinfo, tree, hf_dap_incompleteEntry);
1019 static int dissect_partialName(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1020 return dissect_dap_BOOLEAN(FALSE, tvb, offset, pinfo, tree, hf_dap_partialName);
1022 static int dissect_derivedEntry(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1023 return dissect_dap_BOOLEAN(FALSE, tvb, offset, pinfo, tree, hf_dap_derivedEntry);
1025 static int dissect_dnAttributes(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1026 return dissect_dap_BOOLEAN(FALSE, tvb, offset, pinfo, tree, hf_dap_dnAttributes);
1028 static int dissect_reverse(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1029 return dissect_dap_BOOLEAN(FALSE, tvb, offset, pinfo, tree, hf_dap_reverse);
1031 static int dissect_unmerged(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1032 return dissect_dap_BOOLEAN(FALSE, tvb, offset, pinfo, tree, hf_dap_unmerged);
1034 static int dissect_modifyRightsRequest(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1035 return dissect_dap_BOOLEAN(FALSE, tvb, offset, pinfo, tree, hf_dap_modifyRightsRequest);
1037 static int dissect_entryOnly(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1038 return dissect_dap_BOOLEAN(FALSE, tvb, offset, pinfo, tree, hf_dap_entryOnly);
1040 static int dissect_nameResolveOnMaster(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1041 return dissect_dap_BOOLEAN(FALSE, tvb, offset, pinfo, tree, hf_dap_nameResolveOnMaster);
1043 static int dissect_matched(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1044 return dissect_dap_BOOLEAN(FALSE, tvb, offset, pinfo, tree, hf_dap_matched);
1046 static int dissect_listFamily(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1047 return dissect_dap_BOOLEAN(FALSE, tvb, offset, pinfo, tree, hf_dap_listFamily);
1049 static int dissect_aliasEntry(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1050 return dissect_dap_BOOLEAN(FALSE, tvb, offset, pinfo, tree, hf_dap_aliasEntry);
1052 static int dissect_unavailableCriticalExtensions(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1053 return dissect_dap_BOOLEAN(FALSE, tvb, offset, pinfo, tree, hf_dap_unavailableCriticalExtensions);
1055 static int dissect_searchAliases(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1056 return dissect_dap_BOOLEAN(FALSE, tvb, offset, pinfo, tree, hf_dap_searchAliases);
1058 static int dissect_matchedValuesOnly(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1059 return dissect_dap_BOOLEAN(FALSE, tvb, offset, pinfo, tree, hf_dap_matchedValuesOnly);
1061 static int dissect_checkOverspecified(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1062 return dissect_dap_BOOLEAN(FALSE, tvb, offset, pinfo, tree, hf_dap_checkOverspecified);
1064 static int dissect_altMatching(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1065 return dissect_dap_BOOLEAN(FALSE, tvb, offset, pinfo, tree, hf_dap_altMatching);
1067 static int dissect_deleteOldRDN(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1068 return dissect_dap_BOOLEAN(FALSE, tvb, offset, pinfo, tree, hf_dap_deleteOldRDN);
1072 static const ber_sequence_t SEQUENCE_OF_Attribute_sequence_of[1] = {
1073 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_notification_item },
1077 dissect_dap_SEQUENCE_OF_Attribute(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1078 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
1079 SEQUENCE_OF_Attribute_sequence_of, hf_index, ett_dap_SEQUENCE_OF_Attribute);
1083 static int dissect_notification(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1084 return dissect_dap_SEQUENCE_OF_Attribute(FALSE, tvb, offset, pinfo, tree, hf_dap_notification);
1088 static const ber_sequence_t CommonResults_set[] = {
1089 { BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL, dissect_securityParameters },
1090 { BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL, dissect_performer },
1091 { BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL, dissect_aliasDereferenced },
1092 { BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL, dissect_notification },
1097 dissect_dap_CommonResults(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1098 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
1099 CommonResults_set, hf_index, ett_dap_CommonResults);
1105 static const asn_namedbit ServiceControlOptions_bits[] = {
1106 { 0, &hf_dap_ServiceControlOptions_preferChaining, -1, -1, "preferChaining", NULL },
1107 { 1, &hf_dap_ServiceControlOptions_chainingProhibited, -1, -1, "chainingProhibited", NULL },
1108 { 2, &hf_dap_ServiceControlOptions_localScope, -1, -1, "localScope", NULL },
1109 { 3, &hf_dap_ServiceControlOptions_dontUseCopy, -1, -1, "dontUseCopy", NULL },
1110 { 4, &hf_dap_ServiceControlOptions_dontDereferenceAliases, -1, -1, "dontDereferenceAliases", NULL },
1111 { 5, &hf_dap_ServiceControlOptions_subentries, -1, -1, "subentries", NULL },
1112 { 6, &hf_dap_ServiceControlOptions_copyShallDo, -1, -1, "copyShallDo", NULL },
1113 { 7, &hf_dap_ServiceControlOptions_partialNameResolution, -1, -1, "partialNameResolution", NULL },
1114 { 8, &hf_dap_ServiceControlOptions_manageDSAIT, -1, -1, "manageDSAIT", NULL },
1115 { 9, &hf_dap_ServiceControlOptions_noSubtypeMatch, -1, -1, "noSubtypeMatch", NULL },
1116 { 10, &hf_dap_ServiceControlOptions_noSubtypeSelection, -1, -1, "noSubtypeSelection", NULL },
1117 { 11, &hf_dap_ServiceControlOptions_countFamily, -1, -1, "countFamily", NULL },
1118 { 0, NULL, 0, 0, NULL, NULL }
1122 dissect_dap_ServiceControlOptions(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1123 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
1124 ServiceControlOptions_bits, hf_index, ett_dap_ServiceControlOptions,
1129 static int dissect_options(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1130 return dissect_dap_ServiceControlOptions(FALSE, tvb, offset, pinfo, tree, hf_dap_options);
1134 static const value_string dap_T_priority_vals[] = {
1143 dissect_dap_T_priority(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1144 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1149 static int dissect_priority(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1150 return dissect_dap_T_priority(FALSE, tvb, offset, pinfo, tree, hf_dap_priority);
1156 dissect_dap_INTEGER(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1157 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1162 static int dissect_timeLimit(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1163 return dissect_dap_INTEGER(FALSE, tvb, offset, pinfo, tree, hf_dap_timeLimit);
1165 static int dissect_sizeLimit(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1166 return dissect_dap_INTEGER(FALSE, tvb, offset, pinfo, tree, hf_dap_sizeLimit);
1168 static int dissect_attributeSizeLimit(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1169 return dissect_dap_INTEGER(FALSE, tvb, offset, pinfo, tree, hf_dap_attributeSizeLimit);
1171 static int dissect_userClass(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1172 return dissect_dap_INTEGER(FALSE, tvb, offset, pinfo, tree, hf_dap_userClass);
1174 static int dissect_pageSize(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1175 return dissect_dap_INTEGER(FALSE, tvb, offset, pinfo, tree, hf_dap_pageSize);
1177 static int dissect_aliasedRDNs(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1178 return dissect_dap_INTEGER(FALSE, tvb, offset, pinfo, tree, hf_dap_aliasedRDNs);
1180 static int dissect_bestEstimate(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1181 return dissect_dap_INTEGER(FALSE, tvb, offset, pinfo, tree, hf_dap_bestEstimate);
1183 static int dissect_lowEstimate(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1184 return dissect_dap_INTEGER(FALSE, tvb, offset, pinfo, tree, hf_dap_lowEstimate);
1186 static int dissect_extendedArea(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1187 return dissect_dap_INTEGER(FALSE, tvb, offset, pinfo, tree, hf_dap_extendedArea);
1191 static const value_string dap_T_scopeOfReferral_vals[] = {
1199 dissect_dap_T_scopeOfReferral(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1200 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1205 static int dissect_scopeOfReferral(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1206 return dissect_dap_T_scopeOfReferral(FALSE, tvb, offset, pinfo, tree, hf_dap_scopeOfReferral);
1210 static const value_string dap_Name_vals[] = {
1211 { 0, "rdnSequence" },
1215 static const ber_choice_t Name_choice[] = {
1216 { 0, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_rdnSequence },
1217 { 0, 0, 0, 0, NULL }
1221 dissect_dap_Name(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1225 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1226 Name_choice, hf_index, ett_dap_Name,
1230 if(check_col(pinfo->cinfo, COL_INFO)) {
1231 dn = x509if_get_last_dn();
1232 col_append_fstr(pinfo->cinfo, COL_INFO, " %s", (dn && *dn) ? dn : "(root)");
1239 static int dissect_dsaName(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1240 return dissect_dap_Name(FALSE, tvb, offset, pinfo, tree, hf_dap_dsaName);
1242 static int dissect_name(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1243 return dissect_dap_Name(FALSE, tvb, offset, pinfo, tree, hf_dap_name);
1245 static int dissect_object(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1246 return dissect_dap_Name(FALSE, tvb, offset, pinfo, tree, hf_dap_object);
1248 static int dissect_baseObject(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1249 return dissect_dap_Name(FALSE, tvb, offset, pinfo, tree, hf_dap_baseObject);
1251 static int dissect_joinBaseObject(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1252 return dissect_dap_Name(FALSE, tvb, offset, pinfo, tree, hf_dap_joinBaseObject);
1254 static int dissect_matched_name(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1255 return dissect_dap_Name(FALSE, tvb, offset, pinfo, tree, hf_dap_matched_name);
1259 static const ber_sequence_t T_manageDSAITPlaneRef_sequence[] = {
1260 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_dsaName },
1261 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_agreementID },
1266 dissect_dap_T_manageDSAITPlaneRef(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1267 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1268 T_manageDSAITPlaneRef_sequence, hf_index, ett_dap_T_manageDSAITPlaneRef);
1272 static int dissect_manageDSAITPlaneRef(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1273 return dissect_dap_T_manageDSAITPlaneRef(FALSE, tvb, offset, pinfo, tree, hf_dap_manageDSAITPlaneRef);
1279 dissect_dap_OBJECT_IDENTIFIER(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1280 offset = dissect_ber_object_identifier(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
1284 static int dissect_serviceType(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1285 return dissect_dap_OBJECT_IDENTIFIER(FALSE, tvb, offset, pinfo, tree, hf_dap_serviceType);
1287 static int dissect_familySelect_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1288 return dissect_dap_OBJECT_IDENTIFIER(FALSE, tvb, offset, pinfo, tree, hf_dap_familySelect_item);
1290 static int dissect_family_class(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1291 return dissect_dap_OBJECT_IDENTIFIER(FALSE, tvb, offset, pinfo, tree, hf_dap_family_class);
1293 static int dissect_sunstringType(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1294 return dissect_dap_OBJECT_IDENTIFIER(FALSE, tvb, offset, pinfo, tree, hf_dap_sunstringType);
1296 static int dissect_matchingRule_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1297 return dissect_dap_OBJECT_IDENTIFIER(FALSE, tvb, offset, pinfo, tree, hf_dap_matchingRule_item);
1299 static int dissect_orderingRule(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1300 return dissect_dap_OBJECT_IDENTIFIER(FALSE, tvb, offset, pinfo, tree, hf_dap_orderingRule);
1302 static int dissect_unknownErrors_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1303 return dissect_dap_OBJECT_IDENTIFIER(FALSE, tvb, offset, pinfo, tree, hf_dap_unknownErrors_item);
1307 static const ber_sequence_t ServiceControls_set[] = {
1308 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_options },
1309 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_priority },
1310 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_timeLimit },
1311 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_sizeLimit },
1312 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_scopeOfReferral },
1313 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL, dissect_attributeSizeLimit },
1314 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL, dissect_manageDSAITPlaneRef },
1315 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL, dissect_serviceType },
1316 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL, dissect_userClass },
1321 dissect_dap_ServiceControls(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1322 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
1323 ServiceControls_set, hf_index, ett_dap_ServiceControls);
1327 static int dissect_serviceControls(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1328 return dissect_dap_ServiceControls(FALSE, tvb, offset, pinfo, tree, hf_dap_serviceControls);
1334 dissect_dap_NULL(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1335 offset = dissect_ber_null(implicit_tag, pinfo, tree, tvb, offset, hf_index);
1339 static int dissect_allUserAttributes(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1340 return dissect_dap_NULL(FALSE, tvb, offset, pinfo, tree, hf_dap_allUserAttributes);
1342 static int dissect_allOperationalAttributes(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1343 return dissect_dap_NULL(FALSE, tvb, offset, pinfo, tree, hf_dap_allOperationalAttributes);
1345 static int dissect_allContexts(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1346 return dissect_dap_NULL(FALSE, tvb, offset, pinfo, tree, hf_dap_allContexts);
1348 static int dissect_item_entry(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1349 return dissect_dap_NULL(FALSE, tvb, offset, pinfo, tree, hf_dap_item_entry);
1351 static int dissect_null(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1352 return dissect_dap_NULL(FALSE, tvb, offset, pinfo, tree, hf_dap_null);
1356 static const ber_sequence_t SET_OF_AttributeType_set_of[1] = {
1357 { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_select_item },
1361 dissect_dap_SET_OF_AttributeType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1362 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
1363 SET_OF_AttributeType_set_of, hf_index, ett_dap_SET_OF_AttributeType);
1367 static int dissect_select(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1368 return dissect_dap_SET_OF_AttributeType(FALSE, tvb, offset, pinfo, tree, hf_dap_select);
1372 static const value_string dap_T_attributes_vals[] = {
1373 { 0, "allUserAttributes" },
1378 static const ber_choice_t T_attributes_choice[] = {
1379 { 0, BER_CLASS_CON, 0, 0, dissect_allUserAttributes },
1380 { 1, BER_CLASS_CON, 1, 0, dissect_select },
1381 { 0, 0, 0, 0, NULL }
1385 dissect_dap_T_attributes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1386 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1387 T_attributes_choice, hf_index, ett_dap_T_attributes,
1392 static int dissect_attributes(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1393 return dissect_dap_T_attributes(FALSE, tvb, offset, pinfo, tree, hf_dap_attributes);
1397 static const value_string dap_T_infoTypes_vals[] = {
1398 { 0, "attributeTypesOnly" },
1399 { 1, "attributeTypesAndValues" },
1405 dissect_dap_T_infoTypes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1406 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1411 static int dissect_infoTypes(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1412 return dissect_dap_T_infoTypes(FALSE, tvb, offset, pinfo, tree, hf_dap_infoTypes);
1416 static const value_string dap_T_extraAttributes_vals[] = {
1417 { 3, "allOperationalAttributes" },
1422 static const ber_choice_t T_extraAttributes_choice[] = {
1423 { 3, BER_CLASS_CON, 3, 0, dissect_allOperationalAttributes },
1424 { 4, BER_CLASS_CON, 4, 0, dissect_select },
1425 { 0, 0, 0, 0, NULL }
1429 dissect_dap_T_extraAttributes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1430 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1431 T_extraAttributes_choice, hf_index, ett_dap_T_extraAttributes,
1436 static int dissect_extraAttributes(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1437 return dissect_dap_T_extraAttributes(FALSE, tvb, offset, pinfo, tree, hf_dap_extraAttributes);
1441 static const ber_sequence_t SEQUENCE_OF_ContextAssertion_sequence_of[1] = {
1442 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_preference_item },
1446 dissect_dap_SEQUENCE_OF_ContextAssertion(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1447 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
1448 SEQUENCE_OF_ContextAssertion_sequence_of, hf_index, ett_dap_SEQUENCE_OF_ContextAssertion);
1452 static int dissect_preference(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1453 return dissect_dap_SEQUENCE_OF_ContextAssertion(FALSE, tvb, offset, pinfo, tree, hf_dap_preference);
1457 static const ber_sequence_t SET_OF_ContextAssertion_set_of[1] = {
1458 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_all_item },
1462 dissect_dap_SET_OF_ContextAssertion(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1463 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
1464 SET_OF_ContextAssertion_set_of, hf_index, ett_dap_SET_OF_ContextAssertion);
1468 static int dissect_all(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1469 return dissect_dap_SET_OF_ContextAssertion(FALSE, tvb, offset, pinfo, tree, hf_dap_all);
1473 static const value_string dap_T_contextAssertions_vals[] = {
1474 { 0, "preference" },
1479 static const ber_choice_t T_contextAssertions_choice[] = {
1480 { 0, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_preference },
1481 { 1, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_all },
1482 { 0, 0, 0, 0, NULL }
1486 dissect_dap_T_contextAssertions(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1487 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1488 T_contextAssertions_choice, hf_index, ett_dap_T_contextAssertions,
1493 static int dissect_contextAssertions(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1494 return dissect_dap_T_contextAssertions(FALSE, tvb, offset, pinfo, tree, hf_dap_contextAssertions);
1498 static const ber_sequence_t TypeAndContextAssertion_sequence[] = {
1499 { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_type },
1500 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_contextAssertions },
1505 dissect_dap_TypeAndContextAssertion(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1506 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1507 TypeAndContextAssertion_sequence, hf_index, ett_dap_TypeAndContextAssertion);
1511 static int dissect_selectedContexts_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1512 return dissect_dap_TypeAndContextAssertion(FALSE, tvb, offset, pinfo, tree, hf_dap_selectedContexts_item);
1516 static const ber_sequence_t SET_OF_TypeAndContextAssertion_set_of[1] = {
1517 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_selectedContexts_item },
1521 dissect_dap_SET_OF_TypeAndContextAssertion(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1522 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
1523 SET_OF_TypeAndContextAssertion_set_of, hf_index, ett_dap_SET_OF_TypeAndContextAssertion);
1527 static int dissect_selectedContexts(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1528 return dissect_dap_SET_OF_TypeAndContextAssertion(FALSE, tvb, offset, pinfo, tree, hf_dap_selectedContexts);
1532 const value_string dap_ContextSelection_vals[] = {
1533 { 0, "allContexts" },
1534 { 1, "selectedContexts" },
1538 static const ber_choice_t ContextSelection_choice[] = {
1539 { 0, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_allContexts },
1540 { 1, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_selectedContexts },
1541 { 0, 0, 0, 0, NULL }
1545 dissect_dap_ContextSelection(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1546 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1547 ContextSelection_choice, hf_index, ett_dap_ContextSelection,
1552 static int dissect_contextSelection(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1553 return dissect_dap_ContextSelection(FALSE, tvb, offset, pinfo, tree, hf_dap_contextSelection);
1555 static int dissect_operationContexts(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1556 return dissect_dap_ContextSelection(FALSE, tvb, offset, pinfo, tree, hf_dap_operationContexts);
1560 static const value_string dap_T_memberSelect_vals[] = {
1561 { 1, "contributingEntriesOnly" },
1562 { 2, "participatingEntriesOnly" },
1563 { 3, "compoundEntry" },
1569 dissect_dap_T_memberSelect(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1570 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1575 static int dissect_memberSelect(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1576 return dissect_dap_T_memberSelect(FALSE, tvb, offset, pinfo, tree, hf_dap_memberSelect);
1580 static const ber_sequence_t T_familySelect_sequence_of[1] = {
1581 { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_familySelect_item },
1585 dissect_dap_T_familySelect(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1586 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
1587 T_familySelect_sequence_of, hf_index, ett_dap_T_familySelect);
1591 static int dissect_familySelect(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1592 return dissect_dap_T_familySelect(FALSE, tvb, offset, pinfo, tree, hf_dap_familySelect);
1596 static const ber_sequence_t FamilyReturn_sequence[] = {
1597 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_memberSelect },
1598 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_familySelect },
1603 dissect_dap_FamilyReturn(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1604 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1605 FamilyReturn_sequence, hf_index, ett_dap_FamilyReturn);
1609 static int dissect_familyReturn(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1610 return dissect_dap_FamilyReturn(FALSE, tvb, offset, pinfo, tree, hf_dap_familyReturn);
1614 static const ber_sequence_t EntryInformationSelection_set[] = {
1615 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_attributes },
1616 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_infoTypes },
1617 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_extraAttributes },
1618 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_contextSelection },
1619 { BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_returnContexts },
1620 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_familyReturn },
1625 dissect_dap_EntryInformationSelection(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1626 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
1627 EntryInformationSelection_set, hf_index, ett_dap_EntryInformationSelection);
1631 static int dissect_selection(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1632 return dissect_dap_EntryInformationSelection(FALSE, tvb, offset, pinfo, tree, hf_dap_selection);
1634 static int dissect_joinSelection(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1635 return dissect_dap_EntryInformationSelection(FALSE, tvb, offset, pinfo, tree, hf_dap_joinSelection);
1639 static const value_string dap_EntryInformationItem_vals[] = {
1640 { 0, "attributeType" },
1645 static const ber_choice_t EntryInformationItem_choice[] = {
1646 { 0, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_attributeType },
1647 { 1, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_attribute },
1648 { 0, 0, 0, 0, NULL }
1652 dissect_dap_EntryInformationItem(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1653 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1654 EntryInformationItem_choice, hf_index, ett_dap_EntryInformationItem,
1659 static int dissect_entry_information_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1660 return dissect_dap_EntryInformationItem(FALSE, tvb, offset, pinfo, tree, hf_dap_entry_information_item);
1664 static const ber_sequence_t T_information_set_of[1] = {
1665 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_entry_information_item },
1669 dissect_dap_T_information(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1670 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
1671 T_information_set_of, hf_index, ett_dap_T_information);
1675 static int dissect_entry_information(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1676 return dissect_dap_T_information(FALSE, tvb, offset, pinfo, tree, hf_dap_entry_information);
1680 static const ber_sequence_t EntryInformation_sequence[] = {
1681 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_name },
1682 { BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_fromEntry },
1683 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_entry_information },
1684 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_incompleteEntry },
1685 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_partialName },
1686 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL, dissect_derivedEntry },
1691 dissect_dap_EntryInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1692 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1693 EntryInformation_sequence, hf_index, ett_dap_EntryInformation);
1697 static int dissect_entry(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1698 return dissect_dap_EntryInformation(FALSE, tvb, offset, pinfo, tree, hf_dap_entry);
1700 static int dissect_entries_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1701 return dissect_dap_EntryInformation(FALSE, tvb, offset, pinfo, tree, hf_dap_entries_item);
1705 static const value_string dap_T_information_item_vals[] = {
1706 { 0, "attributeType" },
1711 static const ber_choice_t T_information_item_choice[] = {
1712 { 0, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_attributeType },
1713 { 1, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_attribute },
1714 { 0, 0, 0, 0, NULL }
1718 dissect_dap_T_information_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1719 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1720 T_information_item_choice, hf_index, ett_dap_T_information_item,
1725 static int dissect_information_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1726 return dissect_dap_T_information_item(FALSE, tvb, offset, pinfo, tree, hf_dap_information_item);
1730 static const ber_sequence_t FamilyInformation_sequence_of[1] = {
1731 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_information_item },
1735 dissect_dap_FamilyInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1736 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
1737 FamilyInformation_sequence_of, hf_index, ett_dap_FamilyInformation);
1741 static int dissect_family_information(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1742 return dissect_dap_FamilyInformation(FALSE, tvb, offset, pinfo, tree, hf_dap_family_information);
1746 static const ber_sequence_t SEQUENCE_OF_FamilyEntries_sequence_of[1] = {
1747 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_family_info_item },
1751 dissect_dap_SEQUENCE_OF_FamilyEntries(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1752 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
1753 SEQUENCE_OF_FamilyEntries_sequence_of, hf_index, ett_dap_SEQUENCE_OF_FamilyEntries);
1757 static int dissect_family_info(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1758 return dissect_dap_SEQUENCE_OF_FamilyEntries(FALSE, tvb, offset, pinfo, tree, hf_dap_family_info);
1762 static const ber_sequence_t FamilyEntry_sequence[] = {
1763 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_rdn },
1764 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_family_information },
1765 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_family_info },
1770 dissect_dap_FamilyEntry(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1771 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1772 FamilyEntry_sequence, hf_index, ett_dap_FamilyEntry);
1776 static int dissect_familyEntries_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1777 return dissect_dap_FamilyEntry(FALSE, tvb, offset, pinfo, tree, hf_dap_familyEntries_item);
1781 static const ber_sequence_t SEQUENCE_OF_FamilyEntry_sequence_of[1] = {
1782 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_familyEntries_item },
1786 dissect_dap_SEQUENCE_OF_FamilyEntry(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1787 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
1788 SEQUENCE_OF_FamilyEntry_sequence_of, hf_index, ett_dap_SEQUENCE_OF_FamilyEntry);
1792 static int dissect_familyEntries(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1793 return dissect_dap_SEQUENCE_OF_FamilyEntry(FALSE, tvb, offset, pinfo, tree, hf_dap_familyEntries);
1797 static const ber_sequence_t FamilyEntries_sequence[] = {
1798 { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_family_class },
1799 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_familyEntries },
1804 dissect_dap_FamilyEntries(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1805 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1806 FamilyEntries_sequence, hf_index, ett_dap_FamilyEntries);
1814 dissect_dap_T_initial(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1817 it = proto_tree_add_item(tree, hf_index, tvb, offset, -1, FALSE);
1818 proto_item_append_text(it," XXX: Not yet implemented!");
1824 static int dissect_initial(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1825 return dissect_dap_T_initial(FALSE, tvb, offset, pinfo, tree, hf_dap_initial);
1831 dissect_dap_T_any(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1833 /* XXX: not yet implemented */
1839 static int dissect_any(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1840 return dissect_dap_T_any(FALSE, tvb, offset, pinfo, tree, hf_dap_any);
1846 dissect_dap_T_final(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1848 /* XXX: not yet implemented */
1854 static int dissect_final(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1855 return dissect_dap_T_final(FALSE, tvb, offset, pinfo, tree, hf_dap_final);
1859 static const value_string dap_T_strings_item_vals[] = {
1867 static const ber_choice_t T_strings_item_choice[] = {
1868 { 0, BER_CLASS_CON, 0, 0, dissect_initial },
1869 { 1, BER_CLASS_CON, 1, 0, dissect_any },
1870 { 2, BER_CLASS_CON, 2, 0, dissect_final },
1871 { 3, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_control },
1872 { 0, 0, 0, 0, NULL }
1876 dissect_dap_T_strings_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1877 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1878 T_strings_item_choice, hf_index, ett_dap_T_strings_item,
1883 static int dissect_strings_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1884 return dissect_dap_T_strings_item(FALSE, tvb, offset, pinfo, tree, hf_dap_strings_item);
1888 static const ber_sequence_t T_strings_sequence_of[1] = {
1889 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_strings_item },
1893 dissect_dap_T_strings(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1894 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
1895 T_strings_sequence_of, hf_index, ett_dap_T_strings);
1899 static int dissect_strings(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1900 return dissect_dap_T_strings(FALSE, tvb, offset, pinfo, tree, hf_dap_strings);
1904 static const ber_sequence_t T_substrings_sequence[] = {
1905 { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_sunstringType },
1906 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_strings },
1911 dissect_dap_T_substrings(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1912 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1913 T_substrings_sequence, hf_index, ett_dap_T_substrings);
1917 static int dissect_substrings(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1918 return dissect_dap_T_substrings(FALSE, tvb, offset, pinfo, tree, hf_dap_substrings);
1922 static const ber_sequence_t T_matchingRule_set_of[1] = {
1923 { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_matchingRule_item },
1927 dissect_dap_T_matchingRule(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1928 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
1929 T_matchingRule_set_of, hf_index, ett_dap_T_matchingRule);
1933 static int dissect_matchingRule(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1934 return dissect_dap_T_matchingRule(FALSE, tvb, offset, pinfo, tree, hf_dap_matchingRule);
1940 dissect_dap_T_matchValue(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1942 /* XXX: not yet implemented */
1948 static int dissect_matchValue(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1949 return dissect_dap_T_matchValue(FALSE, tvb, offset, pinfo, tree, hf_dap_matchValue);
1953 static const ber_sequence_t MatchingRuleAssertion_sequence[] = {
1954 { BER_CLASS_CON, 1, 0, dissect_matchingRule },
1955 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_type },
1956 { BER_CLASS_CON, 3, 0, dissect_matchValue },
1957 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_dnAttributes },
1962 dissect_dap_MatchingRuleAssertion(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1963 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1964 MatchingRuleAssertion_sequence, hf_index, ett_dap_MatchingRuleAssertion);
1968 static int dissect_extensibleMatch(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1969 return dissect_dap_MatchingRuleAssertion(FALSE, tvb, offset, pinfo, tree, hf_dap_extensibleMatch);
1973 static const value_string dap_FilterItem_vals[] = {
1975 { 1, "substrings" },
1976 { 2, "greaterOrEqual" },
1977 { 3, "lessOrEqual" },
1979 { 5, "approximateMatch" },
1980 { 6, "extensibleMatch" },
1981 { 7, "contextPresent" },
1985 static const ber_choice_t FilterItem_choice[] = {
1986 { 0, BER_CLASS_CON, 0, 0, dissect_equality },
1987 { 1, BER_CLASS_CON, 1, 0, dissect_substrings },
1988 { 2, BER_CLASS_CON, 2, 0, dissect_greaterOrEqual },
1989 { 3, BER_CLASS_CON, 3, 0, dissect_lessOrEqual },
1990 { 4, BER_CLASS_CON, 4, 0, dissect_present },
1991 { 5, BER_CLASS_CON, 5, 0, dissect_approximateMatch },
1992 { 6, BER_CLASS_CON, 6, 0, dissect_extensibleMatch },
1993 { 7, BER_CLASS_CON, 7, 0, dissect_contextPresent },
1994 { 0, 0, 0, 0, NULL }
1998 dissect_dap_FilterItem(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1999 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
2000 FilterItem_choice, hf_index, ett_dap_FilterItem,
2005 static int dissect_filter_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2006 return dissect_dap_FilterItem(FALSE, tvb, offset, pinfo, tree, hf_dap_filter_item);
2010 static const ber_sequence_t SetOfFilter_set_of[1] = {
2011 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_SetOfFilter_item },
2015 dissect_dap_SetOfFilter(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2016 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
2017 SetOfFilter_set_of, hf_index, ett_dap_SetOfFilter);
2021 static int dissect_and(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2022 return dissect_dap_SetOfFilter(FALSE, tvb, offset, pinfo, tree, hf_dap_and);
2024 static int dissect_or(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2025 return dissect_dap_SetOfFilter(FALSE, tvb, offset, pinfo, tree, hf_dap_or);
2029 const value_string dap_Filter_vals[] = {
2037 static const ber_choice_t Filter_choice[] = {
2038 { 0, BER_CLASS_CON, 0, 0, dissect_filter_item },
2039 { 1, BER_CLASS_CON, 1, 0, dissect_and },
2040 { 2, BER_CLASS_CON, 2, 0, dissect_or },
2041 { 3, BER_CLASS_CON, 3, 0, dissect_not },
2042 { 0, 0, 0, 0, NULL }
2046 dissect_dap_Filter(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2047 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
2048 Filter_choice, hf_index, ett_dap_Filter,
2055 static const ber_sequence_t SortKey_sequence[] = {
2056 { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_type },
2057 { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_orderingRule },
2062 dissect_dap_SortKey(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2063 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2064 SortKey_sequence, hf_index, ett_dap_SortKey);
2068 static int dissect_sortKeys_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2069 return dissect_dap_SortKey(FALSE, tvb, offset, pinfo, tree, hf_dap_sortKeys_item);
2073 static const ber_sequence_t SEQUENCE_OF_SortKey_sequence_of[1] = {
2074 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_sortKeys_item },
2078 dissect_dap_SEQUENCE_OF_SortKey(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2079 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
2080 SEQUENCE_OF_SortKey_sequence_of, hf_index, ett_dap_SEQUENCE_OF_SortKey);
2084 static int dissect_sortKeys(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2085 return dissect_dap_SEQUENCE_OF_SortKey(FALSE, tvb, offset, pinfo, tree, hf_dap_sortKeys);
2089 static const ber_sequence_t T_newRequest_sequence[] = {
2090 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_pageSize },
2091 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_sortKeys },
2092 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_reverse },
2093 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_unmerged },
2098 dissect_dap_T_newRequest(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2099 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2100 T_newRequest_sequence, hf_index, ett_dap_T_newRequest);
2104 static int dissect_newRequest(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2105 return dissect_dap_T_newRequest(FALSE, tvb, offset, pinfo, tree, hf_dap_newRequest);
2111 dissect_dap_OCTET_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2116 proto_item *oct_item;
2118 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2123 len = tvb_length(out_tvb);
2124 /* now see if we can add a string representation */
2125 for(i=0; i<len; i++)
2126 if(!g_ascii_isprint(tvb_get_guint8(out_tvb, i)))
2130 if((oct_item = get_ber_last_created_item())) {
2132 proto_item_append_text(oct_item," (");
2133 for(i=0; i<len; i++)
2134 proto_item_append_text(oct_item,"%c",tvb_get_guint8(out_tvb,i));
2135 proto_item_append_text(oct_item,")");
2144 static int dissect_queryReference(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2145 return dissect_dap_OCTET_STRING(FALSE, tvb, offset, pinfo, tree, hf_dap_queryReference);
2147 static int dissect_unprotected(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2148 return dissect_dap_OCTET_STRING(FALSE, tvb, offset, pinfo, tree, hf_dap_unprotected);
2150 static int dissect_protectedPassword(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2151 return dissect_dap_OCTET_STRING(FALSE, tvb, offset, pinfo, tree, hf_dap_protectedPassword);
2155 static const value_string dap_PagedResultsRequest_vals[] = {
2156 { 0, "newRequest" },
2157 { 1, "queryReference" },
2161 static const ber_choice_t PagedResultsRequest_choice[] = {
2162 { 0, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_newRequest },
2163 { 1, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_queryReference },
2164 { 0, 0, 0, 0, NULL }
2168 dissect_dap_PagedResultsRequest(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2169 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
2170 PagedResultsRequest_choice, hf_index, ett_dap_PagedResultsRequest,
2175 static int dissect_pagedResults(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2176 return dissect_dap_PagedResultsRequest(FALSE, tvb, offset, pinfo, tree, hf_dap_pagedResults);
2180 static const value_string dap_T_time1_vals[] = {
2186 static const ber_choice_t T_time1_choice[] = {
2187 { 0, BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_NOOWNTAG, dissect_utc },
2188 { 1, BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_NOOWNTAG, dissect_gt },
2189 { 0, 0, 0, 0, NULL }
2193 dissect_dap_T_time1(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2194 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
2195 T_time1_choice, hf_index, ett_dap_T_time1,
2200 static int dissect_time1(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2201 return dissect_dap_T_time1(FALSE, tvb, offset, pinfo, tree, hf_dap_time1);
2205 static const value_string dap_T_time2_vals[] = {
2211 static const ber_choice_t T_time2_choice[] = {
2212 { 0, BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_NOOWNTAG, dissect_utc },
2213 { 1, BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_NOOWNTAG, dissect_gt },
2214 { 0, 0, 0, 0, NULL }
2218 dissect_dap_T_time2(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2219 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
2220 T_time2_choice, hf_index, ett_dap_T_time2,
2225 static int dissect_time2(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2226 return dissect_dap_T_time2(FALSE, tvb, offset, pinfo, tree, hf_dap_time2);
2230 static const ber_sequence_t T_validity_set[] = {
2231 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_time1 },
2232 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_time2 },
2233 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_random1 },
2234 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_random2 },
2239 dissect_dap_T_validity(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2240 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
2241 T_validity_set, hf_index, ett_dap_T_validity);
2245 static int dissect_validity(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2246 return dissect_dap_T_validity(FALSE, tvb, offset, pinfo, tree, hf_dap_validity);
2250 static const ber_sequence_t T_protected_sequence[] = {
2251 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_protectedPassword },
2252 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_algorithmIdentifier },
2253 { BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_encrypted },
2258 dissect_dap_T_protected(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2259 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2260 T_protected_sequence, hf_index, ett_dap_T_protected);
2264 static int dissect_protected(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2265 return dissect_dap_T_protected(FALSE, tvb, offset, pinfo, tree, hf_dap_protected);
2269 static const value_string dap_T_password_vals[] = {
2270 { 0, "unprotected" },
2275 static const ber_choice_t T_password_choice[] = {
2276 { 0, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_unprotected },
2277 { 1, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_protected },
2278 { 0, 0, 0, 0, NULL }
2282 dissect_dap_T_password(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2283 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
2284 T_password_choice, hf_index, ett_dap_T_password,
2289 static int dissect_password(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2290 return dissect_dap_T_password(FALSE, tvb, offset, pinfo, tree, hf_dap_password);
2294 static const ber_sequence_t SimpleCredentials_sequence[] = {
2295 { BER_CLASS_CON, 0, 0, dissect_distinguished_name },
2296 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_validity },
2297 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_password },
2302 dissect_dap_SimpleCredentials(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2305 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2306 SimpleCredentials_sequence, hf_index, ett_dap_SimpleCredentials);
2309 if(check_col(pinfo->cinfo, COL_INFO))
2310 col_append_fstr(pinfo->cinfo, COL_INFO, " %s", x509if_get_last_dn());
2316 static int dissect_simple(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2317 return dissect_dap_SimpleCredentials(FALSE, tvb, offset, pinfo, tree, hf_dap_simple);
2323 dissect_dap_T_bind_token(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2325 /* XXX: not yet implemented */
2331 static int dissect_bind_token(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2332 return dissect_dap_T_bind_token(FALSE, tvb, offset, pinfo, tree, hf_dap_bind_token);
2336 static const ber_sequence_t StrongCredentials_set[] = {
2337 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_certification_path },
2338 { BER_CLASS_CON, 1, 0, dissect_bind_token },
2339 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_distinguished_name },
2340 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_attributeCertificationPath },
2345 dissect_dap_StrongCredentials(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2346 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
2347 StrongCredentials_set, hf_index, ett_dap_StrongCredentials);
2351 static int dissect_strong(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2352 return dissect_dap_StrongCredentials(FALSE, tvb, offset, pinfo, tree, hf_dap_strong);
2358 dissect_dap_T_req(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2360 /* XXX: not yet implemented */
2366 static int dissect_req(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2367 return dissect_dap_T_req(FALSE, tvb, offset, pinfo, tree, hf_dap_req);
2373 dissect_dap_T_rep(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2375 /* XXX: not yet implemented */
2381 static int dissect_rep(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2382 return dissect_dap_T_rep(FALSE, tvb, offset, pinfo, tree, hf_dap_rep);
2386 static const value_string dap_SpkmCredentials_vals[] = {
2392 static const ber_choice_t SpkmCredentials_choice[] = {
2393 { 0, BER_CLASS_CON, 0, 0, dissect_req },
2394 { 1, BER_CLASS_CON, 1, 0, dissect_rep },
2395 { 0, 0, 0, 0, NULL }
2399 dissect_dap_SpkmCredentials(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2400 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
2401 SpkmCredentials_choice, hf_index, ett_dap_SpkmCredentials,
2406 static int dissect_spkm(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2407 return dissect_dap_SpkmCredentials(FALSE, tvb, offset, pinfo, tree, hf_dap_spkm);
2411 static const value_string dap_Credentials_vals[] = {
2414 { 2, "externalProcedure" },
2419 static const ber_choice_t Credentials_choice[] = {
2420 { 0, BER_CLASS_CON, 0, 0, dissect_simple },
2421 { 1, BER_CLASS_CON, 1, 0, dissect_strong },
2422 { 2, BER_CLASS_CON, 2, 0, dissect_externalProcedure },
2423 { 3, BER_CLASS_CON, 3, 0, dissect_spkm },
2424 { 0, 0, 0, 0, NULL }
2428 dissect_dap_Credentials(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2429 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
2430 Credentials_choice, hf_index, ett_dap_Credentials,
2435 static int dissect_credentials(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2436 return dissect_dap_Credentials(FALSE, tvb, offset, pinfo, tree, hf_dap_credentials);
2440 static const asn_namedbit Versions_bits[] = {
2441 { 0, &hf_dap_Versions_v1, -1, -1, "v1", NULL },
2442 { 1, &hf_dap_Versions_v2, -1, -1, "v2", NULL },
2443 { 0, NULL, 0, 0, NULL, NULL }
2447 dissect_dap_Versions(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2448 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
2449 Versions_bits, hf_index, ett_dap_Versions,
2454 static int dissect_versions(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2455 return dissect_dap_Versions(FALSE, tvb, offset, pinfo, tree, hf_dap_versions);
2459 static const ber_sequence_t DirectoryBindArgument_set[] = {
2460 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_credentials },
2461 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_versions },
2466 dissect_dap_DirectoryBindArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2471 /* check and see if this is an empty set */
2472 dissect_ber_length(pinfo, tree, tvb, offset+1, &len, NULL);
2475 /* its an empty set - i.e anonymous (assuming version is DEFAULTed) */
2476 proto_tree_add_text(tree, tvb, offset, -1,"Anonymous");
2478 if(check_col(pinfo->cinfo, COL_INFO))
2479 col_append_fstr(pinfo->cinfo, COL_INFO, " anonymous");
2482 /* do the default thing */
2484 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
2485 DirectoryBindArgument_set, hf_index, ett_dap_DirectoryBindArgument);
2496 dissect_dap_DirectoryBindResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2497 offset = dissect_dap_DirectoryBindArgument(implicit_tag, tvb, offset, pinfo, tree, hf_index);
2503 static const value_string dap_ServiceProblem_vals[] = {
2505 { 2, "unavailable" },
2506 { 3, "unwillingToPerform" },
2507 { 4, "chainingRequired" },
2508 { 5, "unableToProceed" },
2509 { 6, "invalidReference" },
2510 { 7, "timeLimitExceeded" },
2511 { 8, "administrativeLimitExceeded" },
2512 { 9, "loopDetected" },
2513 { 10, "unavailableCriticalExtension" },
2514 { 11, "outOfScope" },
2516 { 13, "invalidQueryReference" },
2517 { 14, "requestedServiceNotAvailable" },
2518 { 15, "relaxationNotSupported" },
2519 { 16, "unsupportedMatchingUse" },
2525 dissect_dap_ServiceProblem(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2529 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2533 if (check_col(pinfo->cinfo, COL_INFO)) {
2534 col_append_fstr(pinfo->cinfo, COL_INFO, " %s", val_to_str(problem, dap_ServiceProblem_vals, "ServiceProblem(%d)"));
2541 static int dissect_serviceProblem(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2542 return dissect_dap_ServiceProblem(FALSE, tvb, offset, pinfo, tree, hf_dap_serviceProblem);
2544 static int dissect_service_error_problem(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2545 return dissect_dap_ServiceProblem(FALSE, tvb, offset, pinfo, tree, hf_dap_service_error_problem);
2549 static const value_string dap_SecurityProblem_vals[] = {
2550 { 1, "inappropriateAuthentication" },
2551 { 2, "invalidCredentials" },
2552 { 3, "insufficientAccessRights" },
2553 { 4, "invalidSignature" },
2554 { 5, "protectionRequired" },
2555 { 6, "noInformation" },
2556 { 7, "blockedCredentials" },
2557 { 8, "invalidQOPMatch" },
2564 dissect_dap_SecurityProblem(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2568 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2572 if (check_col(pinfo->cinfo, COL_INFO)) {
2573 col_append_fstr(pinfo->cinfo, COL_INFO, " %s", val_to_str(problem, dap_SecurityProblem_vals, "SecurityProblem(%d)"));
2580 static int dissect_securityProblem(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2581 return dissect_dap_SecurityProblem(FALSE, tvb, offset, pinfo, tree, hf_dap_securityProblem);
2583 static int dissect_security_error_problem(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2584 return dissect_dap_SecurityProblem(FALSE, tvb, offset, pinfo, tree, hf_dap_security_error_problem);
2588 static const value_string dap_T_error_vals[] = {
2589 { 1, "serviceError" },
2590 { 2, "securityError" },
2594 static const ber_choice_t T_error_choice[] = {
2595 { 1, BER_CLASS_CON, 1, 0, dissect_serviceProblem },
2596 { 2, BER_CLASS_CON, 2, 0, dissect_securityProblem },
2597 { 0, 0, 0, 0, NULL }
2601 dissect_dap_T_error(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2602 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
2603 T_error_choice, hf_index, ett_dap_T_error,
2608 static int dissect_error(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2609 return dissect_dap_T_error(FALSE, tvb, offset, pinfo, tree, hf_dap_error);
2613 static const ber_sequence_t DirectoryBindErrorData_set[] = {
2614 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_versions },
2615 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_error },
2620 dissect_dap_DirectoryBindErrorData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2621 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
2622 DirectoryBindErrorData_set, hf_index, ett_dap_DirectoryBindErrorData);
2626 static int dissect_unsignedDirectoryBindError(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2627 return dissect_dap_DirectoryBindErrorData(FALSE, tvb, offset, pinfo, tree, hf_dap_unsignedDirectoryBindError);
2629 static int dissect_directoryBindError(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2630 return dissect_dap_DirectoryBindErrorData(FALSE, tvb, offset, pinfo, tree, hf_dap_directoryBindError);
2634 static const ber_sequence_t T_signedDirectoryBindError_sequence[] = {
2635 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_directoryBindError },
2636 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_algorithmIdentifier },
2637 { BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_encrypted },
2642 dissect_dap_T_signedDirectoryBindError(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2643 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2644 T_signedDirectoryBindError_sequence, hf_index, ett_dap_T_signedDirectoryBindError);
2648 static int dissect_signedDirectoryBindError(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2649 return dissect_dap_T_signedDirectoryBindError(FALSE, tvb, offset, pinfo, tree, hf_dap_signedDirectoryBindError);
2653 const value_string dap_DirectoryBindError_vals[] = {
2654 { 0, "unsignedDirectoryBindError" },
2655 { 1, "signedDirectoryBindError" },
2659 static const ber_choice_t DirectoryBindError_choice[] = {
2660 { 0, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_unsignedDirectoryBindError },
2661 { 1, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_signedDirectoryBindError },
2662 { 0, 0, 0, 0, NULL }
2666 dissect_dap_DirectoryBindError(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2667 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
2668 DirectoryBindError_choice, hf_index, ett_dap_DirectoryBindError,
2675 static const ber_sequence_t ReadArgumentData_set[] = {
2676 { BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_object },
2677 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_selection },
2678 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_modifyRightsRequest },
2679 { BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL, dissect_serviceControls },
2680 { BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL, dissect_securityParameters },
2681 { BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL, dissect_requestor },
2682 { BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL, dissect_operationProgress },
2683 { BER_CLASS_CON, 26, BER_FLAGS_OPTIONAL, dissect_aliasedRDNs },
2684 { BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL, dissect_criticalExtensions },
2685 { BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL, dissect_referenceType },
2686 { BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL, dissect_entryOnly },
2687 { BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL, dissect_nameResolveOnMaster },
2688 { BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_operationContexts },
2689 { BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL, dissect_familyGrouping },
2694 dissect_dap_ReadArgumentData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2695 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
2696 ReadArgumentData_set, hf_index, ett_dap_ReadArgumentData);
2700 static int dissect_unsignedReadArgument(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2701 return dissect_dap_ReadArgumentData(FALSE, tvb, offset, pinfo, tree, hf_dap_unsignedReadArgument);
2703 static int dissect_readArgument(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2704 return dissect_dap_ReadArgumentData(FALSE, tvb, offset, pinfo, tree, hf_dap_readArgument);
2708 static const ber_sequence_t T_signedReadArgument_sequence[] = {
2709 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_readArgument },
2710 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_algorithmIdentifier },
2711 { BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_encrypted },
2716 dissect_dap_T_signedReadArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2717 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2718 T_signedReadArgument_sequence, hf_index, ett_dap_T_signedReadArgument);
2722 static int dissect_signedReadArgument(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2723 return dissect_dap_T_signedReadArgument(FALSE, tvb, offset, pinfo, tree, hf_dap_signedReadArgument);
2727 const value_string dap_ReadArgument_vals[] = {
2728 { 0, "unsignedReadArgument" },
2729 { 1, "signedReadArgument" },
2733 static const ber_choice_t ReadArgument_choice[] = {
2734 { 0, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_unsignedReadArgument },
2735 { 1, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_signedReadArgument },
2736 { 0, 0, 0, 0, NULL }
2740 dissect_dap_ReadArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2741 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
2742 ReadArgument_choice, hf_index, ett_dap_ReadArgument,
2749 static const value_string dap_T_item_vals[] = {
2756 static const ber_choice_t T_item_choice[] = {
2757 { 0, BER_CLASS_CON, 0, 0, dissect_item_entry },
2758 { 1, BER_CLASS_CON, 1, 0, dissect_attribute_type },
2759 { 2, BER_CLASS_CON, 2, 0, dissect_value_assertion },
2760 { 0, 0, 0, 0, NULL }
2764 dissect_dap_T_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2765 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
2766 T_item_choice, hf_index, ett_dap_T_item,
2771 static int dissect_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2772 return dissect_dap_T_item(FALSE, tvb, offset, pinfo, tree, hf_dap_item);
2776 static const asn_namedbit T_permission_bits[] = {
2777 { 0, &hf_dap_T_permission_add, -1, -1, "add", NULL },
2778 { 1, &hf_dap_T_permission_remove, -1, -1, "remove", NULL },
2779 { 2, &hf_dap_T_permission_rename, -1, -1, "rename", NULL },
2780 { 3, &hf_dap_T_permission_move, -1, -1, "move", NULL },
2781 { 0, NULL, 0, 0, NULL, NULL }
2785 dissect_dap_T_permission(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2786 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
2787 T_permission_bits, hf_index, ett_dap_T_permission,
2792 static int dissect_permission(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2793 return dissect_dap_T_permission(FALSE, tvb, offset, pinfo, tree, hf_dap_permission);
2797 static const ber_sequence_t ModifyRights_item_sequence[] = {
2798 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_item },
2799 { BER_CLASS_CON, 3, 0, dissect_permission },
2804 dissect_dap_ModifyRights_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2805 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2806 ModifyRights_item_sequence, hf_index, ett_dap_ModifyRights_item);
2810 static int dissect_ModifyRights_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2811 return dissect_dap_ModifyRights_item(FALSE, tvb, offset, pinfo, tree, hf_dap_ModifyRights_item);
2815 static const ber_sequence_t ModifyRights_set_of[1] = {
2816 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ModifyRights_item },
2820 dissect_dap_ModifyRights(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2821 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
2822 ModifyRights_set_of, hf_index, ett_dap_ModifyRights);
2826 static int dissect_modifyRights(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2827 return dissect_dap_ModifyRights(FALSE, tvb, offset, pinfo, tree, hf_dap_modifyRights);
2831 static const ber_sequence_t ReadResultData_set[] = {
2832 { BER_CLASS_CON, 0, 0, dissect_entry },
2833 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_modifyRights },
2834 { BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL, dissect_securityParameters },
2835 { BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL, dissect_performer },
2836 { BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL, dissect_aliasDereferenced },
2837 { BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL, dissect_notification },
2842 dissect_dap_ReadResultData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2843 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
2844 ReadResultData_set, hf_index, ett_dap_ReadResultData);
2848 static int dissect_unsignedReadResult(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2849 return dissect_dap_ReadResultData(FALSE, tvb, offset, pinfo, tree, hf_dap_unsignedReadResult);
2851 static int dissect_readResult(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2852 return dissect_dap_ReadResultData(FALSE, tvb, offset, pinfo, tree, hf_dap_readResult);
2856 static const ber_sequence_t T_signedReadResult_sequence[] = {
2857 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_readResult },
2858 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_algorithmIdentifier },
2859 { BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_encrypted },
2864 dissect_dap_T_signedReadResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2865 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2866 T_signedReadResult_sequence, hf_index, ett_dap_T_signedReadResult);
2870 static int dissect_signedReadResult(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2871 return dissect_dap_T_signedReadResult(FALSE, tvb, offset, pinfo, tree, hf_dap_signedReadResult);
2875 const value_string dap_ReadResult_vals[] = {
2876 { 0, "unsignedReadResult" },
2877 { 1, "signedReadResult" },
2881 static const ber_choice_t ReadResult_choice[] = {
2882 { 0, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_unsignedReadResult },
2883 { 1, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_signedReadResult },
2884 { 0, 0, 0, 0, NULL }
2888 dissect_dap_ReadResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2889 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
2890 ReadResult_choice, hf_index, ett_dap_ReadResult,
2897 static const ber_sequence_t CompareArgumentData_set[] = {
2898 { BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_object },
2899 { BER_CLASS_CON, 1, 0, dissect_purported },
2900 { BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL, dissect_serviceControls },
2901 { BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL, dissect_securityParameters },
2902 { BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL, dissect_requestor },
2903 { BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL, dissect_operationProgress },
2904 { BER_CLASS_CON, 26, BER_FLAGS_OPTIONAL, dissect_aliasedRDNs },
2905 { BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL, dissect_criticalExtensions },
2906 { BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL, dissect_referenceType },
2907 { BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL, dissect_entryOnly },
2908 { BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL, dissect_nameResolveOnMaster },
2909 { BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_operationContexts },
2910 { BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL, dissect_familyGrouping },
2915 dissect_dap_CompareArgumentData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2916 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
2917 CompareArgumentData_set, hf_index, ett_dap_CompareArgumentData);
2921 static int dissect_unsignedCompareArgument(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2922 return dissect_dap_CompareArgumentData(FALSE, tvb, offset, pinfo, tree, hf_dap_unsignedCompareArgument);
2924 static int dissect_compareArgument(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2925 return dissect_dap_CompareArgumentData(FALSE, tvb, offset, pinfo, tree, hf_dap_compareArgument);
2929 static const ber_sequence_t T_signedCompareArgument_sequence[] = {
2930 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_compareArgument },
2931 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_algorithmIdentifier },
2932 { BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_encrypted },
2937 dissect_dap_T_signedCompareArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2938 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2939 T_signedCompareArgument_sequence, hf_index, ett_dap_T_signedCompareArgument);
2943 static int dissect_signedCompareArgument(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2944 return dissect_dap_T_signedCompareArgument(FALSE, tvb, offset, pinfo, tree, hf_dap_signedCompareArgument);
2948 const value_string dap_CompareArgument_vals[] = {
2949 { 0, "unsignedCompareArgument" },
2950 { 1, "signedCompareArgument" },
2954 static const ber_choice_t CompareArgument_choice[] = {
2955 { 0, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_unsignedCompareArgument },
2956 { 1, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_signedCompareArgument },
2957 { 0, 0, 0, 0, NULL }
2961 dissect_dap_CompareArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2962 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
2963 CompareArgument_choice, hf_index, ett_dap_CompareArgument,
2970 static const ber_sequence_t CompareResultData_set[] = {
2971 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_name },
2972 { BER_CLASS_CON, 0, 0, dissect_matched },
2973 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_fromEntry },
2974 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_matchedSubtype },
2975 { BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL, dissect_securityParameters },
2976 { BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL, dissect_performer },
2977 { BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL, dissect_aliasDereferenced },
2978 { BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL, dissect_notification },
2983 dissect_dap_CompareResultData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2984 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
2985 CompareResultData_set, hf_index, ett_dap_CompareResultData);
2989 static int dissect_unsignedCompareResult(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2990 return dissect_dap_CompareResultData(FALSE, tvb, offset, pinfo, tree, hf_dap_unsignedCompareResult);
2992 static int dissect_compareResult(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2993 return dissect_dap_CompareResultData(FALSE, tvb, offset, pinfo, tree, hf_dap_compareResult);
2997 static const ber_sequence_t T_signedCompareResult_sequence[] = {
2998 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_compareResult },
2999 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_algorithmIdentifier },
3000 { BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_encrypted },
3005 dissect_dap_T_signedCompareResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3006 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3007 T_signedCompareResult_sequence, hf_index, ett_dap_T_signedCompareResult);
3011 static int dissect_signedCompareResult(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3012 return dissect_dap_T_signedCompareResult(FALSE, tvb, offset, pinfo, tree, hf_dap_signedCompareResult);
3016 const value_string dap_CompareResult_vals[] = {
3017 { 0, "unsignedCompareResult" },
3018 { 1, "signedCompareResult" },
3022 static const ber_choice_t CompareResult_choice[] = {
3023 { 0, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_unsignedCompareResult },
3024 { 1, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_signedCompareResult },
3025 { 0, 0, 0, 0, NULL }
3029 dissect_dap_CompareResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3030 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
3031 CompareResult_choice, hf_index, ett_dap_CompareResult,
3038 static const ber_sequence_t AbandonArgumentData_sequence[] = {
3039 { BER_CLASS_CON, 0, 0, dissect_invokeID },
3044 dissect_dap_AbandonArgumentData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3045 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3046 AbandonArgumentData_sequence, hf_index, ett_dap_AbandonArgumentData);
3050 static int dissect_unsignedAbandonArgument(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3051 return dissect_dap_AbandonArgumentData(FALSE, tvb, offset, pinfo, tree, hf_dap_unsignedAbandonArgument);
3053 static int dissect_abandonArgument(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3054 return dissect_dap_AbandonArgumentData(FALSE, tvb, offset, pinfo, tree, hf_dap_abandonArgument);
3058 static const ber_sequence_t T_signedAbandonArgument_sequence[] = {
3059 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_abandonArgument },
3060 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_algorithmIdentifier },
3061 { BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_encrypted },
3066 dissect_dap_T_signedAbandonArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3067 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3068 T_signedAbandonArgument_sequence, hf_index, ett_dap_T_signedAbandonArgument);
3072 static int dissect_signedAbandonArgument(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3073 return dissect_dap_T_signedAbandonArgument(FALSE, tvb, offset, pinfo, tree, hf_dap_signedAbandonArgument);
3077 const value_string dap_AbandonArgument_vals[] = {
3078 { 0, "unsignedAbandonArgument" },
3079 { 1, "signedAbandonArgument" },
3083 static const ber_choice_t AbandonArgument_choice[] = {
3084 { 0, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_unsignedAbandonArgument },
3085 { 1, BER_CLASS_CON, 0, 0, dissect_signedAbandonArgument },
3086 { 0, 0, 0, 0, NULL }
3090 dissect_dap_AbandonArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3091 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
3092 AbandonArgument_choice, hf_index, ett_dap_AbandonArgument,
3099 static const ber_sequence_t AbandonResultData_sequence[] = {
3100 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_invokeID },
3101 { BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL, dissect_securityParameters },
3102 { BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL, dissect_performer },
3103 { BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL, dissect_aliasDereferenced },
3104 { BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL, dissect_notification },
3109 dissect_dap_AbandonResultData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3110 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3111 AbandonResultData_sequence, hf_index, ett_dap_AbandonResultData);
3115 static int dissect_unsignedAbandonResult(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3116 return dissect_dap_AbandonResultData(FALSE, tvb, offset, pinfo, tree, hf_dap_unsignedAbandonResult);
3118 static int dissect_abandonResult(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3119 return dissect_dap_AbandonResultData(FALSE, tvb, offset, pinfo, tree, hf_dap_abandonResult);
3123 static const ber_sequence_t T_signedAbandonResult_sequence[] = {
3124 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_abandonResult },
3125 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_algorithmIdentifier },
3126 { BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_encrypted },
3131 dissect_dap_T_signedAbandonResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3132 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3133 T_signedAbandonResult_sequence, hf_index, ett_dap_T_signedAbandonResult);
3137 static int dissect_signedAbandonResult(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3138 return dissect_dap_T_signedAbandonResult(FALSE, tvb, offset, pinfo, tree, hf_dap_signedAbandonResult);
3142 static const value_string dap_AbandonInformation_vals[] = {
3143 { 0, "unsignedAbandonResult" },
3144 { 1, "signedAbandonResult" },
3148 static const ber_choice_t AbandonInformation_choice[] = {
3149 { 0, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_unsignedAbandonResult },
3150 { 1, BER_CLASS_CON, 0, 0, dissect_signedAbandonResult },
3151 { 0, 0, 0, 0, NULL }
3155 dissect_dap_AbandonInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3156 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
3157 AbandonInformation_choice, hf_index, ett_dap_AbandonInformation,
3162 static int dissect_abandon_information(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3163 return dissect_dap_AbandonInformation(FALSE, tvb, offset, pinfo, tree, hf_dap_abandon_information);
3167 const value_string dap_AbandonResult_vals[] = {
3169 { 1, "information" },
3173 static const ber_choice_t AbandonResult_choice[] = {
3174 { 0, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_null },
3175 { 1, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_abandon_information },
3176 { 0, 0, 0, 0, NULL }
3180 dissect_dap_AbandonResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3181 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
3182 AbandonResult_choice, hf_index, ett_dap_AbandonResult,
3189 static const ber_sequence_t ListArgumentData_set[] = {
3190 { BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_object },
3191 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_pagedResults },
3192 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_listFamily },
3193 { BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL, dissect_serviceControls },
3194 { BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL, dissect_securityParameters },
3195 { BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL, dissect_requestor },
3196 { BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL, dissect_operationProgress },
3197 { BER_CLASS_CON, 26, BER_FLAGS_OPTIONAL, dissect_aliasedRDNs },
3198 { BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL, dissect_criticalExtensions },
3199 { BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL, dissect_referenceType },
3200 { BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL, dissect_entryOnly },
3201 { BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL, dissect_nameResolveOnMaster },
3202 { BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_operationContexts },
3203 { BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL, dissect_familyGrouping },
3208 dissect_dap_ListArgumentData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3209 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
3210 ListArgumentData_set, hf_index, ett_dap_ListArgumentData);
3214 static int dissect_unsignedListArgument(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3215 return dissect_dap_ListArgumentData(FALSE, tvb, offset, pinfo, tree, hf_dap_unsignedListArgument);
3217 static int dissect_listArgument(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3218 return dissect_dap_ListArgumentData(FALSE, tvb, offset, pinfo, tree, hf_dap_listArgument);
3222 static const ber_sequence_t T_signedListArgument_sequence[] = {
3223 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_listArgument },
3224 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_algorithmIdentifier },
3225 { BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_encrypted },
3230 dissect_dap_T_signedListArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3231 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3232 T_signedListArgument_sequence, hf_index, ett_dap_T_signedListArgument);
3236 static int dissect_signedListArgument(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3237 return dissect_dap_T_signedListArgument(FALSE, tvb, offset, pinfo, tree, hf_dap_signedListArgument);
3241 const value_string dap_ListArgument_vals[] = {
3242 { 0, "unsignedListArgument" },
3243 { 1, "signedListArgument" },
3247 static const ber_choice_t ListArgument_choice[] = {
3248 { 0, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_unsignedListArgument },
3249 { 1, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_signedListArgument },
3250 { 0, 0, 0, 0, NULL }
3254 dissect_dap_ListArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3255 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
3256 ListArgument_choice, hf_index, ett_dap_ListArgument,
3263 static const ber_sequence_t T_subordinates_item_sequence[] = {
3264 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_rdn },
3265 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_aliasEntry },
3266 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_fromEntry },
3271 dissect_dap_T_subordinates_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3273 proto_item *sub_item;
3275 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3276 T_subordinates_item_sequence, hf_index, ett_dap_T_subordinates_item);
3279 if((sub_item = get_ber_last_created_item())) {
3281 proto_item_append_text(sub_item," (%s)", x509if_get_last_dn());
3288 static int dissect_subordinates_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3289 return dissect_dap_T_subordinates_item(FALSE, tvb, offset, pinfo, tree, hf_dap_subordinates_item);
3293 static const ber_sequence_t T_subordinates_set_of[1] = {
3294 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_subordinates_item },
3298 dissect_dap_T_subordinates(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3299 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
3300 T_subordinates_set_of, hf_index, ett_dap_T_subordinates);
3304 static int dissect_subordinates(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3305 return dissect_dap_T_subordinates(FALSE, tvb, offset, pinfo, tree, hf_dap_subordinates);
3309 static const value_string dap_LimitProblem_vals[] = {
3310 { 0, "timeLimitExceeded" },
3311 { 1, "sizeLimitExceeded" },
3312 { 2, "administrativeLimitExceeded" },
3318 dissect_dap_LimitProblem(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3322 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3326 if (check_col(pinfo->cinfo, COL_INFO)) {
3327 col_append_fstr(pinfo->cinfo, COL_INFO, " %s", val_to_str(problem, dap_LimitProblem_vals, "LimitProblem(%d)"));
3334 static int dissect_limitProblem(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3335 return dissect_dap_LimitProblem(FALSE, tvb, offset, pinfo, tree, hf_dap_limitProblem);
3339 static const ber_sequence_t SET_OF_ContinuationReference_set_of[1] = {
3340 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_unexplored_item },
3344 dissect_dap_SET_OF_ContinuationReference(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3345 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
3346 SET_OF_ContinuationReference_set_of, hf_index, ett_dap_SET_OF_ContinuationReference);
3350 static int dissect_unexplored(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3351 return dissect_dap_SET_OF_ContinuationReference(FALSE, tvb, offset, pinfo, tree, hf_dap_unexplored);
3355 static const ber_sequence_t T_unknownErrors_set_of[1] = {
3356 { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_unknownErrors_item },
3360 dissect_dap_T_unknownErrors(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3361 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
3362 T_unknownErrors_set_of, hf_index, ett_dap_T_unknownErrors);
3366 static int dissect_unknownErrors(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3367 return dissect_dap_T_unknownErrors(FALSE, tvb, offset, pinfo, tree, hf_dap_unknownErrors);
3371 static const value_string dap_T_entryCount_vals[] = {
3372 { 7, "bestEstimate" },
3373 { 8, "lowEstimate" },
3377 static const ber_choice_t T_entryCount_choice[] = {
3378 { 7, BER_CLASS_CON, 7, 0, dissect_bestEstimate },
3379 { 8, BER_CLASS_CON, 8, 0, dissect_lowEstimate },
3380 { 0, 0, 0, 0, NULL }
3384 dissect_dap_T_entryCount(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3385 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
3386 T_entryCount_choice, hf_index, ett_dap_T_entryCount,
3391 static int dissect_entryCount(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3392 return dissect_dap_T_entryCount(FALSE, tvb, offset, pinfo, tree, hf_dap_entryCount);
3396 static const ber_sequence_t PartialOutcomeQualifier_set[] = {
3397 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_limitProblem },
3398 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_unexplored },
3399 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_unavailableCriticalExtensions },
3400 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_unknownErrors },
3401 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_queryReference },
3402 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_overspecFilter },
3403 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL, dissect_notification },
3404 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_entryCount },
3409 dissect_dap_PartialOutcomeQualifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3410 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
3411 PartialOutcomeQualifier_set, hf_index, ett_dap_PartialOutcomeQualifier);
3415 static int dissect_partialOutcomeQualifier(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3416 return dissect_dap_PartialOutcomeQualifier(FALSE, tvb, offset, pinfo, tree, hf_dap_partialOutcomeQualifier);
3420 static const ber_sequence_t T_listInfo_set[] = {
3421 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_name },
3422 { BER_CLASS_CON, 1, 0, dissect_subordinates },
3423 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_partialOutcomeQualifier },
3424 { BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL, dissect_securityParameters },
3425 { BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL, dissect_performer },
3426 { BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL, dissect_aliasDereferenced },
3427 { BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL, dissect_notification },
3432 dissect_dap_T_listInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3433 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
3434 T_listInfo_set, hf_index, ett_dap_T_listInfo);
3438 static int dissect_listInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3439 return dissect_dap_T_listInfo(FALSE, tvb, offset, pinfo, tree, hf_dap_listInfo);
3443 static const ber_sequence_t T_signedListResult_sequence[] = {
3444 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_listResult },
3445 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_algorithmIdentifier },
3446 { BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_encrypted },
3451 dissect_dap_T_signedListResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3452 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3453 T_signedListResult_sequence, hf_index, ett_dap_T_signedListResult);
3457 static int dissect_signedListResult(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3458 return dissect_dap_T_signedListResult(FALSE, tvb, offset, pinfo, tree, hf_dap_signedListResult);
3462 const value_string dap_ListResult_vals[] = {
3463 { 0, "unsignedListResult" },
3464 { 1, "signedListResult" },
3468 static const ber_choice_t ListResult_choice[] = {
3469 { 0, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_unsignedListResult },
3470 { 1, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_signedListResult },
3471 { 0, 0, 0, 0, NULL }
3475 dissect_dap_ListResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3476 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
3477 ListResult_choice, hf_index, ett_dap_ListResult,
3482 static int dissect_uncorrelatedListInfo_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3483 return dissect_dap_ListResult(FALSE, tvb, offset, pinfo, tree, hf_dap_uncorrelatedListInfo_item);
3487 static const ber_sequence_t SET_OF_ListResult_set_of[1] = {
3488 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_uncorrelatedListInfo_item },
3492 dissect_dap_SET_OF_ListResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3493 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
3494 SET_OF_ListResult_set_of, hf_index, ett_dap_SET_OF_ListResult);
3498 static int dissect_uncorrelatedListInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3499 return dissect_dap_SET_OF_ListResult(FALSE, tvb, offset, pinfo, tree, hf_dap_uncorrelatedListInfo);
3503 static const value_string dap_ListResultData_vals[] = {
3505 { 1, "uncorrelatedListInfo" },
3509 static const ber_choice_t ListResultData_choice[] = {
3510 { 0, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_listInfo },
3511 { 1, BER_CLASS_CON, 0, 0, dissect_uncorrelatedListInfo },
3512 { 0, 0, 0, 0, NULL }
3516 dissect_dap_ListResultData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3517 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
3518 ListResultData_choice, hf_index, ett_dap_ListResultData,
3525 static const value_string dap_T_subset_vals[] = {
3526 { 0, "baseObject" },
3528 { 2, "wholeSubtree" },
3534 dissect_dap_T_subset(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3538 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3542 if (check_col(pinfo->cinfo, COL_INFO)) {
3543 col_append_fstr(pinfo->cinfo, COL_INFO, " %s", val_to_str(subset, dap_T_subset_vals, "Subset(%d)"));
3551 static int dissect_subset(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3552 return dissect_dap_T_subset(FALSE, tvb, offset, pinfo, tree, hf_dap_subset);
3556 static const asn_namedbit HierarchySelections_bits[] = {
3557 { 0, &hf_dap_HierarchySelections_self, -1, -1, "self", NULL },
3558 { 1, &hf_dap_HierarchySelections_children, -1, -1, "children", NULL },
3559 { 2, &hf_dap_HierarchySelections_parent, -1, -1, "parent", NULL },
3560 { 3, &hf_dap_HierarchySelections_hierarchy, -1, -1, "hierarchy", NULL },
3561 { 4, &hf_dap_HierarchySelections_top, -1, -1, "top", NULL },
3562 { 5, &hf_dap_HierarchySelections_subtree, -1, -1, "subtree", NULL },
3563 { 6, &hf_dap_HierarchySelections_siblings, -1, -1, "siblings", NULL },
3564 { 7, &hf_dap_HierarchySelections_siblingChildren, -1, -1, "siblingChildren", NULL },
3565 { 8, &hf_dap_HierarchySelections_siblingSubtree, -1, -1, "siblingSubtree", NULL },
3566 { 9, &hf_dap_HierarchySelections_all, -1, -1, "all", NULL },
3567 { 0, NULL, 0, 0, NULL, NULL }
3571 dissect_dap_HierarchySelections(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3572 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
3573 HierarchySelections_bits, hf_index, ett_dap_HierarchySelections,
3578 static int dissect_hierarchySelections(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3579 return dissect_dap_HierarchySelections(FALSE, tvb, offset, pinfo, tree, hf_dap_hierarchySelections);
3583 static const asn_namedbit SearchControlOptions_bits[] = {
3584 { 0, &hf_dap_SearchControlOptions_searchAliases, -1, -1, "searchAliases", NULL },
3585 { 1, &hf_dap_SearchControlOptions_matchedValuesOnly, -1, -1, "matchedValuesOnly", NULL },
3586 { 2, &hf_dap_SearchControlOptions_checkOverspecified, -1, -1, "checkOverspecified", NULL },
3587 { 3, &hf_dap_SearchControlOptions_performExactly, -1, -1, "performExactly", NULL },
3588 { 4, &hf_dap_SearchControlOptions_includeAllAreas, -1, -1, "includeAllAreas", NULL },
3589 { 5, &hf_dap_SearchControlOptions_noSystemRelaxation, -1, -1, "noSystemRelaxation", NULL },
3590 { 6, &hf_dap_SearchControlOptions_dnAttribute, -1, -1, "dnAttribute", NULL },
3591 { 7, &hf_dap_SearchControlOptions_matchOnResidualName, -1, -1, "matchOnResidualName", NULL },
3592 { 8, &hf_dap_SearchControlOptions_entryCount, -1, -1, "entryCount", NULL },
3593 { 9, &hf_dap_SearchControlOptions_useSubset, -1, -1, "useSubset", NULL },
3594 { 10, &hf_dap_SearchControlOptions_separateFamilyMembers, -1, -1, "separateFamilyMembers", NULL },
3595 { 11, &hf_dap_SearchControlOptions_searchFamily, -1, -1, "searchFamily", NULL },
3596 { 0, NULL, 0, 0, NULL, NULL }
3600 dissect_dap_SearchControlOptions(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3601 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
3602 SearchControlOptions_bits, hf_index, ett_dap_SearchControlOptions,
3607 static int dissect_searchControlOptions(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3608 return dissect_dap_SearchControlOptions(FALSE, tvb, offset, pinfo, tree, hf_dap_searchControlOptions);
3614 dissect_dap_DomainLocalID(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3615 offset = dissect_x509sat_DirectoryString(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3619 static int dissect_domainLocalID(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3620 return dissect_dap_DomainLocalID(FALSE, tvb, offset, pinfo, tree, hf_dap_domainLocalID);
3624 static const value_string dap_T_joinSubset_vals[] = {
3625 { 0, "baseObject" },
3627 { 2, "wholeSubtree" },
3633 dissect_dap_T_joinSubset(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3634 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3639 static int dissect_joinSubset(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3640 return dissect_dap_T_joinSubset(FALSE, tvb, offset, pinfo, tree, hf_dap_joinSubset);
3646 dissect_dap_JoinContextType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3647 offset = dissect_ber_object_identifier(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
3651 static int dissect_joinContext_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3652 return dissect_dap_JoinContextType(FALSE, tvb, offset, pinfo, tree, hf_dap_joinContext_item);
3656 static const ber_sequence_t SEQUENCE_OF_JoinContextType_sequence_of[1] = {
3657 { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_joinContext_item },
3661 dissect_dap_SEQUENCE_OF_JoinContextType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3662 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
3663 SEQUENCE_OF_JoinContextType_sequence_of, hf_index, ett_dap_SEQUENCE_OF_JoinContextType);
3667 static int dissect_joinContext(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3668 return dissect_dap_SEQUENCE_OF_JoinContextType(FALSE, tvb, offset, pinfo, tree, hf_dap_joinContext);
3672 static const ber_sequence_t JoinAttPair_sequence[] = {
3673 { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_baseAtt },
3674 { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_joinAtt },
3675 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_joinContext },
3680 dissect_dap_JoinAttPair(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3681 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3682 JoinAttPair_sequence, hf_index, ett_dap_JoinAttPair);
3686 static int dissect_joinAttributes_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3687 return dissect_dap_JoinAttPair(FALSE, tvb, offset, pinfo, tree, hf_dap_joinAttributes_item);
3691 static const ber_sequence_t SEQUENCE_OF_JoinAttPair_sequence_of[1] = {
3692 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_joinAttributes_item },
3696 dissect_dap_SEQUENCE_OF_JoinAttPair(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3697 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
3698 SEQUENCE_OF_JoinAttPair_sequence_of, hf_index, ett_dap_SEQUENCE_OF_JoinAttPair);
3702 static int dissect_joinAttributes(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3703 return dissect_dap_SEQUENCE_OF_JoinAttPair(FALSE, tvb, offset, pinfo, tree, hf_dap_joinAttributes);
3707 static const ber_sequence_t JoinArgument_sequence[] = {
3708 { BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_joinBaseObject },
3709 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_domainLocalID },
3710 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_joinSubset },
3711 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_joinFilter },
3712 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_joinAttributes },
3713 { BER_CLASS_CON, 5, 0, dissect_joinSelection },
3718 dissect_dap_JoinArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3719 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3720 JoinArgument_sequence, hf_index, ett_dap_JoinArgument);
3724 static int dissect_joinArguments_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3725 return dissect_dap_JoinArgument(FALSE, tvb, offset, pinfo, tree, hf_dap_joinArguments_item);
3729 static const ber_sequence_t SEQUENCE_SIZE_1_MAX_OF_JoinArgument_sequence_of[1] = {
3730 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_joinArguments_item },
3734 dissect_dap_SEQUENCE_SIZE_1_MAX_OF_JoinArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3735 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
3736 SEQUENCE_SIZE_1_MAX_OF_JoinArgument_sequence_of, hf_index, ett_dap_SEQUENCE_SIZE_1_MAX_OF_JoinArgument);
3740 static int dissect_joinArguments(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3741 return dissect_dap_SEQUENCE_SIZE_1_MAX_OF_JoinArgument(FALSE, tvb, offset, pinfo, tree, hf_dap_joinArguments);
3745 static const value_string dap_T_joinType_vals[] = {
3747 { 1, "leftOuterJoin" },
3748 { 2, "fullOuterJoin" },
3754 dissect_dap_T_joinType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3755 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3760 static int dissect_joinType(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3761 return dissect_dap_T_joinType(FALSE, tvb, offset, pinfo, tree, hf_dap_joinType);
3765 static const ber_sequence_t SearchArgumentData_set[] = {
3766 { BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_baseObject },
3767 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_subset },
3768 { BER_CLASS_CON, 2, BER_FLAGS_NOTCHKTAG, dissect_filter },
3769 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_searchAliases },
3770 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_selection },
3771 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_pagedResults },
3772 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL, dissect_matchedValuesOnly },
3773 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_extendedFilter },
3774 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL, dissect_checkOverspecified },
3775 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL, dissect_relaxation },
3776 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL, dissect_extendedArea },
3777 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL, dissect_hierarchySelections },
3778 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL, dissect_searchControlOptions },
3779 { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL, dissect_joinArguments },
3780 { BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL, dissect_joinType },
3781 { BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL, dissect_serviceControls },
3782 { BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL, dissect_securityParameters },
3783 { BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL, dissect_requestor },
3784 { BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL, dissect_operationProgress },
3785 { BER_CLASS_CON, 26, BER_FLAGS_OPTIONAL, dissect_aliasedRDNs },
3786 { BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL, dissect_criticalExtensions },
3787 { BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL, dissect_referenceType },
3788 { BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL, dissect_entryOnly },
3789 { BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL, dissect_nameResolveOnMaster },
3790 { BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_operationContexts },
3791 { BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL, dissect_familyGrouping },
3796 dissect_dap_SearchArgumentData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3797 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
3798 SearchArgumentData_set, hf_index, ett_dap_SearchArgumentData);
3802 static int dissect_unsignedSearchArgument(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3803 return dissect_dap_SearchArgumentData(FALSE, tvb, offset, pinfo, tree, hf_dap_unsignedSearchArgument);
3805 static int dissect_searchArgument(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3806 return dissect_dap_SearchArgumentData(FALSE, tvb, offset, pinfo, tree, hf_dap_searchArgument);
3810 static const ber_sequence_t T_signedSearchArgument_sequence[] = {
3811 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_searchArgument },
3812 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_algorithmIdentifier },
3813 { BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_encrypted },
3818 dissect_dap_T_signedSearchArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3819 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3820 T_signedSearchArgument_sequence, hf_index, ett_dap_T_signedSearchArgument);
3824 static int dissect_signedSearchArgument(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3825 return dissect_dap_T_signedSearchArgument(FALSE, tvb, offset, pinfo, tree, hf_dap_signedSearchArgument);
3829 const value_string dap_SearchArgument_vals[] = {
3830 { 0, "unsignedSearchArgument" },
3831 { 1, "signedSearchArgument" },
3835 static const ber_choice_t SearchArgument_choice[] = {
3836 { 0, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_unsignedSearchArgument },
3837 { 1, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_signedSearchArgument },
3838 { 0, 0, 0, 0, NULL }
3842 dissect_dap_SearchArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3843 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
3844 SearchArgument_choice, hf_index, ett_dap_SearchArgument,
3851 static const ber_sequence_t SET_OF_EntryInformation_set_of[1] = {
3852 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_entries_item },
3856 dissect_dap_SET_OF_EntryInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3857 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
3858 SET_OF_EntryInformation_set_of, hf_index, ett_dap_SET_OF_EntryInformation);
3862 static int dissect_entries(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3863 return dissect_dap_SET_OF_EntryInformation(FALSE, tvb, offset, pinfo, tree, hf_dap_entries);
3867 static const ber_sequence_t T_searchInfo_set[] = {
3868 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_name },
3869 { BER_CLASS_CON, 0, 0, dissect_entries },
3870 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_partialOutcomeQualifier },
3871 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_altMatching },
3872 { BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL, dissect_securityParameters },
3873 { BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL, dissect_performer },
3874 { BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL, dissect_aliasDereferenced },
3875 { BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL, dissect_notification },
3880 dissect_dap_T_searchInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3881 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
3882 T_searchInfo_set, hf_index, ett_dap_T_searchInfo);
3886 static int dissect_searchInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3887 return dissect_dap_T_searchInfo(FALSE, tvb, offset, pinfo, tree, hf_dap_searchInfo);
3891 static const ber_sequence_t T_signedSearchResult_sequence[] = {
3892 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_searchResult },
3893 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_algorithmIdentifier },
3894 { BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_encrypted },
3899 dissect_dap_T_signedSearchResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3900 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3901 T_signedSearchResult_sequence, hf_index, ett_dap_T_signedSearchResult);
3905 static int dissect_signedSearchResult(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3906 return dissect_dap_T_signedSearchResult(FALSE, tvb, offset, pinfo, tree, hf_dap_signedSearchResult);
3910 const value_string dap_SearchResult_vals[] = {
3911 { 0, "unsignedSearchResult" },
3912 { 1, "signedSearchResult" },
3916 static const ber_choice_t SearchResult_choice[] = {
3917 { 0, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_unsignedSearchResult },
3918 { 1, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_signedSearchResult },
3919 { 0, 0, 0, 0, NULL }
3923 dissect_dap_SearchResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3924 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
3925 SearchResult_choice, hf_index, ett_dap_SearchResult,
3930 static int dissect_uncorrelatedSearchInfo_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3931 return dissect_dap_SearchResult(FALSE, tvb, offset, pinfo, tree, hf_dap_uncorrelatedSearchInfo_item);
3935 static const ber_sequence_t SET_OF_SearchResult_set_of[1] = {
3936 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_uncorrelatedSearchInfo_item },
3940 dissect_dap_SET_OF_SearchResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3941 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
3942 SET_OF_SearchResult_set_of, hf_index, ett_dap_SET_OF_SearchResult);
3946 static int dissect_uncorrelatedSearchInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3947 return dissect_dap_SET_OF_SearchResult(FALSE, tvb, offset, pinfo, tree, hf_dap_uncorrelatedSearchInfo);
3951 static const value_string dap_SearchResultData_vals[] = {
3952 { 0, "searchInfo" },
3953 { 1, "uncorrelatedSearchInfo" },
3957 static const ber_choice_t SearchResultData_choice[] = {
3958 { 0, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_searchInfo },
3959 { 1, BER_CLASS_CON, 0, 0, dissect_uncorrelatedSearchInfo },
3960 { 0, 0, 0, 0, NULL }
3964 dissect_dap_SearchResultData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3965 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
3966 SearchResultData_choice, hf_index, ett_dap_SearchResultData,
3973 static const ber_sequence_t SET_OF_Attribute_set_of[1] = {
3974 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_entry_item },
3978 dissect_dap_SET_OF_Attribute(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3979 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
3980 SET_OF_Attribute_set_of, hf_index, ett_dap_SET_OF_Attribute);
3984 static int dissect_add_entry(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3985 return dissect_dap_SET_OF_Attribute(FALSE, tvb, offset, pinfo, tree, hf_dap_add_entry);
3989 static const ber_sequence_t AddEntryArgumentData_set[] = {
3990 { BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_object },
3991 { BER_CLASS_CON, 1, 0, dissect_add_entry },
3992 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_targetSystem },
3993 { BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL, dissect_serviceControls },
3994 { BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL, dissect_securityParameters },
3995 { BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL, dissect_requestor },
3996 { BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL, dissect_operationProgress },
3997 { BER_CLASS_CON, 26, BER_FLAGS_OPTIONAL, dissect_aliasedRDNs },
3998 { BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL, dissect_criticalExtensions },
3999 { BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL, dissect_referenceType },
4000 { BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL, dissect_entryOnly },
4001 { BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL, dissect_nameResolveOnMaster },
4002 { BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_operationContexts },
4003 { BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL, dissect_familyGrouping },
4008 dissect_dap_AddEntryArgumentData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4009 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
4010 AddEntryArgumentData_set, hf_index, ett_dap_AddEntryArgumentData);
4014 static int dissect_unsignedAddEntryArgument(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4015 return dissect_dap_AddEntryArgumentData(FALSE, tvb, offset, pinfo, tree, hf_dap_unsignedAddEntryArgument);
4017 static int dissect_addEntryArgument(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4018 return dissect_dap_AddEntryArgumentData(FALSE, tvb, offset, pinfo, tree, hf_dap_addEntryArgument);
4022 static const ber_sequence_t T_signedAddEntryArgument_sequence[] = {
4023 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_addEntryArgument },
4024 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_algorithmIdentifier },
4025 { BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_encrypted },
4030 dissect_dap_T_signedAddEntryArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4031 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4032 T_signedAddEntryArgument_sequence, hf_index, ett_dap_T_signedAddEntryArgument);
4036 static int dissect_signedAddEntryArgument(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4037 return dissect_dap_T_signedAddEntryArgument(FALSE, tvb, offset, pinfo, tree, hf_dap_signedAddEntryArgument);
4041 const value_string dap_AddEntryArgument_vals[] = {
4042 { 0, "unsignedAddEntryArgument" },
4043 { 1, "signedAddEntryArgument" },
4047 static const ber_choice_t AddEntryArgument_choice[] = {
4048 { 0, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_unsignedAddEntryArgument },
4049 { 1, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_signedAddEntryArgument },
4050 { 0, 0, 0, 0, NULL }
4054 dissect_dap_AddEntryArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4055 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
4056 AddEntryArgument_choice, hf_index, ett_dap_AddEntryArgument,
4063 static const ber_sequence_t AddEntryResultData_sequence[] = {
4064 { BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL, dissect_securityParameters },
4065 { BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL, dissect_performer },
4066 { BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL, dissect_aliasDereferenced },
4067 { BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL, dissect_notification },
4072 dissect_dap_AddEntryResultData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4073 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4074 AddEntryResultData_sequence, hf_index, ett_dap_AddEntryResultData);
4078 static int dissect_unsignedAddEntryResult(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4079 return dissect_dap_AddEntryResultData(FALSE, tvb, offset, pinfo, tree, hf_dap_unsignedAddEntryResult);
4081 static int dissect_addEntryResult(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4082 return dissect_dap_AddEntryResultData(FALSE, tvb, offset, pinfo, tree, hf_dap_addEntryResult);
4086 static const ber_sequence_t T_signedAddEntryResult_sequence[] = {
4087 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_addEntryResult },
4088 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_algorithmIdentifier },
4089 { BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_encrypted },
4094 dissect_dap_T_signedAddEntryResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4095 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4096 T_signedAddEntryResult_sequence, hf_index, ett_dap_T_signedAddEntryResult);
4100 static int dissect_signedAddEntryResult(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4101 return dissect_dap_T_signedAddEntryResult(FALSE, tvb, offset, pinfo, tree, hf_dap_signedAddEntryResult);
4105 static const value_string dap_AddEntryInformation_vals[] = {
4106 { 0, "unsignedAddEntryResult" },
4107 { 1, "signedAddEntryResult" },
4111 static const ber_choice_t AddEntryInformation_choice[] = {
4112 { 0, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_unsignedAddEntryResult },
4113 { 1, BER_CLASS_CON, 0, 0, dissect_signedAddEntryResult },
4114 { 0, 0, 0, 0, NULL }
4118 dissect_dap_AddEntryInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4119 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
4120 AddEntryInformation_choice, hf_index, ett_dap_AddEntryInformation,
4125 static int dissect_add_entry_information(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4126 return dissect_dap_AddEntryInformation(FALSE, tvb, offset, pinfo, tree, hf_dap_add_entry_information);
4130 const value_string dap_AddEntryResult_vals[] = {
4132 { 1, "information" },
4136 static const ber_choice_t AddEntryResult_choice[] = {
4137 { 0, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_null },
4138 { 1, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_add_entry_information },
4139 { 0, 0, 0, 0, NULL }
4143 dissect_dap_AddEntryResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4144 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
4145 AddEntryResult_choice, hf_index, ett_dap_AddEntryResult,
4152 static const ber_sequence_t RemoveEntryArgumentData_set[] = {
4153 { BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_object },
4154 { BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL, dissect_serviceControls },
4155 { BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL, dissect_securityParameters },
4156 { BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL, dissect_requestor },
4157 { BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL, dissect_operationProgress },
4158 { BER_CLASS_CON, 26, BER_FLAGS_OPTIONAL, dissect_aliasedRDNs },
4159 { BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL, dissect_criticalExtensions },
4160 { BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL, dissect_referenceType },
4161 { BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL, dissect_entryOnly },
4162 { BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL, dissect_nameResolveOnMaster },
4163 { BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_operationContexts },
4164 { BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL, dissect_familyGrouping },
4169 dissect_dap_RemoveEntryArgumentData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4170 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
4171 RemoveEntryArgumentData_set, hf_index, ett_dap_RemoveEntryArgumentData);
4175 static int dissect_unsignedRemoveEntryArgument(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4176 return dissect_dap_RemoveEntryArgumentData(FALSE, tvb, offset, pinfo, tree, hf_dap_unsignedRemoveEntryArgument);
4178 static int dissect_removeEntryArgument(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4179 return dissect_dap_RemoveEntryArgumentData(FALSE, tvb, offset, pinfo, tree, hf_dap_removeEntryArgument);
4183 static const ber_sequence_t T_signedRemoveEntryArgument_sequence[] = {
4184 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_removeEntryArgument },
4185 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_algorithmIdentifier },
4186 { BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_encrypted },
4191 dissect_dap_T_signedRemoveEntryArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4192 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4193 T_signedRemoveEntryArgument_sequence, hf_index, ett_dap_T_signedRemoveEntryArgument);
4197 static int dissect_signedRemoveEntryArgument(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4198 return dissect_dap_T_signedRemoveEntryArgument(FALSE, tvb, offset, pinfo, tree, hf_dap_signedRemoveEntryArgument);
4202 const value_string dap_RemoveEntryArgument_vals[] = {
4203 { 0, "unsignedRemoveEntryArgument" },
4204 { 1, "signedRemoveEntryArgument" },
4208 static const ber_choice_t RemoveEntryArgument_choice[] = {
4209 { 0, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_unsignedRemoveEntryArgument },
4210 { 1, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_signedRemoveEntryArgument },
4211 { 0, 0, 0, 0, NULL }
4215 dissect_dap_RemoveEntryArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4216 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
4217 RemoveEntryArgument_choice, hf_index, ett_dap_RemoveEntryArgument,
4224 static const ber_sequence_t RemoveEntryResultData_sequence[] = {
4225 { BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL, dissect_securityParameters },
4226 { BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL, dissect_performer },
4227 { BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL, dissect_aliasDereferenced },
4228 { BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL, dissect_notification },
4233 dissect_dap_RemoveEntryResultData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4234 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4235 RemoveEntryResultData_sequence, hf_index, ett_dap_RemoveEntryResultData);
4239 static int dissect_unsignedRemoveEntryResult(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4240 return dissect_dap_RemoveEntryResultData(FALSE, tvb, offset, pinfo, tree, hf_dap_unsignedRemoveEntryResult);
4242 static int dissect_removeEntryResult(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4243 return dissect_dap_RemoveEntryResultData(FALSE, tvb, offset, pinfo, tree, hf_dap_removeEntryResult);
4247 static const ber_sequence_t T_signedRemoveEntryResult_sequence[] = {
4248 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_removeEntryResult },
4249 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_algorithmIdentifier },
4250 { BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_encrypted },
4255 dissect_dap_T_signedRemoveEntryResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4256 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4257 T_signedRemoveEntryResult_sequence, hf_index, ett_dap_T_signedRemoveEntryResult);
4261 static int dissect_signedRemoveEntryResult(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4262 return dissect_dap_T_signedRemoveEntryResult(FALSE, tvb, offset, pinfo, tree, hf_dap_signedRemoveEntryResult);
4266 static const value_string dap_RemoveEntryInformation_vals[] = {
4267 { 0, "unsignedRemoveEntryResult" },
4268 { 1, "signedRemoveEntryResult" },
4272 static const ber_choice_t RemoveEntryInformation_choice[] = {
4273 { 0, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_unsignedRemoveEntryResult },
4274 { 1, BER_CLASS_CON, 0, 0, dissect_signedRemoveEntryResult },
4275 { 0, 0, 0, 0, NULL }
4279 dissect_dap_RemoveEntryInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4280 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
4281 RemoveEntryInformation_choice, hf_index, ett_dap_RemoveEntryInformation,
4286 static int dissect_remove_entry_information(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4287 return dissect_dap_RemoveEntryInformation(FALSE, tvb, offset, pinfo, tree, hf_dap_remove_entry_information);
4291 const value_string dap_RemoveEntryResult_vals[] = {
4293 { 1, "information" },
4297 static const ber_choice_t RemoveEntryResult_choice[] = {
4298 { 0, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_null },
4299 { 1, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_remove_entry_information },
4300 { 0, 0, 0, 0, NULL }
4304 dissect_dap_RemoveEntryResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4305 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
4306 RemoveEntryResult_choice, hf_index, ett_dap_RemoveEntryResult,
4313 const value_string dap_EntryModification_vals[] = {
4314 { 0, "addAttribute" },
4315 { 1, "removeAttribute" },
4317 { 3, "removeValues" },
4318 { 4, "alterValues" },
4319 { 5, "resetValue" },
4323 static const ber_choice_t EntryModification_choice[] = {
4324 { 0, BER_CLASS_CON, 0, 0, dissect_addAttribute },
4325 { 1, BER_CLASS_CON, 1, 0, dissect_removeAttribute },
4326 { 2, BER_CLASS_CON, 2, 0, dissect_addValues },
4327 { 3, BER_CLASS_CON, 3, 0, dissect_removeValues },
4328 { 4, BER_CLASS_CON, 4, 0, dissect_alterValues },
4329 { 5, BER_CLASS_CON, 5, 0, dissect_resetValue },
4330 { 0, 0, 0, 0, NULL }
4334 dissect_dap_EntryModification(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4335 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
4336 EntryModification_choice, hf_index, ett_dap_EntryModification,
4341 static int dissect_changes_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4342 return dissect_dap_EntryModification(FALSE, tvb, offset, pinfo, tree, hf_dap_changes_item);
4346 static const ber_sequence_t SEQUENCE_OF_EntryModification_sequence_of[1] = {
4347 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_changes_item },
4351 dissect_dap_SEQUENCE_OF_EntryModification(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4352 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
4353 SEQUENCE_OF_EntryModification_sequence_of, hf_index, ett_dap_SEQUENCE_OF_EntryModification);
4357 static int dissect_changes(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4358 return dissect_dap_SEQUENCE_OF_EntryModification(FALSE, tvb, offset, pinfo, tree, hf_dap_changes);
4362 static const ber_sequence_t ModifyEntryArgumentData_set[] = {
4363 { BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_object },
4364 { BER_CLASS_CON, 1, 0, dissect_changes },
4365 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_selection },
4366 { BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL, dissect_serviceControls },
4367 { BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL, dissect_securityParameters },
4368 { BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL, dissect_requestor },
4369 { BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL, dissect_operationProgress },
4370 { BER_CLASS_CON, 26, BER_FLAGS_OPTIONAL, dissect_aliasedRDNs },
4371 { BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL, dissect_criticalExtensions },
4372 { BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL, dissect_referenceType },
4373 { BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL, dissect_entryOnly },
4374 { BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL, dissect_nameResolveOnMaster },
4375 { BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_operationContexts },
4376 { BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL, dissect_familyGrouping },
4381 dissect_dap_ModifyEntryArgumentData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4382 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
4383 ModifyEntryArgumentData_set, hf_index, ett_dap_ModifyEntryArgumentData);
4387 static int dissect_unsignedModifyEntryArgument(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4388 return dissect_dap_ModifyEntryArgumentData(FALSE, tvb, offset, pinfo, tree, hf_dap_unsignedModifyEntryArgument);
4390 static int dissect_modifyEntryArgument(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4391 return dissect_dap_ModifyEntryArgumentData(FALSE, tvb, offset, pinfo, tree, hf_dap_modifyEntryArgument);
4395 static const ber_sequence_t T_signedModifyEntryArgument_sequence[] = {
4396 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_modifyEntryArgument },
4397 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_algorithmIdentifier },
4398 { BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_encrypted },
4403 dissect_dap_T_signedModifyEntryArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4404 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4405 T_signedModifyEntryArgument_sequence, hf_index, ett_dap_T_signedModifyEntryArgument);
4409 static int dissect_signedModifyEntryArgument(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4410 return dissect_dap_T_signedModifyEntryArgument(FALSE, tvb, offset, pinfo, tree, hf_dap_signedModifyEntryArgument);
4414 const value_string dap_ModifyEntryArgument_vals[] = {
4415 { 0, "unsignedModifyEntryArgument" },
4416 { 1, "signedModifyEntryArgument" },
4420 static const ber_choice_t ModifyEntryArgument_choice[] = {
4421 { 0, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_unsignedModifyEntryArgument },
4422 { 1, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_signedModifyEntryArgument },
4423 { 0, 0, 0, 0, NULL }
4427 dissect_dap_ModifyEntryArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4428 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
4429 ModifyEntryArgument_choice, hf_index, ett_dap_ModifyEntryArgument,
4436 static const ber_sequence_t ModifyEntryResultData_sequence[] = {
4437 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_entry },
4438 { BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL, dissect_securityParameters },
4439 { BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL, dissect_performer },
4440 { BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL, dissect_aliasDereferenced },
4441 { BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL, dissect_notification },
4446 dissect_dap_ModifyEntryResultData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4447 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4448 ModifyEntryResultData_sequence, hf_index, ett_dap_ModifyEntryResultData);
4452 static int dissect_unsignedModifyEntryResult(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4453 return dissect_dap_ModifyEntryResultData(FALSE, tvb, offset, pinfo, tree, hf_dap_unsignedModifyEntryResult);
4455 static int dissect_modifyEntryResult(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4456 return dissect_dap_ModifyEntryResultData(FALSE, tvb, offset, pinfo, tree, hf_dap_modifyEntryResult);
4460 static const ber_sequence_t T_signedModifyEntryResult_sequence[] = {
4461 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_modifyEntryResult },
4462 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_algorithmIdentifier },
4463 { BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_encrypted },
4468 dissect_dap_T_signedModifyEntryResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4469 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4470 T_signedModifyEntryResult_sequence, hf_index, ett_dap_T_signedModifyEntryResult);
4474 static int dissect_signedModifyEntryResult(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4475 return dissect_dap_T_signedModifyEntryResult(FALSE, tvb, offset, pinfo, tree, hf_dap_signedModifyEntryResult);
4479 static const value_string dap_ModifyEntryInformation_vals[] = {
4480 { 0, "unsignedModifyEntryResult" },
4481 { 1, "signedModifyEntryResult" },
4485 static const ber_choice_t ModifyEntryInformation_choice[] = {
4486 { 0, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_unsignedModifyEntryResult },
4487 { 1, BER_CLASS_CON, 0, 0, dissect_signedModifyEntryResult },
4488 { 0, 0, 0, 0, NULL }
4492 dissect_dap_ModifyEntryInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4493 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
4494 ModifyEntryInformation_choice, hf_index, ett_dap_ModifyEntryInformation,
4499 static int dissect_modify_entry_information(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4500 return dissect_dap_ModifyEntryInformation(FALSE, tvb, offset, pinfo, tree, hf_dap_modify_entry_information);
4504 const value_string dap_ModifyEntryResult_vals[] = {
4506 { 1, "information" },
4510 static const ber_choice_t ModifyEntryResult_choice[] = {
4511 { 0, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_null },
4512 { 1, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_modify_entry_information },
4513 { 0, 0, 0, 0, NULL }
4517 dissect_dap_ModifyEntryResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4518 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
4519 ModifyEntryResult_choice, hf_index, ett_dap_ModifyEntryResult,
4526 static const ber_sequence_t ModifyDNArgument_set[] = {
4527 { BER_CLASS_CON, 0, 0, dissect_distinguished_name },
4528 { BER_CLASS_CON, 1, 0, dissect_newRDN },
4529 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_deleteOldRDN },
4530 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_newSuperior },
4531 { BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL, dissect_serviceControls },
4532 { BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL, dissect_securityParameters },
4533 { BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL, dissect_requestor },
4534 { BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL, dissect_operationProgress },
4535 { BER_CLASS_CON, 26, BER_FLAGS_OPTIONAL, dissect_aliasedRDNs },
4536 { BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL, dissect_criticalExtensions },
4537 { BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL, dissect_referenceType },
4538 { BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL, dissect_entryOnly },
4539 { BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL, dissect_nameResolveOnMaster },
4540 { BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_operationContexts },
4541 { BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL, dissect_familyGrouping },
4546 dissect_dap_ModifyDNArgument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4547 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
4548 ModifyDNArgument_set, hf_index, ett_dap_ModifyDNArgument);
4554 static const ber_sequence_t ModifyDNResultData_sequence[] = {
4555 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_newRDN },
4556 { BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL, dissect_securityParameters },
4557 { BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL, dissect_performer },
4558 { BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL, dissect_aliasDereferenced },
4559 { BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL, dissect_notification },
4564 dissect_dap_ModifyDNResultData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4565 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4566 ModifyDNResultData_sequence, hf_index, ett_dap_ModifyDNResultData);
4570 static int dissect_unsignedModifyDNResult(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4571 return dissect_dap_ModifyDNResultData(FALSE, tvb, offset, pinfo, tree, hf_dap_unsignedModifyDNResult);
4573 static int dissect_modifyDNResult(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4574 return dissect_dap_ModifyDNResultData(FALSE, tvb, offset, pinfo, tree, hf_dap_modifyDNResult);
4578 static const ber_sequence_t T_signedModifyDNResult_sequence[] = {
4579 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_modifyDNResult },
4580 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_algorithmIdentifier },
4581 { BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_encrypted },
4586 dissect_dap_T_signedModifyDNResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4587 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4588 T_signedModifyDNResult_sequence, hf_index, ett_dap_T_signedModifyDNResult);
4592 static int dissect_signedModifyDNResult(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4593 return dissect_dap_T_signedModifyDNResult(FALSE, tvb, offset, pinfo, tree, hf_dap_signedModifyDNResult);
4597 static const value_string dap_ModifyDNInformation_vals[] = {
4598 { 0, "unsignedModifyDNResult" },
4599 { 1, "signedModifyDNResult" },
4603 static const ber_choice_t ModifyDNInformation_choice[] = {
4604 { 0, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_unsignedModifyDNResult },
4605 { 1, BER_CLASS_CON, 0, 0, dissect_signedModifyDNResult },
4606 { 0, 0, 0, 0, NULL }
4610 dissect_dap_ModifyDNInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4611 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
4612 ModifyDNInformation_choice, hf_index, ett_dap_ModifyDNInformation,
4617 static int dissect_modify_dn_information(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4618 return dissect_dap_ModifyDNInformation(FALSE, tvb, offset, pinfo, tree, hf_dap_modify_dn_information);
4622 const value_string dap_ModifyDNResult_vals[] = {
4624 { 1, "information" },
4628 static const ber_choice_t ModifyDNResult_choice[] = {
4629 { 0, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_null },
4630 { 1, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_modify_dn_information },
4631 { 0, 0, 0, 0, NULL }
4635 dissect_dap_ModifyDNResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4636 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
4637 ModifyDNResult_choice, hf_index, ett_dap_ModifyDNResult,
4644 static const ber_sequence_t AbandonedData_set[] = {
4645 { BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL, dissect_securityParameters },
4646 { BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL, dissect_performer },
4647 { BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL, dissect_aliasDereferenced },
4648 { BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL, dissect_notification },
4653 dissect_dap_AbandonedData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4654 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
4655 AbandonedData_set, hf_index, ett_dap_AbandonedData);
4659 static int dissect_unsignedAbandoned(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4660 return dissect_dap_AbandonedData(FALSE, tvb, offset, pinfo, tree, hf_dap_unsignedAbandoned);
4662 static int dissect_abandoned(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4663 return dissect_dap_AbandonedData(FALSE, tvb, offset, pinfo, tree, hf_dap_abandoned);
4667 static const ber_sequence_t T_signedAbandoned_sequence[] = {
4668 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_abandoned },
4669 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_algorithmIdentifier },
4670 { BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_encrypted },
4675 dissect_dap_T_signedAbandoned(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4676 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4677 T_signedAbandoned_sequence, hf_index, ett_dap_T_signedAbandoned);
4681 static int dissect_signedAbandoned(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4682 return dissect_dap_T_signedAbandoned(FALSE, tvb, offset, pinfo, tree, hf_dap_signedAbandoned);
4686 const value_string dap_Abandoned_vals[] = {
4687 { 0, "unsignedAbandoned" },
4688 { 1, "signedAbandoned" },
4692 static const ber_choice_t Abandoned_choice[] = {
4693 { 0, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_unsignedAbandoned },
4694 { 1, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_signedAbandoned },
4695 { 0, 0, 0, 0, NULL }
4699 dissect_dap_Abandoned(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4700 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
4701 Abandoned_choice, hf_index, ett_dap_Abandoned,
4708 static const value_string dap_AbandonProblem_vals[] = {
4709 { 1, "noSuchOperation" },
4711 { 3, "cannotAbandon" },
4717 dissect_dap_AbandonProblem(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4718 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4723 static int dissect_abandon_failed_problem(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4724 return dissect_dap_AbandonProblem(FALSE, tvb, offset, pinfo, tree, hf_dap_abandon_failed_problem);
4728 static const ber_sequence_t AbandonFailedErrorData_set[] = {
4729 { BER_CLASS_CON, 0, 0, dissect_abandon_failed_problem },
4730 { BER_CLASS_CON, 1, 0, dissect_operation },
4731 { BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL, dissect_securityParameters },
4732 { BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL, dissect_performer },
4733 { BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL, dissect_aliasDereferenced },
4734 { BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL, dissect_notification },
4739 dissect_dap_AbandonFailedErrorData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4740 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
4741 AbandonFailedErrorData_set, hf_index, ett_dap_AbandonFailedErrorData);
4745 static int dissect_unsignedAbandonFailedError(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4746 return dissect_dap_AbandonFailedErrorData(FALSE, tvb, offset, pinfo, tree, hf_dap_unsignedAbandonFailedError);
4748 static int dissect_abandonFailedError(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4749 return dissect_dap_AbandonFailedErrorData(FALSE, tvb, offset, pinfo, tree, hf_dap_abandonFailedError);
4753 static const ber_sequence_t T_signedAbandonFailedError_sequence[] = {
4754 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_abandonFailedError },
4755 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_algorithmIdentifier },
4756 { BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_encrypted },
4761 dissect_dap_T_signedAbandonFailedError(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4762 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4763 T_signedAbandonFailedError_sequence, hf_index, ett_dap_T_signedAbandonFailedError);
4767 static int dissect_signedAbandonFailedError(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4768 return dissect_dap_T_signedAbandonFailedError(FALSE, tvb, offset, pinfo, tree, hf_dap_signedAbandonFailedError);
4772 const value_string dap_AbandonFailedError_vals[] = {
4773 { 0, "unsignedAbandonFailedError" },
4774 { 1, "signedAbandonFailedError" },
4778 static const ber_choice_t AbandonFailedError_choice[] = {
4779 { 0, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_unsignedAbandonFailedError },
4780 { 1, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_signedAbandonFailedError },
4781 { 0, 0, 0, 0, NULL }
4785 dissect_dap_AbandonFailedError(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4786 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
4787 AbandonFailedError_choice, hf_index, ett_dap_AbandonFailedError,
4794 static const value_string dap_AttributeProblem_vals[] = {
4795 { 1, "noSuchAttributeOrValue" },
4796 { 2, "invalidAttributeSyntax" },
4797 { 3, "undefinedAttributeType" },
4798 { 4, "inappropriateMatching" },
4799 { 5, "constraintViolation" },
4800 { 6, "attributeOrValueAlreadyExists" },
4801 { 7, "contextViolation" },
4807 dissect_dap_AttributeProblem(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4808 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4813 static int dissect_attribute_error_problem(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4814 return dissect_dap_AttributeProblem(FALSE, tvb, offset, pinfo, tree, hf_dap_attribute_error_problem);
4818 static const ber_sequence_t T_problems_item_sequence[] = {
4819 { BER_CLASS_CON, 0, 0, dissect_attribute_error_problem },
4820 { BER_CLASS_CON, 1, 0, dissect_type },
4821 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_value },
4826 dissect_dap_T_problems_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4827 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4828 T_problems_item_sequence, hf_index, ett_dap_T_problems_item);
4832 static int dissect_problems_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4833 return dissect_dap_T_problems_item(FALSE, tvb, offset, pinfo, tree, hf_dap_problems_item);
4837 static const ber_sequence_t T_problems_set_of[1] = {
4838 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_problems_item },
4842 dissect_dap_T_problems(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4843 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
4844 T_problems_set_of, hf_index, ett_dap_T_problems);
4848 static int dissect_problems(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4849 return dissect_dap_T_problems(FALSE, tvb, offset, pinfo, tree, hf_dap_problems);
4853 static const ber_sequence_t AttributeErrorData_set[] = {
4854 { BER_CLASS_CON, 0, BER_FLAGS_NOTCHKTAG, dissect_object },
4855 { BER_CLASS_CON, 1, 0, dissect_problems },
4856 { BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL, dissect_securityParameters },
4857 { BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL, dissect_performer },
4858 { BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL, dissect_aliasDereferenced },
4859 { BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL, dissect_notification },
4864 dissect_dap_AttributeErrorData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4865 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
4866 AttributeErrorData_set, hf_index, ett_dap_AttributeErrorData);
4870 static int dissect_unsignedAttributeError(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4871 return dissect_dap_AttributeErrorData(FALSE, tvb, offset, pinfo, tree, hf_dap_unsignedAttributeError);
4873 static int dissect_attributeError(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4874 return dissect_dap_AttributeErrorData(FALSE, tvb, offset, pinfo, tree, hf_dap_attributeError);
4878 static const ber_sequence_t T_signedAttributeError_sequence[] = {
4879 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_attributeError },
4880 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_algorithmIdentifier },
4881 { BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_encrypted },
4886 dissect_dap_T_signedAttributeError(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4887 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4888 T_signedAttributeError_sequence, hf_index, ett_dap_T_signedAttributeError);
4892 static int dissect_signedAttributeError(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4893 return dissect_dap_T_signedAttributeError(FALSE, tvb, offset, pinfo, tree, hf_dap_signedAttributeError);
4897 const value_string dap_AttributeError_vals[] = {
4898 { 0, "unsignedAttributeError" },
4899 { 1, "signedAttributeError" },
4903 static const ber_choice_t AttributeError_choice[] = {
4904 { 0, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_unsignedAttributeError },
4905 { 1, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_signedAttributeError },
4906 { 0, 0, 0, 0, NULL }
4910 dissect_dap_AttributeError(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4911 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
4912 AttributeError_choice, hf_index, ett_dap_AttributeError,
4919 static const value_string dap_NameProblem_vals[] = {
4920 { 1, "noSuchObject" },
4921 { 2, "aliasProblem" },
4922 { 3, "invalidAttributeSyntax" },
4923 { 4, "aliasDereferencingProblem" },
4924 { 5, "contextProblem" },
4930 dissect_dap_NameProblem(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4931 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4936 static int dissect_name_error_problem(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4937 return dissect_dap_NameProblem(FALSE, tvb, offset, pinfo, tree, hf_dap_name_error_problem);
4941 static const ber_sequence_t NameErrorData_set[] = {
4942 { BER_CLASS_CON, 0, 0, dissect_name_error_problem },
4943 { BER_CLASS_CON, 1, BER_FLAGS_NOTCHKTAG, dissect_matched_name },
4944 { BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL, dissect_securityParameters },
4945 { BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL, dissect_performer },
4946 { BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL, dissect_aliasDereferenced },
4947 { BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL, dissect_notification },
4952 dissect_dap_NameErrorData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4953 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
4954 NameErrorData_set, hf_index, ett_dap_NameErrorData);
4958 static int dissect_unsignedNameError(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4959 return dissect_dap_NameErrorData(FALSE, tvb, offset, pinfo, tree, hf_dap_unsignedNameError);
4961 static int dissect_nameError(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4962 return dissect_dap_NameErrorData(FALSE, tvb, offset, pinfo, tree, hf_dap_nameError);
4966 static const ber_sequence_t T_signedNameError_sequence[] = {
4967 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_nameError },
4968 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_algorithmIdentifier },
4969 { BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_encrypted },
4974 dissect_dap_T_signedNameError(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4975 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4976 T_signedNameError_sequence, hf_index, ett_dap_T_signedNameError);
4980 static int dissect_signedNameError(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4981 return dissect_dap_T_signedNameError(FALSE, tvb, offset, pinfo, tree, hf_dap_signedNameError);
4985 const value_string dap_NameError_vals[] = {
4986 { 0, "unsignedNameError" },
4987 { 1, "signedNameError" },
4991 static const ber_choice_t NameError_choice[] = {
4992 { 0, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_unsignedNameError },
4993 { 1, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_signedNameError },
4994 { 0, 0, 0, 0, NULL }
4998 dissect_dap_NameError(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4999 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
5000 NameError_choice, hf_index, ett_dap_NameError,
5007 static const ber_sequence_t ReferralData_set[] = {
5008 { BER_CLASS_CON, 0, 0, dissect_candidate },
5009 { BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL, dissect_securityParameters },
5010 { BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL, dissect_performer },
5011 { BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL, dissect_aliasDereferenced },
5012 { BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL, dissect_notification },
5017 dissect_dap_ReferralData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5018 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
5019 ReferralData_set, hf_index, ett_dap_ReferralData);
5023 static int dissect_unsignedReferral(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5024 return dissect_dap_ReferralData(FALSE, tvb, offset, pinfo, tree, hf_dap_unsignedReferral);
5026 static int dissect_referral(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5027 return dissect_dap_ReferralData(FALSE, tvb, offset, pinfo, tree, hf_dap_referral);
5031 static const ber_sequence_t T_signedReferral_sequence[] = {
5032 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_referral },
5033 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_algorithmIdentifier },
5034 { BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_encrypted },
5039 dissect_dap_T_signedReferral(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5040 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5041 T_signedReferral_sequence, hf_index, ett_dap_T_signedReferral);
5045 static int dissect_signedReferral(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5046 return dissect_dap_T_signedReferral(FALSE, tvb, offset, pinfo, tree, hf_dap_signedReferral);
5050 const value_string dap_Referral_vals[] = {
5051 { 0, "unsignedReferral" },
5052 { 1, "signedReferral" },
5056 static const ber_choice_t Referral_choice[] = {
5057 { 0, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_unsignedReferral },
5058 { 1, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_signedReferral },
5059 { 0, 0, 0, 0, NULL }
5063 dissect_dap_Referral(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5064 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
5065 Referral_choice, hf_index, ett_dap_Referral,
5074 dissect_dap_T_spkmInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5076 /* XXX: not yet implemented */
5082 static int dissect_spkmInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5083 return dissect_dap_T_spkmInfo(FALSE, tvb, offset, pinfo, tree, hf_dap_spkmInfo);
5087 static const ber_sequence_t SecurityErrorData_set[] = {
5088 { BER_CLASS_CON, 0, 0, dissect_security_error_problem },
5089 { BER_CLASS_CON, 1, 0, dissect_spkmInfo },
5090 { BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL, dissect_securityParameters },
5091 { BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL, dissect_performer },
5092 { BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL, dissect_aliasDereferenced },
5093 { BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL, dissect_notification },
5098 dissect_dap_SecurityErrorData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5099 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
5100 SecurityErrorData_set, hf_index, ett_dap_SecurityErrorData);
5104 static int dissect_unsignedSecurityError(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5105 return dissect_dap_SecurityErrorData(FALSE, tvb, offset, pinfo, tree, hf_dap_unsignedSecurityError);
5107 static int dissect_securityErrorData(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5108 return dissect_dap_SecurityErrorData(FALSE, tvb, offset, pinfo, tree, hf_dap_securityErrorData);
5112 static const ber_sequence_t T_signedSecurityError_sequence[] = {
5113 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_securityErrorData },
5114 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_algorithmIdentifier },
5115 { BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_encrypted },
5120 dissect_dap_T_signedSecurityError(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5121 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5122 T_signedSecurityError_sequence, hf_index, ett_dap_T_signedSecurityError);
5126 static int dissect_signedSecurityError(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5127 return dissect_dap_T_signedSecurityError(FALSE, tvb, offset, pinfo, tree, hf_dap_signedSecurityError);
5131 const value_string dap_SecurityError_vals[] = {
5132 { 0, "unsignedSecurityError" },
5133 { 1, "signedSecurityError" },
5137 static const ber_choice_t SecurityError_choice[] = {
5138 { 0, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_unsignedSecurityError },
5139 { 1, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_signedSecurityError },
5140 { 0, 0, 0, 0, NULL }
5144 dissect_dap_SecurityError(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5145 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
5146 SecurityError_choice, hf_index, ett_dap_SecurityError,
5153 static const ber_sequence_t ServiceErrorData_set[] = {
5154 { BER_CLASS_CON, 0, 0, dissect_service_error_problem },
5155 { BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL, dissect_securityParameters },
5156 { BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL, dissect_performer },
5157 { BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL, dissect_aliasDereferenced },
5158 { BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL, dissect_notification },
5163 dissect_dap_ServiceErrorData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5164 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
5165 ServiceErrorData_set, hf_index, ett_dap_ServiceErrorData);
5169 static int dissect_unsignedServiceError(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5170 return dissect_dap_ServiceErrorData(FALSE, tvb, offset, pinfo, tree, hf_dap_unsignedServiceError);
5172 static int dissect_serviceError(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5173 return dissect_dap_ServiceErrorData(FALSE, tvb, offset, pinfo, tree, hf_dap_serviceError);
5177 static const ber_sequence_t T_signedServiceError_sequence[] = {
5178 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_serviceError },
5179 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_algorithmIdentifier },
5180 { BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_encrypted },
5185 dissect_dap_T_signedServiceError(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5186 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5187 T_signedServiceError_sequence, hf_index, ett_dap_T_signedServiceError);
5191 static int dissect_signedServiceError(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5192 return dissect_dap_T_signedServiceError(FALSE, tvb, offset, pinfo, tree, hf_dap_signedServiceError);
5196 const value_string dap_ServiceError_vals[] = {
5197 { 0, "unsignedServiceError" },
5198 { 1, "signedServiceError" },
5202 static const ber_choice_t ServiceError_choice[] = {
5203 { 0, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_unsignedServiceError },
5204 { 1, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_signedServiceError },
5205 { 0, 0, 0, 0, NULL }
5209 dissect_dap_ServiceError(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5210 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
5211 ServiceError_choice, hf_index, ett_dap_ServiceError,
5218 static const value_string dap_UpdateProblem_vals[] = {
5219 { 1, "namingViolation" },
5220 { 2, "objectClassViolation" },
5221 { 3, "notAllowedOnNonLeaf" },
5222 { 4, "notAllowedOnRDN" },
5223 { 5, "entryAlreadyExists" },
5224 { 6, "affectsMultipleDSAs" },
5225 { 7, "objectClassModificationProhibited" },
5226 { 8, "noSuchSuperior" },
5227 { 9, "notAncestor" },
5228 { 10, "parentNotAncestor" },
5229 { 11, "hierarchyRuleViolation" },
5230 { 12, "familyRuleViolation" },
5236 dissect_dap_UpdateProblem(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5240 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5244 if (check_col(pinfo->cinfo, COL_INFO)) {
5245 col_append_fstr(pinfo->cinfo, COL_INFO, " %s", val_to_str(problem, dap_UpdateProblem_vals, "UpdateProblem(%d)"));
5252 static int dissect_update_error_problem(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5253 return dissect_dap_UpdateProblem(FALSE, tvb, offset, pinfo, tree, hf_dap_update_error_problem);
5257 static const value_string dap_T_attributeInfo_item_vals[] = {
5258 { 0, "attributeType" },
5263 static const ber_choice_t T_attributeInfo_item_choice[] = {
5264 { 0, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_attributeType },
5265 { 1, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_attribute },
5266 { 0, 0, 0, 0, NULL }
5270 dissect_dap_T_attributeInfo_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5271 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
5272 T_attributeInfo_item_choice, hf_index, ett_dap_T_attributeInfo_item,
5277 static int dissect_attributeInfo_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5278 return dissect_dap_T_attributeInfo_item(FALSE, tvb, offset, pinfo, tree, hf_dap_attributeInfo_item);
5282 static const ber_sequence_t T_attributeInfo_set_of[1] = {
5283 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_attributeInfo_item },
5287 dissect_dap_T_attributeInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5288 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
5289 T_attributeInfo_set_of, hf_index, ett_dap_T_attributeInfo);
5293 static int dissect_attributeInfo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5294 return dissect_dap_T_attributeInfo(FALSE, tvb, offset, pinfo, tree, hf_dap_attributeInfo);
5298 static const ber_sequence_t UpdateErrorData_set[] = {
5299 { BER_CLASS_CON, 0, 0, dissect_update_error_problem },
5300 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_attributeInfo },
5301 { BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL, dissect_securityParameters },
5302 { BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL, dissect_performer },
5303 { BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL, dissect_aliasDereferenced },
5304 { BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL, dissect_notification },
5309 dissect_dap_UpdateErrorData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5310 offset = dissect_ber_set(implicit_tag, pinfo, tree, tvb, offset,
5311 UpdateErrorData_set, hf_index, ett_dap_UpdateErrorData);
5315 static int dissect_unsignedUpdateError(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5316 return dissect_dap_UpdateErrorData(FALSE, tvb, offset, pinfo, tree, hf_dap_unsignedUpdateError);
5318 static int dissect_updateError(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5319 return dissect_dap_UpdateErrorData(FALSE, tvb, offset, pinfo, tree, hf_dap_updateError);
5323 static const ber_sequence_t T_signedUpdateError_sequence[] = {
5324 { BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_updateError },
5325 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_algorithmIdentifier },
5326 { BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_encrypted },
5331 dissect_dap_T_signedUpdateError(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5332 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5333 T_signedUpdateError_sequence, hf_index, ett_dap_T_signedUpdateError);
5337 static int dissect_signedUpdateError(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5338 return dissect_dap_T_signedUpdateError(FALSE, tvb, offset, pinfo, tree, hf_dap_signedUpdateError);
5342 const value_string dap_UpdateError_vals[] = {
5343 { 0, "unsignedUpdateError" },
5344 { 1, "signedUpdateError" },
5348 static const ber_choice_t UpdateError_choice[] = {
5349 { 0, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_unsignedUpdateError },
5350 { 1, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_signedUpdateError },
5351 { 0, 0, 0, 0, NULL }
5355 dissect_dap_UpdateError(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5356 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
5357 UpdateError_choice, hf_index, ett_dap_UpdateError,
5364 /*--- End of included file: packet-dap-fn.c ---*/
5365 #line 76 "packet-dap-template.c"
5368 * Dissect DAP PDUs inside a ROS PDUs
5371 dissect_dap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
5375 proto_item *item=NULL;
5376 proto_tree *tree=NULL;
5377 int (*dap_dissector)(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) = NULL;
5380 /* do we have operation information from the ROS dissector? */
5381 if( !pinfo->private_data ){
5383 proto_tree_add_text(parent_tree, tvb, offset, -1,
5384 "Internal error: can't get operation information from ROS dissector.");
5388 session = ( (struct SESSION_DATA_STRUCTURE*)(pinfo->private_data) );
5392 item = proto_tree_add_item(parent_tree, proto_dap, tvb, 0, -1, FALSE);
5393 tree = proto_item_add_subtree(item, ett_dap);
5395 if (check_col(pinfo->cinfo, COL_PROTOCOL))
5396 col_set_str(pinfo->cinfo, COL_PROTOCOL, "DAP");
5397 if (check_col(pinfo->cinfo, COL_INFO))
5398 col_clear(pinfo->cinfo, COL_INFO);
5400 switch(session->ros_op & ROS_OP_MASK) {
5401 case (ROS_OP_BIND | ROS_OP_ARGUMENT): /* BindInvoke */
5402 dap_dissector = dissect_dap_DirectoryBindArgument;
5403 dap_op_name = "Bind-Argument";
5405 case (ROS_OP_BIND | ROS_OP_RESULT): /* BindResult */
5406 dap_dissector = dissect_dap_DirectoryBindResult;
5407 dap_op_name = "Bind-Result";
5409 case (ROS_OP_BIND | ROS_OP_ERROR): /* BindError */
5410 dap_dissector = dissect_dap_DirectoryBindError;
5411 dap_op_name = "Bind-Error";
5413 case (ROS_OP_INVOKE | ROS_OP_ARGUMENT): /* Invoke Argument */
5414 switch(session->ros_op & ROS_OP_OPCODE_MASK) {
5416 dap_dissector = dissect_dap_ReadArgument;
5417 dap_op_name = "Read-Argument";
5419 case 2: /* compare */
5420 dap_dissector = dissect_dap_CompareArgument;
5421 dap_op_name = "Compare-Argument";
5423 case 3: /* abandon */
5424 dap_dissector = dissect_dap_AbandonArgument;
5425 dap_op_name = "Abandon-Argument";
5428 dap_dissector = dissect_dap_ListArgument;
5429 dap_op_name = "List-Argument";
5431 case 5: /* search */
5432 dap_dissector = dissect_dap_SearchArgument;
5433 dap_op_name = "Search-Argument";
5435 case 6: /* addEntry */
5436 dap_dissector = dissect_dap_AddEntryArgument;
5437 dap_op_name = "Add-Entry-Argument";
5439 case 7: /* removeEntry */
5440 dap_dissector = dissect_dap_RemoveEntryArgument;
5441 dap_op_name = "Remove-Entry-Argument";
5443 case 8: /* modifyEntry */
5444 dap_dissector = dissect_dap_ModifyEntryArgument;
5445 dap_op_name = "Modify-Entry-Argument";
5447 case 9: /* modifyDN */
5448 dap_dissector = dissect_dap_ModifyDNArgument;
5449 dap_op_name = "Modify-DN-Argument";
5452 proto_tree_add_text(tree, tvb, offset, -1,"Unsupported DAP opcode (%d)",
5453 session->ros_op & ROS_OP_OPCODE_MASK);
5457 case (ROS_OP_INVOKE | ROS_OP_RESULT): /* Return Result */
5458 switch(session->ros_op & ROS_OP_OPCODE_MASK) {
5460 dap_dissector = dissect_dap_ReadResult;
5461 dap_op_name = "Read-Result";
5463 case 2: /* compare */
5464 dap_dissector = dissect_dap_CompareResult;
5465 dap_op_name = "Compare-Result";
5467 case 3: /* abandon */
5468 dap_dissector = dissect_dap_AbandonResult;
5469 dap_op_name = "Abandon-Result";
5472 dap_dissector = dissect_dap_ListResult;
5473 dap_op_name = "List-Result";
5475 case 5: /* search */
5476 dap_dissector = dissect_dap_SearchResult;
5477 dap_op_name = "Search-Result";
5479 case 6: /* addEntry */
5480 dap_dissector = dissect_dap_AddEntryResult;
5481 dap_op_name = "Add-Entry-Result";
5483 case 7: /* removeEntry */
5484 dap_dissector = dissect_dap_RemoveEntryResult;
5485 dap_op_name = "Remove-Entry-Result";
5487 case 8: /* modifyEntry */
5488 dap_dissector = dissect_dap_ModifyEntryResult;
5489 dap_op_name = "Modify-Entry-Result";
5491 case 9: /* modifyDN */
5492 dap_dissector = dissect_dap_ModifyDNResult;
5493 dap_op_name = "Modify-DN-Result";
5496 proto_tree_add_text(tree, tvb, offset, -1,"Unsupported DAP opcode");
5500 case (ROS_OP_INVOKE | ROS_OP_ERROR): /* Return Error */
5501 switch(session->ros_op & ROS_OP_OPCODE_MASK) {
5502 case 1: /* attributeError */
5503 dap_dissector = dissect_dap_AttributeError;
5504 dap_op_name = "Attribute-Error";
5506 case 2: /* nameError */
5507 dap_dissector = dissect_dap_NameError;
5508 dap_op_name = "Name-Error";
5510 case 3: /* serviceError */
5511 dap_dissector = dissect_dap_ServiceError;
5512 dap_op_name = "Service-Error";
5514 case 4: /* referral */
5515 dap_dissector = dissect_dap_Referral;
5516 dap_op_name = "Referral";
5518 case 5: /* abandoned */
5519 dap_dissector = dissect_dap_Abandoned;
5520 dap_op_name = "Abandoned";
5522 case 6: /* securityError */
5523 dap_dissector = dissect_dap_SecurityError;
5524 dap_op_name = "Security-Error";
5526 case 7: /* abandonFailed */
5527 dap_dissector = dissect_dap_AbandonFailedError;
5528 dap_op_name = "Abandon-Failed-Error";
5530 case 8: /* updateError */
5531 dap_dissector = dissect_dap_UpdateError;
5532 dap_op_name = "Update-Error";
5535 proto_tree_add_text(tree, tvb, offset, -1,"Unsupported DAP errcode");
5540 proto_tree_add_text(tree, tvb, offset, -1,"Unsupported DAP PDU");
5545 if (check_col(pinfo->cinfo, COL_INFO))
5546 col_add_str(pinfo->cinfo, COL_INFO, dap_op_name);
5548 while (tvb_reported_length_remaining(tvb, offset) > 0){
5550 offset=(*dap_dissector)(FALSE, tvb, offset, pinfo , tree, -1);
5551 if(offset == old_offset){
5552 proto_tree_add_text(tree, tvb, offset, -1,"Internal error, zero-byte DAP PDU");
5553 offset = tvb_length(tvb);
5561 /*--- proto_register_dap -------------------------------------------*/
5562 void proto_register_dap(void) {
5564 /* List of fields */
5565 static hf_register_info hf[] =
5568 /*--- Included file: packet-dap-hfarr.c ---*/
5569 #line 1 "packet-dap-hfarr.c"
5570 { &hf_dap_securityParameters,
5571 { "securityParameters", "dap.securityParameters",
5572 FT_NONE, BASE_NONE, NULL, 0,
5574 { &hf_dap_performer,
5575 { "performer", "dap.performer",
5576 FT_UINT32, BASE_DEC, NULL, 0,
5578 { &hf_dap_aliasDereferenced,
5579 { "aliasDereferenced", "dap.aliasDereferenced",
5580 FT_BOOLEAN, 8, NULL, 0,
5582 { &hf_dap_notification,
5583 { "notification", "dap.notification",
5584 FT_UINT32, BASE_DEC, NULL, 0,
5586 { &hf_dap_notification_item,
5587 { "Item", "dap.notification_item",
5588 FT_NONE, BASE_NONE, NULL, 0,
5591 { "options", "dap.options",
5592 FT_BYTES, BASE_HEX, NULL, 0,
5593 "ServiceControls/options", HFILL }},
5595 { "priority", "dap.priority",
5596 FT_INT32, BASE_DEC, VALS(dap_T_priority_vals), 0,
5597 "ServiceControls/priority", HFILL }},
5598 { &hf_dap_timeLimit,
5599 { "timeLimit", "dap.timeLimit",
5600 FT_INT32, BASE_DEC, NULL, 0,
5601 "ServiceControls/timeLimit", HFILL }},
5602 { &hf_dap_sizeLimit,
5603 { "sizeLimit", "dap.sizeLimit",
5604 FT_INT32, BASE_DEC, NULL, 0,
5605 "ServiceControls/sizeLimit", HFILL }},
5606 { &hf_dap_scopeOfReferral,
5607 { "scopeOfReferral", "dap.scopeOfReferral",
5608 FT_INT32, BASE_DEC, VALS(dap_T_scopeOfReferral_vals), 0,
5609 "ServiceControls/scopeOfReferral", HFILL }},
5610 { &hf_dap_attributeSizeLimit,
5611 { "attributeSizeLimit", "dap.attributeSizeLimit",
5612 FT_INT32, BASE_DEC, NULL, 0,
5613 "ServiceControls/attributeSizeLimit", HFILL }},
5614 { &hf_dap_manageDSAITPlaneRef,
5615 { "manageDSAITPlaneRef", "dap.manageDSAITPlaneRef",
5616 FT_NONE, BASE_NONE, NULL, 0,
5617 "ServiceControls/manageDSAITPlaneRef", HFILL }},
5619 { "dsaName", "dap.dsaName",
5620 FT_UINT32, BASE_DEC, VALS(x509if_Name_vals), 0,
5621 "ServiceControls/manageDSAITPlaneRef/dsaName", HFILL }},
5622 { &hf_dap_agreementID,
5623 { "agreementID", "dap.agreementID",
5624 FT_NONE, BASE_NONE, NULL, 0,
5625 "ServiceControls/manageDSAITPlaneRef/agreementID", HFILL }},
5626 { &hf_dap_serviceType,
5627 { "serviceType", "dap.serviceType",
5628 FT_OID, BASE_NONE, NULL, 0,
5629 "ServiceControls/serviceType", HFILL }},
5630 { &hf_dap_userClass,
5631 { "userClass", "dap.userClass",
5632 FT_INT32, BASE_DEC, NULL, 0,
5633 "ServiceControls/userClass", HFILL }},
5634 { &hf_dap_attributes,
5635 { "attributes", "dap.attributes",
5636 FT_UINT32, BASE_DEC, VALS(dap_T_attributes_vals), 0,
5637 "EntryInformationSelection/attributes", HFILL }},
5638 { &hf_dap_allUserAttributes,
5639 { "allUserAttributes", "dap.allUserAttributes",
5640 FT_NONE, BASE_NONE, NULL, 0,
5641 "EntryInformationSelection/attributes/allUserAttributes", HFILL }},
5643 { "select", "dap.select",
5644 FT_UINT32, BASE_DEC, NULL, 0,
5646 { &hf_dap_select_item,
5647 { "Item", "dap.select_item",
5648 FT_OID, BASE_NONE, NULL, 0,
5650 { &hf_dap_infoTypes,
5651 { "infoTypes", "dap.infoTypes",
5652 FT_INT32, BASE_DEC, VALS(dap_T_infoTypes_vals), 0,
5653 "EntryInformationSelection/infoTypes", HFILL }},
5654 { &hf_dap_extraAttributes,
5655 { "extraAttributes", "dap.extraAttributes",
5656 FT_UINT32, BASE_DEC, VALS(dap_T_extraAttributes_vals), 0,
5657 "EntryInformationSelection/extraAttributes", HFILL }},
5658 { &hf_dap_allOperationalAttributes,
5659 { "allOperationalAttributes", "dap.allOperationalAttributes",
5660 FT_NONE, BASE_NONE, NULL, 0,
5661 "EntryInformationSelection/extraAttributes/allOperationalAttributes", HFILL }},
5662 { &hf_dap_contextSelection,
5663 { "contextSelection", "dap.contextSelection",
5664 FT_UINT32, BASE_DEC, VALS(dap_ContextSelection_vals), 0,
5665 "EntryInformationSelection/contextSelection", HFILL }},
5666 { &hf_dap_returnContexts,
5667 { "returnContexts", "dap.returnContexts",
5668 FT_BOOLEAN, 8, NULL, 0,
5669 "EntryInformationSelection/returnContexts", HFILL }},
5670 { &hf_dap_familyReturn,
5671 { "familyReturn", "dap.familyReturn",
5672 FT_NONE, BASE_NONE, NULL, 0,
5673 "EntryInformationSelection/familyReturn", HFILL }},
5674 { &hf_dap_allContexts,
5675 { "allContexts", "dap.allContexts",
5676 FT_NONE, BASE_NONE, NULL, 0,
5677 "ContextSelection/allContexts", HFILL }},
5678 { &hf_dap_selectedContexts,
5679 { "selectedContexts", "dap.selectedContexts",
5680 FT_UINT32, BASE_DEC, NULL, 0,
5681 "ContextSelection/selectedContexts", HFILL }},
5682 { &hf_dap_selectedContexts_item,
5683 { "Item", "dap.selectedContexts_item",
5684 FT_NONE, BASE_NONE, NULL, 0,
5685 "ContextSelection/selectedContexts/_item", HFILL }},
5687 { "type", "dap.type",
5688 FT_OID, BASE_NONE, NULL, 0,
5690 { &hf_dap_contextAssertions,
5691 { "contextAssertions", "dap.contextAssertions",
5692 FT_UINT32, BASE_DEC, VALS(dap_T_contextAssertions_vals), 0,
5693 "TypeAndContextAssertion/contextAssertions", HFILL }},
5694 { &hf_dap_preference,
5695 { "preference", "dap.preference",
5696 FT_UINT32, BASE_DEC, NULL, 0,
5697 "TypeAndContextAssertion/contextAssertions/preference", HFILL }},
5698 { &hf_dap_preference_item,
5699 { "Item", "dap.preference_item",
5700 FT_NONE, BASE_NONE, NULL, 0,
5701 "TypeAndContextAssertion/contextAssertions/preference/_item", HFILL }},
5704 FT_UINT32, BASE_DEC, NULL, 0,
5705 "TypeAndContextAssertion/contextAssertions/all", HFILL }},
5707 { "Item", "dap.all_item",
5708 FT_NONE, BASE_NONE, NULL, 0,
5709 "TypeAndContextAssertion/contextAssertions/all/_item", HFILL }},
5710 { &hf_dap_memberSelect,
5711 { "memberSelect", "dap.memberSelect",
5712 FT_UINT32, BASE_DEC, VALS(dap_T_memberSelect_vals), 0,
5713 "FamilyReturn/memberSelect", HFILL }},
5714 { &hf_dap_familySelect,
5715 { "familySelect", "dap.familySelect",
5716 FT_UINT32, BASE_DEC, NULL, 0,
5717 "FamilyReturn/familySelect", HFILL }},
5718 { &hf_dap_familySelect_item,
5719 { "Item", "dap.familySelect_item",
5720 FT_OID, BASE_NONE, NULL, 0,
5721 "FamilyReturn/familySelect/_item", HFILL }},
5723 { "name", "dap.name",
5724 FT_UINT32, BASE_DEC, VALS(x509if_Name_vals), 0,
5726 { &hf_dap_fromEntry,
5727 { "fromEntry", "dap.fromEntry",
5728 FT_BOOLEAN, 8, NULL, 0,
5730 { &hf_dap_entry_information,
5731 { "information", "dap.information",
5732 FT_UINT32, BASE_DEC, NULL, 0,
5733 "EntryInformation/information", HFILL }},
5734 { &hf_dap_entry_information_item,
5735 { "Item", "dap.information_item",
5736 FT_UINT32, BASE_DEC, VALS(dap_EntryInformationItem_vals), 0,
5737 "EntryInformation/information/_item", HFILL }},
5738 { &hf_dap_attributeType,
5739 { "attributeType", "dap.attributeType",
5740 FT_OID, BASE_NONE, NULL, 0,
5742 { &hf_dap_attribute,
5743 { "attribute", "dap.attribute",
5744 FT_NONE, BASE_NONE, NULL, 0,
5746 { &hf_dap_incompleteEntry,
5747 { "incompleteEntry", "dap.incompleteEntry",
5748 FT_BOOLEAN, 8, NULL, 0,
5749 "EntryInformation/incompleteEntry", HFILL }},
5750 { &hf_dap_partialName,
5751 { "partialName", "dap.partialName",
5752 FT_BOOLEAN, 8, NULL, 0,
5753 "EntryInformation/partialName", HFILL }},
5754 { &hf_dap_derivedEntry,
5755 { "derivedEntry", "dap.derivedEntry",
5756 FT_BOOLEAN, 8, NULL, 0,
5757 "EntryInformation/derivedEntry", HFILL }},
5758 { &hf_dap_family_class,
5759 { "family-class", "dap.family_class",
5760 FT_OID, BASE_NONE, NULL, 0,
5761 "FamilyEntries/family-class", HFILL }},
5762 { &hf_dap_familyEntries,
5763 { "familyEntries", "dap.familyEntries",
5764 FT_UINT32, BASE_DEC, NULL, 0,
5765 "FamilyEntries/familyEntries", HFILL }},
5766 { &hf_dap_familyEntries_item,
5767 { "Item", "dap.familyEntries_item",
5768 FT_NONE, BASE_NONE, NULL, 0,
5769 "FamilyEntries/familyEntries/_item", HFILL }},
5772 FT_UINT32, BASE_DEC, NULL, 0,
5774 { &hf_dap_family_information,
5775 { "information", "dap.information",
5776 FT_UINT32, BASE_DEC, NULL, 0,
5777 "FamilyEntry/information", HFILL }},
5778 { &hf_dap_information_item,
5779 { "Item", "dap.information_item",
5780 FT_UINT32, BASE_DEC, VALS(dap_T_information_item_vals), 0,
5781 "FamilyEntry/information/_item", HFILL }},
5782 { &hf_dap_family_info,
5783 { "family-info", "dap.family_info",
5784 FT_UINT32, BASE_DEC, NULL, 0,
5785 "FamilyEntry/family-info", HFILL }},
5786 { &hf_dap_family_info_item,
5787 { "Item", "dap.family_info_item",
5788 FT_NONE, BASE_NONE, NULL, 0,
5789 "FamilyEntry/family-info/_item", HFILL }},
5790 { &hf_dap_filter_item,
5791 { "item", "dap.item",
5792 FT_UINT32, BASE_DEC, VALS(dap_FilterItem_vals), 0,
5793 "Filter/item", HFILL }},
5796 FT_UINT32, BASE_DEC, NULL, 0,
5797 "Filter/and", HFILL }},
5800 FT_UINT32, BASE_DEC, NULL, 0,
5801 "Filter/or", HFILL }},
5804 FT_UINT32, BASE_DEC, VALS(dap_Filter_vals), 0,
5805 "Filter/not", HFILL }},
5806 { &hf_dap_SetOfFilter_item,
5807 { "Item", "dap.SetOfFilter_item",
5808 FT_UINT32, BASE_DEC, VALS(dap_Filter_vals), 0,
5809 "SetOfFilter/_item", HFILL }},
5811 { "equality", "dap.equality",
5812 FT_NONE, BASE_NONE, NULL, 0,
5813 "FilterItem/equality", HFILL }},
5814 { &hf_dap_substrings,
5815 { "substrings", "dap.substrings",
5816 FT_NONE, BASE_NONE, NULL, 0,
5817 "FilterItem/substrings", HFILL }},
5818 { &hf_dap_sunstringType,
5819 { "type", "dap.type",
5820 FT_OID, BASE_NONE, NULL, 0,
5821 "FilterItem/substrings/type", HFILL }},
5823 { "strings", "dap.strings",
5824 FT_UINT32, BASE_DEC, NULL, 0,
5825 "FilterItem/substrings/strings", HFILL }},
5826 { &hf_dap_strings_item,
5827 { "Item", "dap.strings_item",
5828 FT_UINT32, BASE_DEC, VALS(dap_T_strings_item_vals), 0,
5829 "FilterItem/substrings/strings/_item", HFILL }},
5831 { "initial", "dap.initial",
5832 FT_NONE, BASE_NONE, NULL, 0,
5833 "FilterItem/substrings/strings/_item/initial", HFILL }},
5836 FT_NONE, BASE_NONE, NULL, 0,
5837 "FilterItem/substrings/strings/_item/any", HFILL }},
5839 { "final", "dap.final",
5840 FT_NONE, BASE_NONE, NULL, 0,
5841 "FilterItem/substrings/strings/_item/final", HFILL }},
5843 { "control", "dap.control",
5844 FT_NONE, BASE_NONE, NULL, 0,
5845 "FilterItem/substrings/strings/_item/control", HFILL }},
5846 { &hf_dap_greaterOrEqual,
5847 { "greaterOrEqual", "dap.greaterOrEqual",
5848 FT_NONE, BASE_NONE, NULL, 0,
5849 "FilterItem/greaterOrEqual", HFILL }},
5850 { &hf_dap_lessOrEqual,
5851 { "lessOrEqual", "dap.lessOrEqual",
5852 FT_NONE, BASE_NONE, NULL, 0,
5853 "FilterItem/lessOrEqual", HFILL }},
5855 { "present", "dap.present",
5856 FT_OID, BASE_NONE, NULL, 0,
5857 "FilterItem/present", HFILL }},
5858 { &hf_dap_approximateMatch,
5859 { "approximateMatch", "dap.approximateMatch",
5860 FT_NONE, BASE_NONE, NULL, 0,
5861 "FilterItem/approximateMatch", HFILL }},
5862 { &hf_dap_extensibleMatch,
5863 { "extensibleMatch", "dap.extensibleMatch",
5864 FT_NONE, BASE_NONE, NULL, 0,
5865 "FilterItem/extensibleMatch", HFILL }},
5866 { &hf_dap_contextPresent,
5867 { "contextPresent", "dap.contextPresent",
5868 FT_NONE, BASE_NONE, NULL, 0,
5869 "FilterItem/contextPresent", HFILL }},
5870 { &hf_dap_matchingRule,
5871 { "matchingRule", "dap.matchingRule",
5872 FT_UINT32, BASE_DEC, NULL, 0,
5873 "MatchingRuleAssertion/matchingRule", HFILL }},
5874 { &hf_dap_matchingRule_item,
5875 { "Item", "dap.matchingRule_item",
5876 FT_OID, BASE_NONE, NULL, 0,
5877 "MatchingRuleAssertion/matchingRule/_item", HFILL }},
5878 { &hf_dap_matchValue,
5879 { "matchValue", "dap.matchValue",
5880 FT_NONE, BASE_NONE, NULL, 0,
5881 "MatchingRuleAssertion/matchValue", HFILL }},
5882 { &hf_dap_dnAttributes,
5883 { "dnAttributes", "dap.dnAttributes",
5884 FT_BOOLEAN, 8, NULL, 0,
5885 "MatchingRuleAssertion/dnAttributes", HFILL }},
5886 { &hf_dap_newRequest,
5887 { "newRequest", "dap.newRequest",
5888 FT_NONE, BASE_NONE, NULL, 0,
5889 "PagedResultsRequest/newRequest", HFILL }},
5891 { "pageSize", "dap.pageSize",
5892 FT_INT32, BASE_DEC, NULL, 0,
5893 "PagedResultsRequest/newRequest/pageSize", HFILL }},
5895 { "sortKeys", "dap.sortKeys",
5896 FT_UINT32, BASE_DEC, NULL, 0,
5897 "PagedResultsRequest/newRequest/sortKeys", HFILL }},
5898 { &hf_dap_sortKeys_item,
5899 { "Item", "dap.sortKeys_item",
5900 FT_NONE, BASE_NONE, NULL, 0,
5901 "PagedResultsRequest/newRequest/sortKeys/_item", HFILL }},
5903 { "reverse", "dap.reverse",
5904 FT_BOOLEAN, 8, NULL, 0,
5905 "PagedResultsRequest/newRequest/reverse", HFILL }},
5907 { "unmerged", "dap.unmerged",
5908 FT_BOOLEAN, 8, NULL, 0,
5909 "PagedResultsRequest/newRequest/unmerged", HFILL }},
5910 { &hf_dap_queryReference,
5911 { "queryReference", "dap.queryReference",
5912 FT_BYTES, BASE_HEX, NULL, 0,
5914 { &hf_dap_orderingRule,
5915 { "orderingRule", "dap.orderingRule",
5916 FT_OID, BASE_NONE, NULL, 0,
5917 "SortKey/orderingRule", HFILL }},
5918 { &hf_dap_certification_path,
5919 { "certification-path", "dap.certification_path",
5920 FT_NONE, BASE_NONE, NULL, 0,
5922 { &hf_dap_distinguished_name,
5923 { "name", "dap.name",
5924 FT_UINT32, BASE_DEC, NULL, 0,
5927 { "time", "dap.time",
5928 FT_UINT32, BASE_DEC, VALS(x509af_Time_vals), 0,
5929 "SecurityParameters/time", HFILL }},
5931 { "random", "dap.random",
5932 FT_BYTES, BASE_HEX, NULL, 0,
5933 "SecurityParameters/random", HFILL }},
5935 { "target", "dap.target",
5936 FT_INT32, BASE_DEC, VALS(dap_ProtectionRequest_vals), 0,
5937 "SecurityParameters/target", HFILL }},
5939 { "response", "dap.response",
5940 FT_BYTES, BASE_HEX, NULL, 0,
5941 "SecurityParameters/response", HFILL }},
5942 { &hf_dap_operationCode,
5943 { "operationCode", "dap.operationCode",
5944 FT_UINT32, BASE_DEC, VALS(ros_Code_vals), 0,
5945 "SecurityParameters/operationCode", HFILL }},
5946 { &hf_dap_attributeCertificationPath,
5947 { "attributeCertificationPath", "dap.attributeCertificationPath",
5948 FT_NONE, BASE_NONE, NULL, 0,
5950 { &hf_dap_errorProtection,
5951 { "errorProtection", "dap.errorProtection",
5952 FT_INT32, BASE_DEC, VALS(dap_ErrorProtectionRequest_vals), 0,
5953 "SecurityParameters/errorProtection", HFILL }},
5954 { &hf_dap_errorCode,
5955 { "errorCode", "dap.errorCode",
5956 FT_UINT32, BASE_DEC, VALS(ros_Code_vals), 0,
5957 "SecurityParameters/errorCode", HFILL }},
5959 { "utcTime", "dap.utcTime",
5960 FT_STRING, BASE_NONE, NULL, 0,
5961 "Time/utcTime", HFILL }},
5962 { &hf_dap_generalizedTime,
5963 { "generalizedTime", "dap.generalizedTime",
5964 FT_STRING, BASE_NONE, NULL, 0,
5965 "Time/generalizedTime", HFILL }},
5966 { &hf_dap_credentials,
5967 { "credentials", "dap.credentials",
5968 FT_UINT32, BASE_DEC, VALS(dap_Credentials_vals), 0,
5969 "DirectoryBindArgument/credentials", HFILL }},
5971 { "versions", "dap.versions",
5972 FT_BYTES, BASE_HEX, NULL, 0,
5975 { "simple", "dap.simple",
5976 FT_NONE, BASE_NONE, NULL, 0,
5977 "Credentials/simple", HFILL }},
5979 { "strong", "dap.strong",
5980 FT_NONE, BASE_NONE, NULL, 0,
5981 "Credentials/strong", HFILL }},
5982 { &hf_dap_externalProcedure,
5983 { "externalProcedure", "dap.externalProcedure",
5984 FT_NONE, BASE_NONE, NULL, 0,
5985 "Credentials/externalProcedure", HFILL }},
5987 { "spkm", "dap.spkm",
5988 FT_UINT32, BASE_DEC, VALS(dap_SpkmCredentials_vals), 0,
5989 "Credentials/spkm", HFILL }},
5991 { "validity", "dap.validity",
5992 FT_NONE, BASE_NONE, NULL, 0,
5993 "SimpleCredentials/validity", HFILL }},
5995 { "time1", "dap.time1",
5996 FT_UINT32, BASE_DEC, VALS(dap_T_time1_vals), 0,
5997 "SimpleCredentials/validity/time1", HFILL }},
6000 FT_STRING, BASE_NONE, NULL, 0,
6004 FT_STRING, BASE_NONE, NULL, 0,
6007 { "time2", "dap.time2",
6008 FT_UINT32, BASE_DEC, VALS(dap_T_time2_vals), 0,
6009 "SimpleCredentials/validity/time2", HFILL }},
6011 { "random1", "dap.random1",
6012 FT_BYTES, BASE_HEX, NULL, 0,
6013 "SimpleCredentials/validity/random1", HFILL }},
6015 { "random2", "dap.random2",
6016 FT_BYTES, BASE_HEX, NULL, 0,
6017 "SimpleCredentials/validity/random2", HFILL }},
6019 { "password", "dap.password",
6020 FT_UINT32, BASE_DEC, VALS(dap_T_password_vals), 0,
6021 "SimpleCredentials/password", HFILL }},
6022 { &hf_dap_unprotected,
6023 { "unprotected", "dap.unprotected",
6024 FT_BYTES, BASE_HEX, NULL, 0,
6025 "SimpleCredentials/password/unprotected", HFILL }},
6026 { &hf_dap_protected,
6027 { "protected", "dap.protected",
6028 FT_NONE, BASE_NONE, NULL, 0,
6029 "SimpleCredentials/password/protected", HFILL }},
6030 { &hf_dap_protectedPassword,
6031 { "protectedPassword", "dap.protectedPassword",
6032 FT_BYTES, BASE_HEX, NULL, 0,
6033 "SimpleCredentials/password/protected/protectedPassword", HFILL }},
6034 { &hf_dap_algorithmIdentifier,
6035 { "algorithmIdentifier", "dap.algorithmIdentifier",
6036 FT_NONE, BASE_NONE, NULL, 0,
6038 { &hf_dap_encrypted,
6039 { "encrypted", "dap.encrypted",
6040 FT_BYTES, BASE_HEX, NULL, 0,
6042 { &hf_dap_bind_token,
6043 { "bind-token", "dap.bind_token",
6044 FT_NONE, BASE_NONE, NULL, 0,
6045 "StrongCredentials/bind-token", HFILL }},
6048 FT_NONE, BASE_NONE, NULL, 0,
6049 "SpkmCredentials/req", HFILL }},
6052 FT_NONE, BASE_NONE, NULL, 0,
6053 "SpkmCredentials/rep", HFILL }},
6055 { "error", "dap.error",
6056 FT_UINT32, BASE_DEC, VALS(dap_T_error_vals), 0,
6057 "DirectoryBindErrorData/error", HFILL }},
6058 { &hf_dap_serviceProblem,
6059 { "serviceError", "dap.serviceError",
6060 FT_INT32, BASE_DEC, VALS(dap_ServiceProblem_vals), 0,
6061 "DirectoryBindErrorData/error/serviceError", HFILL }},
6062 { &hf_dap_securityProblem,
6063 { "securityError", "dap.securityError",
6064 FT_INT32, BASE_DEC, VALS(dap_SecurityProblem_vals), 0,
6065 "DirectoryBindErrorData/error/securityError", HFILL }},
6066 { &hf_dap_unsignedDirectoryBindError,
6067 { "unsignedDirectoryBindError", "dap.unsignedDirectoryBindError",
6068 FT_NONE, BASE_NONE, NULL, 0,
6069 "DirectoryBindError/unsignedDirectoryBindError", HFILL }},
6070 { &hf_dap_signedDirectoryBindError,
6071 { "signedDirectoryBindError", "dap.signedDirectoryBindError",
6072 FT_NONE, BASE_NONE, NULL, 0,
6073 "DirectoryBindError/signedDirectoryBindError", HFILL }},
6074 { &hf_dap_directoryBindError,
6075 { "directoryBindError", "dap.directoryBindError",
6076 FT_NONE, BASE_NONE, NULL, 0,
6077 "DirectoryBindError/signedDirectoryBindError/directoryBindError", HFILL }},
6079 { "object", "dap.object",
6080 FT_UINT32, BASE_DEC, VALS(x509if_Name_vals), 0,
6082 { &hf_dap_selection,
6083 { "selection", "dap.selection",
6084 FT_NONE, BASE_NONE, NULL, 0,
6086 { &hf_dap_modifyRightsRequest,
6087 { "modifyRightsRequest", "dap.modifyRightsRequest",
6088 FT_BOOLEAN, 8, NULL, 0,
6089 "ReadArgumentData/modifyRightsRequest", HFILL }},
6090 { &hf_dap_serviceControls,
6091 { "serviceControls", "dap.serviceControls",
6092 FT_NONE, BASE_NONE, NULL, 0,
6094 { &hf_dap_requestor,
6095 { "requestor", "dap.requestor",
6096 FT_UINT32, BASE_DEC, NULL, 0,
6098 { &hf_dap_operationProgress,
6099 { "operationProgress", "dap.operationProgress",
6100 FT_NONE, BASE_NONE, NULL, 0,
6102 { &hf_dap_aliasedRDNs,
6103 { "aliasedRDNs", "dap.aliasedRDNs",
6104 FT_INT32, BASE_DEC, NULL, 0,
6106 { &hf_dap_criticalExtensions,
6107 { "criticalExtensions", "dap.criticalExtensions",
6108 FT_BYTES, BASE_HEX, NULL, 0,
6110 { &hf_dap_referenceType,
6111 { "referenceType", "dap.referenceType",
6112 FT_UINT32, BASE_DEC, VALS(dsp_ReferenceType_vals), 0,
6114 { &hf_dap_entryOnly,
6115 { "entryOnly", "dap.entryOnly",
6116 FT_BOOLEAN, 8, NULL, 0,
6118 { &hf_dap_nameResolveOnMaster,
6119 { "nameResolveOnMaster", "dap.nameResolveOnMaster",
6120 FT_BOOLEAN, 8, NULL, 0,
6122 { &hf_dap_operationContexts,
6123 { "operationContexts", "dap.operationContexts",
6124 FT_UINT32, BASE_DEC, VALS(dap_ContextSelection_vals), 0,
6126 { &hf_dap_familyGrouping,
6127 { "familyGrouping", "dap.familyGrouping",
6128 FT_UINT32, BASE_DEC, VALS(dap_FamilyGrouping_vals), 0,
6130 { &hf_dap_rdnSequence,
6131 { "rdnSequence", "dap.rdnSequence",
6132 FT_UINT32, BASE_DEC, NULL, 0,
6133 "Name/rdnSequence", HFILL }},
6134 { &hf_dap_unsignedReadArgument,
6135 { "unsignedReadArgument", "dap.unsignedReadArgument",
6136 FT_NONE, BASE_NONE, NULL, 0,
6137 "ReadArgument/unsignedReadArgument", HFILL }},
6138 { &hf_dap_signedReadArgument,
6139 { "signedReadArgument", "dap.signedReadArgument",
6140 FT_NONE, BASE_NONE, NULL, 0,
6141 "ReadArgument/signedReadArgument", HFILL }},
6142 { &hf_dap_readArgument,
6143 { "readArgument", "dap.readArgument",
6144 FT_NONE, BASE_NONE, NULL, 0,
6145 "ReadArgument/signedReadArgument/readArgument", HFILL }},
6147 { "entry", "dap.entry",
6148 FT_NONE, BASE_NONE, NULL, 0,
6150 { &hf_dap_modifyRights,
6151 { "modifyRights", "dap.modifyRights",
6152 FT_UINT32, BASE_DEC, NULL, 0,
6153 "ReadResultData/modifyRights", HFILL }},
6154 { &hf_dap_unsignedReadResult,
6155 { "unsignedReadResult", "dap.unsignedReadResult",
6156 FT_NONE, BASE_NONE, NULL, 0,
6157 "ReadResult/unsignedReadResult", HFILL }},
6158 { &hf_dap_signedReadResult,
6159 { "signedReadResult", "dap.signedReadResult",
6160 FT_NONE, BASE_NONE, NULL, 0,
6161 "ReadResult/signedReadResult", HFILL }},
6162 { &hf_dap_readResult,
6163 { "readResult", "dap.readResult",
6164 FT_NONE, BASE_NONE, NULL, 0,
6165 "ReadResult/signedReadResult/readResult", HFILL }},
6166 { &hf_dap_ModifyRights_item,
6167 { "Item", "dap.ModifyRights_item",
6168 FT_NONE, BASE_NONE, NULL, 0,
6169 "ModifyRights/_item", HFILL }},
6171 { "item", "dap.item",
6172 FT_UINT32, BASE_DEC, VALS(dap_T_item_vals), 0,
6173 "ModifyRights/_item/item", HFILL }},
6174 { &hf_dap_item_entry,
6175 { "entry", "dap.entry",
6176 FT_NONE, BASE_NONE, NULL, 0,
6177 "ModifyRights/_item/item/entry", HFILL }},
6178 { &hf_dap_attribute_type,
6179 { "attribute", "dap.attribute",
6180 FT_OID, BASE_NONE, NULL, 0,
6181 "ModifyRights/_item/item/attribute", HFILL }},
6182 { &hf_dap_value_assertion,
6183 { "value", "dap.value",
6184 FT_NONE, BASE_NONE, NULL, 0,
6185 "ModifyRights/_item/item/value", HFILL }},
6186 { &hf_dap_permission,
6187 { "permission", "dap.permission",
6188 FT_BYTES, BASE_HEX, NULL, 0,
6189 "ModifyRights/_item/permission", HFILL }},
6190 { &hf_dap_purported,
6191 { "purported", "dap.purported",
6192 FT_NONE, BASE_NONE, NULL, 0,
6193 "CompareArgumentData/purported", HFILL }},
6194 { &hf_dap_unsignedCompareArgument,
6195 { "unsignedCompareArgument", "dap.unsignedCompareArgument",
6196 FT_NONE, BASE_NONE, NULL, 0,
6197 "CompareArgument/unsignedCompareArgument", HFILL }},
6198 { &hf_dap_signedCompareArgument,
6199 { "signedCompareArgument", "dap.signedCompareArgument",
6200 FT_NONE, BASE_NONE, NULL, 0,
6201 "CompareArgument/signedCompareArgument", HFILL }},
6202 { &hf_dap_compareArgument,
6203 { "compareArgument", "dap.compareArgument",
6204 FT_NONE, BASE_NONE, NULL, 0,
6205 "CompareArgument/signedCompareArgument/compareArgument", HFILL }},
6207 { "matched", "dap.matched",
6208 FT_BOOLEAN, 8, NULL, 0,
6209 "CompareResultData/matched", HFILL }},
6210 { &hf_dap_matchedSubtype,
6211 { "matchedSubtype", "dap.matchedSubtype",
6212 FT_OID, BASE_NONE, NULL, 0,
6213 "CompareResultData/matchedSubtype", HFILL }},
6214 { &hf_dap_unsignedCompareResult,
6215 { "unsignedCompareResult", "dap.unsignedCompareResult",
6216 FT_NONE, BASE_NONE, NULL, 0,
6217 "CompareResult/unsignedCompareResult", HFILL }},
6218 { &hf_dap_signedCompareResult,
6219 { "signedCompareResult", "dap.signedCompareResult",
6220 FT_NONE, BASE_NONE, NULL, 0,
6221 "CompareResult/signedCompareResult", HFILL }},
6222 { &hf_dap_compareResult,
6223 { "compareResult", "dap.compareResult",
6224 FT_NONE, BASE_NONE, NULL, 0,
6225 "CompareResult/signedCompareResult/compareResult", HFILL }},
6227 { "invokeID", "dap.invokeID",
6228 FT_UINT32, BASE_DEC, VALS(ros_InvokeId_vals), 0,
6230 { &hf_dap_unsignedAbandonArgument,
6231 { "unsignedAbandonArgument", "dap.unsignedAbandonArgument",
6232 FT_NONE, BASE_NONE, NULL, 0,
6233 "AbandonArgument/unsignedAbandonArgument", HFILL }},
6234 { &hf_dap_signedAbandonArgument,
6235 { "signedAbandonArgument", "dap.signedAbandonArgument",
6236 FT_NONE, BASE_NONE, NULL, 0,
6237 "AbandonArgument/signedAbandonArgument", HFILL }},
6238 { &hf_dap_abandonArgument,
6239 { "abandonArgument", "dap.abandonArgument",
6240 FT_NONE, BASE_NONE, NULL, 0,
6241 "AbandonArgument/signedAbandonArgument/abandonArgument", HFILL }},
6243 { "null", "dap.null",
6244 FT_NONE, BASE_NONE, NULL, 0,
6246 { &hf_dap_abandon_information,
6247 { "information", "dap.information",
6248 FT_UINT32, BASE_DEC, VALS(dap_AbandonInformation_vals), 0,
6249 "AbandonResult/information", HFILL }},
6250 { &hf_dap_unsignedAbandonResult,
6251 { "unsignedAbandonResult", "dap.unsignedAbandonResult",
6252 FT_NONE, BASE_NONE, NULL, 0,
6253 "AbandonResult/information/unsignedAbandonResult", HFILL }},
6254 { &hf_dap_signedAbandonResult,
6255 { "signedAbandonResult", "dap.signedAbandonResult",
6256 FT_NONE, BASE_NONE, NULL, 0,
6257 "AbandonResult/information/signedAbandonResult", HFILL }},
6258 { &hf_dap_abandonResult,
6259 { "abandonResult", "dap.abandonResult",
6260 FT_NONE, BASE_NONE, NULL, 0,
6261 "AbandonResult/information/signedAbandonResult/abandonResult", HFILL }},
6262 { &hf_dap_pagedResults,
6263 { "pagedResults", "dap.pagedResults",
6264 FT_UINT32, BASE_DEC, VALS(dap_PagedResultsRequest_vals), 0,
6266 { &hf_dap_listFamily,
6267 { "listFamily", "dap.listFamily",
6268 FT_BOOLEAN, 8, NULL, 0,
6269 "ListArgumentData/listFamily", HFILL }},
6270 { &hf_dap_unsignedListArgument,
6271 { "unsignedListArgument", "dap.unsignedListArgument",
6272 FT_NONE, BASE_NONE, NULL, 0,
6273 "ListArgument/unsignedListArgument", HFILL }},
6274 { &hf_dap_signedListArgument,
6275 { "signedListArgument", "dap.signedListArgument",
6276 FT_NONE, BASE_NONE, NULL, 0,
6277 "ListArgument/signedListArgument", HFILL }},
6278 { &hf_dap_listArgument,
6279 { "listArgument", "dap.listArgument",
6280 FT_NONE, BASE_NONE, NULL, 0,
6281 "ListArgument/signedListArgument/listArgument", HFILL }},
6283 { "listInfo", "dap.listInfo",
6284 FT_NONE, BASE_NONE, NULL, 0,
6285 "ListResultData/listInfo", HFILL }},
6286 { &hf_dap_subordinates,
6287 { "subordinates", "dap.subordinates",
6288 FT_UINT32, BASE_DEC, NULL, 0,
6289 "ListResultData/listInfo/subordinates", HFILL }},
6290 { &hf_dap_subordinates_item,
6291 { "Item", "dap.subordinates_item",
6292 FT_NONE, BASE_NONE, NULL, 0,
6293 "ListResultData/listInfo/subordinates/_item", HFILL }},
6294 { &hf_dap_aliasEntry,
6295 { "aliasEntry", "dap.aliasEntry",
6296 FT_BOOLEAN, 8, NULL, 0,
6297 "ListResultData/listInfo/subordinates/_item/aliasEntry", HFILL }},
6298 { &hf_dap_partialOutcomeQualifier,
6299 { "partialOutcomeQualifier", "dap.partialOutcomeQualifier",
6300 FT_NONE, BASE_NONE, NULL, 0,
6302 { &hf_dap_uncorrelatedListInfo,
6303 { "uncorrelatedListInfo", "dap.uncorrelatedListInfo",
6304 FT_UINT32, BASE_DEC, NULL, 0,
6305 "ListResultData/uncorrelatedListInfo", HFILL }},
6306 { &hf_dap_uncorrelatedListInfo_item,
6307 { "Item", "dap.uncorrelatedListInfo_item",
6308 FT_UINT32, BASE_DEC, VALS(dap_ListResult_vals), 0,
6309 "ListResultData/uncorrelatedListInfo/_item", HFILL }},
6310 { &hf_dap_unsignedListResult,
6311 { "unsignedListResult", "dap.unsignedListResult",
6312 FT_UINT32, BASE_DEC, VALS(dap_ListResultData_vals), 0,
6313 "ListResult/unsignedListResult", HFILL }},
6314 { &hf_dap_signedListResult,
6315 { "signedListResult", "dap.signedListResult",
6316 FT_NONE, BASE_NONE, NULL, 0,
6317 "ListResult/signedListResult", HFILL }},
6318 { &hf_dap_listResult,
6319 { "listResult", "dap.listResult",
6320 FT_UINT32, BASE_DEC, VALS(dap_ListResultData_vals), 0,
6321 "ListResult/signedListResult/listResult", HFILL }},
6322 { &hf_dap_limitProblem,
6323 { "limitProblem", "dap.limitProblem",
6324 FT_INT32, BASE_DEC, VALS(dap_LimitProblem_vals), 0,
6325 "PartialOutcomeQualifier/limitProblem", HFILL }},
6326 { &hf_dap_unexplored,
6327 { "unexplored", "dap.unexplored",
6328 FT_UINT32, BASE_DEC, NULL, 0,
6329 "PartialOutcomeQualifier/unexplored", HFILL }},
6330 { &hf_dap_unexplored_item,
6331 { "Item", "dap.unexplored_item",
6332 FT_NONE, BASE_NONE, NULL, 0,
6333 "PartialOutcomeQualifier/unexplored/_item", HFILL }},
6334 { &hf_dap_unavailableCriticalExtensions,
6335 { "unavailableCriticalExtensions", "dap.unavailableCriticalExtensions",
6336 FT_BOOLEAN, 8, NULL, 0,
6337 "PartialOutcomeQualifier/unavailableCriticalExtensions", HFILL }},
6338 { &hf_dap_unknownErrors,
6339 { "unknownErrors", "dap.unknownErrors",
6340 FT_UINT32, BASE_DEC, NULL, 0,
6341 "PartialOutcomeQualifier/unknownErrors", HFILL }},
6342 { &hf_dap_unknownErrors_item,
6343 { "Item", "dap.unknownErrors_item",
6344 FT_OID, BASE_NONE, NULL, 0,
6345 "PartialOutcomeQualifier/unknownErrors/_item", HFILL }},
6346 { &hf_dap_overspecFilter,
6347 { "overspecFilter", "dap.overspecFilter",
6348 FT_UINT32, BASE_DEC, VALS(dap_Filter_vals), 0,
6349 "PartialOutcomeQualifier/overspecFilter", HFILL }},
6350 { &hf_dap_entryCount,
6351 { "entryCount", "dap.entryCount",
6352 FT_UINT32, BASE_DEC, VALS(dap_T_entryCount_vals), 0,
6353 "PartialOutcomeQualifier/entryCount", HFILL }},
6354 { &hf_dap_bestEstimate,
6355 { "bestEstimate", "dap.bestEstimate",
6356 FT_INT32, BASE_DEC, NULL, 0,
6357 "PartialOutcomeQualifier/entryCount/bestEstimate", HFILL }},
6358 { &hf_dap_lowEstimate,
6359 { "lowEstimate", "dap.lowEstimate",
6360 FT_INT32, BASE_DEC, NULL, 0,
6361 "PartialOutcomeQualifier/entryCount/lowEstimate", HFILL }},
6362 { &hf_dap_baseObject,
6363 { "baseObject", "dap.baseObject",
6364 FT_UINT32, BASE_DEC, VALS(x509if_Name_vals), 0,
6365 "SearchArgumentData/baseObject", HFILL }},
6367 { "subset", "dap.subset",
6368 FT_INT32, BASE_DEC, VALS(dap_T_subset_vals), 0,
6369 "SearchArgumentData/subset", HFILL }},
6371 { "filter", "dap.filter",
6372 FT_UINT32, BASE_DEC, VALS(dap_Filter_vals), 0,
6373 "SearchArgumentData/filter", HFILL }},
6374 { &hf_dap_searchAliases,
6375 { "searchAliases", "dap.searchAliases",
6376 FT_BOOLEAN, 8, NULL, 0,
6377 "SearchArgumentData/searchAliases", HFILL }},
6378 { &hf_dap_matchedValuesOnly,
6379 { "matchedValuesOnly", "dap.matchedValuesOnly",
6380 FT_BOOLEAN, 8, NULL, 0,
6381 "SearchArgumentData/matchedValuesOnly", HFILL }},
6382 { &hf_dap_extendedFilter,
6383 { "extendedFilter", "dap.extendedFilter",
6384 FT_UINT32, BASE_DEC, VALS(dap_Filter_vals), 0,
6385 "SearchArgumentData/extendedFilter", HFILL }},
6386 { &hf_dap_checkOverspecified,
6387 { "checkOverspecified", "dap.checkOverspecified",
6388 FT_BOOLEAN, 8, NULL, 0,
6389 "SearchArgumentData/checkOverspecified", HFILL }},
6390 { &hf_dap_relaxation,
6391 { "relaxation", "dap.relaxation",
6392 FT_NONE, BASE_NONE, NULL, 0,
6393 "SearchArgumentData/relaxation", HFILL }},
6394 { &hf_dap_extendedArea,
6395 { "extendedArea", "dap.extendedArea",
6396 FT_INT32, BASE_DEC, NULL, 0,
6397 "SearchArgumentData/extendedArea", HFILL }},
6398 { &hf_dap_hierarchySelections,
6399 { "hierarchySelections", "dap.hierarchySelections",
6400 FT_BYTES, BASE_HEX, NULL, 0,
6401 "SearchArgumentData/hierarchySelections", HFILL }},
6402 { &hf_dap_searchControlOptions,
6403 { "searchControlOptions", "dap.searchControlOptions",
6404 FT_BYTES, BASE_HEX, NULL, 0,
6405 "SearchArgumentData/searchControlOptions", HFILL }},
6406 { &hf_dap_joinArguments,
6407 { "joinArguments", "dap.joinArguments",
6408 FT_UINT32, BASE_DEC, NULL, 0,
6409 "SearchArgumentData/joinArguments", HFILL }},
6410 { &hf_dap_joinArguments_item,
6411 { "Item", "dap.joinArguments_item",
6412 FT_NONE, BASE_NONE, NULL, 0,
6413 "SearchArgumentData/joinArguments/_item", HFILL }},
6415 { "joinType", "dap.joinType",
6416 FT_UINT32, BASE_DEC, VALS(dap_T_joinType_vals), 0,
6417 "SearchArgumentData/joinType", HFILL }},
6418 { &hf_dap_unsignedSearchArgument,
6419 { "unsignedSearchArgument", "dap.unsignedSearchArgument",
6420 FT_NONE, BASE_NONE, NULL, 0,
6421 "SearchArgument/unsignedSearchArgument", HFILL }},
6422 { &hf_dap_signedSearchArgument,
6423 { "signedSearchArgument", "dap.signedSearchArgument",
6424 FT_NONE, BASE_NONE, NULL, 0,
6425 "SearchArgument/signedSearchArgument", HFILL }},
6426 { &hf_dap_searchArgument,
6427 { "searchArgument", "dap.searchArgument",
6428 FT_NONE, BASE_NONE, NULL, 0,
6429 "SearchArgument/signedSearchArgument/searchArgument", HFILL }},
6430 { &hf_dap_joinBaseObject,
6431 { "joinBaseObject", "dap.joinBaseObject",
6432 FT_UINT32, BASE_DEC, VALS(x509if_Name_vals), 0,
6433 "JoinArgument/joinBaseObject", HFILL }},
6434 { &hf_dap_domainLocalID,
6435 { "domainLocalID", "dap.domainLocalID",
6436 FT_UINT32, BASE_DEC, VALS(x509sat_DirectoryString_vals), 0,
6437 "JoinArgument/domainLocalID", HFILL }},
6438 { &hf_dap_joinSubset,
6439 { "joinSubset", "dap.joinSubset",
6440 FT_UINT32, BASE_DEC, VALS(dap_T_joinSubset_vals), 0,
6441 "JoinArgument/joinSubset", HFILL }},
6442 { &hf_dap_joinFilter,
6443 { "joinFilter", "dap.joinFilter",
6444 FT_UINT32, BASE_DEC, VALS(dap_Filter_vals), 0,
6445 "JoinArgument/joinFilter", HFILL }},
6446 { &hf_dap_joinAttributes,
6447 { "joinAttributes", "dap.joinAttributes",
6448 FT_UINT32, BASE_DEC, NULL, 0,
6449 "JoinArgument/joinAttributes", HFILL }},
6450 { &hf_dap_joinAttributes_item,
6451 { "Item", "dap.joinAttributes_item",
6452 FT_NONE, BASE_NONE, NULL, 0,
6453 "JoinArgument/joinAttributes/_item", HFILL }},
6454 { &hf_dap_joinSelection,
6455 { "joinSelection", "dap.joinSelection",
6456 FT_NONE, BASE_NONE, NULL, 0,
6457 "JoinArgument/joinSelection", HFILL }},
6459 { "baseAtt", "dap.baseAtt",
6460 FT_OID, BASE_NONE, NULL, 0,
6461 "JoinAttPair/baseAtt", HFILL }},
6463 { "joinAtt", "dap.joinAtt",
6464 FT_OID, BASE_NONE, NULL, 0,
6465 "JoinAttPair/joinAtt", HFILL }},
6466 { &hf_dap_joinContext,
6467 { "joinContext", "dap.joinContext",
6468 FT_UINT32, BASE_DEC, NULL, 0,
6469 "JoinAttPair/joinContext", HFILL }},
6470 { &hf_dap_joinContext_item,
6471 { "Item", "dap.joinContext_item",
6472 FT_OID, BASE_NONE, NULL, 0,
6473 "JoinAttPair/joinContext/_item", HFILL }},
6474 { &hf_dap_searchInfo,
6475 { "searchInfo", "dap.searchInfo",
6476 FT_NONE, BASE_NONE, NULL, 0,
6477 "SearchResultData/searchInfo", HFILL }},
6479 { "entries", "dap.entries",
6480 FT_UINT32, BASE_DEC, NULL, 0,
6481 "SearchResultData/searchInfo/entries", HFILL }},
6482 { &hf_dap_entries_item,
6483 { "Item", "dap.entries_item",
6484 FT_NONE, BASE_NONE, NULL, 0,
6485 "SearchResultData/searchInfo/entries/_item", HFILL }},
6486 { &hf_dap_altMatching,
6487 { "altMatching", "dap.altMatching",
6488 FT_BOOLEAN, 8, NULL, 0,
6489 "SearchResultData/searchInfo/altMatching", HFILL }},
6490 { &hf_dap_uncorrelatedSearchInfo,
6491 { "uncorrelatedSearchInfo", "dap.uncorrelatedSearchInfo",
6492 FT_UINT32, BASE_DEC, NULL, 0,
6493 "SearchResultData/uncorrelatedSearchInfo", HFILL }},
6494 { &hf_dap_uncorrelatedSearchInfo_item,
6495 { "Item", "dap.uncorrelatedSearchInfo_item",
6496 FT_UINT32, BASE_DEC, VALS(dap_SearchResult_vals), 0,
6497 "SearchResultData/uncorrelatedSearchInfo/_item", HFILL }},
6498 { &hf_dap_unsignedSearchResult,
6499 { "unsignedSearchResult", "dap.unsignedSearchResult",
6500 FT_UINT32, BASE_DEC, VALS(dap_SearchResultData_vals), 0,
6501 "SearchResult/unsignedSearchResult", HFILL }},
6502 { &hf_dap_signedSearchResult,
6503 { "signedSearchResult", "dap.signedSearchResult",
6504 FT_NONE, BASE_NONE, NULL, 0,
6505 "SearchResult/signedSearchResult", HFILL }},
6506 { &hf_dap_searchResult,
6507 { "searchResult", "dap.searchResult",
6508 FT_UINT32, BASE_DEC, VALS(dap_SearchResultData_vals), 0,
6509 "SearchResult/signedSearchResult/searchResult", HFILL }},
6510 { &hf_dap_add_entry,
6511 { "entry", "dap.entry",
6512 FT_UINT32, BASE_DEC, NULL, 0,
6513 "AddEntryArgumentData/entry", HFILL }},
6514 { &hf_dap_entry_item,
6515 { "Item", "dap.entry_item",
6516 FT_NONE, BASE_NONE, NULL, 0,
6517 "AddEntryArgumentData/entry/_item", HFILL }},
6518 { &hf_dap_targetSystem,
6519 { "targetSystem", "dap.targetSystem",
6520 FT_NONE, BASE_NONE, NULL, 0,
6521 "AddEntryArgumentData/targetSystem", HFILL }},
6522 { &hf_dap_unsignedAddEntryArgument,
6523 { "unsignedAddEntryArgument", "dap.unsignedAddEntryArgument",
6524 FT_NONE, BASE_NONE, NULL, 0,
6525 "AddEntryArgument/unsignedAddEntryArgument", HFILL }},
6526 { &hf_dap_signedAddEntryArgument,
6527 { "signedAddEntryArgument", "dap.signedAddEntryArgument",
6528 FT_NONE, BASE_NONE, NULL, 0,
6529 "AddEntryArgument/signedAddEntryArgument", HFILL }},
6530 { &hf_dap_addEntryArgument,
6531 { "addEntryArgument", "dap.addEntryArgument",
6532 FT_NONE, BASE_NONE, NULL, 0,
6533 "AddEntryArgument/signedAddEntryArgument/addEntryArgument", HFILL }},
6534 { &hf_dap_add_entry_information,
6535 { "information", "dap.information",
6536 FT_UINT32, BASE_DEC, VALS(dap_AddEntryInformation_vals), 0,
6537 "AddEntryResult/information", HFILL }},
6538 { &hf_dap_unsignedAddEntryResult,
6539 { "unsignedAddEntryResult", "dap.unsignedAddEntryResult",
6540 FT_NONE, BASE_NONE, NULL, 0,
6541 "AddEntryResult/information/unsignedAddEntryResult", HFILL }},
6542 { &hf_dap_signedAddEntryResult,
6543 { "signedAddEntryResult", "dap.signedAddEntryResult",
6544 FT_NONE, BASE_NONE, NULL, 0,
6545 "AddEntryResult/information/signedAddEntryResult", HFILL }},
6546 { &hf_dap_addEntryResult,
6547 { "addEntryResult", "dap.addEntryResult",
6548 FT_NONE, BASE_NONE, NULL, 0,
6549 "AddEntryResult/information/signedAddEntryResult/addEntryResult", HFILL }},
6550 { &hf_dap_unsignedRemoveEntryArgument,
6551 { "unsignedRemoveEntryArgument", "dap.unsignedRemoveEntryArgument",
6552 FT_NONE, BASE_NONE, NULL, 0,
6553 "RemoveEntryArgument/unsignedRemoveEntryArgument", HFILL }},
6554 { &hf_dap_signedRemoveEntryArgument,
6555 { "signedRemoveEntryArgument", "dap.signedRemoveEntryArgument",
6556 FT_NONE, BASE_NONE, NULL, 0,
6557 "RemoveEntryArgument/signedRemoveEntryArgument", HFILL }},
6558 { &hf_dap_removeEntryArgument,
6559 { "removeEntryArgument", "dap.removeEntryArgument",
6560 FT_NONE, BASE_NONE, NULL, 0,
6561 "RemoveEntryArgument/signedRemoveEntryArgument/removeEntryArgument", HFILL }},
6562 { &hf_dap_remove_entry_information,
6563 { "information", "dap.information",
6564 FT_UINT32, BASE_DEC, VALS(dap_RemoveEntryInformation_vals), 0,
6565 "RemoveEntryResult/information", HFILL }},
6566 { &hf_dap_unsignedRemoveEntryResult,
6567 { "unsignedRemoveEntryResult", "dap.unsignedRemoveEntryResult",
6568 FT_NONE, BASE_NONE, NULL, 0,
6569 "RemoveEntryResult/information/unsignedRemoveEntryResult", HFILL }},
6570 { &hf_dap_signedRemoveEntryResult,
6571 { "signedRemoveEntryResult", "dap.signedRemoveEntryResult",
6572 FT_NONE, BASE_NONE, NULL, 0,
6573 "RemoveEntryResult/information/signedRemoveEntryResult", HFILL }},
6574 { &hf_dap_removeEntryResult,
6575 { "removeEntryResult", "dap.removeEntryResult",
6576 FT_NONE, BASE_NONE, NULL, 0,
6577 "RemoveEntryResult/information/signedRemoveEntryResult/removeEntryResult", HFILL }},
6579 { "changes", "dap.changes",
6580 FT_UINT32, BASE_DEC, NULL, 0,
6581 "ModifyEntryArgumentData/changes", HFILL }},
6582 { &hf_dap_changes_item,
6583 { "Item", "dap.changes_item",
6584 FT_UINT32, BASE_DEC, VALS(dap_EntryModification_vals), 0,
6585 "ModifyEntryArgumentData/changes/_item", HFILL }},
6586 { &hf_dap_unsignedModifyEntryArgument,
6587 { "unsignedModifyEntryArgument", "dap.unsignedModifyEntryArgument",
6588 FT_NONE, BASE_NONE, NULL, 0,
6589 "ModifyEntryArgument/unsignedModifyEntryArgument", HFILL }},
6590 { &hf_dap_signedModifyEntryArgument,
6591 { "signedModifyEntryArgument", "dap.signedModifyEntryArgument",
6592 FT_NONE, BASE_NONE, NULL, 0,
6593 "ModifyEntryArgument/signedModifyEntryArgument", HFILL }},
6594 { &hf_dap_modifyEntryArgument,
6595 { "modifyEntryArgument", "dap.modifyEntryArgument",
6596 FT_NONE, BASE_NONE, NULL, 0,
6597 "ModifyEntryArgument/signedModifyEntryArgument/modifyEntryArgument", HFILL }},
6598 { &hf_dap_modify_entry_information,
6599 { "information", "dap.information",
6600 FT_UINT32, BASE_DEC, VALS(dap_ModifyEntryInformation_vals), 0,
6601 "ModifyEntryResult/information", HFILL }},
6602 { &hf_dap_unsignedModifyEntryResult,
6603 { "unsignedModifyEntryResult", "dap.unsignedModifyEntryResult",
6604 FT_NONE, BASE_NONE, NULL, 0,
6605 "ModifyEntryResult/information/unsignedModifyEntryResult", HFILL }},
6606 { &hf_dap_signedModifyEntryResult,
6607 { "signedModifyEntryResult", "dap.signedModifyEntryResult",
6608 FT_NONE, BASE_NONE, NULL, 0,
6609 "ModifyEntryResult/information/signedModifyEntryResult", HFILL }},
6610 { &hf_dap_modifyEntryResult,
6611 { "modifyEntryResult", "dap.modifyEntryResult",
6612 FT_NONE, BASE_NONE, NULL, 0,
6613 "ModifyEntryResult/information/signedModifyEntryResult/modifyEntryResult", HFILL }},
6614 { &hf_dap_addAttribute,
6615 { "addAttribute", "dap.addAttribute",
6616 FT_NONE, BASE_NONE, NULL, 0,
6617 "EntryModification/addAttribute", HFILL }},
6618 { &hf_dap_removeAttribute,
6619 { "removeAttribute", "dap.removeAttribute",
6620 FT_OID, BASE_NONE, NULL, 0,
6621 "EntryModification/removeAttribute", HFILL }},
6622 { &hf_dap_addValues,
6623 { "addValues", "dap.addValues",
6624 FT_NONE, BASE_NONE, NULL, 0,
6625 "EntryModification/addValues", HFILL }},
6626 { &hf_dap_removeValues,
6627 { "removeValues", "dap.removeValues",
6628 FT_NONE, BASE_NONE, NULL, 0,
6629 "EntryModification/removeValues", HFILL }},
6630 { &hf_dap_alterValues,
6631 { "alterValues", "dap.alterValues",
6632 FT_NONE, BASE_NONE, NULL, 0,
6633 "EntryModification/alterValues", HFILL }},
6634 { &hf_dap_resetValue,
6635 { "resetValue", "dap.resetValue",
6636 FT_OID, BASE_NONE, NULL, 0,
6637 "EntryModification/resetValue", HFILL }},
6639 { "newRDN", "dap.newRDN",
6640 FT_UINT32, BASE_DEC, NULL, 0,
6642 { &hf_dap_deleteOldRDN,
6643 { "deleteOldRDN", "dap.deleteOldRDN",
6644 FT_BOOLEAN, 8, NULL, 0,
6645 "ModifyDNArgument/deleteOldRDN", HFILL }},
6646 { &hf_dap_newSuperior,
6647 { "newSuperior", "dap.newSuperior",
6648 FT_UINT32, BASE_DEC, NULL, 0,
6649 "ModifyDNArgument/newSuperior", HFILL }},
6650 { &hf_dap_modify_dn_information,
6651 { "information", "dap.information",
6652 FT_UINT32, BASE_DEC, VALS(dap_ModifyDNInformation_vals), 0,
6653 "ModifyDNResult/information", HFILL }},
6654 { &hf_dap_unsignedModifyDNResult,
6655 { "unsignedModifyDNResult", "dap.unsignedModifyDNResult",
6656 FT_NONE, BASE_NONE, NULL, 0,
6657 "ModifyDNResult/information/unsignedModifyDNResult", HFILL }},
6658 { &hf_dap_signedModifyDNResult,
6659 { "signedModifyDNResult", "dap.signedModifyDNResult",
6660 FT_NONE, BASE_NONE, NULL, 0,
6661 "ModifyDNResult/information/signedModifyDNResult", HFILL }},
6662 { &hf_dap_modifyDNResult,
6663 { "modifyDNResult", "dap.modifyDNResult",
6664 FT_NONE, BASE_NONE, NULL, 0,
6665 "ModifyDNResult/information/signedModifyDNResult/modifyDNResult", HFILL }},
6666 { &hf_dap_unsignedAbandoned,
6667 { "unsignedAbandoned", "dap.unsignedAbandoned",
6668 FT_NONE, BASE_NONE, NULL, 0,
6669 "Abandoned/unsignedAbandoned", HFILL }},
6670 { &hf_dap_signedAbandoned,
6671 { "signedAbandoned", "dap.signedAbandoned",
6672 FT_NONE, BASE_NONE, NULL, 0,
6673 "Abandoned/signedAbandoned", HFILL }},
6674 { &hf_dap_abandoned,
6675 { "abandoned", "dap.abandoned",
6676 FT_NONE, BASE_NONE, NULL, 0,
6677 "Abandoned/signedAbandoned/abandoned", HFILL }},
6678 { &hf_dap_abandon_failed_problem,
6679 { "problem", "dap.problem",
6680 FT_INT32, BASE_DEC, VALS(dap_AbandonProblem_vals), 0,
6681 "AbandonFailedErrorData/problem", HFILL }},
6682 { &hf_dap_operation,
6683 { "operation", "dap.operation",
6684 FT_UINT32, BASE_DEC, VALS(ros_InvokeId_vals), 0,
6685 "AbandonFailedErrorData/operation", HFILL }},
6686 { &hf_dap_unsignedAbandonFailedError,
6687 { "unsignedAbandonFailedError", "dap.unsignedAbandonFailedError",
6688 FT_NONE, BASE_NONE, NULL, 0,
6689 "AbandonFailedError/unsignedAbandonFailedError", HFILL }},
6690 { &hf_dap_signedAbandonFailedError,
6691 { "signedAbandonFailedError", "dap.signedAbandonFailedError",
6692 FT_NONE, BASE_NONE, NULL, 0,
6693 "AbandonFailedError/signedAbandonFailedError", HFILL }},
6694 { &hf_dap_abandonFailedError,
6695 { "abandonFailedError", "dap.abandonFailedError",
6696 FT_NONE, BASE_NONE, NULL, 0,
6697 "AbandonFailedError/signedAbandonFailedError/abandonFailedError", HFILL }},
6699 { "problems", "dap.problems",
6700 FT_UINT32, BASE_DEC, NULL, 0,
6701 "AttributeErrorData/problems", HFILL }},
6702 { &hf_dap_problems_item,
6703 { "Item", "dap.problems_item",
6704 FT_NONE, BASE_NONE, NULL, 0,
6705 "AttributeErrorData/problems/_item", HFILL }},
6706 { &hf_dap_attribute_error_problem,
6707 { "problem", "dap.problem",
6708 FT_INT32, BASE_DEC, VALS(dap_AttributeProblem_vals), 0,
6709 "AttributeErrorData/problems/_item/problem", HFILL }},
6711 { "value", "dap.value",
6712 FT_NONE, BASE_NONE, NULL, 0,
6713 "AttributeErrorData/problems/_item/value", HFILL }},
6714 { &hf_dap_unsignedAttributeError,
6715 { "unsignedAttributeError", "dap.unsignedAttributeError",
6716 FT_NONE, BASE_NONE, NULL, 0,
6717 "AttributeError/unsignedAttributeError", HFILL }},
6718 { &hf_dap_signedAttributeError,
6719 { "signedAttributeError", "dap.signedAttributeError",
6720 FT_NONE, BASE_NONE, NULL, 0,
6721 "AttributeError/signedAttributeError", HFILL }},
6722 { &hf_dap_attributeError,
6723 { "attributeError", "dap.attributeError",
6724 FT_NONE, BASE_NONE, NULL, 0,
6725 "AttributeError/signedAttributeError/attributeError", HFILL }},
6726 { &hf_dap_name_error_problem,
6727 { "problem", "dap.problem",
6728 FT_INT32, BASE_DEC, VALS(dap_NameProblem_vals), 0,
6729 "NameErrorData/problem", HFILL }},
6730 { &hf_dap_matched_name,
6731 { "matched", "dap.matched",
6732 FT_UINT32, BASE_DEC, VALS(x509if_Name_vals), 0,
6733 "NameErrorData/matched", HFILL }},
6734 { &hf_dap_unsignedNameError,
6735 { "unsignedNameError", "dap.unsignedNameError",
6736 FT_NONE, BASE_NONE, NULL, 0,
6737 "NameError/unsignedNameError", HFILL }},
6738 { &hf_dap_signedNameError,
6739 { "signedNameError", "dap.signedNameError",
6740 FT_NONE, BASE_NONE, NULL, 0,
6741 "NameError/signedNameError", HFILL }},
6742 { &hf_dap_nameError,
6743 { "nameError", "dap.nameError",
6744 FT_NONE, BASE_NONE, NULL, 0,
6745 "NameError/signedNameError/nameError", HFILL }},
6746 { &hf_dap_candidate,
6747 { "candidate", "dap.candidate",
6748 FT_NONE, BASE_NONE, NULL, 0,
6749 "ReferralData/candidate", HFILL }},
6750 { &hf_dap_unsignedReferral,
6751 { "unsignedReferral", "dap.unsignedReferral",
6752 FT_NONE, BASE_NONE, NULL, 0,
6753 "Referral/unsignedReferral", HFILL }},
6754 { &hf_dap_signedReferral,
6755 { "signedReferral", "dap.signedReferral",
6756 FT_NONE, BASE_NONE, NULL, 0,
6757 "Referral/signedReferral", HFILL }},
6759 { "referral", "dap.referral",
6760 FT_NONE, BASE_NONE, NULL, 0,
6761 "Referral/signedReferral/referral", HFILL }},
6762 { &hf_dap_security_error_problem,
6763 { "problem", "dap.problem",
6764 FT_INT32, BASE_DEC, VALS(dap_SecurityProblem_vals), 0,
6765 "SecurityErrorData/problem", HFILL }},
6767 { "spkmInfo", "dap.spkmInfo",
6768 FT_NONE, BASE_NONE, NULL, 0,
6769 "SecurityErrorData/spkmInfo", HFILL }},
6770 { &hf_dap_unsignedSecurityError,
6771 { "unsignedSecurityError", "dap.unsignedSecurityError",
6772 FT_NONE, BASE_NONE, NULL, 0,
6773 "SecurityError/unsignedSecurityError", HFILL }},
6774 { &hf_dap_signedSecurityError,
6775 { "signedSecurityError", "dap.signedSecurityError",
6776 FT_NONE, BASE_NONE, NULL, 0,
6777 "SecurityError/signedSecurityError", HFILL }},
6778 { &hf_dap_securityErrorData,
6779 { "securityError", "dap.securityError",
6780 FT_NONE, BASE_NONE, NULL, 0,
6781 "SecurityError/signedSecurityError/securityError", HFILL }},
6782 { &hf_dap_service_error_problem,
6783 { "problem", "dap.problem",
6784 FT_INT32, BASE_DEC, VALS(dap_ServiceProblem_vals), 0,
6785 "ServiceErrorData/problem", HFILL }},
6786 { &hf_dap_unsignedServiceError,
6787 { "unsignedServiceError", "dap.unsignedServiceError",
6788 FT_NONE, BASE_NONE, NULL, 0,
6789 "ServiceError/unsignedServiceError", HFILL }},
6790 { &hf_dap_signedServiceError,
6791 { "signedServiceError", "dap.signedServiceError",
6792 FT_NONE, BASE_NONE, NULL, 0,
6793 "ServiceError/signedServiceError", HFILL }},
6794 { &hf_dap_serviceError,
6795 { "serviceError", "dap.serviceError",
6796 FT_NONE, BASE_NONE, NULL, 0,
6797 "ServiceError/signedServiceError/serviceError", HFILL }},
6798 { &hf_dap_update_error_problem,
6799 { "problem", "dap.problem",
6800 FT_INT32, BASE_DEC, VALS(dap_UpdateProblem_vals), 0,
6801 "UpdateErrorData/problem", HFILL }},
6802 { &hf_dap_attributeInfo,
6803 { "attributeInfo", "dap.attributeInfo",
6804 FT_UINT32, BASE_DEC, NULL, 0,
6805 "UpdateErrorData/attributeInfo", HFILL }},
6806 { &hf_dap_attributeInfo_item,
6807 { "Item", "dap.attributeInfo_item",
6808 FT_UINT32, BASE_DEC, VALS(dap_T_attributeInfo_item_vals), 0,
6809 "UpdateErrorData/attributeInfo/_item", HFILL }},
6810 { &hf_dap_unsignedUpdateError,
6811 { "unsignedUpdateError", "dap.unsignedUpdateError",
6812 FT_NONE, BASE_NONE, NULL, 0,
6813 "UpdateError/unsignedUpdateError", HFILL }},
6814 { &hf_dap_signedUpdateError,
6815 { "signedUpdateError", "dap.signedUpdateError",
6816 FT_NONE, BASE_NONE, NULL, 0,
6817 "UpdateError/signedUpdateError", HFILL }},
6818 { &hf_dap_updateError,
6819 { "updateError", "dap.updateError",
6820 FT_NONE, BASE_NONE, NULL, 0,
6821 "UpdateError/signedUpdateError/updateError", HFILL }},
6822 { &hf_dap_ServiceControlOptions_preferChaining,
6823 { "preferChaining", "dap.preferChaining",
6824 FT_BOOLEAN, 8, NULL, 0x80,
6826 { &hf_dap_ServiceControlOptions_chainingProhibited,
6827 { "chainingProhibited", "dap.chainingProhibited",
6828 FT_BOOLEAN, 8, NULL, 0x40,
6830 { &hf_dap_ServiceControlOptions_localScope,
6831 { "localScope", "dap.localScope",
6832 FT_BOOLEAN, 8, NULL, 0x20,
6834 { &hf_dap_ServiceControlOptions_dontUseCopy,
6835 { "dontUseCopy", "dap.dontUseCopy",
6836 FT_BOOLEAN, 8, NULL, 0x10,
6838 { &hf_dap_ServiceControlOptions_dontDereferenceAliases,
6839 { "dontDereferenceAliases", "dap.dontDereferenceAliases",
6840 FT_BOOLEAN, 8, NULL, 0x08,
6842 { &hf_dap_ServiceControlOptions_subentries,
6843 { "subentries", "dap.subentries",
6844 FT_BOOLEAN, 8, NULL, 0x04,
6846 { &hf_dap_ServiceControlOptions_copyShallDo,
6847 { "copyShallDo", "dap.copyShallDo",
6848 FT_BOOLEAN, 8, NULL, 0x02,
6850 { &hf_dap_ServiceControlOptions_partialNameResolution,
6851 { "partialNameResolution", "dap.partialNameResolution",
6852 FT_BOOLEAN, 8, NULL, 0x01,
6854 { &hf_dap_ServiceControlOptions_manageDSAIT,
6855 { "manageDSAIT", "dap.manageDSAIT",
6856 FT_BOOLEAN, 8, NULL, 0x80,
6858 { &hf_dap_ServiceControlOptions_noSubtypeMatch,
6859 { "noSubtypeMatch", "dap.noSubtypeMatch",
6860 FT_BOOLEAN, 8, NULL, 0x40,
6862 { &hf_dap_ServiceControlOptions_noSubtypeSelection,
6863 { "noSubtypeSelection", "dap.noSubtypeSelection",
6864 FT_BOOLEAN, 8, NULL, 0x20,
6866 { &hf_dap_ServiceControlOptions_countFamily,
6867 { "countFamily", "dap.countFamily",
6868 FT_BOOLEAN, 8, NULL, 0x10,
6870 { &hf_dap_Versions_v1,
6872 FT_BOOLEAN, 8, NULL, 0x80,
6874 { &hf_dap_Versions_v2,
6876 FT_BOOLEAN, 8, NULL, 0x40,
6878 { &hf_dap_T_permission_add,
6880 FT_BOOLEAN, 8, NULL, 0x80,
6882 { &hf_dap_T_permission_remove,
6883 { "remove", "dap.remove",
6884 FT_BOOLEAN, 8, NULL, 0x40,
6886 { &hf_dap_T_permission_rename,
6887 { "rename", "dap.rename",
6888 FT_BOOLEAN, 8, NULL, 0x20,
6890 { &hf_dap_T_permission_move,
6891 { "move", "dap.move",
6892 FT_BOOLEAN, 8, NULL, 0x10,
6894 { &hf_dap_HierarchySelections_self,
6895 { "self", "dap.self",
6896 FT_BOOLEAN, 8, NULL, 0x80,
6898 { &hf_dap_HierarchySelections_children,
6899 { "children", "dap.children",
6900 FT_BOOLEAN, 8, NULL, 0x40,
6902 { &hf_dap_HierarchySelections_parent,
6903 { "parent", "dap.parent",
6904 FT_BOOLEAN, 8, NULL, 0x20,
6906 { &hf_dap_HierarchySelections_hierarchy,
6907 { "hierarchy", "dap.hierarchy",
6908 FT_BOOLEAN, 8, NULL, 0x10,
6910 { &hf_dap_HierarchySelections_top,
6912 FT_BOOLEAN, 8, NULL, 0x08,
6914 { &hf_dap_HierarchySelections_subtree,
6915 { "subtree", "dap.subtree",
6916 FT_BOOLEAN, 8, NULL, 0x04,
6918 { &hf_dap_HierarchySelections_siblings,
6919 { "siblings", "dap.siblings",
6920 FT_BOOLEAN, 8, NULL, 0x02,
6922 { &hf_dap_HierarchySelections_siblingChildren,
6923 { "siblingChildren", "dap.siblingChildren",
6924 FT_BOOLEAN, 8, NULL, 0x01,
6926 { &hf_dap_HierarchySelections_siblingSubtree,
6927 { "siblingSubtree", "dap.siblingSubtree",
6928 FT_BOOLEAN, 8, NULL, 0x80,
6930 { &hf_dap_HierarchySelections_all,
6932 FT_BOOLEAN, 8, NULL, 0x40,
6934 { &hf_dap_SearchControlOptions_searchAliases,
6935 { "searchAliases", "dap.searchAliases",
6936 FT_BOOLEAN, 8, NULL, 0x80,
6938 { &hf_dap_SearchControlOptions_matchedValuesOnly,
6939 { "matchedValuesOnly", "dap.matchedValuesOnly",
6940 FT_BOOLEAN, 8, NULL, 0x40,
6942 { &hf_dap_SearchControlOptions_checkOverspecified,
6943 { "checkOverspecified", "dap.checkOverspecified",
6944 FT_BOOLEAN, 8, NULL, 0x20,
6946 { &hf_dap_SearchControlOptions_performExactly,
6947 { "performExactly", "dap.performExactly",
6948 FT_BOOLEAN, 8, NULL, 0x10,
6950 { &hf_dap_SearchControlOptions_includeAllAreas,
6951 { "includeAllAreas", "dap.includeAllAreas",
6952 FT_BOOLEAN, 8, NULL, 0x08,
6954 { &hf_dap_SearchControlOptions_noSystemRelaxation,
6955 { "noSystemRelaxation", "dap.noSystemRelaxation",
6956 FT_BOOLEAN, 8, NULL, 0x04,
6958 { &hf_dap_SearchControlOptions_dnAttribute,
6959 { "dnAttribute", "dap.dnAttribute",
6960 FT_BOOLEAN, 8, NULL, 0x02,
6962 { &hf_dap_SearchControlOptions_matchOnResidualName,
6963 { "matchOnResidualName", "dap.matchOnResidualName",
6964 FT_BOOLEAN, 8, NULL, 0x01,
6966 { &hf_dap_SearchControlOptions_entryCount,
6967 { "entryCount", "dap.entryCount",
6968 FT_BOOLEAN, 8, NULL, 0x80,
6970 { &hf_dap_SearchControlOptions_useSubset,
6971 { "useSubset", "dap.useSubset",
6972 FT_BOOLEAN, 8, NULL, 0x40,
6974 { &hf_dap_SearchControlOptions_separateFamilyMembers,
6975 { "separateFamilyMembers", "dap.separateFamilyMembers",
6976 FT_BOOLEAN, 8, NULL, 0x20,
6978 { &hf_dap_SearchControlOptions_searchFamily,
6979 { "searchFamily", "dap.searchFamily",
6980 FT_BOOLEAN, 8, NULL, 0x10,
6983 /*--- End of included file: packet-dap-hfarr.c ---*/
6984 #line 278 "packet-dap-template.c"
6987 /* List of subtrees */
6988 static gint *ett[] = {
6991 /*--- Included file: packet-dap-ettarr.c ---*/
6992 #line 1 "packet-dap-ettarr.c"
6993 &ett_dap_CommonResults,
6994 &ett_dap_SEQUENCE_OF_Attribute,
6995 &ett_dap_ServiceControls,
6996 &ett_dap_T_manageDSAITPlaneRef,
6997 &ett_dap_ServiceControlOptions,
6998 &ett_dap_EntryInformationSelection,
6999 &ett_dap_T_attributes,
7000 &ett_dap_SET_OF_AttributeType,
7001 &ett_dap_T_extraAttributes,
7002 &ett_dap_ContextSelection,
7003 &ett_dap_SET_OF_TypeAndContextAssertion,
7004 &ett_dap_TypeAndContextAssertion,
7005 &ett_dap_T_contextAssertions,
7006 &ett_dap_SEQUENCE_OF_ContextAssertion,
7007 &ett_dap_SET_OF_ContextAssertion,
7008 &ett_dap_FamilyReturn,
7009 &ett_dap_T_familySelect,
7010 &ett_dap_EntryInformation,
7011 &ett_dap_T_information,
7012 &ett_dap_EntryInformationItem,
7013 &ett_dap_FamilyEntries,
7014 &ett_dap_SEQUENCE_OF_FamilyEntry,
7015 &ett_dap_FamilyEntry,
7016 &ett_dap_FamilyInformation,
7017 &ett_dap_T_information_item,
7018 &ett_dap_SEQUENCE_OF_FamilyEntries,
7020 &ett_dap_SetOfFilter,
7021 &ett_dap_FilterItem,
7022 &ett_dap_T_substrings,
7024 &ett_dap_T_strings_item,
7025 &ett_dap_MatchingRuleAssertion,
7026 &ett_dap_T_matchingRule,
7027 &ett_dap_PagedResultsRequest,
7028 &ett_dap_T_newRequest,
7029 &ett_dap_SEQUENCE_OF_SortKey,
7031 &ett_dap_SecurityParameters,
7033 &ett_dap_DirectoryBindArgument,
7034 &ett_dap_Credentials,
7035 &ett_dap_SimpleCredentials,
7036 &ett_dap_T_validity,
7039 &ett_dap_T_password,
7040 &ett_dap_T_protected,
7041 &ett_dap_StrongCredentials,
7042 &ett_dap_SpkmCredentials,
7044 &ett_dap_DirectoryBindErrorData,
7046 &ett_dap_DirectoryBindError,
7047 &ett_dap_T_signedDirectoryBindError,
7048 &ett_dap_ReadArgumentData,
7050 &ett_dap_ReadArgument,
7051 &ett_dap_T_signedReadArgument,
7052 &ett_dap_ReadResultData,
7053 &ett_dap_ReadResult,
7054 &ett_dap_T_signedReadResult,
7055 &ett_dap_ModifyRights,
7056 &ett_dap_ModifyRights_item,
7058 &ett_dap_T_permission,
7059 &ett_dap_CompareArgumentData,
7060 &ett_dap_CompareArgument,
7061 &ett_dap_T_signedCompareArgument,
7062 &ett_dap_CompareResultData,
7063 &ett_dap_CompareResult,
7064 &ett_dap_T_signedCompareResult,
7065 &ett_dap_AbandonArgumentData,
7066 &ett_dap_AbandonArgument,
7067 &ett_dap_T_signedAbandonArgument,
7068 &ett_dap_AbandonResultData,
7069 &ett_dap_AbandonResult,
7070 &ett_dap_AbandonInformation,
7071 &ett_dap_T_signedAbandonResult,
7072 &ett_dap_ListArgumentData,
7073 &ett_dap_ListArgument,
7074 &ett_dap_T_signedListArgument,
7075 &ett_dap_ListResultData,
7076 &ett_dap_T_listInfo,
7077 &ett_dap_T_subordinates,
7078 &ett_dap_T_subordinates_item,
7079 &ett_dap_SET_OF_ListResult,
7080 &ett_dap_ListResult,
7081 &ett_dap_T_signedListResult,
7082 &ett_dap_PartialOutcomeQualifier,
7083 &ett_dap_SET_OF_ContinuationReference,
7084 &ett_dap_T_unknownErrors,
7085 &ett_dap_T_entryCount,
7086 &ett_dap_SearchArgumentData,
7087 &ett_dap_SEQUENCE_SIZE_1_MAX_OF_JoinArgument,
7088 &ett_dap_SearchArgument,
7089 &ett_dap_T_signedSearchArgument,
7090 &ett_dap_HierarchySelections,
7091 &ett_dap_SearchControlOptions,
7092 &ett_dap_JoinArgument,
7093 &ett_dap_SEQUENCE_OF_JoinAttPair,
7094 &ett_dap_JoinAttPair,
7095 &ett_dap_SEQUENCE_OF_JoinContextType,
7096 &ett_dap_SearchResultData,
7097 &ett_dap_T_searchInfo,
7098 &ett_dap_SET_OF_EntryInformation,
7099 &ett_dap_SET_OF_SearchResult,
7100 &ett_dap_SearchResult,
7101 &ett_dap_T_signedSearchResult,
7102 &ett_dap_AddEntryArgumentData,
7103 &ett_dap_SET_OF_Attribute,
7104 &ett_dap_AddEntryArgument,
7105 &ett_dap_T_signedAddEntryArgument,
7106 &ett_dap_AddEntryResultData,
7107 &ett_dap_AddEntryResult,
7108 &ett_dap_AddEntryInformation,
7109 &ett_dap_T_signedAddEntryResult,
7110 &ett_dap_RemoveEntryArgumentData,
7111 &ett_dap_RemoveEntryArgument,
7112 &ett_dap_T_signedRemoveEntryArgument,
7113 &ett_dap_RemoveEntryResultData,
7114 &ett_dap_RemoveEntryResult,
7115 &ett_dap_RemoveEntryInformation,
7116 &ett_dap_T_signedRemoveEntryResult,
7117 &ett_dap_ModifyEntryArgumentData,
7118 &ett_dap_SEQUENCE_OF_EntryModification,
7119 &ett_dap_ModifyEntryArgument,
7120 &ett_dap_T_signedModifyEntryArgument,
7121 &ett_dap_ModifyEntryResultData,
7122 &ett_dap_ModifyEntryResult,
7123 &ett_dap_ModifyEntryInformation,
7124 &ett_dap_T_signedModifyEntryResult,
7125 &ett_dap_EntryModification,
7126 &ett_dap_ModifyDNArgument,
7127 &ett_dap_ModifyDNResultData,
7128 &ett_dap_ModifyDNResult,
7129 &ett_dap_ModifyDNInformation,
7130 &ett_dap_T_signedModifyDNResult,
7131 &ett_dap_AbandonedData,
7133 &ett_dap_T_signedAbandoned,
7134 &ett_dap_AbandonFailedErrorData,
7135 &ett_dap_AbandonFailedError,
7136 &ett_dap_T_signedAbandonFailedError,
7137 &ett_dap_AttributeErrorData,
7138 &ett_dap_T_problems,
7139 &ett_dap_T_problems_item,
7140 &ett_dap_AttributeError,
7141 &ett_dap_T_signedAttributeError,
7142 &ett_dap_NameErrorData,
7144 &ett_dap_T_signedNameError,
7145 &ett_dap_ReferralData,
7147 &ett_dap_T_signedReferral,
7148 &ett_dap_SecurityErrorData,
7149 &ett_dap_SecurityError,
7150 &ett_dap_T_signedSecurityError,
7151 &ett_dap_ServiceErrorData,
7152 &ett_dap_ServiceError,
7153 &ett_dap_T_signedServiceError,
7154 &ett_dap_UpdateErrorData,
7155 &ett_dap_T_attributeInfo,
7156 &ett_dap_T_attributeInfo_item,
7157 &ett_dap_UpdateError,
7158 &ett_dap_T_signedUpdateError,
7160 /*--- End of included file: packet-dap-ettarr.c ---*/
7161 #line 284 "packet-dap-template.c"
7163 module_t *dap_module;
7165 /* Register protocol */
7166 proto_dap = proto_register_protocol(PNAME, PSNAME, PFNAME);
7167 register_dissector("dap", dissect_dap, proto_dap);
7169 /* Register fields and subtrees */
7170 proto_register_field_array(proto_dap, hf, array_length(hf));
7171 proto_register_subtree_array(ett, array_length(ett));
7173 /* Register our configuration options for DAP, particularly our port */
7175 #ifdef PREFERENCE_GROUPING
7176 dap_module = prefs_register_protocol_subtree("OSI/X.500", proto_dap, prefs_register_dap);
7178 dap_module = prefs_register_protocol(proto_dap, prefs_register_dap);
7181 prefs_register_uint_preference(dap_module, "tcp.port", "DAP TCP Port",
7182 "Set the port for DAP operations (if other"
7183 " than the default of 102)",
7184 10, &global_dap_tcp_port);
7189 /*--- proto_reg_handoff_dap --- */
7190 void proto_reg_handoff_dap(void) {
7191 dissector_handle_t handle = NULL;
7193 /* #include "packet-dap-dis-tab.c" */
7195 /* APPLICATION CONTEXT */
7197 register_ber_oid_name("2.5.3.1", "id-ac-directory-access");
7199 /* ABSTRACT SYNTAXES */
7201 /* Register DAP with ROS (with no use of RTSE) */
7202 if((handle = find_dissector("dap"))) {
7203 register_ros_oid_dissector_handle("2.5.9.1", handle, 0, "id-as-directory-access", FALSE);
7206 /* remember the tpkt handler for change in preferences */
7207 tpkt_handle = find_dissector("tpkt");
7209 /* AttributeValueAssertions */
7210 x509if_register_fmt(hf_dap_equality, "=");
7211 x509if_register_fmt(hf_dap_greaterOrEqual, ">=");
7212 x509if_register_fmt(hf_dap_lessOrEqual, "<=");
7213 x509if_register_fmt(hf_dap_approximateMatch, "=~");
7214 /* AttributeTypes */
7215 x509if_register_fmt(hf_dap_present, "= *");
7221 void prefs_register_dap(void) {
7223 /* de-register the old port */
7224 /* port 102 is registered by TPKT - don't undo this! */
7225 if((tcp_port != 102) && tpkt_handle)
7226 dissector_delete("tcp.port", tcp_port, tpkt_handle);
7228 /* Set our port number for future use */
7229 tcp_port = global_dap_tcp_port;
7231 if((tcp_port > 0) && (tcp_port != 102) && tpkt_handle)
7232 dissector_add("tcp.port", global_dap_tcp_port, tpkt_handle);