1 /* Do not modify this file. */
2 /* It is created automatically by the ASN.1 to Wireshark dissector compiler */
4 /* ../../tools/asn2wrs.py -b -e -p dsp -c ./dsp.cnf -s ./packet-dsp-template -D . dsp.asn */
6 /* Input file: packet-dsp-template.c */
8 #line 1 "packet-dsp-template.c"
10 * Routines for X.518 (X.500 Distributed Operations) packet dissection
15 * Wireshark - Network traffic analyzer
16 * By Gerald Combs <gerald@wireshark.org>
17 * Copyright 1998 Gerald Combs
19 * This program is free software; you can redistribute it and/or
20 * modify it under the terms of the GNU General Public License
21 * as published by the Free Software Foundation; either version 2
22 * of the License, or (at your option) any later version.
24 * This program is distributed in the hope that it will be useful,
25 * but WITHOUT ANY WARRANTY; without even the implied warranty of
26 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
27 * GNU General Public License for more details.
29 * You should have received a copy of the GNU General Public License
30 * along with this program; if not, write to the Free Software
31 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
39 #include <epan/packet.h>
40 #include <epan/prefs.h>
41 #include <epan/oids.h>
42 #include <epan/asn1.h>
47 #include "packet-ber.h"
48 #include "packet-acse.h"
49 #include "packet-ros.h"
51 #include "packet-x509if.h"
52 #include "packet-x509af.h"
53 #include "packet-x509sat.h"
55 #include "packet-dap.h"
56 #include "packet-dsp.h"
59 #define PNAME "X.519 Directory System Protocol"
63 static guint global_dsp_tcp_port = 102;
64 static dissector_handle_t tpkt_handle;
65 void prefs_register_dsp(void); /* forward declaration for use in preferences registration */
68 /* Initialize the protocol and registered fields */
69 static int proto_dsp = -1;
71 static struct SESSION_DATA_STRUCTURE* session = NULL;
74 /*--- Included file: packet-dsp-hf.c ---*/
75 #line 1 "packet-dsp-hf.c"
76 static int hf_dsp_AccessPoint_PDU = -1; /* AccessPoint */
77 static int hf_dsp_MasterAndShadowAccessPoints_PDU = -1; /* MasterAndShadowAccessPoints */
78 static int hf_dsp_DitBridgeKnowledge_PDU = -1; /* DitBridgeKnowledge */
79 static int hf_dsp_chainedArgument = -1; /* ChainingArguments */
80 static int hf_dsp_readArgument = -1; /* ReadArgument */
81 static int hf_dsp_unsignedChainedReadArgument = -1; /* ChainedReadArgumentData */
82 static int hf_dsp_signedChainedReadArgument = -1; /* T_signedChainedReadArgument */
83 static int hf_dsp_chainedReadArgument = -1; /* ChainedReadArgumentData */
84 static int hf_dsp_algorithmIdentifier = -1; /* AlgorithmIdentifier */
85 static int hf_dsp_encrypted = -1; /* BIT_STRING */
86 static int hf_dsp_chainedResults = -1; /* ChainingResults */
87 static int hf_dsp_readResult = -1; /* ReadResult */
88 static int hf_dsp_unsignedChainedReadResult = -1; /* ChainedReadResultData */
89 static int hf_dsp_signedChainedReadResult = -1; /* T_signedChainedReadResult */
90 static int hf_dsp_chainedReadResult = -1; /* ChainedReadResultData */
91 static int hf_dsp_compareArgument = -1; /* CompareArgument */
92 static int hf_dsp_unsignedChainedCompareArgument = -1; /* ChainedCompareArgumentData */
93 static int hf_dsp_signedChainedCompareArgument = -1; /* T_signedChainedCompareArgument */
94 static int hf_dsp_chainedCompareArgument = -1; /* ChainedCompareArgumentData */
95 static int hf_dsp_compareResult = -1; /* CompareResult */
96 static int hf_dsp_unsignedChainedCompareResult = -1; /* ChainedCompareResultData */
97 static int hf_dsp_signedChainedCompareResult = -1; /* T_signedChainedCompareResult */
98 static int hf_dsp_chainedCompareResult = -1; /* ChainedCompareResultData */
99 static int hf_dsp_listArgument = -1; /* ListArgument */
100 static int hf_dsp_unsignedChainedListArgument = -1; /* ChainedListArgumentData */
101 static int hf_dsp_signedChainedListArgument = -1; /* T_signedChainedListArgument */
102 static int hf_dsp_chainedListArgument = -1; /* ChainedListArgumentData */
103 static int hf_dsp_listResult = -1; /* ListResult */
104 static int hf_dsp_unsignedChainedListResult = -1; /* ChainedListResultData */
105 static int hf_dsp_signedChainedListResult = -1; /* T_signedChainedListResult */
106 static int hf_dsp_chainedListResult = -1; /* ChainedListResultData */
107 static int hf_dsp_searchArgument = -1; /* SearchArgument */
108 static int hf_dsp_unsignedChainedSearchArgument = -1; /* ChainedSearchArgumentData */
109 static int hf_dsp_signedChainedSearchArgument = -1; /* T_signedChainedSearchArgument */
110 static int hf_dsp_chainedSearchArgument = -1; /* ChainedSearchArgumentData */
111 static int hf_dsp_searchResult = -1; /* SearchResult */
112 static int hf_dsp_unsignedChainedSearchResult = -1; /* ChainedSearchResultData */
113 static int hf_dsp_signedChainedSearchResult = -1; /* T_signedChainedSearchResult */
114 static int hf_dsp_chainedSearchResult = -1; /* ChainedSearchResultData */
115 static int hf_dsp_addEntryArgument = -1; /* AddEntryArgument */
116 static int hf_dsp_unsignedChainedAddEntryArgument = -1; /* ChainedAddEntryArgumentData */
117 static int hf_dsp_signedChainedAddEntryArgument = -1; /* T_signedChainedAddEntryArgument */
118 static int hf_dsp_chainedAddEntryArgument = -1; /* ChainedAddEntryArgumentData */
119 static int hf_dsp_addEntryResult = -1; /* AddEntryResult */
120 static int hf_dsp_unsignedChainedAddEntryResult = -1; /* ChainedAddEntryResultData */
121 static int hf_dsp_signedChainedAddEntryResult = -1; /* T_signedChainedAddEntryResult */
122 static int hf_dsp_chainedAddEntryResult = -1; /* ChainedAddEntryResultData */
123 static int hf_dsp_removeEntryArgument = -1; /* RemoveEntryArgument */
124 static int hf_dsp_unsignedChainedRemoveEntryArgument = -1; /* ChainedRemoveEntryArgumentData */
125 static int hf_dsp_signedChainedRemoveEntryArgument = -1; /* T_signedChainedRemoveEntryArgument */
126 static int hf_dsp_chainedRemoveEntryArgument = -1; /* ChainedRemoveEntryArgumentData */
127 static int hf_dsp_removeEntryResult = -1; /* RemoveEntryResult */
128 static int hf_dsp_unsignedChainedRemoveEntryResult = -1; /* ChainedRemoveEntryResultData */
129 static int hf_dsp_signedChainedRemoveEntryResult = -1; /* T_signedChainedRemoveEntryResult */
130 static int hf_dsp_chainedRemoveEntryResult = -1; /* ChainedRemoveEntryResultData */
131 static int hf_dsp_modifyEntryArgument = -1; /* ModifyEntryArgument */
132 static int hf_dsp_unsignedChainedModifyEntryArgument = -1; /* ChainedModifyEntryArgumentData */
133 static int hf_dsp_signedChainedModifyEntryArgument = -1; /* T_signedChainedModifyEntryArgument */
134 static int hf_dsp_chainedModifyEntryArgument = -1; /* ChainedModifyEntryArgumentData */
135 static int hf_dsp_modifyEntryResult = -1; /* ModifyEntryResult */
136 static int hf_dsp_unsignedChainedModifyEntryResult = -1; /* ChainedModifyEntryResultData */
137 static int hf_dsp_signedChainedModifyEntryResult = -1; /* T_signedChainedModifyEntryResult */
138 static int hf_dsp_chainedModifyEntryResult = -1; /* ChainedModifyEntryResultData */
139 static int hf_dsp_modifyDNArgument = -1; /* ModifyDNArgument */
140 static int hf_dsp_unsignedChainedModifyDNArgument = -1; /* ChainedModifyDNArgumentData */
141 static int hf_dsp_signedChainedModifyDNArgument = -1; /* T_signedChainedModifyDNArgument */
142 static int hf_dsp_chainedModifyDNArgument = -1; /* ChainedModifyDNArgumentData */
143 static int hf_dsp_modifyDNResult = -1; /* ModifyDNResult */
144 static int hf_dsp_unsignedChainedModifyDNResult = -1; /* ChainedModifyDNResultData */
145 static int hf_dsp_signedChainedModifyDNResult = -1; /* T_signedChainedModifyDNResult */
146 static int hf_dsp_chainedModifyDNResult = -1; /* ChainedModifyDNResultData */
147 static int hf_dsp_reference = -1; /* ContinuationReference */
148 static int hf_dsp_contextPrefix = -1; /* DistinguishedName */
149 static int hf_dsp_securityParameters = -1; /* SecurityParameters */
150 static int hf_dsp_performer = -1; /* DistinguishedName */
151 static int hf_dsp_aliasDereferenced = -1; /* BOOLEAN */
152 static int hf_dsp_notification = -1; /* SEQUENCE_OF_Attribute */
153 static int hf_dsp_notification_item = -1; /* Attribute */
154 static int hf_dsp_unsignedDSAReferral = -1; /* DSAReferralData */
155 static int hf_dsp_signedDSAReferral = -1; /* T_signedDSAReferral */
156 static int hf_dsp_dsaReferral = -1; /* DSAReferralData */
157 static int hf_dsp_originator = -1; /* DistinguishedName */
158 static int hf_dsp_targetObjectDN = -1; /* DistinguishedName */
159 static int hf_dsp_operationProgress = -1; /* OperationProgress */
160 static int hf_dsp_traceInformation = -1; /* TraceInformation */
161 static int hf_dsp_aliasedRDNs = -1; /* INTEGER */
162 static int hf_dsp_returnCrossRefs = -1; /* BOOLEAN */
163 static int hf_dsp_referenceType = -1; /* ReferenceType */
164 static int hf_dsp_info = -1; /* DomainInfo */
165 static int hf_dsp_timeLimit = -1; /* Time */
166 static int hf_dsp_entryOnly = -1; /* BOOLEAN */
167 static int hf_dsp_uniqueIdentifier = -1; /* UniqueIdentifier */
168 static int hf_dsp_authenticationLevel = -1; /* AuthenticationLevel */
169 static int hf_dsp_exclusions = -1; /* Exclusions */
170 static int hf_dsp_excludeShadows = -1; /* BOOLEAN */
171 static int hf_dsp_nameResolveOnMaster = -1; /* BOOLEAN */
172 static int hf_dsp_operationIdentifier = -1; /* INTEGER */
173 static int hf_dsp_searchRuleId = -1; /* SearchRuleId */
174 static int hf_dsp_chainedRelaxation = -1; /* MRMapping */
175 static int hf_dsp_relatedEntry = -1; /* INTEGER */
176 static int hf_dsp_dspPaging = -1; /* BOOLEAN */
177 static int hf_dsp_nonDapPdu = -1; /* T_nonDapPdu */
178 static int hf_dsp_streamedResults = -1; /* INTEGER */
179 static int hf_dsp_excludeWriteableCopies = -1; /* BOOLEAN */
180 static int hf_dsp_utcTime = -1; /* UTCTime */
181 static int hf_dsp_generalizedTime = -1; /* GeneralizedTime */
182 static int hf_dsp_crossReferences = -1; /* SEQUENCE_OF_CrossReference */
183 static int hf_dsp_crossReferences_item = -1; /* CrossReference */
184 static int hf_dsp_alreadySearched = -1; /* Exclusions */
185 static int hf_dsp_accessPoint = -1; /* AccessPointInformation */
186 static int hf_dsp_nameResolutionPhase = -1; /* T_nameResolutionPhase */
187 static int hf_dsp_nextRDNToBeResolved = -1; /* INTEGER */
188 static int hf_dsp_TraceInformation_item = -1; /* TraceItem */
189 static int hf_dsp_dsa = -1; /* Name */
190 static int hf_dsp_targetObject = -1; /* Name */
191 static int hf_dsp_ae_title = -1; /* Name */
192 static int hf_dsp_address = -1; /* PresentationAddress */
193 static int hf_dsp_protocolInformation = -1; /* SET_OF_ProtocolInformation */
194 static int hf_dsp_protocolInformation_item = -1; /* ProtocolInformation */
195 static int hf_dsp_labeledURI = -1; /* LabeledURI */
196 static int hf_dsp_access_point_category = -1; /* APCategory */
197 static int hf_dsp_chainingRequired = -1; /* BOOLEAN */
198 static int hf_dsp_MasterAndShadowAccessPoints_item = -1; /* MasterOrShadowAccessPoint */
199 static int hf_dsp_category = -1; /* T_category */
200 static int hf_dsp_additionalPoints = -1; /* MasterAndShadowAccessPoints */
201 static int hf_dsp_domainLocalID = -1; /* DirectoryString */
202 static int hf_dsp_accessPoints = -1; /* MasterAndShadowAccessPoints */
203 static int hf_dsp_Exclusions_item = -1; /* RDNSequence */
204 static int hf_dsp_rdnsResolved = -1; /* INTEGER */
205 static int hf_dsp_accessPoints_01 = -1; /* SET_OF_AccessPointInformation */
206 static int hf_dsp_accessPoints_item = -1; /* AccessPointInformation */
207 static int hf_dsp_returnToDUA = -1; /* BOOLEAN */
208 static int hf_dsp_basicLevels = -1; /* T_basicLevels */
209 static int hf_dsp_level = -1; /* T_level */
210 static int hf_dsp_localQualifier = -1; /* INTEGER */
211 static int hf_dsp_signed = -1; /* BOOLEAN */
212 static int hf_dsp_other = -1; /* EXTERNAL */
214 /*--- End of included file: packet-dsp-hf.c ---*/
215 #line 66 "packet-dsp-template.c"
217 /* Initialize the subtree pointers */
218 static gint ett_dsp = -1;
220 /*--- Included file: packet-dsp-ett.c ---*/
221 #line 1 "packet-dsp-ett.c"
222 static gint ett_dsp_ChainedReadArgumentData = -1;
223 static gint ett_dsp_ChainedReadArgument = -1;
224 static gint ett_dsp_T_signedChainedReadArgument = -1;
225 static gint ett_dsp_ChainedReadResultData = -1;
226 static gint ett_dsp_ChainedReadResult = -1;
227 static gint ett_dsp_T_signedChainedReadResult = -1;
228 static gint ett_dsp_ChainedCompareArgumentData = -1;
229 static gint ett_dsp_ChainedCompareArgument = -1;
230 static gint ett_dsp_T_signedChainedCompareArgument = -1;
231 static gint ett_dsp_ChainedCompareResultData = -1;
232 static gint ett_dsp_ChainedCompareResult = -1;
233 static gint ett_dsp_T_signedChainedCompareResult = -1;
234 static gint ett_dsp_ChainedListArgumentData = -1;
235 static gint ett_dsp_ChainedListArgument = -1;
236 static gint ett_dsp_T_signedChainedListArgument = -1;
237 static gint ett_dsp_ChainedListResultData = -1;
238 static gint ett_dsp_ChainedListResult = -1;
239 static gint ett_dsp_T_signedChainedListResult = -1;
240 static gint ett_dsp_ChainedSearchArgumentData = -1;
241 static gint ett_dsp_ChainedSearchArgument = -1;
242 static gint ett_dsp_T_signedChainedSearchArgument = -1;
243 static gint ett_dsp_ChainedSearchResultData = -1;
244 static gint ett_dsp_ChainedSearchResult = -1;
245 static gint ett_dsp_T_signedChainedSearchResult = -1;
246 static gint ett_dsp_ChainedAddEntryArgumentData = -1;
247 static gint ett_dsp_ChainedAddEntryArgument = -1;
248 static gint ett_dsp_T_signedChainedAddEntryArgument = -1;
249 static gint ett_dsp_ChainedAddEntryResultData = -1;
250 static gint ett_dsp_ChainedAddEntryResult = -1;
251 static gint ett_dsp_T_signedChainedAddEntryResult = -1;
252 static gint ett_dsp_ChainedRemoveEntryArgumentData = -1;
253 static gint ett_dsp_ChainedRemoveEntryArgument = -1;
254 static gint ett_dsp_T_signedChainedRemoveEntryArgument = -1;
255 static gint ett_dsp_ChainedRemoveEntryResultData = -1;
256 static gint ett_dsp_ChainedRemoveEntryResult = -1;
257 static gint ett_dsp_T_signedChainedRemoveEntryResult = -1;
258 static gint ett_dsp_ChainedModifyEntryArgumentData = -1;
259 static gint ett_dsp_ChainedModifyEntryArgument = -1;
260 static gint ett_dsp_T_signedChainedModifyEntryArgument = -1;
261 static gint ett_dsp_ChainedModifyEntryResultData = -1;
262 static gint ett_dsp_ChainedModifyEntryResult = -1;
263 static gint ett_dsp_T_signedChainedModifyEntryResult = -1;
264 static gint ett_dsp_ChainedModifyDNArgumentData = -1;
265 static gint ett_dsp_ChainedModifyDNArgument = -1;
266 static gint ett_dsp_T_signedChainedModifyDNArgument = -1;
267 static gint ett_dsp_ChainedModifyDNResultData = -1;
268 static gint ett_dsp_ChainedModifyDNResult = -1;
269 static gint ett_dsp_T_signedChainedModifyDNResult = -1;
270 static gint ett_dsp_DSAReferralData = -1;
271 static gint ett_dsp_SEQUENCE_OF_Attribute = -1;
272 static gint ett_dsp_DSAReferral = -1;
273 static gint ett_dsp_T_signedDSAReferral = -1;
274 static gint ett_dsp_ChainingArguments = -1;
275 static gint ett_dsp_Time = -1;
276 static gint ett_dsp_ChainingResults = -1;
277 static gint ett_dsp_SEQUENCE_OF_CrossReference = -1;
278 static gint ett_dsp_CrossReference = -1;
279 static gint ett_dsp_OperationProgress = -1;
280 static gint ett_dsp_TraceInformation = -1;
281 static gint ett_dsp_TraceItem = -1;
282 static gint ett_dsp_AccessPoint = -1;
283 static gint ett_dsp_SET_OF_ProtocolInformation = -1;
284 static gint ett_dsp_MasterOrShadowAccessPoint = -1;
285 static gint ett_dsp_MasterAndShadowAccessPoints = -1;
286 static gint ett_dsp_AccessPointInformation = -1;
287 static gint ett_dsp_DitBridgeKnowledge = -1;
288 static gint ett_dsp_Exclusions = -1;
289 static gint ett_dsp_ContinuationReference = -1;
290 static gint ett_dsp_SET_OF_AccessPointInformation = -1;
291 static gint ett_dsp_AuthenticationLevel = -1;
292 static gint ett_dsp_T_basicLevels = -1;
294 /*--- End of included file: packet-dsp-ett.c ---*/
295 #line 70 "packet-dsp-template.c"
298 /*--- Included file: packet-dsp-fn.c ---*/
299 #line 1 "packet-dsp-fn.c"
303 dissect_dsp_DSASystemBindArgument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
304 offset = dissect_dap_DirectoryBindArgument(implicit_tag, tvb, offset, actx, tree, hf_index);
312 dissect_dsp_DSASystemBindResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
313 offset = dissect_dap_DirectoryBindArgument(implicit_tag, tvb, offset, actx, tree, hf_index);
321 dissect_dsp_DSASystemBindError(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
322 offset = dissect_dap_DirectoryBindError(implicit_tag, tvb, offset, actx, tree, hf_index);
328 static const value_string dsp_T_nameResolutionPhase_vals[] = {
337 dissect_dsp_T_nameResolutionPhase(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
338 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
347 dissect_dsp_INTEGER(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
348 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
355 static const ber_sequence_t OperationProgress_set[] = {
356 { &hf_dsp_nameResolutionPhase, BER_CLASS_CON, 0, 0, dissect_dsp_T_nameResolutionPhase },
357 { &hf_dsp_nextRDNToBeResolved, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_dsp_INTEGER },
358 { NULL, 0, 0, 0, NULL }
362 dissect_dsp_OperationProgress(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
363 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
364 OperationProgress_set, hf_index, ett_dsp_OperationProgress);
370 static const ber_sequence_t TraceItem_set[] = {
371 { &hf_dsp_dsa , BER_CLASS_CON, 0, 0, dissect_x509if_Name },
372 { &hf_dsp_targetObject , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_x509if_Name },
373 { &hf_dsp_operationProgress, BER_CLASS_CON, 2, 0, dissect_dsp_OperationProgress },
374 { NULL, 0, 0, 0, NULL }
378 dissect_dsp_TraceItem(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
379 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
380 TraceItem_set, hf_index, ett_dsp_TraceItem);
386 static const ber_sequence_t TraceInformation_sequence_of[1] = {
387 { &hf_dsp_TraceInformation_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_TraceItem },
391 dissect_dsp_TraceInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
392 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
393 TraceInformation_sequence_of, hf_index, ett_dsp_TraceInformation);
401 dissect_dsp_BOOLEAN(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
402 offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
408 const value_string dsp_ReferenceType_vals[] = {
410 { 2, "subordinate" },
412 { 4, "nonSpecificSubordinate" },
415 { 7, "immediateSuperior" },
423 dissect_dsp_ReferenceType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
424 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
433 dissect_dsp_DomainInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
434 offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
442 dissect_dsp_UTCTime(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
443 offset = dissect_ber_UTCTime(implicit_tag, actx, tree, tvb, offset, hf_index);
451 dissect_dsp_GeneralizedTime(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
452 offset = dissect_ber_GeneralizedTime(implicit_tag, actx, tree, tvb, offset, hf_index);
458 static const value_string dsp_Time_vals[] = {
460 { 1, "generalizedTime" },
464 static const ber_choice_t Time_choice[] = {
465 { 0, &hf_dsp_utcTime , BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_NOOWNTAG, dissect_dsp_UTCTime },
466 { 1, &hf_dsp_generalizedTime , BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_NOOWNTAG, dissect_dsp_GeneralizedTime },
467 { 0, NULL, 0, 0, 0, NULL }
471 dissect_dsp_Time(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
472 offset = dissect_ber_choice(actx, tree, tvb, offset,
473 Time_choice, hf_index, ett_dsp_Time,
480 static const value_string dsp_T_level_vals[] = {
489 dissect_dsp_T_level(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
490 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
497 static const ber_sequence_t T_basicLevels_sequence[] = {
498 { &hf_dsp_level , BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_dsp_T_level },
499 { &hf_dsp_localQualifier , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_dsp_INTEGER },
500 { &hf_dsp_signed , BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_dsp_BOOLEAN },
501 { NULL, 0, 0, 0, NULL }
505 dissect_dsp_T_basicLevels(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
506 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
507 T_basicLevels_sequence, hf_index, ett_dsp_T_basicLevels);
515 dissect_dsp_EXTERNAL(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
516 offset = dissect_ber_external_type(implicit_tag, tree, tvb, offset, actx, hf_index, NULL);
522 static const value_string dsp_AuthenticationLevel_vals[] = {
523 { 0, "basicLevels" },
528 static const ber_choice_t AuthenticationLevel_choice[] = {
529 { 0, &hf_dsp_basicLevels , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dsp_T_basicLevels },
530 { 1, &hf_dsp_other , BER_CLASS_UNI, BER_UNI_TAG_EXTERNAL, BER_FLAGS_NOOWNTAG, dissect_dsp_EXTERNAL },
531 { 0, NULL, 0, 0, 0, NULL }
535 dissect_dsp_AuthenticationLevel(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
536 offset = dissect_ber_choice(actx, tree, tvb, offset,
537 AuthenticationLevel_choice, hf_index, ett_dsp_AuthenticationLevel,
544 static const ber_sequence_t Exclusions_set_of[1] = {
545 { &hf_dsp_Exclusions_item , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509if_RDNSequence },
549 dissect_dsp_Exclusions(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
550 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
551 Exclusions_set_of, hf_index, ett_dsp_Exclusions);
557 static const value_string dsp_T_nonDapPdu_vals[] = {
564 dissect_dsp_T_nonDapPdu(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
565 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
572 static const ber_sequence_t ChainingArguments_set[] = {
573 { &hf_dsp_originator , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_x509if_DistinguishedName },
574 { &hf_dsp_targetObjectDN , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_x509if_DistinguishedName },
575 { &hf_dsp_operationProgress, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_dsp_OperationProgress },
576 { &hf_dsp_traceInformation, BER_CLASS_CON, 3, 0, dissect_dsp_TraceInformation },
577 { &hf_dsp_aliasDereferenced, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_dsp_BOOLEAN },
578 { &hf_dsp_aliasedRDNs , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL, dissect_dsp_INTEGER },
579 { &hf_dsp_returnCrossRefs , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL, dissect_dsp_BOOLEAN },
580 { &hf_dsp_referenceType , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL, dissect_dsp_ReferenceType },
581 { &hf_dsp_info , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL, dissect_dsp_DomainInfo },
582 { &hf_dsp_timeLimit , BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_dsp_Time },
583 { &hf_dsp_securityParameters, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL, dissect_dap_SecurityParameters },
584 { &hf_dsp_entryOnly , BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL, dissect_dsp_BOOLEAN },
585 { &hf_dsp_uniqueIdentifier, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL, dissect_x509sat_UniqueIdentifier },
586 { &hf_dsp_authenticationLevel, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_dsp_AuthenticationLevel },
587 { &hf_dsp_exclusions , BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL, dissect_dsp_Exclusions },
588 { &hf_dsp_excludeShadows , BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL, dissect_dsp_BOOLEAN },
589 { &hf_dsp_nameResolveOnMaster, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL, dissect_dsp_BOOLEAN },
590 { &hf_dsp_operationIdentifier, BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL, dissect_dsp_INTEGER },
591 { &hf_dsp_searchRuleId , BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL, dissect_x509if_SearchRuleId },
592 { &hf_dsp_chainedRelaxation, BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL, dissect_x509if_MRMapping },
593 { &hf_dsp_relatedEntry , BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL, dissect_dsp_INTEGER },
594 { &hf_dsp_dspPaging , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL, dissect_dsp_BOOLEAN },
595 { &hf_dsp_nonDapPdu , BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL, dissect_dsp_T_nonDapPdu },
596 { &hf_dsp_streamedResults , BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL, dissect_dsp_INTEGER },
597 { &hf_dsp_excludeWriteableCopies, BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL, dissect_dsp_BOOLEAN },
598 { NULL, 0, 0, 0, NULL }
602 dissect_dsp_ChainingArguments(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
603 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
604 ChainingArguments_set, hf_index, ett_dsp_ChainingArguments);
610 static const ber_sequence_t ChainedReadArgumentData_set[] = {
611 { &hf_dsp_chainedArgument , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainingArguments },
612 { &hf_dsp_readArgument , BER_CLASS_CON, 0, 0, dissect_dap_ReadArgument },
613 { NULL, 0, 0, 0, NULL }
617 dissect_dsp_ChainedReadArgumentData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
618 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
619 ChainedReadArgumentData_set, hf_index, ett_dsp_ChainedReadArgumentData);
627 dissect_dsp_BIT_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
628 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
636 static const ber_sequence_t T_signedChainedReadArgument_sequence[] = {
637 { &hf_dsp_chainedReadArgument, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainedReadArgumentData },
638 { &hf_dsp_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
639 { &hf_dsp_encrypted , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_dsp_BIT_STRING },
640 { NULL, 0, 0, 0, NULL }
644 dissect_dsp_T_signedChainedReadArgument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
645 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
646 T_signedChainedReadArgument_sequence, hf_index, ett_dsp_T_signedChainedReadArgument);
652 static const value_string dsp_ChainedReadArgument_vals[] = {
653 { 0, "unsignedChainedReadArgument" },
654 { 1, "signedChainedReadArgument" },
658 static const ber_choice_t ChainedReadArgument_choice[] = {
659 { 0, &hf_dsp_unsignedChainedReadArgument, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainedReadArgumentData },
660 { 1, &hf_dsp_signedChainedReadArgument, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dsp_T_signedChainedReadArgument },
661 { 0, NULL, 0, 0, 0, NULL }
665 dissect_dsp_ChainedReadArgument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
666 offset = dissect_ber_choice(actx, tree, tvb, offset,
667 ChainedReadArgument_choice, hf_index, ett_dsp_ChainedReadArgument,
674 static const ber_sequence_t SET_OF_ProtocolInformation_set_of[1] = {
675 { &hf_dsp_protocolInformation_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509sat_ProtocolInformation },
679 dissect_dsp_SET_OF_ProtocolInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
680 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
681 SET_OF_ProtocolInformation_set_of, hf_index, ett_dsp_SET_OF_ProtocolInformation);
687 static const value_string dsp_T_category_vals[] = {
695 dissect_dsp_T_category(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
696 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
703 static const value_string dsp_APCategory_vals[] = {
711 dissect_dsp_APCategory(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
712 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
719 static const ber_sequence_t MasterOrShadowAccessPoint_set[] = {
720 { &hf_dsp_ae_title , BER_CLASS_CON, 0, 0, dissect_x509if_Name },
721 { &hf_dsp_address , BER_CLASS_CON, 1, 0, dissect_x509sat_PresentationAddress },
722 { &hf_dsp_protocolInformation, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_dsp_SET_OF_ProtocolInformation },
723 { &hf_dsp_access_point_category, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_dsp_APCategory },
724 { &hf_dsp_chainingRequired, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL, dissect_dsp_BOOLEAN },
725 { NULL, 0, 0, 0, NULL }
729 dissect_dsp_MasterOrShadowAccessPoint(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
730 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
731 MasterOrShadowAccessPoint_set, hf_index, ett_dsp_MasterOrShadowAccessPoint);
737 static const ber_sequence_t MasterAndShadowAccessPoints_set_of[1] = {
738 { &hf_dsp_MasterAndShadowAccessPoints_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_MasterOrShadowAccessPoint },
742 dissect_dsp_MasterAndShadowAccessPoints(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
743 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
744 MasterAndShadowAccessPoints_set_of, hf_index, ett_dsp_MasterAndShadowAccessPoints);
750 static const ber_sequence_t AccessPointInformation_set[] = {
751 { &hf_dsp_ae_title , BER_CLASS_CON, 0, 0, dissect_x509if_Name },
752 { &hf_dsp_address , BER_CLASS_CON, 1, 0, dissect_x509sat_PresentationAddress },
753 { &hf_dsp_protocolInformation, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_dsp_SET_OF_ProtocolInformation },
754 { &hf_dsp_category , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_dsp_T_category },
755 { &hf_dsp_chainingRequired, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL, dissect_dsp_BOOLEAN },
756 { &hf_dsp_additionalPoints, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_dsp_MasterAndShadowAccessPoints },
757 { NULL, 0, 0, 0, NULL }
761 dissect_dsp_AccessPointInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
762 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
763 AccessPointInformation_set, hf_index, ett_dsp_AccessPointInformation);
769 static const ber_sequence_t CrossReference_set[] = {
770 { &hf_dsp_contextPrefix , BER_CLASS_CON, 0, 0, dissect_x509if_DistinguishedName },
771 { &hf_dsp_accessPoint , BER_CLASS_CON, 1, 0, dissect_dsp_AccessPointInformation },
772 { NULL, 0, 0, 0, NULL }
776 dissect_dsp_CrossReference(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
777 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
778 CrossReference_set, hf_index, ett_dsp_CrossReference);
784 static const ber_sequence_t SEQUENCE_OF_CrossReference_sequence_of[1] = {
785 { &hf_dsp_crossReferences_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_CrossReference },
789 dissect_dsp_SEQUENCE_OF_CrossReference(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
790 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
791 SEQUENCE_OF_CrossReference_sequence_of, hf_index, ett_dsp_SEQUENCE_OF_CrossReference);
797 static const ber_sequence_t ChainingResults_set[] = {
798 { &hf_dsp_info , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_dsp_DomainInfo },
799 { &hf_dsp_crossReferences , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_dsp_SEQUENCE_OF_CrossReference },
800 { &hf_dsp_securityParameters, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_dap_SecurityParameters },
801 { &hf_dsp_alreadySearched , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_dsp_Exclusions },
802 { NULL, 0, 0, 0, NULL }
806 dissect_dsp_ChainingResults(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
807 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
808 ChainingResults_set, hf_index, ett_dsp_ChainingResults);
814 static const ber_sequence_t ChainedReadResultData_set[] = {
815 { &hf_dsp_chainedResults , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainingResults },
816 { &hf_dsp_readResult , BER_CLASS_CON, 0, 0, dissect_dap_ReadResult },
817 { NULL, 0, 0, 0, NULL }
821 dissect_dsp_ChainedReadResultData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
822 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
823 ChainedReadResultData_set, hf_index, ett_dsp_ChainedReadResultData);
829 static const ber_sequence_t T_signedChainedReadResult_sequence[] = {
830 { &hf_dsp_chainedReadResult, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainedReadResultData },
831 { &hf_dsp_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
832 { &hf_dsp_encrypted , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_dsp_BIT_STRING },
833 { NULL, 0, 0, 0, NULL }
837 dissect_dsp_T_signedChainedReadResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
838 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
839 T_signedChainedReadResult_sequence, hf_index, ett_dsp_T_signedChainedReadResult);
845 static const value_string dsp_ChainedReadResult_vals[] = {
846 { 0, "unsignedChainedReadResult" },
847 { 1, "signedChainedReadResult" },
851 static const ber_choice_t ChainedReadResult_choice[] = {
852 { 0, &hf_dsp_unsignedChainedReadResult, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainedReadResultData },
853 { 1, &hf_dsp_signedChainedReadResult, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dsp_T_signedChainedReadResult },
854 { 0, NULL, 0, 0, 0, NULL }
858 dissect_dsp_ChainedReadResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
859 offset = dissect_ber_choice(actx, tree, tvb, offset,
860 ChainedReadResult_choice, hf_index, ett_dsp_ChainedReadResult,
867 static const ber_sequence_t ChainedCompareArgumentData_set[] = {
868 { &hf_dsp_chainedArgument , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainingArguments },
869 { &hf_dsp_compareArgument , BER_CLASS_CON, 0, 0, dissect_dap_CompareArgument },
870 { NULL, 0, 0, 0, NULL }
874 dissect_dsp_ChainedCompareArgumentData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
875 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
876 ChainedCompareArgumentData_set, hf_index, ett_dsp_ChainedCompareArgumentData);
882 static const ber_sequence_t T_signedChainedCompareArgument_sequence[] = {
883 { &hf_dsp_chainedCompareArgument, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainedCompareArgumentData },
884 { &hf_dsp_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
885 { &hf_dsp_encrypted , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_dsp_BIT_STRING },
886 { NULL, 0, 0, 0, NULL }
890 dissect_dsp_T_signedChainedCompareArgument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
891 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
892 T_signedChainedCompareArgument_sequence, hf_index, ett_dsp_T_signedChainedCompareArgument);
898 static const value_string dsp_ChainedCompareArgument_vals[] = {
899 { 0, "unsignedChainedCompareArgument" },
900 { 1, "signedChainedCompareArgument" },
904 static const ber_choice_t ChainedCompareArgument_choice[] = {
905 { 0, &hf_dsp_unsignedChainedCompareArgument, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainedCompareArgumentData },
906 { 1, &hf_dsp_signedChainedCompareArgument, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dsp_T_signedChainedCompareArgument },
907 { 0, NULL, 0, 0, 0, NULL }
911 dissect_dsp_ChainedCompareArgument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
912 offset = dissect_ber_choice(actx, tree, tvb, offset,
913 ChainedCompareArgument_choice, hf_index, ett_dsp_ChainedCompareArgument,
920 static const ber_sequence_t ChainedCompareResultData_set[] = {
921 { &hf_dsp_chainedResults , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainingResults },
922 { &hf_dsp_compareResult , BER_CLASS_CON, 0, 0, dissect_dap_CompareResult },
923 { NULL, 0, 0, 0, NULL }
927 dissect_dsp_ChainedCompareResultData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
928 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
929 ChainedCompareResultData_set, hf_index, ett_dsp_ChainedCompareResultData);
935 static const ber_sequence_t T_signedChainedCompareResult_sequence[] = {
936 { &hf_dsp_chainedCompareResult, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainedCompareResultData },
937 { &hf_dsp_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
938 { &hf_dsp_encrypted , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_dsp_BIT_STRING },
939 { NULL, 0, 0, 0, NULL }
943 dissect_dsp_T_signedChainedCompareResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
944 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
945 T_signedChainedCompareResult_sequence, hf_index, ett_dsp_T_signedChainedCompareResult);
951 static const value_string dsp_ChainedCompareResult_vals[] = {
952 { 0, "unsignedChainedCompareResult" },
953 { 1, "signedChainedCompareResult" },
957 static const ber_choice_t ChainedCompareResult_choice[] = {
958 { 0, &hf_dsp_unsignedChainedCompareResult, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainedCompareResultData },
959 { 1, &hf_dsp_signedChainedCompareResult, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dsp_T_signedChainedCompareResult },
960 { 0, NULL, 0, 0, 0, NULL }
964 dissect_dsp_ChainedCompareResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
965 offset = dissect_ber_choice(actx, tree, tvb, offset,
966 ChainedCompareResult_choice, hf_index, ett_dsp_ChainedCompareResult,
975 dissect_dsp_ChainedAbandonArgument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
976 offset = dissect_dap_AbandonArgument(implicit_tag, tvb, offset, actx, tree, hf_index);
984 dissect_dsp_ChainedAbandonResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
985 offset = dissect_dap_AbandonResult(implicit_tag, tvb, offset, actx, tree, hf_index);
991 static const ber_sequence_t ChainedListArgumentData_set[] = {
992 { &hf_dsp_chainedArgument , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainingArguments },
993 { &hf_dsp_listArgument , BER_CLASS_CON, 0, 0, dissect_dap_ListArgument },
994 { NULL, 0, 0, 0, NULL }
998 dissect_dsp_ChainedListArgumentData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
999 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1000 ChainedListArgumentData_set, hf_index, ett_dsp_ChainedListArgumentData);
1006 static const ber_sequence_t T_signedChainedListArgument_sequence[] = {
1007 { &hf_dsp_chainedListArgument, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainedListArgumentData },
1008 { &hf_dsp_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
1009 { &hf_dsp_encrypted , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_dsp_BIT_STRING },
1010 { NULL, 0, 0, 0, NULL }
1014 dissect_dsp_T_signedChainedListArgument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1015 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1016 T_signedChainedListArgument_sequence, hf_index, ett_dsp_T_signedChainedListArgument);
1022 static const value_string dsp_ChainedListArgument_vals[] = {
1023 { 0, "unsignedChainedListArgument" },
1024 { 1, "signedChainedListArgument" },
1028 static const ber_choice_t ChainedListArgument_choice[] = {
1029 { 0, &hf_dsp_unsignedChainedListArgument, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainedListArgumentData },
1030 { 1, &hf_dsp_signedChainedListArgument, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dsp_T_signedChainedListArgument },
1031 { 0, NULL, 0, 0, 0, NULL }
1035 dissect_dsp_ChainedListArgument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1036 offset = dissect_ber_choice(actx, tree, tvb, offset,
1037 ChainedListArgument_choice, hf_index, ett_dsp_ChainedListArgument,
1044 static const ber_sequence_t ChainedListResultData_set[] = {
1045 { &hf_dsp_chainedResults , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainingResults },
1046 { &hf_dsp_listResult , BER_CLASS_CON, 0, 0, dissect_dap_ListResult },
1047 { NULL, 0, 0, 0, NULL }
1051 dissect_dsp_ChainedListResultData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1052 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1053 ChainedListResultData_set, hf_index, ett_dsp_ChainedListResultData);
1059 static const ber_sequence_t T_signedChainedListResult_sequence[] = {
1060 { &hf_dsp_chainedListResult, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainedListResultData },
1061 { &hf_dsp_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
1062 { &hf_dsp_encrypted , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_dsp_BIT_STRING },
1063 { NULL, 0, 0, 0, NULL }
1067 dissect_dsp_T_signedChainedListResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1068 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1069 T_signedChainedListResult_sequence, hf_index, ett_dsp_T_signedChainedListResult);
1075 static const value_string dsp_ChainedListResult_vals[] = {
1076 { 0, "unsignedChainedListResult" },
1077 { 1, "signedChainedListResult" },
1081 static const ber_choice_t ChainedListResult_choice[] = {
1082 { 0, &hf_dsp_unsignedChainedListResult, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainedListResultData },
1083 { 1, &hf_dsp_signedChainedListResult, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dsp_T_signedChainedListResult },
1084 { 0, NULL, 0, 0, 0, NULL }
1088 dissect_dsp_ChainedListResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1089 offset = dissect_ber_choice(actx, tree, tvb, offset,
1090 ChainedListResult_choice, hf_index, ett_dsp_ChainedListResult,
1097 static const ber_sequence_t ChainedSearchArgumentData_set[] = {
1098 { &hf_dsp_chainedArgument , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainingArguments },
1099 { &hf_dsp_searchArgument , BER_CLASS_CON, 0, 0, dissect_dap_SearchArgument },
1100 { NULL, 0, 0, 0, NULL }
1104 dissect_dsp_ChainedSearchArgumentData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1105 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1106 ChainedSearchArgumentData_set, hf_index, ett_dsp_ChainedSearchArgumentData);
1112 static const ber_sequence_t T_signedChainedSearchArgument_sequence[] = {
1113 { &hf_dsp_chainedSearchArgument, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainedSearchArgumentData },
1114 { &hf_dsp_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
1115 { &hf_dsp_encrypted , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_dsp_BIT_STRING },
1116 { NULL, 0, 0, 0, NULL }
1120 dissect_dsp_T_signedChainedSearchArgument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1121 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1122 T_signedChainedSearchArgument_sequence, hf_index, ett_dsp_T_signedChainedSearchArgument);
1128 static const value_string dsp_ChainedSearchArgument_vals[] = {
1129 { 0, "unsignedChainedSearchArgument" },
1130 { 1, "signedChainedSearchArgument" },
1134 static const ber_choice_t ChainedSearchArgument_choice[] = {
1135 { 0, &hf_dsp_unsignedChainedSearchArgument, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainedSearchArgumentData },
1136 { 1, &hf_dsp_signedChainedSearchArgument, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dsp_T_signedChainedSearchArgument },
1137 { 0, NULL, 0, 0, 0, NULL }
1141 dissect_dsp_ChainedSearchArgument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1142 offset = dissect_ber_choice(actx, tree, tvb, offset,
1143 ChainedSearchArgument_choice, hf_index, ett_dsp_ChainedSearchArgument,
1150 static const ber_sequence_t ChainedSearchResultData_set[] = {
1151 { &hf_dsp_chainedResults , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainingResults },
1152 { &hf_dsp_searchResult , BER_CLASS_CON, 0, 0, dissect_dap_SearchResult },
1153 { NULL, 0, 0, 0, NULL }
1157 dissect_dsp_ChainedSearchResultData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1158 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1159 ChainedSearchResultData_set, hf_index, ett_dsp_ChainedSearchResultData);
1165 static const ber_sequence_t T_signedChainedSearchResult_sequence[] = {
1166 { &hf_dsp_chainedSearchResult, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainedSearchResultData },
1167 { &hf_dsp_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
1168 { &hf_dsp_encrypted , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_dsp_BIT_STRING },
1169 { NULL, 0, 0, 0, NULL }
1173 dissect_dsp_T_signedChainedSearchResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1174 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1175 T_signedChainedSearchResult_sequence, hf_index, ett_dsp_T_signedChainedSearchResult);
1181 static const value_string dsp_ChainedSearchResult_vals[] = {
1182 { 0, "unsignedChainedSearchResult" },
1183 { 1, "signedChainedSearchResult" },
1187 static const ber_choice_t ChainedSearchResult_choice[] = {
1188 { 0, &hf_dsp_unsignedChainedSearchResult, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainedSearchResultData },
1189 { 1, &hf_dsp_signedChainedSearchResult, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dsp_T_signedChainedSearchResult },
1190 { 0, NULL, 0, 0, 0, NULL }
1194 dissect_dsp_ChainedSearchResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1195 offset = dissect_ber_choice(actx, tree, tvb, offset,
1196 ChainedSearchResult_choice, hf_index, ett_dsp_ChainedSearchResult,
1203 static const ber_sequence_t ChainedAddEntryArgumentData_set[] = {
1204 { &hf_dsp_chainedArgument , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainingArguments },
1205 { &hf_dsp_addEntryArgument, BER_CLASS_CON, 0, 0, dissect_dap_AddEntryArgument },
1206 { NULL, 0, 0, 0, NULL }
1210 dissect_dsp_ChainedAddEntryArgumentData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1211 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1212 ChainedAddEntryArgumentData_set, hf_index, ett_dsp_ChainedAddEntryArgumentData);
1218 static const ber_sequence_t T_signedChainedAddEntryArgument_sequence[] = {
1219 { &hf_dsp_chainedAddEntryArgument, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainedAddEntryArgumentData },
1220 { &hf_dsp_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
1221 { &hf_dsp_encrypted , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_dsp_BIT_STRING },
1222 { NULL, 0, 0, 0, NULL }
1226 dissect_dsp_T_signedChainedAddEntryArgument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1227 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1228 T_signedChainedAddEntryArgument_sequence, hf_index, ett_dsp_T_signedChainedAddEntryArgument);
1234 static const value_string dsp_ChainedAddEntryArgument_vals[] = {
1235 { 0, "unsignedChainedAddEntryArgument" },
1236 { 1, "signedChainedAddEntryArgument" },
1240 static const ber_choice_t ChainedAddEntryArgument_choice[] = {
1241 { 0, &hf_dsp_unsignedChainedAddEntryArgument, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainedAddEntryArgumentData },
1242 { 1, &hf_dsp_signedChainedAddEntryArgument, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dsp_T_signedChainedAddEntryArgument },
1243 { 0, NULL, 0, 0, 0, NULL }
1247 dissect_dsp_ChainedAddEntryArgument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1248 offset = dissect_ber_choice(actx, tree, tvb, offset,
1249 ChainedAddEntryArgument_choice, hf_index, ett_dsp_ChainedAddEntryArgument,
1256 static const ber_sequence_t ChainedAddEntryResultData_set[] = {
1257 { &hf_dsp_chainedResults , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainingResults },
1258 { &hf_dsp_addEntryResult , BER_CLASS_CON, 0, 0, dissect_dap_AddEntryResult },
1259 { NULL, 0, 0, 0, NULL }
1263 dissect_dsp_ChainedAddEntryResultData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1264 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1265 ChainedAddEntryResultData_set, hf_index, ett_dsp_ChainedAddEntryResultData);
1271 static const ber_sequence_t T_signedChainedAddEntryResult_sequence[] = {
1272 { &hf_dsp_chainedAddEntryResult, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainedAddEntryResultData },
1273 { &hf_dsp_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
1274 { &hf_dsp_encrypted , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_dsp_BIT_STRING },
1275 { NULL, 0, 0, 0, NULL }
1279 dissect_dsp_T_signedChainedAddEntryResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1280 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1281 T_signedChainedAddEntryResult_sequence, hf_index, ett_dsp_T_signedChainedAddEntryResult);
1287 static const value_string dsp_ChainedAddEntryResult_vals[] = {
1288 { 0, "unsignedChainedAddEntryResult" },
1289 { 1, "signedChainedAddEntryResult" },
1293 static const ber_choice_t ChainedAddEntryResult_choice[] = {
1294 { 0, &hf_dsp_unsignedChainedAddEntryResult, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainedAddEntryResultData },
1295 { 1, &hf_dsp_signedChainedAddEntryResult, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dsp_T_signedChainedAddEntryResult },
1296 { 0, NULL, 0, 0, 0, NULL }
1300 dissect_dsp_ChainedAddEntryResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1301 offset = dissect_ber_choice(actx, tree, tvb, offset,
1302 ChainedAddEntryResult_choice, hf_index, ett_dsp_ChainedAddEntryResult,
1309 static const ber_sequence_t ChainedRemoveEntryArgumentData_set[] = {
1310 { &hf_dsp_chainedArgument , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainingArguments },
1311 { &hf_dsp_removeEntryArgument, BER_CLASS_CON, 0, 0, dissect_dap_RemoveEntryArgument },
1312 { NULL, 0, 0, 0, NULL }
1316 dissect_dsp_ChainedRemoveEntryArgumentData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1317 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1318 ChainedRemoveEntryArgumentData_set, hf_index, ett_dsp_ChainedRemoveEntryArgumentData);
1324 static const ber_sequence_t T_signedChainedRemoveEntryArgument_sequence[] = {
1325 { &hf_dsp_chainedRemoveEntryArgument, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainedRemoveEntryArgumentData },
1326 { &hf_dsp_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
1327 { &hf_dsp_encrypted , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_dsp_BIT_STRING },
1328 { NULL, 0, 0, 0, NULL }
1332 dissect_dsp_T_signedChainedRemoveEntryArgument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1333 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1334 T_signedChainedRemoveEntryArgument_sequence, hf_index, ett_dsp_T_signedChainedRemoveEntryArgument);
1340 static const value_string dsp_ChainedRemoveEntryArgument_vals[] = {
1341 { 0, "unsignedChainedRemoveEntryArgument" },
1342 { 1, "signedChainedRemoveEntryArgument" },
1346 static const ber_choice_t ChainedRemoveEntryArgument_choice[] = {
1347 { 0, &hf_dsp_unsignedChainedRemoveEntryArgument, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainedRemoveEntryArgumentData },
1348 { 1, &hf_dsp_signedChainedRemoveEntryArgument, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dsp_T_signedChainedRemoveEntryArgument },
1349 { 0, NULL, 0, 0, 0, NULL }
1353 dissect_dsp_ChainedRemoveEntryArgument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1354 offset = dissect_ber_choice(actx, tree, tvb, offset,
1355 ChainedRemoveEntryArgument_choice, hf_index, ett_dsp_ChainedRemoveEntryArgument,
1362 static const ber_sequence_t ChainedRemoveEntryResultData_set[] = {
1363 { &hf_dsp_chainedResults , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainingResults },
1364 { &hf_dsp_removeEntryResult, BER_CLASS_CON, 0, 0, dissect_dap_RemoveEntryResult },
1365 { NULL, 0, 0, 0, NULL }
1369 dissect_dsp_ChainedRemoveEntryResultData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1370 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1371 ChainedRemoveEntryResultData_set, hf_index, ett_dsp_ChainedRemoveEntryResultData);
1377 static const ber_sequence_t T_signedChainedRemoveEntryResult_sequence[] = {
1378 { &hf_dsp_chainedRemoveEntryResult, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainedRemoveEntryResultData },
1379 { &hf_dsp_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
1380 { &hf_dsp_encrypted , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_dsp_BIT_STRING },
1381 { NULL, 0, 0, 0, NULL }
1385 dissect_dsp_T_signedChainedRemoveEntryResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1386 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1387 T_signedChainedRemoveEntryResult_sequence, hf_index, ett_dsp_T_signedChainedRemoveEntryResult);
1393 static const value_string dsp_ChainedRemoveEntryResult_vals[] = {
1394 { 0, "unsignedChainedRemoveEntryResult" },
1395 { 1, "signedChainedRemoveEntryResult" },
1399 static const ber_choice_t ChainedRemoveEntryResult_choice[] = {
1400 { 0, &hf_dsp_unsignedChainedRemoveEntryResult, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainedRemoveEntryResultData },
1401 { 1, &hf_dsp_signedChainedRemoveEntryResult, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dsp_T_signedChainedRemoveEntryResult },
1402 { 0, NULL, 0, 0, 0, NULL }
1406 dissect_dsp_ChainedRemoveEntryResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1407 offset = dissect_ber_choice(actx, tree, tvb, offset,
1408 ChainedRemoveEntryResult_choice, hf_index, ett_dsp_ChainedRemoveEntryResult,
1415 static const ber_sequence_t ChainedModifyEntryArgumentData_set[] = {
1416 { &hf_dsp_chainedArgument , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainingArguments },
1417 { &hf_dsp_modifyEntryArgument, BER_CLASS_CON, 0, 0, dissect_dap_ModifyEntryArgument },
1418 { NULL, 0, 0, 0, NULL }
1422 dissect_dsp_ChainedModifyEntryArgumentData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1423 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1424 ChainedModifyEntryArgumentData_set, hf_index, ett_dsp_ChainedModifyEntryArgumentData);
1430 static const ber_sequence_t T_signedChainedModifyEntryArgument_sequence[] = {
1431 { &hf_dsp_chainedModifyEntryArgument, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainedModifyEntryArgumentData },
1432 { &hf_dsp_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
1433 { &hf_dsp_encrypted , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_dsp_BIT_STRING },
1434 { NULL, 0, 0, 0, NULL }
1438 dissect_dsp_T_signedChainedModifyEntryArgument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1439 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1440 T_signedChainedModifyEntryArgument_sequence, hf_index, ett_dsp_T_signedChainedModifyEntryArgument);
1446 static const value_string dsp_ChainedModifyEntryArgument_vals[] = {
1447 { 0, "unsignedChainedModifyEntryArgument" },
1448 { 1, "signedChainedModifyEntryArgument" },
1452 static const ber_choice_t ChainedModifyEntryArgument_choice[] = {
1453 { 0, &hf_dsp_unsignedChainedModifyEntryArgument, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainedModifyEntryArgumentData },
1454 { 1, &hf_dsp_signedChainedModifyEntryArgument, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dsp_T_signedChainedModifyEntryArgument },
1455 { 0, NULL, 0, 0, 0, NULL }
1459 dissect_dsp_ChainedModifyEntryArgument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1460 offset = dissect_ber_choice(actx, tree, tvb, offset,
1461 ChainedModifyEntryArgument_choice, hf_index, ett_dsp_ChainedModifyEntryArgument,
1468 static const ber_sequence_t ChainedModifyEntryResultData_set[] = {
1469 { &hf_dsp_chainedResults , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainingResults },
1470 { &hf_dsp_modifyEntryResult, BER_CLASS_CON, 0, 0, dissect_dap_ModifyEntryResult },
1471 { NULL, 0, 0, 0, NULL }
1475 dissect_dsp_ChainedModifyEntryResultData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1476 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1477 ChainedModifyEntryResultData_set, hf_index, ett_dsp_ChainedModifyEntryResultData);
1483 static const ber_sequence_t T_signedChainedModifyEntryResult_sequence[] = {
1484 { &hf_dsp_chainedModifyEntryResult, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainedModifyEntryResultData },
1485 { &hf_dsp_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
1486 { &hf_dsp_encrypted , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_dsp_BIT_STRING },
1487 { NULL, 0, 0, 0, NULL }
1491 dissect_dsp_T_signedChainedModifyEntryResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1492 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1493 T_signedChainedModifyEntryResult_sequence, hf_index, ett_dsp_T_signedChainedModifyEntryResult);
1499 static const value_string dsp_ChainedModifyEntryResult_vals[] = {
1500 { 0, "unsignedChainedModifyEntryResult" },
1501 { 1, "signedChainedModifyEntryResult" },
1505 static const ber_choice_t ChainedModifyEntryResult_choice[] = {
1506 { 0, &hf_dsp_unsignedChainedModifyEntryResult, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainedModifyEntryResultData },
1507 { 1, &hf_dsp_signedChainedModifyEntryResult, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dsp_T_signedChainedModifyEntryResult },
1508 { 0, NULL, 0, 0, 0, NULL }
1512 dissect_dsp_ChainedModifyEntryResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1513 offset = dissect_ber_choice(actx, tree, tvb, offset,
1514 ChainedModifyEntryResult_choice, hf_index, ett_dsp_ChainedModifyEntryResult,
1521 static const ber_sequence_t ChainedModifyDNArgumentData_set[] = {
1522 { &hf_dsp_chainedArgument , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainingArguments },
1523 { &hf_dsp_modifyDNArgument, BER_CLASS_CON, 0, 0, dissect_dap_ModifyDNArgument },
1524 { NULL, 0, 0, 0, NULL }
1528 dissect_dsp_ChainedModifyDNArgumentData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1529 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1530 ChainedModifyDNArgumentData_set, hf_index, ett_dsp_ChainedModifyDNArgumentData);
1536 static const ber_sequence_t T_signedChainedModifyDNArgument_sequence[] = {
1537 { &hf_dsp_chainedModifyDNArgument, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainedModifyDNArgumentData },
1538 { &hf_dsp_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
1539 { &hf_dsp_encrypted , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_dsp_BIT_STRING },
1540 { NULL, 0, 0, 0, NULL }
1544 dissect_dsp_T_signedChainedModifyDNArgument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1545 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1546 T_signedChainedModifyDNArgument_sequence, hf_index, ett_dsp_T_signedChainedModifyDNArgument);
1552 static const value_string dsp_ChainedModifyDNArgument_vals[] = {
1553 { 0, "unsignedChainedModifyDNArgument" },
1554 { 1, "signedChainedModifyDNArgument" },
1558 static const ber_choice_t ChainedModifyDNArgument_choice[] = {
1559 { 0, &hf_dsp_unsignedChainedModifyDNArgument, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainedModifyDNArgumentData },
1560 { 1, &hf_dsp_signedChainedModifyDNArgument, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dsp_T_signedChainedModifyDNArgument },
1561 { 0, NULL, 0, 0, 0, NULL }
1565 dissect_dsp_ChainedModifyDNArgument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1566 offset = dissect_ber_choice(actx, tree, tvb, offset,
1567 ChainedModifyDNArgument_choice, hf_index, ett_dsp_ChainedModifyDNArgument,
1574 static const ber_sequence_t ChainedModifyDNResultData_set[] = {
1575 { &hf_dsp_chainedResults , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainingResults },
1576 { &hf_dsp_modifyDNResult , BER_CLASS_CON, 0, 0, dissect_dap_ModifyDNResult },
1577 { NULL, 0, 0, 0, NULL }
1581 dissect_dsp_ChainedModifyDNResultData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1582 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1583 ChainedModifyDNResultData_set, hf_index, ett_dsp_ChainedModifyDNResultData);
1589 static const ber_sequence_t T_signedChainedModifyDNResult_sequence[] = {
1590 { &hf_dsp_chainedModifyDNResult, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainedModifyDNResultData },
1591 { &hf_dsp_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
1592 { &hf_dsp_encrypted , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_dsp_BIT_STRING },
1593 { NULL, 0, 0, 0, NULL }
1597 dissect_dsp_T_signedChainedModifyDNResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1598 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1599 T_signedChainedModifyDNResult_sequence, hf_index, ett_dsp_T_signedChainedModifyDNResult);
1605 static const value_string dsp_ChainedModifyDNResult_vals[] = {
1606 { 0, "unsignedChainedModifyDNResult" },
1607 { 1, "signedChainedModifyDNResult" },
1611 static const ber_choice_t ChainedModifyDNResult_choice[] = {
1612 { 0, &hf_dsp_unsignedChainedModifyDNResult, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainedModifyDNResultData },
1613 { 1, &hf_dsp_signedChainedModifyDNResult, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dsp_T_signedChainedModifyDNResult },
1614 { 0, NULL, 0, 0, 0, NULL }
1618 dissect_dsp_ChainedModifyDNResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1619 offset = dissect_ber_choice(actx, tree, tvb, offset,
1620 ChainedModifyDNResult_choice, hf_index, ett_dsp_ChainedModifyDNResult,
1627 static const ber_sequence_t SET_OF_AccessPointInformation_set_of[1] = {
1628 { &hf_dsp_accessPoints_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_AccessPointInformation },
1632 dissect_dsp_SET_OF_AccessPointInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1633 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
1634 SET_OF_AccessPointInformation_set_of, hf_index, ett_dsp_SET_OF_AccessPointInformation);
1640 static const ber_sequence_t ContinuationReference_set[] = {
1641 { &hf_dsp_targetObject , BER_CLASS_CON, 0, 0, dissect_x509if_Name },
1642 { &hf_dsp_aliasedRDNs , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_dsp_INTEGER },
1643 { &hf_dsp_operationProgress, BER_CLASS_CON, 2, 0, dissect_dsp_OperationProgress },
1644 { &hf_dsp_rdnsResolved , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_dsp_INTEGER },
1645 { &hf_dsp_referenceType , BER_CLASS_CON, 4, 0, dissect_dsp_ReferenceType },
1646 { &hf_dsp_accessPoints_01 , BER_CLASS_CON, 5, 0, dissect_dsp_SET_OF_AccessPointInformation },
1647 { &hf_dsp_entryOnly , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL, dissect_dsp_BOOLEAN },
1648 { &hf_dsp_exclusions , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL, dissect_dsp_Exclusions },
1649 { &hf_dsp_returnToDUA , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL, dissect_dsp_BOOLEAN },
1650 { &hf_dsp_nameResolveOnMaster, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL, dissect_dsp_BOOLEAN },
1651 { NULL, 0, 0, 0, NULL }
1655 dissect_dsp_ContinuationReference(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1656 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1657 ContinuationReference_set, hf_index, ett_dsp_ContinuationReference);
1663 static const ber_sequence_t SEQUENCE_OF_Attribute_sequence_of[1] = {
1664 { &hf_dsp_notification_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509if_Attribute },
1668 dissect_dsp_SEQUENCE_OF_Attribute(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1669 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
1670 SEQUENCE_OF_Attribute_sequence_of, hf_index, ett_dsp_SEQUENCE_OF_Attribute);
1676 static const ber_sequence_t DSAReferralData_set[] = {
1677 { &hf_dsp_reference , BER_CLASS_CON, 0, 0, dissect_dsp_ContinuationReference },
1678 { &hf_dsp_contextPrefix , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_x509if_DistinguishedName },
1679 { &hf_dsp_securityParameters, BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL, dissect_dap_SecurityParameters },
1680 { &hf_dsp_performer , BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL, dissect_x509if_DistinguishedName },
1681 { &hf_dsp_aliasDereferenced, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL, dissect_dsp_BOOLEAN },
1682 { &hf_dsp_notification , BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL, dissect_dsp_SEQUENCE_OF_Attribute },
1683 { NULL, 0, 0, 0, NULL }
1687 dissect_dsp_DSAReferralData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1688 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1689 DSAReferralData_set, hf_index, ett_dsp_DSAReferralData);
1695 static const ber_sequence_t T_signedDSAReferral_sequence[] = {
1696 { &hf_dsp_dsaReferral , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_DSAReferralData },
1697 { &hf_dsp_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
1698 { &hf_dsp_encrypted , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_dsp_BIT_STRING },
1699 { NULL, 0, 0, 0, NULL }
1703 dissect_dsp_T_signedDSAReferral(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1704 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1705 T_signedDSAReferral_sequence, hf_index, ett_dsp_T_signedDSAReferral);
1711 static const value_string dsp_DSAReferral_vals[] = {
1712 { 0, "unsignedDSAReferral" },
1713 { 1, "signedDSAReferral" },
1717 static const ber_choice_t DSAReferral_choice[] = {
1718 { 0, &hf_dsp_unsignedDSAReferral, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_DSAReferralData },
1719 { 1, &hf_dsp_signedDSAReferral, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dsp_T_signedDSAReferral },
1720 { 0, NULL, 0, 0, 0, NULL }
1724 dissect_dsp_DSAReferral(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1725 offset = dissect_ber_choice(actx, tree, tvb, offset,
1726 DSAReferral_choice, hf_index, ett_dsp_DSAReferral,
1735 dissect_dsp_LabeledURI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1736 offset = dissect_x509sat_DirectoryString(implicit_tag, tvb, offset, actx, tree, hf_index);
1742 static const ber_sequence_t AccessPoint_set[] = {
1743 { &hf_dsp_ae_title , BER_CLASS_CON, 0, 0, dissect_x509if_Name },
1744 { &hf_dsp_address , BER_CLASS_CON, 1, 0, dissect_x509sat_PresentationAddress },
1745 { &hf_dsp_protocolInformation, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_dsp_SET_OF_ProtocolInformation },
1746 { &hf_dsp_labeledURI , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL, dissect_dsp_LabeledURI },
1747 { NULL, 0, 0, 0, NULL }
1751 dissect_dsp_AccessPoint(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1752 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1753 AccessPoint_set, hf_index, ett_dsp_AccessPoint);
1759 static const ber_sequence_t DitBridgeKnowledge_sequence[] = {
1760 { &hf_dsp_domainLocalID , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_x509sat_DirectoryString },
1761 { &hf_dsp_accessPoints , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_MasterAndShadowAccessPoints },
1762 { NULL, 0, 0, 0, NULL }
1766 dissect_dsp_DitBridgeKnowledge(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1767 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1768 DitBridgeKnowledge_sequence, hf_index, ett_dsp_DitBridgeKnowledge);
1775 static void dissect_AccessPoint_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1776 asn1_ctx_t asn1_ctx;
1777 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1778 dissect_dsp_AccessPoint(FALSE, tvb, 0, &asn1_ctx, tree, hf_dsp_AccessPoint_PDU);
1780 static void dissect_MasterAndShadowAccessPoints_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1781 asn1_ctx_t asn1_ctx;
1782 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1783 dissect_dsp_MasterAndShadowAccessPoints(FALSE, tvb, 0, &asn1_ctx, tree, hf_dsp_MasterAndShadowAccessPoints_PDU);
1785 static void dissect_DitBridgeKnowledge_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1786 asn1_ctx_t asn1_ctx;
1787 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1788 dissect_dsp_DitBridgeKnowledge(FALSE, tvb, 0, &asn1_ctx, tree, hf_dsp_DitBridgeKnowledge_PDU);
1792 /*--- End of included file: packet-dsp-fn.c ---*/
1793 #line 72 "packet-dsp-template.c"
1796 * Dissect X518 PDUs inside a ROS PDUs
1799 dissect_dsp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
1803 proto_item *item=NULL;
1804 proto_tree *tree=NULL;
1805 int (*dsp_dissector)(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index _U_) = NULL;
1807 asn1_ctx_t asn1_ctx;
1809 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1811 /* do we have operation information from the ROS dissector? */
1812 if( !pinfo->private_data ){
1814 proto_tree_add_text(parent_tree, tvb, offset, -1,
1815 "Internal error: can't get operation information from ROS dissector.");
1819 session = ( (struct SESSION_DATA_STRUCTURE*)(pinfo->private_data) );
1823 item = proto_tree_add_item(parent_tree, proto_dsp, tvb, 0, -1, FALSE);
1824 tree = proto_item_add_subtree(item, ett_dsp);
1826 col_set_str(pinfo->cinfo, COL_PROTOCOL, "DAP");
1827 col_clear(pinfo->cinfo, COL_INFO);
1829 switch(session->ros_op & ROS_OP_MASK) {
1830 case (ROS_OP_BIND | ROS_OP_ARGUMENT): /* BindInvoke */
1831 dsp_dissector = dissect_dsp_DSASystemBindArgument;
1832 dsp_op_name = "System-Bind-Argument";
1834 case (ROS_OP_BIND | ROS_OP_RESULT): /* BindResult */
1835 dsp_dissector = dissect_dsp_DSASystemBindResult;
1836 dsp_op_name = "System-Bind-Result";
1838 case (ROS_OP_BIND | ROS_OP_ERROR): /* BindError */
1839 dsp_dissector = dissect_dsp_DSASystemBindError;
1840 dsp_op_name = "System-Bind-Error";
1842 case (ROS_OP_INVOKE | ROS_OP_ARGUMENT): /* Invoke Argument */
1843 switch(session->ros_op & ROS_OP_OPCODE_MASK) {
1845 dsp_dissector = dissect_dsp_ChainedReadArgument;
1846 dsp_op_name = "Chained-Read-Argument";
1848 case 2: /* compare */
1849 dsp_dissector = dissect_dsp_ChainedCompareArgument;
1850 dsp_op_name = "Chained-Compare-Argument";
1852 case 3: /* abandon */
1853 dsp_dissector = dissect_dsp_ChainedAbandonArgument;
1854 dsp_op_name = "Chained-Abandon-Argument";
1857 dsp_dissector = dissect_dsp_ChainedListArgument;
1858 dsp_op_name = "Chained-List-Argument";
1860 case 5: /* search */
1861 dsp_dissector = dissect_dsp_ChainedSearchArgument;
1862 dsp_op_name = "Chained-Search-Argument";
1864 case 6: /* addEntry */
1865 dsp_dissector = dissect_dsp_ChainedAddEntryArgument;
1866 dsp_op_name = "Chained-Add-Entry-Argument";
1868 case 7: /* removeEntry */
1869 dsp_dissector = dissect_dsp_ChainedRemoveEntryArgument;
1870 dsp_op_name = "Chained-Remove-Entry-Argument";
1872 case 8: /* modifyEntry */
1873 dsp_dissector = dissect_dsp_ChainedModifyEntryArgument;
1874 dsp_op_name = "ChainedModify-Entry-Argument";
1876 case 9: /* modifyDN */
1877 dsp_dissector = dissect_dsp_ChainedModifyDNArgument;
1878 dsp_op_name = "ChainedModify-DN-Argument";
1881 proto_tree_add_text(tree, tvb, offset, -1,"Unsupported DSP opcode (%d)",
1882 session->ros_op & ROS_OP_OPCODE_MASK);
1886 case (ROS_OP_INVOKE | ROS_OP_RESULT): /* Return Result */
1887 switch(session->ros_op & ROS_OP_OPCODE_MASK) {
1889 dsp_dissector = dissect_dsp_ChainedReadResult;
1890 dsp_op_name = "Chained-Read-Result";
1892 case 2: /* compare */
1893 dsp_dissector = dissect_dsp_ChainedCompareResult;
1894 dsp_op_name = "Chained-Compare-Result";
1896 case 3: /* abandon */
1897 dsp_dissector = dissect_dsp_ChainedAbandonResult;
1898 dsp_op_name = "Chained-Abandon-Result";
1901 dsp_dissector = dissect_dsp_ChainedListResult;
1902 dsp_op_name = "Chained-List-Result";
1904 case 5: /* search */
1905 dsp_dissector = dissect_dsp_ChainedSearchResult;
1906 dsp_op_name = "Chained-Search-Result";
1908 case 6: /* addEntry */
1909 dsp_dissector = dissect_dsp_ChainedAddEntryResult;
1910 dsp_op_name = "Chained-Add-Entry-Result";
1912 case 7: /* removeEntry */
1913 dsp_dissector = dissect_dsp_ChainedRemoveEntryResult;
1914 dsp_op_name = "Chained-Remove-Entry-Result";
1916 case 8: /* modifyEntry */
1917 dsp_dissector = dissect_dsp_ChainedModifyEntryResult;
1918 dsp_op_name = "Chained-Modify-Entry-Result";
1920 case 9: /* modifyDN */
1921 dsp_dissector = dissect_dsp_ChainedModifyDNResult;
1922 dsp_op_name = "ChainedModify-DN-Result";
1925 proto_tree_add_text(tree, tvb, offset, -1,"Unsupported DSP opcode");
1929 case (ROS_OP_INVOKE | ROS_OP_ERROR): /* Return Error */
1930 switch(session->ros_op & ROS_OP_OPCODE_MASK) {
1931 case 1: /* attributeError */
1932 dsp_dissector = dissect_dap_AttributeError;
1933 dsp_op_name = "Attribute-Error";
1935 case 2: /* nameError */
1936 dsp_dissector = dissect_dap_NameError;
1937 dsp_op_name = "Name-Error";
1939 case 3: /* serviceError */
1940 dsp_dissector = dissect_dap_ServiceError;
1941 dsp_op_name = "Service-Error";
1943 case 4: /* referral */
1944 dsp_dissector = dissect_dap_Referral;
1945 dsp_op_name = "Referral";
1947 case 5: /* abandoned */
1948 dsp_dissector = dissect_dap_Abandoned;
1949 dsp_op_name = "Abandoned";
1951 case 6: /* securityError */
1952 dsp_dissector = dissect_dap_SecurityError;
1953 dsp_op_name = "Security-Error";
1955 case 7: /* abandonFailed */
1956 dsp_dissector = dissect_dap_AbandonFailedError;
1957 dsp_op_name = "Abandon-Failed-Error";
1959 case 8: /* updateError */
1960 dsp_dissector = dissect_dap_UpdateError;
1961 dsp_op_name = "Update-Error";
1963 case 9: /* DSAReferral */
1964 dsp_dissector = dissect_dsp_DSAReferral;
1965 dsp_op_name = "DSA-Referral";
1968 proto_tree_add_text(tree, tvb, offset, -1,"Unsupported DSP errcode");
1973 proto_tree_add_text(tree, tvb, offset, -1,"Unsupported DSP PDU");
1978 if (check_col(pinfo->cinfo, COL_INFO))
1979 col_set_str(pinfo->cinfo, COL_INFO, dsp_op_name);
1981 while (tvb_reported_length_remaining(tvb, offset) > 0){
1983 offset=(*dsp_dissector)(FALSE, tvb, offset, &asn1_ctx, tree, -1);
1984 if(offset == old_offset){
1985 proto_tree_add_text(tree, tvb, offset, -1,"Internal error, zero-byte DSP PDU");
1993 /*--- proto_register_dsp -------------------------------------------*/
1994 void proto_register_dsp(void) {
1996 /* List of fields */
1997 static hf_register_info hf[] =
2000 /*--- Included file: packet-dsp-hfarr.c ---*/
2001 #line 1 "packet-dsp-hfarr.c"
2002 { &hf_dsp_AccessPoint_PDU,
2003 { "AccessPoint", "dsp.AccessPoint",
2004 FT_NONE, BASE_NONE, NULL, 0,
2005 "dsp.AccessPoint", HFILL }},
2006 { &hf_dsp_MasterAndShadowAccessPoints_PDU,
2007 { "MasterAndShadowAccessPoints", "dsp.MasterAndShadowAccessPoints",
2008 FT_UINT32, BASE_DEC, NULL, 0,
2009 "dsp.MasterAndShadowAccessPoints", HFILL }},
2010 { &hf_dsp_DitBridgeKnowledge_PDU,
2011 { "DitBridgeKnowledge", "dsp.DitBridgeKnowledge",
2012 FT_NONE, BASE_NONE, NULL, 0,
2013 "dsp.DitBridgeKnowledge", HFILL }},
2014 { &hf_dsp_chainedArgument,
2015 { "chainedArgument", "dsp.chainedArgument",
2016 FT_NONE, BASE_NONE, NULL, 0,
2017 "dsp.ChainingArguments", HFILL }},
2018 { &hf_dsp_readArgument,
2019 { "readArgument", "dsp.readArgument",
2020 FT_UINT32, BASE_DEC, VALS(dap_ReadArgument_vals), 0,
2021 "dap.ReadArgument", HFILL }},
2022 { &hf_dsp_unsignedChainedReadArgument,
2023 { "unsignedChainedReadArgument", "dsp.unsignedChainedReadArgument",
2024 FT_NONE, BASE_NONE, NULL, 0,
2025 "dsp.ChainedReadArgumentData", HFILL }},
2026 { &hf_dsp_signedChainedReadArgument,
2027 { "signedChainedReadArgument", "dsp.signedChainedReadArgument",
2028 FT_NONE, BASE_NONE, NULL, 0,
2029 "dsp.T_signedChainedReadArgument", HFILL }},
2030 { &hf_dsp_chainedReadArgument,
2031 { "chainedReadArgument", "dsp.chainedReadArgument",
2032 FT_NONE, BASE_NONE, NULL, 0,
2033 "dsp.ChainedReadArgumentData", HFILL }},
2034 { &hf_dsp_algorithmIdentifier,
2035 { "algorithmIdentifier", "dsp.algorithmIdentifier",
2036 FT_NONE, BASE_NONE, NULL, 0,
2037 "x509af.AlgorithmIdentifier", HFILL }},
2038 { &hf_dsp_encrypted,
2039 { "encrypted", "dsp.encrypted",
2040 FT_BYTES, BASE_NONE, NULL, 0,
2041 "dsp.BIT_STRING", HFILL }},
2042 { &hf_dsp_chainedResults,
2043 { "chainedResults", "dsp.chainedResults",
2044 FT_NONE, BASE_NONE, NULL, 0,
2045 "dsp.ChainingResults", HFILL }},
2046 { &hf_dsp_readResult,
2047 { "readResult", "dsp.readResult",
2048 FT_UINT32, BASE_DEC, VALS(dap_ReadResult_vals), 0,
2049 "dap.ReadResult", HFILL }},
2050 { &hf_dsp_unsignedChainedReadResult,
2051 { "unsignedChainedReadResult", "dsp.unsignedChainedReadResult",
2052 FT_NONE, BASE_NONE, NULL, 0,
2053 "dsp.ChainedReadResultData", HFILL }},
2054 { &hf_dsp_signedChainedReadResult,
2055 { "signedChainedReadResult", "dsp.signedChainedReadResult",
2056 FT_NONE, BASE_NONE, NULL, 0,
2057 "dsp.T_signedChainedReadResult", HFILL }},
2058 { &hf_dsp_chainedReadResult,
2059 { "chainedReadResult", "dsp.chainedReadResult",
2060 FT_NONE, BASE_NONE, NULL, 0,
2061 "dsp.ChainedReadResultData", HFILL }},
2062 { &hf_dsp_compareArgument,
2063 { "compareArgument", "dsp.compareArgument",
2064 FT_UINT32, BASE_DEC, VALS(dap_CompareArgument_vals), 0,
2065 "dap.CompareArgument", HFILL }},
2066 { &hf_dsp_unsignedChainedCompareArgument,
2067 { "unsignedChainedCompareArgument", "dsp.unsignedChainedCompareArgument",
2068 FT_NONE, BASE_NONE, NULL, 0,
2069 "dsp.ChainedCompareArgumentData", HFILL }},
2070 { &hf_dsp_signedChainedCompareArgument,
2071 { "signedChainedCompareArgument", "dsp.signedChainedCompareArgument",
2072 FT_NONE, BASE_NONE, NULL, 0,
2073 "dsp.T_signedChainedCompareArgument", HFILL }},
2074 { &hf_dsp_chainedCompareArgument,
2075 { "chainedCompareArgument", "dsp.chainedCompareArgument",
2076 FT_NONE, BASE_NONE, NULL, 0,
2077 "dsp.ChainedCompareArgumentData", HFILL }},
2078 { &hf_dsp_compareResult,
2079 { "compareResult", "dsp.compareResult",
2080 FT_UINT32, BASE_DEC, VALS(dap_CompareResult_vals), 0,
2081 "dap.CompareResult", HFILL }},
2082 { &hf_dsp_unsignedChainedCompareResult,
2083 { "unsignedChainedCompareResult", "dsp.unsignedChainedCompareResult",
2084 FT_NONE, BASE_NONE, NULL, 0,
2085 "dsp.ChainedCompareResultData", HFILL }},
2086 { &hf_dsp_signedChainedCompareResult,
2087 { "signedChainedCompareResult", "dsp.signedChainedCompareResult",
2088 FT_NONE, BASE_NONE, NULL, 0,
2089 "dsp.T_signedChainedCompareResult", HFILL }},
2090 { &hf_dsp_chainedCompareResult,
2091 { "chainedCompareResult", "dsp.chainedCompareResult",
2092 FT_NONE, BASE_NONE, NULL, 0,
2093 "dsp.ChainedCompareResultData", HFILL }},
2094 { &hf_dsp_listArgument,
2095 { "listArgument", "dsp.listArgument",
2096 FT_UINT32, BASE_DEC, VALS(dap_ListArgument_vals), 0,
2097 "dap.ListArgument", HFILL }},
2098 { &hf_dsp_unsignedChainedListArgument,
2099 { "unsignedChainedListArgument", "dsp.unsignedChainedListArgument",
2100 FT_NONE, BASE_NONE, NULL, 0,
2101 "dsp.ChainedListArgumentData", HFILL }},
2102 { &hf_dsp_signedChainedListArgument,
2103 { "signedChainedListArgument", "dsp.signedChainedListArgument",
2104 FT_NONE, BASE_NONE, NULL, 0,
2105 "dsp.T_signedChainedListArgument", HFILL }},
2106 { &hf_dsp_chainedListArgument,
2107 { "chainedListArgument", "dsp.chainedListArgument",
2108 FT_NONE, BASE_NONE, NULL, 0,
2109 "dsp.ChainedListArgumentData", HFILL }},
2110 { &hf_dsp_listResult,
2111 { "listResult", "dsp.listResult",
2112 FT_UINT32, BASE_DEC, VALS(dap_ListResult_vals), 0,
2113 "dap.ListResult", HFILL }},
2114 { &hf_dsp_unsignedChainedListResult,
2115 { "unsignedChainedListResult", "dsp.unsignedChainedListResult",
2116 FT_NONE, BASE_NONE, NULL, 0,
2117 "dsp.ChainedListResultData", HFILL }},
2118 { &hf_dsp_signedChainedListResult,
2119 { "signedChainedListResult", "dsp.signedChainedListResult",
2120 FT_NONE, BASE_NONE, NULL, 0,
2121 "dsp.T_signedChainedListResult", HFILL }},
2122 { &hf_dsp_chainedListResult,
2123 { "chainedListResult", "dsp.chainedListResult",
2124 FT_NONE, BASE_NONE, NULL, 0,
2125 "dsp.ChainedListResultData", HFILL }},
2126 { &hf_dsp_searchArgument,
2127 { "searchArgument", "dsp.searchArgument",
2128 FT_UINT32, BASE_DEC, VALS(dap_SearchArgument_vals), 0,
2129 "dap.SearchArgument", HFILL }},
2130 { &hf_dsp_unsignedChainedSearchArgument,
2131 { "unsignedChainedSearchArgument", "dsp.unsignedChainedSearchArgument",
2132 FT_NONE, BASE_NONE, NULL, 0,
2133 "dsp.ChainedSearchArgumentData", HFILL }},
2134 { &hf_dsp_signedChainedSearchArgument,
2135 { "signedChainedSearchArgument", "dsp.signedChainedSearchArgument",
2136 FT_NONE, BASE_NONE, NULL, 0,
2137 "dsp.T_signedChainedSearchArgument", HFILL }},
2138 { &hf_dsp_chainedSearchArgument,
2139 { "chainedSearchArgument", "dsp.chainedSearchArgument",
2140 FT_NONE, BASE_NONE, NULL, 0,
2141 "dsp.ChainedSearchArgumentData", HFILL }},
2142 { &hf_dsp_searchResult,
2143 { "searchResult", "dsp.searchResult",
2144 FT_UINT32, BASE_DEC, VALS(dap_SearchResult_vals), 0,
2145 "dap.SearchResult", HFILL }},
2146 { &hf_dsp_unsignedChainedSearchResult,
2147 { "unsignedChainedSearchResult", "dsp.unsignedChainedSearchResult",
2148 FT_NONE, BASE_NONE, NULL, 0,
2149 "dsp.ChainedSearchResultData", HFILL }},
2150 { &hf_dsp_signedChainedSearchResult,
2151 { "signedChainedSearchResult", "dsp.signedChainedSearchResult",
2152 FT_NONE, BASE_NONE, NULL, 0,
2153 "dsp.T_signedChainedSearchResult", HFILL }},
2154 { &hf_dsp_chainedSearchResult,
2155 { "chainedSearchResult", "dsp.chainedSearchResult",
2156 FT_NONE, BASE_NONE, NULL, 0,
2157 "dsp.ChainedSearchResultData", HFILL }},
2158 { &hf_dsp_addEntryArgument,
2159 { "addEntryArgument", "dsp.addEntryArgument",
2160 FT_UINT32, BASE_DEC, VALS(dap_AddEntryArgument_vals), 0,
2161 "dap.AddEntryArgument", HFILL }},
2162 { &hf_dsp_unsignedChainedAddEntryArgument,
2163 { "unsignedChainedAddEntryArgument", "dsp.unsignedChainedAddEntryArgument",
2164 FT_NONE, BASE_NONE, NULL, 0,
2165 "dsp.ChainedAddEntryArgumentData", HFILL }},
2166 { &hf_dsp_signedChainedAddEntryArgument,
2167 { "signedChainedAddEntryArgument", "dsp.signedChainedAddEntryArgument",
2168 FT_NONE, BASE_NONE, NULL, 0,
2169 "dsp.T_signedChainedAddEntryArgument", HFILL }},
2170 { &hf_dsp_chainedAddEntryArgument,
2171 { "chainedAddEntryArgument", "dsp.chainedAddEntryArgument",
2172 FT_NONE, BASE_NONE, NULL, 0,
2173 "dsp.ChainedAddEntryArgumentData", HFILL }},
2174 { &hf_dsp_addEntryResult,
2175 { "addEntryResult", "dsp.addEntryResult",
2176 FT_UINT32, BASE_DEC, VALS(dap_AddEntryResult_vals), 0,
2177 "dap.AddEntryResult", HFILL }},
2178 { &hf_dsp_unsignedChainedAddEntryResult,
2179 { "unsignedChainedAddEntryResult", "dsp.unsignedChainedAddEntryResult",
2180 FT_NONE, BASE_NONE, NULL, 0,
2181 "dsp.ChainedAddEntryResultData", HFILL }},
2182 { &hf_dsp_signedChainedAddEntryResult,
2183 { "signedChainedAddEntryResult", "dsp.signedChainedAddEntryResult",
2184 FT_NONE, BASE_NONE, NULL, 0,
2185 "dsp.T_signedChainedAddEntryResult", HFILL }},
2186 { &hf_dsp_chainedAddEntryResult,
2187 { "chainedAddEntryResult", "dsp.chainedAddEntryResult",
2188 FT_NONE, BASE_NONE, NULL, 0,
2189 "dsp.ChainedAddEntryResultData", HFILL }},
2190 { &hf_dsp_removeEntryArgument,
2191 { "removeEntryArgument", "dsp.removeEntryArgument",
2192 FT_UINT32, BASE_DEC, VALS(dap_RemoveEntryArgument_vals), 0,
2193 "dap.RemoveEntryArgument", HFILL }},
2194 { &hf_dsp_unsignedChainedRemoveEntryArgument,
2195 { "unsignedChainedRemoveEntryArgument", "dsp.unsignedChainedRemoveEntryArgument",
2196 FT_NONE, BASE_NONE, NULL, 0,
2197 "dsp.ChainedRemoveEntryArgumentData", HFILL }},
2198 { &hf_dsp_signedChainedRemoveEntryArgument,
2199 { "signedChainedRemoveEntryArgument", "dsp.signedChainedRemoveEntryArgument",
2200 FT_NONE, BASE_NONE, NULL, 0,
2201 "dsp.T_signedChainedRemoveEntryArgument", HFILL }},
2202 { &hf_dsp_chainedRemoveEntryArgument,
2203 { "chainedRemoveEntryArgument", "dsp.chainedRemoveEntryArgument",
2204 FT_NONE, BASE_NONE, NULL, 0,
2205 "dsp.ChainedRemoveEntryArgumentData", HFILL }},
2206 { &hf_dsp_removeEntryResult,
2207 { "removeEntryResult", "dsp.removeEntryResult",
2208 FT_UINT32, BASE_DEC, VALS(dap_RemoveEntryResult_vals), 0,
2209 "dap.RemoveEntryResult", HFILL }},
2210 { &hf_dsp_unsignedChainedRemoveEntryResult,
2211 { "unsignedChainedRemoveEntryResult", "dsp.unsignedChainedRemoveEntryResult",
2212 FT_NONE, BASE_NONE, NULL, 0,
2213 "dsp.ChainedRemoveEntryResultData", HFILL }},
2214 { &hf_dsp_signedChainedRemoveEntryResult,
2215 { "signedChainedRemoveEntryResult", "dsp.signedChainedRemoveEntryResult",
2216 FT_NONE, BASE_NONE, NULL, 0,
2217 "dsp.T_signedChainedRemoveEntryResult", HFILL }},
2218 { &hf_dsp_chainedRemoveEntryResult,
2219 { "chainedRemoveEntryResult", "dsp.chainedRemoveEntryResult",
2220 FT_NONE, BASE_NONE, NULL, 0,
2221 "dsp.ChainedRemoveEntryResultData", HFILL }},
2222 { &hf_dsp_modifyEntryArgument,
2223 { "modifyEntryArgument", "dsp.modifyEntryArgument",
2224 FT_UINT32, BASE_DEC, VALS(dap_ModifyEntryArgument_vals), 0,
2225 "dap.ModifyEntryArgument", HFILL }},
2226 { &hf_dsp_unsignedChainedModifyEntryArgument,
2227 { "unsignedChainedModifyEntryArgument", "dsp.unsignedChainedModifyEntryArgument",
2228 FT_NONE, BASE_NONE, NULL, 0,
2229 "dsp.ChainedModifyEntryArgumentData", HFILL }},
2230 { &hf_dsp_signedChainedModifyEntryArgument,
2231 { "signedChainedModifyEntryArgument", "dsp.signedChainedModifyEntryArgument",
2232 FT_NONE, BASE_NONE, NULL, 0,
2233 "dsp.T_signedChainedModifyEntryArgument", HFILL }},
2234 { &hf_dsp_chainedModifyEntryArgument,
2235 { "chainedModifyEntryArgument", "dsp.chainedModifyEntryArgument",
2236 FT_NONE, BASE_NONE, NULL, 0,
2237 "dsp.ChainedModifyEntryArgumentData", HFILL }},
2238 { &hf_dsp_modifyEntryResult,
2239 { "modifyEntryResult", "dsp.modifyEntryResult",
2240 FT_UINT32, BASE_DEC, VALS(dap_ModifyEntryResult_vals), 0,
2241 "dap.ModifyEntryResult", HFILL }},
2242 { &hf_dsp_unsignedChainedModifyEntryResult,
2243 { "unsignedChainedModifyEntryResult", "dsp.unsignedChainedModifyEntryResult",
2244 FT_NONE, BASE_NONE, NULL, 0,
2245 "dsp.ChainedModifyEntryResultData", HFILL }},
2246 { &hf_dsp_signedChainedModifyEntryResult,
2247 { "signedChainedModifyEntryResult", "dsp.signedChainedModifyEntryResult",
2248 FT_NONE, BASE_NONE, NULL, 0,
2249 "dsp.T_signedChainedModifyEntryResult", HFILL }},
2250 { &hf_dsp_chainedModifyEntryResult,
2251 { "chainedModifyEntryResult", "dsp.chainedModifyEntryResult",
2252 FT_NONE, BASE_NONE, NULL, 0,
2253 "dsp.ChainedModifyEntryResultData", HFILL }},
2254 { &hf_dsp_modifyDNArgument,
2255 { "modifyDNArgument", "dsp.modifyDNArgument",
2256 FT_NONE, BASE_NONE, NULL, 0,
2257 "dap.ModifyDNArgument", HFILL }},
2258 { &hf_dsp_unsignedChainedModifyDNArgument,
2259 { "unsignedChainedModifyDNArgument", "dsp.unsignedChainedModifyDNArgument",
2260 FT_NONE, BASE_NONE, NULL, 0,
2261 "dsp.ChainedModifyDNArgumentData", HFILL }},
2262 { &hf_dsp_signedChainedModifyDNArgument,
2263 { "signedChainedModifyDNArgument", "dsp.signedChainedModifyDNArgument",
2264 FT_NONE, BASE_NONE, NULL, 0,
2265 "dsp.T_signedChainedModifyDNArgument", HFILL }},
2266 { &hf_dsp_chainedModifyDNArgument,
2267 { "chainedModifyDNArgument", "dsp.chainedModifyDNArgument",
2268 FT_NONE, BASE_NONE, NULL, 0,
2269 "dsp.ChainedModifyDNArgumentData", HFILL }},
2270 { &hf_dsp_modifyDNResult,
2271 { "modifyDNResult", "dsp.modifyDNResult",
2272 FT_UINT32, BASE_DEC, VALS(dap_ModifyDNResult_vals), 0,
2273 "dap.ModifyDNResult", HFILL }},
2274 { &hf_dsp_unsignedChainedModifyDNResult,
2275 { "unsignedChainedModifyDNResult", "dsp.unsignedChainedModifyDNResult",
2276 FT_NONE, BASE_NONE, NULL, 0,
2277 "dsp.ChainedModifyDNResultData", HFILL }},
2278 { &hf_dsp_signedChainedModifyDNResult,
2279 { "signedChainedModifyDNResult", "dsp.signedChainedModifyDNResult",
2280 FT_NONE, BASE_NONE, NULL, 0,
2281 "dsp.T_signedChainedModifyDNResult", HFILL }},
2282 { &hf_dsp_chainedModifyDNResult,
2283 { "chainedModifyDNResult", "dsp.chainedModifyDNResult",
2284 FT_NONE, BASE_NONE, NULL, 0,
2285 "dsp.ChainedModifyDNResultData", HFILL }},
2286 { &hf_dsp_reference,
2287 { "reference", "dsp.reference",
2288 FT_NONE, BASE_NONE, NULL, 0,
2289 "dsp.ContinuationReference", HFILL }},
2290 { &hf_dsp_contextPrefix,
2291 { "contextPrefix", "dsp.contextPrefix",
2292 FT_UINT32, BASE_DEC, NULL, 0,
2293 "x509if.DistinguishedName", HFILL }},
2294 { &hf_dsp_securityParameters,
2295 { "securityParameters", "dsp.securityParameters",
2296 FT_NONE, BASE_NONE, NULL, 0,
2297 "dap.SecurityParameters", HFILL }},
2298 { &hf_dsp_performer,
2299 { "performer", "dsp.performer",
2300 FT_UINT32, BASE_DEC, NULL, 0,
2301 "x509if.DistinguishedName", HFILL }},
2302 { &hf_dsp_aliasDereferenced,
2303 { "aliasDereferenced", "dsp.aliasDereferenced",
2304 FT_BOOLEAN, BASE_NONE, NULL, 0,
2305 "dsp.BOOLEAN", HFILL }},
2306 { &hf_dsp_notification,
2307 { "notification", "dsp.notification",
2308 FT_UINT32, BASE_DEC, NULL, 0,
2309 "dsp.SEQUENCE_OF_Attribute", HFILL }},
2310 { &hf_dsp_notification_item,
2311 { "Attribute", "dsp.Attribute",
2312 FT_NONE, BASE_NONE, NULL, 0,
2313 "x509if.Attribute", HFILL }},
2314 { &hf_dsp_unsignedDSAReferral,
2315 { "unsignedDSAReferral", "dsp.unsignedDSAReferral",
2316 FT_NONE, BASE_NONE, NULL, 0,
2317 "dsp.DSAReferralData", HFILL }},
2318 { &hf_dsp_signedDSAReferral,
2319 { "signedDSAReferral", "dsp.signedDSAReferral",
2320 FT_NONE, BASE_NONE, NULL, 0,
2321 "dsp.T_signedDSAReferral", HFILL }},
2322 { &hf_dsp_dsaReferral,
2323 { "dsaReferral", "dsp.dsaReferral",
2324 FT_NONE, BASE_NONE, NULL, 0,
2325 "dsp.DSAReferralData", HFILL }},
2326 { &hf_dsp_originator,
2327 { "originator", "dsp.originator",
2328 FT_UINT32, BASE_DEC, NULL, 0,
2329 "x509if.DistinguishedName", HFILL }},
2330 { &hf_dsp_targetObjectDN,
2331 { "targetObject", "dsp.targetObject",
2332 FT_UINT32, BASE_DEC, NULL, 0,
2333 "x509if.DistinguishedName", HFILL }},
2334 { &hf_dsp_operationProgress,
2335 { "operationProgress", "dsp.operationProgress",
2336 FT_NONE, BASE_NONE, NULL, 0,
2337 "dsp.OperationProgress", HFILL }},
2338 { &hf_dsp_traceInformation,
2339 { "traceInformation", "dsp.traceInformation",
2340 FT_UINT32, BASE_DEC, NULL, 0,
2341 "dsp.TraceInformation", HFILL }},
2342 { &hf_dsp_aliasedRDNs,
2343 { "aliasedRDNs", "dsp.aliasedRDNs",
2344 FT_INT32, BASE_DEC, NULL, 0,
2345 "dsp.INTEGER", HFILL }},
2346 { &hf_dsp_returnCrossRefs,
2347 { "returnCrossRefs", "dsp.returnCrossRefs",
2348 FT_BOOLEAN, BASE_NONE, NULL, 0,
2349 "dsp.BOOLEAN", HFILL }},
2350 { &hf_dsp_referenceType,
2351 { "referenceType", "dsp.referenceType",
2352 FT_UINT32, BASE_DEC, VALS(dsp_ReferenceType_vals), 0,
2353 "dsp.ReferenceType", HFILL }},
2355 { "info", "dsp.info",
2356 FT_OID, BASE_NONE, NULL, 0,
2357 "dsp.DomainInfo", HFILL }},
2358 { &hf_dsp_timeLimit,
2359 { "timeLimit", "dsp.timeLimit",
2360 FT_UINT32, BASE_DEC, VALS(dsp_Time_vals), 0,
2361 "dsp.Time", HFILL }},
2362 { &hf_dsp_entryOnly,
2363 { "entryOnly", "dsp.entryOnly",
2364 FT_BOOLEAN, BASE_NONE, NULL, 0,
2365 "dsp.BOOLEAN", HFILL }},
2366 { &hf_dsp_uniqueIdentifier,
2367 { "uniqueIdentifier", "dsp.uniqueIdentifier",
2368 FT_BYTES, BASE_NONE, NULL, 0,
2369 "x509sat.UniqueIdentifier", HFILL }},
2370 { &hf_dsp_authenticationLevel,
2371 { "authenticationLevel", "dsp.authenticationLevel",
2372 FT_UINT32, BASE_DEC, VALS(dsp_AuthenticationLevel_vals), 0,
2373 "dsp.AuthenticationLevel", HFILL }},
2374 { &hf_dsp_exclusions,
2375 { "exclusions", "dsp.exclusions",
2376 FT_UINT32, BASE_DEC, NULL, 0,
2377 "dsp.Exclusions", HFILL }},
2378 { &hf_dsp_excludeShadows,
2379 { "excludeShadows", "dsp.excludeShadows",
2380 FT_BOOLEAN, BASE_NONE, NULL, 0,
2381 "dsp.BOOLEAN", HFILL }},
2382 { &hf_dsp_nameResolveOnMaster,
2383 { "nameResolveOnMaster", "dsp.nameResolveOnMaster",
2384 FT_BOOLEAN, BASE_NONE, NULL, 0,
2385 "dsp.BOOLEAN", HFILL }},
2386 { &hf_dsp_operationIdentifier,
2387 { "operationIdentifier", "dsp.operationIdentifier",
2388 FT_INT32, BASE_DEC, NULL, 0,
2389 "dsp.INTEGER", HFILL }},
2390 { &hf_dsp_searchRuleId,
2391 { "searchRuleId", "dsp.searchRuleId",
2392 FT_NONE, BASE_NONE, NULL, 0,
2393 "x509if.SearchRuleId", HFILL }},
2394 { &hf_dsp_chainedRelaxation,
2395 { "chainedRelaxation", "dsp.chainedRelaxation",
2396 FT_NONE, BASE_NONE, NULL, 0,
2397 "x509if.MRMapping", HFILL }},
2398 { &hf_dsp_relatedEntry,
2399 { "relatedEntry", "dsp.relatedEntry",
2400 FT_INT32, BASE_DEC, NULL, 0,
2401 "dsp.INTEGER", HFILL }},
2402 { &hf_dsp_dspPaging,
2403 { "dspPaging", "dsp.dspPaging",
2404 FT_BOOLEAN, BASE_NONE, NULL, 0,
2405 "dsp.BOOLEAN", HFILL }},
2406 { &hf_dsp_nonDapPdu,
2407 { "nonDapPdu", "dsp.nonDapPdu",
2408 FT_UINT32, BASE_DEC, VALS(dsp_T_nonDapPdu_vals), 0,
2409 "dsp.T_nonDapPdu", HFILL }},
2410 { &hf_dsp_streamedResults,
2411 { "streamedResults", "dsp.streamedResults",
2412 FT_INT32, BASE_DEC, NULL, 0,
2413 "dsp.INTEGER", HFILL }},
2414 { &hf_dsp_excludeWriteableCopies,
2415 { "excludeWriteableCopies", "dsp.excludeWriteableCopies",
2416 FT_BOOLEAN, BASE_NONE, NULL, 0,
2417 "dsp.BOOLEAN", HFILL }},
2419 { "utcTime", "dsp.utcTime",
2420 FT_STRING, BASE_NONE, NULL, 0,
2421 "dsp.UTCTime", HFILL }},
2422 { &hf_dsp_generalizedTime,
2423 { "generalizedTime", "dsp.generalizedTime",
2424 FT_STRING, BASE_NONE, NULL, 0,
2425 "dsp.GeneralizedTime", HFILL }},
2426 { &hf_dsp_crossReferences,
2427 { "crossReferences", "dsp.crossReferences",
2428 FT_UINT32, BASE_DEC, NULL, 0,
2429 "dsp.SEQUENCE_OF_CrossReference", HFILL }},
2430 { &hf_dsp_crossReferences_item,
2431 { "CrossReference", "dsp.CrossReference",
2432 FT_NONE, BASE_NONE, NULL, 0,
2433 "dsp.CrossReference", HFILL }},
2434 { &hf_dsp_alreadySearched,
2435 { "alreadySearched", "dsp.alreadySearched",
2436 FT_UINT32, BASE_DEC, NULL, 0,
2437 "dsp.Exclusions", HFILL }},
2438 { &hf_dsp_accessPoint,
2439 { "accessPoint", "dsp.accessPoint",
2440 FT_NONE, BASE_NONE, NULL, 0,
2441 "dsp.AccessPointInformation", HFILL }},
2442 { &hf_dsp_nameResolutionPhase,
2443 { "nameResolutionPhase", "dsp.nameResolutionPhase",
2444 FT_UINT32, BASE_DEC, VALS(dsp_T_nameResolutionPhase_vals), 0,
2445 "dsp.T_nameResolutionPhase", HFILL }},
2446 { &hf_dsp_nextRDNToBeResolved,
2447 { "nextRDNToBeResolved", "dsp.nextRDNToBeResolved",
2448 FT_INT32, BASE_DEC, NULL, 0,
2449 "dsp.INTEGER", HFILL }},
2450 { &hf_dsp_TraceInformation_item,
2451 { "TraceItem", "dsp.TraceItem",
2452 FT_NONE, BASE_NONE, NULL, 0,
2453 "dsp.TraceItem", HFILL }},
2456 FT_UINT32, BASE_DEC, VALS(x509if_Name_vals), 0,
2457 "x509if.Name", HFILL }},
2458 { &hf_dsp_targetObject,
2459 { "targetObject", "dsp.targetObject",
2460 FT_UINT32, BASE_DEC, VALS(x509if_Name_vals), 0,
2461 "x509if.Name", HFILL }},
2463 { "ae-title", "dsp.ae_title",
2464 FT_UINT32, BASE_DEC, VALS(x509if_Name_vals), 0,
2465 "x509if.Name", HFILL }},
2467 { "address", "dsp.address",
2468 FT_NONE, BASE_NONE, NULL, 0,
2469 "x509sat.PresentationAddress", HFILL }},
2470 { &hf_dsp_protocolInformation,
2471 { "protocolInformation", "dsp.protocolInformation",
2472 FT_UINT32, BASE_DEC, NULL, 0,
2473 "dsp.SET_OF_ProtocolInformation", HFILL }},
2474 { &hf_dsp_protocolInformation_item,
2475 { "ProtocolInformation", "dsp.ProtocolInformation",
2476 FT_NONE, BASE_NONE, NULL, 0,
2477 "x509sat.ProtocolInformation", HFILL }},
2478 { &hf_dsp_labeledURI,
2479 { "labeledURI", "dsp.labeledURI",
2480 FT_UINT32, BASE_DEC, VALS(x509sat_DirectoryString_vals), 0,
2481 "dsp.LabeledURI", HFILL }},
2482 { &hf_dsp_access_point_category,
2483 { "category", "dsp.category",
2484 FT_UINT32, BASE_DEC, VALS(dsp_APCategory_vals), 0,
2485 "dsp.APCategory", HFILL }},
2486 { &hf_dsp_chainingRequired,
2487 { "chainingRequired", "dsp.chainingRequired",
2488 FT_BOOLEAN, BASE_NONE, NULL, 0,
2489 "dsp.BOOLEAN", HFILL }},
2490 { &hf_dsp_MasterAndShadowAccessPoints_item,
2491 { "MasterOrShadowAccessPoint", "dsp.MasterOrShadowAccessPoint",
2492 FT_NONE, BASE_NONE, NULL, 0,
2493 "dsp.MasterOrShadowAccessPoint", HFILL }},
2495 { "category", "dsp.category",
2496 FT_UINT32, BASE_DEC, VALS(dsp_T_category_vals), 0,
2497 "dsp.T_category", HFILL }},
2498 { &hf_dsp_additionalPoints,
2499 { "additionalPoints", "dsp.additionalPoints",
2500 FT_UINT32, BASE_DEC, NULL, 0,
2501 "dsp.MasterAndShadowAccessPoints", HFILL }},
2502 { &hf_dsp_domainLocalID,
2503 { "domainLocalID", "dsp.domainLocalID",
2504 FT_UINT32, BASE_DEC, VALS(x509sat_DirectoryString_vals), 0,
2505 "x509sat.DirectoryString", HFILL }},
2506 { &hf_dsp_accessPoints,
2507 { "accessPoints", "dsp.accessPoints",
2508 FT_UINT32, BASE_DEC, NULL, 0,
2509 "dsp.MasterAndShadowAccessPoints", HFILL }},
2510 { &hf_dsp_Exclusions_item,
2511 { "RDNSequence", "dsp.RDNSequence",
2512 FT_UINT32, BASE_DEC, NULL, 0,
2513 "x509if.RDNSequence", HFILL }},
2514 { &hf_dsp_rdnsResolved,
2515 { "rdnsResolved", "dsp.rdnsResolved",
2516 FT_INT32, BASE_DEC, NULL, 0,
2517 "dsp.INTEGER", HFILL }},
2518 { &hf_dsp_accessPoints_01,
2519 { "accessPoints", "dsp.accessPoints",
2520 FT_UINT32, BASE_DEC, NULL, 0,
2521 "dsp.SET_OF_AccessPointInformation", HFILL }},
2522 { &hf_dsp_accessPoints_item,
2523 { "AccessPointInformation", "dsp.AccessPointInformation",
2524 FT_NONE, BASE_NONE, NULL, 0,
2525 "dsp.AccessPointInformation", HFILL }},
2526 { &hf_dsp_returnToDUA,
2527 { "returnToDUA", "dsp.returnToDUA",
2528 FT_BOOLEAN, BASE_NONE, NULL, 0,
2529 "dsp.BOOLEAN", HFILL }},
2530 { &hf_dsp_basicLevels,
2531 { "basicLevels", "dsp.basicLevels",
2532 FT_NONE, BASE_NONE, NULL, 0,
2533 "dsp.T_basicLevels", HFILL }},
2535 { "level", "dsp.level",
2536 FT_UINT32, BASE_DEC, VALS(dsp_T_level_vals), 0,
2537 "dsp.T_level", HFILL }},
2538 { &hf_dsp_localQualifier,
2539 { "localQualifier", "dsp.localQualifier",
2540 FT_INT32, BASE_DEC, NULL, 0,
2541 "dsp.INTEGER", HFILL }},
2543 { "signed", "dsp.signed",
2544 FT_BOOLEAN, BASE_NONE, NULL, 0,
2545 "dsp.BOOLEAN", HFILL }},
2547 { "other", "dsp.other",
2548 FT_NONE, BASE_NONE, NULL, 0,
2549 "dsp.EXTERNAL", HFILL }},
2551 /*--- End of included file: packet-dsp-hfarr.c ---*/
2552 #line 278 "packet-dsp-template.c"
2555 /* List of subtrees */
2556 static gint *ett[] = {
2559 /*--- Included file: packet-dsp-ettarr.c ---*/
2560 #line 1 "packet-dsp-ettarr.c"
2561 &ett_dsp_ChainedReadArgumentData,
2562 &ett_dsp_ChainedReadArgument,
2563 &ett_dsp_T_signedChainedReadArgument,
2564 &ett_dsp_ChainedReadResultData,
2565 &ett_dsp_ChainedReadResult,
2566 &ett_dsp_T_signedChainedReadResult,
2567 &ett_dsp_ChainedCompareArgumentData,
2568 &ett_dsp_ChainedCompareArgument,
2569 &ett_dsp_T_signedChainedCompareArgument,
2570 &ett_dsp_ChainedCompareResultData,
2571 &ett_dsp_ChainedCompareResult,
2572 &ett_dsp_T_signedChainedCompareResult,
2573 &ett_dsp_ChainedListArgumentData,
2574 &ett_dsp_ChainedListArgument,
2575 &ett_dsp_T_signedChainedListArgument,
2576 &ett_dsp_ChainedListResultData,
2577 &ett_dsp_ChainedListResult,
2578 &ett_dsp_T_signedChainedListResult,
2579 &ett_dsp_ChainedSearchArgumentData,
2580 &ett_dsp_ChainedSearchArgument,
2581 &ett_dsp_T_signedChainedSearchArgument,
2582 &ett_dsp_ChainedSearchResultData,
2583 &ett_dsp_ChainedSearchResult,
2584 &ett_dsp_T_signedChainedSearchResult,
2585 &ett_dsp_ChainedAddEntryArgumentData,
2586 &ett_dsp_ChainedAddEntryArgument,
2587 &ett_dsp_T_signedChainedAddEntryArgument,
2588 &ett_dsp_ChainedAddEntryResultData,
2589 &ett_dsp_ChainedAddEntryResult,
2590 &ett_dsp_T_signedChainedAddEntryResult,
2591 &ett_dsp_ChainedRemoveEntryArgumentData,
2592 &ett_dsp_ChainedRemoveEntryArgument,
2593 &ett_dsp_T_signedChainedRemoveEntryArgument,
2594 &ett_dsp_ChainedRemoveEntryResultData,
2595 &ett_dsp_ChainedRemoveEntryResult,
2596 &ett_dsp_T_signedChainedRemoveEntryResult,
2597 &ett_dsp_ChainedModifyEntryArgumentData,
2598 &ett_dsp_ChainedModifyEntryArgument,
2599 &ett_dsp_T_signedChainedModifyEntryArgument,
2600 &ett_dsp_ChainedModifyEntryResultData,
2601 &ett_dsp_ChainedModifyEntryResult,
2602 &ett_dsp_T_signedChainedModifyEntryResult,
2603 &ett_dsp_ChainedModifyDNArgumentData,
2604 &ett_dsp_ChainedModifyDNArgument,
2605 &ett_dsp_T_signedChainedModifyDNArgument,
2606 &ett_dsp_ChainedModifyDNResultData,
2607 &ett_dsp_ChainedModifyDNResult,
2608 &ett_dsp_T_signedChainedModifyDNResult,
2609 &ett_dsp_DSAReferralData,
2610 &ett_dsp_SEQUENCE_OF_Attribute,
2611 &ett_dsp_DSAReferral,
2612 &ett_dsp_T_signedDSAReferral,
2613 &ett_dsp_ChainingArguments,
2615 &ett_dsp_ChainingResults,
2616 &ett_dsp_SEQUENCE_OF_CrossReference,
2617 &ett_dsp_CrossReference,
2618 &ett_dsp_OperationProgress,
2619 &ett_dsp_TraceInformation,
2621 &ett_dsp_AccessPoint,
2622 &ett_dsp_SET_OF_ProtocolInformation,
2623 &ett_dsp_MasterOrShadowAccessPoint,
2624 &ett_dsp_MasterAndShadowAccessPoints,
2625 &ett_dsp_AccessPointInformation,
2626 &ett_dsp_DitBridgeKnowledge,
2627 &ett_dsp_Exclusions,
2628 &ett_dsp_ContinuationReference,
2629 &ett_dsp_SET_OF_AccessPointInformation,
2630 &ett_dsp_AuthenticationLevel,
2631 &ett_dsp_T_basicLevels,
2633 /*--- End of included file: packet-dsp-ettarr.c ---*/
2634 #line 284 "packet-dsp-template.c"
2636 module_t *dsp_module;
2638 /* Register protocol */
2639 proto_dsp = proto_register_protocol(PNAME, PSNAME, PFNAME);
2641 register_dissector("dsp", dissect_dsp, proto_dsp);
2643 /* Register fields and subtrees */
2644 proto_register_field_array(proto_dsp, hf, array_length(hf));
2645 proto_register_subtree_array(ett, array_length(ett));
2647 /* Register our configuration options for DSP, particularly our port */
2649 dsp_module = prefs_register_protocol_subtree("OSI/X.500", proto_dsp, prefs_register_dsp);
2651 prefs_register_uint_preference(dsp_module, "tcp.port", "DSP TCP Port",
2652 "Set the port for DSP operations (if other"
2653 " than the default of 102)",
2654 10, &global_dsp_tcp_port);
2660 /*--- proto_reg_handoff_dsp --- */
2661 void proto_reg_handoff_dsp(void) {
2662 dissector_handle_t dsp_handle;
2665 /*--- Included file: packet-dsp-dis-tab.c ---*/
2666 #line 1 "packet-dsp-dis-tab.c"
2667 register_ber_oid_dissector("2.5.12.1", dissect_AccessPoint_PDU, proto_dsp, "id-doa-myAccessPoint");
2668 register_ber_oid_dissector("2.5.12.2", dissect_AccessPoint_PDU, proto_dsp, "id-doa-superiorKnowledge");
2669 register_ber_oid_dissector("2.5.12.3", dissect_MasterAndShadowAccessPoints_PDU, proto_dsp, "id-doa-specificKnowledge");
2670 register_ber_oid_dissector("2.5.12.4", dissect_MasterAndShadowAccessPoints_PDU, proto_dsp, "id-doa-nonSpecificKnowledge");
2671 register_ber_oid_dissector("2.5.12.8", dissect_DitBridgeKnowledge_PDU, proto_dsp, "id-doa-ditBridgeKnowledge");
2674 /*--- End of included file: packet-dsp-dis-tab.c ---*/
2675 #line 314 "packet-dsp-template.c"
2677 /* APPLICATION CONTEXT */
2679 oid_add_from_string("id-ac-directory-system","2.5.3.2");
2681 /* ABSTRACT SYNTAXES */
2683 /* remember the tpkt handler for change in preferences */
2684 tpkt_handle = find_dissector("tpkt");
2686 /* Register DSP with ROS (with no use of RTSE) */
2687 dsp_handle = find_dissector("dsp");
2688 register_ros_oid_dissector_handle("2.5.9.2", dsp_handle, 0, "id-as-directory-system", FALSE);
2692 void prefs_register_dsp(void) {
2693 static guint tcp_port = 0;
2695 /* de-register the old port */
2696 /* port 102 is registered by TPKT - don't undo this! */
2697 if((tcp_port > 0) && (tcp_port != 102) && tpkt_handle)
2698 dissector_delete("tcp.port", tcp_port, tpkt_handle);
2700 /* Set our port number for future use */
2701 tcp_port = global_dsp_tcp_port;
2703 if((tcp_port > 0) && (tcp_port != 102) && tpkt_handle)
2704 dissector_add("tcp.port", global_dsp_tcp_port, tpkt_handle);