Coverage Report

Created: 2026-01-02 06:13

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