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 col_set_str(pinfo->cinfo, COL_INFO, dsp_op_name);
1980 while (tvb_reported_length_remaining(tvb, offset) > 0){
1982 offset=(*dsp_dissector)(FALSE, tvb, offset, &asn1_ctx, tree, -1);
1983 if(offset == old_offset){
1984 proto_tree_add_text(tree, tvb, offset, -1,"Internal error, zero-byte DSP PDU");
1992 /*--- proto_register_dsp -------------------------------------------*/
1993 void proto_register_dsp(void) {
1995 /* List of fields */
1996 static hf_register_info hf[] =
1999 /*--- Included file: packet-dsp-hfarr.c ---*/
2000 #line 1 "packet-dsp-hfarr.c"
2001 { &hf_dsp_AccessPoint_PDU,
2002 { "AccessPoint", "dsp.AccessPoint",
2003 FT_NONE, BASE_NONE, NULL, 0,
2004 "dsp.AccessPoint", HFILL }},
2005 { &hf_dsp_MasterAndShadowAccessPoints_PDU,
2006 { "MasterAndShadowAccessPoints", "dsp.MasterAndShadowAccessPoints",
2007 FT_UINT32, BASE_DEC, NULL, 0,
2008 "dsp.MasterAndShadowAccessPoints", HFILL }},
2009 { &hf_dsp_DitBridgeKnowledge_PDU,
2010 { "DitBridgeKnowledge", "dsp.DitBridgeKnowledge",
2011 FT_NONE, BASE_NONE, NULL, 0,
2012 "dsp.DitBridgeKnowledge", HFILL }},
2013 { &hf_dsp_chainedArgument,
2014 { "chainedArgument", "dsp.chainedArgument",
2015 FT_NONE, BASE_NONE, NULL, 0,
2016 "dsp.ChainingArguments", HFILL }},
2017 { &hf_dsp_readArgument,
2018 { "readArgument", "dsp.readArgument",
2019 FT_UINT32, BASE_DEC, VALS(dap_ReadArgument_vals), 0,
2020 "dap.ReadArgument", HFILL }},
2021 { &hf_dsp_unsignedChainedReadArgument,
2022 { "unsignedChainedReadArgument", "dsp.unsignedChainedReadArgument",
2023 FT_NONE, BASE_NONE, NULL, 0,
2024 "dsp.ChainedReadArgumentData", HFILL }},
2025 { &hf_dsp_signedChainedReadArgument,
2026 { "signedChainedReadArgument", "dsp.signedChainedReadArgument",
2027 FT_NONE, BASE_NONE, NULL, 0,
2028 "dsp.T_signedChainedReadArgument", HFILL }},
2029 { &hf_dsp_chainedReadArgument,
2030 { "chainedReadArgument", "dsp.chainedReadArgument",
2031 FT_NONE, BASE_NONE, NULL, 0,
2032 "dsp.ChainedReadArgumentData", HFILL }},
2033 { &hf_dsp_algorithmIdentifier,
2034 { "algorithmIdentifier", "dsp.algorithmIdentifier",
2035 FT_NONE, BASE_NONE, NULL, 0,
2036 "x509af.AlgorithmIdentifier", HFILL }},
2037 { &hf_dsp_encrypted,
2038 { "encrypted", "dsp.encrypted",
2039 FT_BYTES, BASE_NONE, NULL, 0,
2040 "dsp.BIT_STRING", HFILL }},
2041 { &hf_dsp_chainedResults,
2042 { "chainedResults", "dsp.chainedResults",
2043 FT_NONE, BASE_NONE, NULL, 0,
2044 "dsp.ChainingResults", HFILL }},
2045 { &hf_dsp_readResult,
2046 { "readResult", "dsp.readResult",
2047 FT_UINT32, BASE_DEC, VALS(dap_ReadResult_vals), 0,
2048 "dap.ReadResult", HFILL }},
2049 { &hf_dsp_unsignedChainedReadResult,
2050 { "unsignedChainedReadResult", "dsp.unsignedChainedReadResult",
2051 FT_NONE, BASE_NONE, NULL, 0,
2052 "dsp.ChainedReadResultData", HFILL }},
2053 { &hf_dsp_signedChainedReadResult,
2054 { "signedChainedReadResult", "dsp.signedChainedReadResult",
2055 FT_NONE, BASE_NONE, NULL, 0,
2056 "dsp.T_signedChainedReadResult", HFILL }},
2057 { &hf_dsp_chainedReadResult,
2058 { "chainedReadResult", "dsp.chainedReadResult",
2059 FT_NONE, BASE_NONE, NULL, 0,
2060 "dsp.ChainedReadResultData", HFILL }},
2061 { &hf_dsp_compareArgument,
2062 { "compareArgument", "dsp.compareArgument",
2063 FT_UINT32, BASE_DEC, VALS(dap_CompareArgument_vals), 0,
2064 "dap.CompareArgument", HFILL }},
2065 { &hf_dsp_unsignedChainedCompareArgument,
2066 { "unsignedChainedCompareArgument", "dsp.unsignedChainedCompareArgument",
2067 FT_NONE, BASE_NONE, NULL, 0,
2068 "dsp.ChainedCompareArgumentData", HFILL }},
2069 { &hf_dsp_signedChainedCompareArgument,
2070 { "signedChainedCompareArgument", "dsp.signedChainedCompareArgument",
2071 FT_NONE, BASE_NONE, NULL, 0,
2072 "dsp.T_signedChainedCompareArgument", HFILL }},
2073 { &hf_dsp_chainedCompareArgument,
2074 { "chainedCompareArgument", "dsp.chainedCompareArgument",
2075 FT_NONE, BASE_NONE, NULL, 0,
2076 "dsp.ChainedCompareArgumentData", HFILL }},
2077 { &hf_dsp_compareResult,
2078 { "compareResult", "dsp.compareResult",
2079 FT_UINT32, BASE_DEC, VALS(dap_CompareResult_vals), 0,
2080 "dap.CompareResult", HFILL }},
2081 { &hf_dsp_unsignedChainedCompareResult,
2082 { "unsignedChainedCompareResult", "dsp.unsignedChainedCompareResult",
2083 FT_NONE, BASE_NONE, NULL, 0,
2084 "dsp.ChainedCompareResultData", HFILL }},
2085 { &hf_dsp_signedChainedCompareResult,
2086 { "signedChainedCompareResult", "dsp.signedChainedCompareResult",
2087 FT_NONE, BASE_NONE, NULL, 0,
2088 "dsp.T_signedChainedCompareResult", HFILL }},
2089 { &hf_dsp_chainedCompareResult,
2090 { "chainedCompareResult", "dsp.chainedCompareResult",
2091 FT_NONE, BASE_NONE, NULL, 0,
2092 "dsp.ChainedCompareResultData", HFILL }},
2093 { &hf_dsp_listArgument,
2094 { "listArgument", "dsp.listArgument",
2095 FT_UINT32, BASE_DEC, VALS(dap_ListArgument_vals), 0,
2096 "dap.ListArgument", HFILL }},
2097 { &hf_dsp_unsignedChainedListArgument,
2098 { "unsignedChainedListArgument", "dsp.unsignedChainedListArgument",
2099 FT_NONE, BASE_NONE, NULL, 0,
2100 "dsp.ChainedListArgumentData", HFILL }},
2101 { &hf_dsp_signedChainedListArgument,
2102 { "signedChainedListArgument", "dsp.signedChainedListArgument",
2103 FT_NONE, BASE_NONE, NULL, 0,
2104 "dsp.T_signedChainedListArgument", HFILL }},
2105 { &hf_dsp_chainedListArgument,
2106 { "chainedListArgument", "dsp.chainedListArgument",
2107 FT_NONE, BASE_NONE, NULL, 0,
2108 "dsp.ChainedListArgumentData", HFILL }},
2109 { &hf_dsp_listResult,
2110 { "listResult", "dsp.listResult",
2111 FT_UINT32, BASE_DEC, VALS(dap_ListResult_vals), 0,
2112 "dap.ListResult", HFILL }},
2113 { &hf_dsp_unsignedChainedListResult,
2114 { "unsignedChainedListResult", "dsp.unsignedChainedListResult",
2115 FT_NONE, BASE_NONE, NULL, 0,
2116 "dsp.ChainedListResultData", HFILL }},
2117 { &hf_dsp_signedChainedListResult,
2118 { "signedChainedListResult", "dsp.signedChainedListResult",
2119 FT_NONE, BASE_NONE, NULL, 0,
2120 "dsp.T_signedChainedListResult", HFILL }},
2121 { &hf_dsp_chainedListResult,
2122 { "chainedListResult", "dsp.chainedListResult",
2123 FT_NONE, BASE_NONE, NULL, 0,
2124 "dsp.ChainedListResultData", HFILL }},
2125 { &hf_dsp_searchArgument,
2126 { "searchArgument", "dsp.searchArgument",
2127 FT_UINT32, BASE_DEC, VALS(dap_SearchArgument_vals), 0,
2128 "dap.SearchArgument", HFILL }},
2129 { &hf_dsp_unsignedChainedSearchArgument,
2130 { "unsignedChainedSearchArgument", "dsp.unsignedChainedSearchArgument",
2131 FT_NONE, BASE_NONE, NULL, 0,
2132 "dsp.ChainedSearchArgumentData", HFILL }},
2133 { &hf_dsp_signedChainedSearchArgument,
2134 { "signedChainedSearchArgument", "dsp.signedChainedSearchArgument",
2135 FT_NONE, BASE_NONE, NULL, 0,
2136 "dsp.T_signedChainedSearchArgument", HFILL }},
2137 { &hf_dsp_chainedSearchArgument,
2138 { "chainedSearchArgument", "dsp.chainedSearchArgument",
2139 FT_NONE, BASE_NONE, NULL, 0,
2140 "dsp.ChainedSearchArgumentData", HFILL }},
2141 { &hf_dsp_searchResult,
2142 { "searchResult", "dsp.searchResult",
2143 FT_UINT32, BASE_DEC, VALS(dap_SearchResult_vals), 0,
2144 "dap.SearchResult", HFILL }},
2145 { &hf_dsp_unsignedChainedSearchResult,
2146 { "unsignedChainedSearchResult", "dsp.unsignedChainedSearchResult",
2147 FT_NONE, BASE_NONE, NULL, 0,
2148 "dsp.ChainedSearchResultData", HFILL }},
2149 { &hf_dsp_signedChainedSearchResult,
2150 { "signedChainedSearchResult", "dsp.signedChainedSearchResult",
2151 FT_NONE, BASE_NONE, NULL, 0,
2152 "dsp.T_signedChainedSearchResult", HFILL }},
2153 { &hf_dsp_chainedSearchResult,
2154 { "chainedSearchResult", "dsp.chainedSearchResult",
2155 FT_NONE, BASE_NONE, NULL, 0,
2156 "dsp.ChainedSearchResultData", HFILL }},
2157 { &hf_dsp_addEntryArgument,
2158 { "addEntryArgument", "dsp.addEntryArgument",
2159 FT_UINT32, BASE_DEC, VALS(dap_AddEntryArgument_vals), 0,
2160 "dap.AddEntryArgument", HFILL }},
2161 { &hf_dsp_unsignedChainedAddEntryArgument,
2162 { "unsignedChainedAddEntryArgument", "dsp.unsignedChainedAddEntryArgument",
2163 FT_NONE, BASE_NONE, NULL, 0,
2164 "dsp.ChainedAddEntryArgumentData", HFILL }},
2165 { &hf_dsp_signedChainedAddEntryArgument,
2166 { "signedChainedAddEntryArgument", "dsp.signedChainedAddEntryArgument",
2167 FT_NONE, BASE_NONE, NULL, 0,
2168 "dsp.T_signedChainedAddEntryArgument", HFILL }},
2169 { &hf_dsp_chainedAddEntryArgument,
2170 { "chainedAddEntryArgument", "dsp.chainedAddEntryArgument",
2171 FT_NONE, BASE_NONE, NULL, 0,
2172 "dsp.ChainedAddEntryArgumentData", HFILL }},
2173 { &hf_dsp_addEntryResult,
2174 { "addEntryResult", "dsp.addEntryResult",
2175 FT_UINT32, BASE_DEC, VALS(dap_AddEntryResult_vals), 0,
2176 "dap.AddEntryResult", HFILL }},
2177 { &hf_dsp_unsignedChainedAddEntryResult,
2178 { "unsignedChainedAddEntryResult", "dsp.unsignedChainedAddEntryResult",
2179 FT_NONE, BASE_NONE, NULL, 0,
2180 "dsp.ChainedAddEntryResultData", HFILL }},
2181 { &hf_dsp_signedChainedAddEntryResult,
2182 { "signedChainedAddEntryResult", "dsp.signedChainedAddEntryResult",
2183 FT_NONE, BASE_NONE, NULL, 0,
2184 "dsp.T_signedChainedAddEntryResult", HFILL }},
2185 { &hf_dsp_chainedAddEntryResult,
2186 { "chainedAddEntryResult", "dsp.chainedAddEntryResult",
2187 FT_NONE, BASE_NONE, NULL, 0,
2188 "dsp.ChainedAddEntryResultData", HFILL }},
2189 { &hf_dsp_removeEntryArgument,
2190 { "removeEntryArgument", "dsp.removeEntryArgument",
2191 FT_UINT32, BASE_DEC, VALS(dap_RemoveEntryArgument_vals), 0,
2192 "dap.RemoveEntryArgument", HFILL }},
2193 { &hf_dsp_unsignedChainedRemoveEntryArgument,
2194 { "unsignedChainedRemoveEntryArgument", "dsp.unsignedChainedRemoveEntryArgument",
2195 FT_NONE, BASE_NONE, NULL, 0,
2196 "dsp.ChainedRemoveEntryArgumentData", HFILL }},
2197 { &hf_dsp_signedChainedRemoveEntryArgument,
2198 { "signedChainedRemoveEntryArgument", "dsp.signedChainedRemoveEntryArgument",
2199 FT_NONE, BASE_NONE, NULL, 0,
2200 "dsp.T_signedChainedRemoveEntryArgument", HFILL }},
2201 { &hf_dsp_chainedRemoveEntryArgument,
2202 { "chainedRemoveEntryArgument", "dsp.chainedRemoveEntryArgument",
2203 FT_NONE, BASE_NONE, NULL, 0,
2204 "dsp.ChainedRemoveEntryArgumentData", HFILL }},
2205 { &hf_dsp_removeEntryResult,
2206 { "removeEntryResult", "dsp.removeEntryResult",
2207 FT_UINT32, BASE_DEC, VALS(dap_RemoveEntryResult_vals), 0,
2208 "dap.RemoveEntryResult", HFILL }},
2209 { &hf_dsp_unsignedChainedRemoveEntryResult,
2210 { "unsignedChainedRemoveEntryResult", "dsp.unsignedChainedRemoveEntryResult",
2211 FT_NONE, BASE_NONE, NULL, 0,
2212 "dsp.ChainedRemoveEntryResultData", HFILL }},
2213 { &hf_dsp_signedChainedRemoveEntryResult,
2214 { "signedChainedRemoveEntryResult", "dsp.signedChainedRemoveEntryResult",
2215 FT_NONE, BASE_NONE, NULL, 0,
2216 "dsp.T_signedChainedRemoveEntryResult", HFILL }},
2217 { &hf_dsp_chainedRemoveEntryResult,
2218 { "chainedRemoveEntryResult", "dsp.chainedRemoveEntryResult",
2219 FT_NONE, BASE_NONE, NULL, 0,
2220 "dsp.ChainedRemoveEntryResultData", HFILL }},
2221 { &hf_dsp_modifyEntryArgument,
2222 { "modifyEntryArgument", "dsp.modifyEntryArgument",
2223 FT_UINT32, BASE_DEC, VALS(dap_ModifyEntryArgument_vals), 0,
2224 "dap.ModifyEntryArgument", HFILL }},
2225 { &hf_dsp_unsignedChainedModifyEntryArgument,
2226 { "unsignedChainedModifyEntryArgument", "dsp.unsignedChainedModifyEntryArgument",
2227 FT_NONE, BASE_NONE, NULL, 0,
2228 "dsp.ChainedModifyEntryArgumentData", HFILL }},
2229 { &hf_dsp_signedChainedModifyEntryArgument,
2230 { "signedChainedModifyEntryArgument", "dsp.signedChainedModifyEntryArgument",
2231 FT_NONE, BASE_NONE, NULL, 0,
2232 "dsp.T_signedChainedModifyEntryArgument", HFILL }},
2233 { &hf_dsp_chainedModifyEntryArgument,
2234 { "chainedModifyEntryArgument", "dsp.chainedModifyEntryArgument",
2235 FT_NONE, BASE_NONE, NULL, 0,
2236 "dsp.ChainedModifyEntryArgumentData", HFILL }},
2237 { &hf_dsp_modifyEntryResult,
2238 { "modifyEntryResult", "dsp.modifyEntryResult",
2239 FT_UINT32, BASE_DEC, VALS(dap_ModifyEntryResult_vals), 0,
2240 "dap.ModifyEntryResult", HFILL }},
2241 { &hf_dsp_unsignedChainedModifyEntryResult,
2242 { "unsignedChainedModifyEntryResult", "dsp.unsignedChainedModifyEntryResult",
2243 FT_NONE, BASE_NONE, NULL, 0,
2244 "dsp.ChainedModifyEntryResultData", HFILL }},
2245 { &hf_dsp_signedChainedModifyEntryResult,
2246 { "signedChainedModifyEntryResult", "dsp.signedChainedModifyEntryResult",
2247 FT_NONE, BASE_NONE, NULL, 0,
2248 "dsp.T_signedChainedModifyEntryResult", HFILL }},
2249 { &hf_dsp_chainedModifyEntryResult,
2250 { "chainedModifyEntryResult", "dsp.chainedModifyEntryResult",
2251 FT_NONE, BASE_NONE, NULL, 0,
2252 "dsp.ChainedModifyEntryResultData", HFILL }},
2253 { &hf_dsp_modifyDNArgument,
2254 { "modifyDNArgument", "dsp.modifyDNArgument",
2255 FT_NONE, BASE_NONE, NULL, 0,
2256 "dap.ModifyDNArgument", HFILL }},
2257 { &hf_dsp_unsignedChainedModifyDNArgument,
2258 { "unsignedChainedModifyDNArgument", "dsp.unsignedChainedModifyDNArgument",
2259 FT_NONE, BASE_NONE, NULL, 0,
2260 "dsp.ChainedModifyDNArgumentData", HFILL }},
2261 { &hf_dsp_signedChainedModifyDNArgument,
2262 { "signedChainedModifyDNArgument", "dsp.signedChainedModifyDNArgument",
2263 FT_NONE, BASE_NONE, NULL, 0,
2264 "dsp.T_signedChainedModifyDNArgument", HFILL }},
2265 { &hf_dsp_chainedModifyDNArgument,
2266 { "chainedModifyDNArgument", "dsp.chainedModifyDNArgument",
2267 FT_NONE, BASE_NONE, NULL, 0,
2268 "dsp.ChainedModifyDNArgumentData", HFILL }},
2269 { &hf_dsp_modifyDNResult,
2270 { "modifyDNResult", "dsp.modifyDNResult",
2271 FT_UINT32, BASE_DEC, VALS(dap_ModifyDNResult_vals), 0,
2272 "dap.ModifyDNResult", HFILL }},
2273 { &hf_dsp_unsignedChainedModifyDNResult,
2274 { "unsignedChainedModifyDNResult", "dsp.unsignedChainedModifyDNResult",
2275 FT_NONE, BASE_NONE, NULL, 0,
2276 "dsp.ChainedModifyDNResultData", HFILL }},
2277 { &hf_dsp_signedChainedModifyDNResult,
2278 { "signedChainedModifyDNResult", "dsp.signedChainedModifyDNResult",
2279 FT_NONE, BASE_NONE, NULL, 0,
2280 "dsp.T_signedChainedModifyDNResult", HFILL }},
2281 { &hf_dsp_chainedModifyDNResult,
2282 { "chainedModifyDNResult", "dsp.chainedModifyDNResult",
2283 FT_NONE, BASE_NONE, NULL, 0,
2284 "dsp.ChainedModifyDNResultData", HFILL }},
2285 { &hf_dsp_reference,
2286 { "reference", "dsp.reference",
2287 FT_NONE, BASE_NONE, NULL, 0,
2288 "dsp.ContinuationReference", HFILL }},
2289 { &hf_dsp_contextPrefix,
2290 { "contextPrefix", "dsp.contextPrefix",
2291 FT_UINT32, BASE_DEC, NULL, 0,
2292 "x509if.DistinguishedName", HFILL }},
2293 { &hf_dsp_securityParameters,
2294 { "securityParameters", "dsp.securityParameters",
2295 FT_NONE, BASE_NONE, NULL, 0,
2296 "dap.SecurityParameters", HFILL }},
2297 { &hf_dsp_performer,
2298 { "performer", "dsp.performer",
2299 FT_UINT32, BASE_DEC, NULL, 0,
2300 "x509if.DistinguishedName", HFILL }},
2301 { &hf_dsp_aliasDereferenced,
2302 { "aliasDereferenced", "dsp.aliasDereferenced",
2303 FT_BOOLEAN, BASE_NONE, NULL, 0,
2304 "dsp.BOOLEAN", HFILL }},
2305 { &hf_dsp_notification,
2306 { "notification", "dsp.notification",
2307 FT_UINT32, BASE_DEC, NULL, 0,
2308 "dsp.SEQUENCE_OF_Attribute", HFILL }},
2309 { &hf_dsp_notification_item,
2310 { "Attribute", "dsp.Attribute",
2311 FT_NONE, BASE_NONE, NULL, 0,
2312 "x509if.Attribute", HFILL }},
2313 { &hf_dsp_unsignedDSAReferral,
2314 { "unsignedDSAReferral", "dsp.unsignedDSAReferral",
2315 FT_NONE, BASE_NONE, NULL, 0,
2316 "dsp.DSAReferralData", HFILL }},
2317 { &hf_dsp_signedDSAReferral,
2318 { "signedDSAReferral", "dsp.signedDSAReferral",
2319 FT_NONE, BASE_NONE, NULL, 0,
2320 "dsp.T_signedDSAReferral", HFILL }},
2321 { &hf_dsp_dsaReferral,
2322 { "dsaReferral", "dsp.dsaReferral",
2323 FT_NONE, BASE_NONE, NULL, 0,
2324 "dsp.DSAReferralData", HFILL }},
2325 { &hf_dsp_originator,
2326 { "originator", "dsp.originator",
2327 FT_UINT32, BASE_DEC, NULL, 0,
2328 "x509if.DistinguishedName", HFILL }},
2329 { &hf_dsp_targetObjectDN,
2330 { "targetObject", "dsp.targetObject",
2331 FT_UINT32, BASE_DEC, NULL, 0,
2332 "x509if.DistinguishedName", HFILL }},
2333 { &hf_dsp_operationProgress,
2334 { "operationProgress", "dsp.operationProgress",
2335 FT_NONE, BASE_NONE, NULL, 0,
2336 "dsp.OperationProgress", HFILL }},
2337 { &hf_dsp_traceInformation,
2338 { "traceInformation", "dsp.traceInformation",
2339 FT_UINT32, BASE_DEC, NULL, 0,
2340 "dsp.TraceInformation", HFILL }},
2341 { &hf_dsp_aliasedRDNs,
2342 { "aliasedRDNs", "dsp.aliasedRDNs",
2343 FT_INT32, BASE_DEC, NULL, 0,
2344 "dsp.INTEGER", HFILL }},
2345 { &hf_dsp_returnCrossRefs,
2346 { "returnCrossRefs", "dsp.returnCrossRefs",
2347 FT_BOOLEAN, BASE_NONE, NULL, 0,
2348 "dsp.BOOLEAN", HFILL }},
2349 { &hf_dsp_referenceType,
2350 { "referenceType", "dsp.referenceType",
2351 FT_UINT32, BASE_DEC, VALS(dsp_ReferenceType_vals), 0,
2352 "dsp.ReferenceType", HFILL }},
2354 { "info", "dsp.info",
2355 FT_OID, BASE_NONE, NULL, 0,
2356 "dsp.DomainInfo", HFILL }},
2357 { &hf_dsp_timeLimit,
2358 { "timeLimit", "dsp.timeLimit",
2359 FT_UINT32, BASE_DEC, VALS(dsp_Time_vals), 0,
2360 "dsp.Time", HFILL }},
2361 { &hf_dsp_entryOnly,
2362 { "entryOnly", "dsp.entryOnly",
2363 FT_BOOLEAN, BASE_NONE, NULL, 0,
2364 "dsp.BOOLEAN", HFILL }},
2365 { &hf_dsp_uniqueIdentifier,
2366 { "uniqueIdentifier", "dsp.uniqueIdentifier",
2367 FT_BYTES, BASE_NONE, NULL, 0,
2368 "x509sat.UniqueIdentifier", HFILL }},
2369 { &hf_dsp_authenticationLevel,
2370 { "authenticationLevel", "dsp.authenticationLevel",
2371 FT_UINT32, BASE_DEC, VALS(dsp_AuthenticationLevel_vals), 0,
2372 "dsp.AuthenticationLevel", HFILL }},
2373 { &hf_dsp_exclusions,
2374 { "exclusions", "dsp.exclusions",
2375 FT_UINT32, BASE_DEC, NULL, 0,
2376 "dsp.Exclusions", HFILL }},
2377 { &hf_dsp_excludeShadows,
2378 { "excludeShadows", "dsp.excludeShadows",
2379 FT_BOOLEAN, BASE_NONE, NULL, 0,
2380 "dsp.BOOLEAN", HFILL }},
2381 { &hf_dsp_nameResolveOnMaster,
2382 { "nameResolveOnMaster", "dsp.nameResolveOnMaster",
2383 FT_BOOLEAN, BASE_NONE, NULL, 0,
2384 "dsp.BOOLEAN", HFILL }},
2385 { &hf_dsp_operationIdentifier,
2386 { "operationIdentifier", "dsp.operationIdentifier",
2387 FT_INT32, BASE_DEC, NULL, 0,
2388 "dsp.INTEGER", HFILL }},
2389 { &hf_dsp_searchRuleId,
2390 { "searchRuleId", "dsp.searchRuleId",
2391 FT_NONE, BASE_NONE, NULL, 0,
2392 "x509if.SearchRuleId", HFILL }},
2393 { &hf_dsp_chainedRelaxation,
2394 { "chainedRelaxation", "dsp.chainedRelaxation",
2395 FT_NONE, BASE_NONE, NULL, 0,
2396 "x509if.MRMapping", HFILL }},
2397 { &hf_dsp_relatedEntry,
2398 { "relatedEntry", "dsp.relatedEntry",
2399 FT_INT32, BASE_DEC, NULL, 0,
2400 "dsp.INTEGER", HFILL }},
2401 { &hf_dsp_dspPaging,
2402 { "dspPaging", "dsp.dspPaging",
2403 FT_BOOLEAN, BASE_NONE, NULL, 0,
2404 "dsp.BOOLEAN", HFILL }},
2405 { &hf_dsp_nonDapPdu,
2406 { "nonDapPdu", "dsp.nonDapPdu",
2407 FT_UINT32, BASE_DEC, VALS(dsp_T_nonDapPdu_vals), 0,
2408 "dsp.T_nonDapPdu", HFILL }},
2409 { &hf_dsp_streamedResults,
2410 { "streamedResults", "dsp.streamedResults",
2411 FT_INT32, BASE_DEC, NULL, 0,
2412 "dsp.INTEGER", HFILL }},
2413 { &hf_dsp_excludeWriteableCopies,
2414 { "excludeWriteableCopies", "dsp.excludeWriteableCopies",
2415 FT_BOOLEAN, BASE_NONE, NULL, 0,
2416 "dsp.BOOLEAN", HFILL }},
2418 { "utcTime", "dsp.utcTime",
2419 FT_STRING, BASE_NONE, NULL, 0,
2420 "dsp.UTCTime", HFILL }},
2421 { &hf_dsp_generalizedTime,
2422 { "generalizedTime", "dsp.generalizedTime",
2423 FT_STRING, BASE_NONE, NULL, 0,
2424 "dsp.GeneralizedTime", HFILL }},
2425 { &hf_dsp_crossReferences,
2426 { "crossReferences", "dsp.crossReferences",
2427 FT_UINT32, BASE_DEC, NULL, 0,
2428 "dsp.SEQUENCE_OF_CrossReference", HFILL }},
2429 { &hf_dsp_crossReferences_item,
2430 { "CrossReference", "dsp.CrossReference",
2431 FT_NONE, BASE_NONE, NULL, 0,
2432 "dsp.CrossReference", HFILL }},
2433 { &hf_dsp_alreadySearched,
2434 { "alreadySearched", "dsp.alreadySearched",
2435 FT_UINT32, BASE_DEC, NULL, 0,
2436 "dsp.Exclusions", HFILL }},
2437 { &hf_dsp_accessPoint,
2438 { "accessPoint", "dsp.accessPoint",
2439 FT_NONE, BASE_NONE, NULL, 0,
2440 "dsp.AccessPointInformation", HFILL }},
2441 { &hf_dsp_nameResolutionPhase,
2442 { "nameResolutionPhase", "dsp.nameResolutionPhase",
2443 FT_UINT32, BASE_DEC, VALS(dsp_T_nameResolutionPhase_vals), 0,
2444 "dsp.T_nameResolutionPhase", HFILL }},
2445 { &hf_dsp_nextRDNToBeResolved,
2446 { "nextRDNToBeResolved", "dsp.nextRDNToBeResolved",
2447 FT_INT32, BASE_DEC, NULL, 0,
2448 "dsp.INTEGER", HFILL }},
2449 { &hf_dsp_TraceInformation_item,
2450 { "TraceItem", "dsp.TraceItem",
2451 FT_NONE, BASE_NONE, NULL, 0,
2452 "dsp.TraceItem", HFILL }},
2455 FT_UINT32, BASE_DEC, VALS(x509if_Name_vals), 0,
2456 "x509if.Name", HFILL }},
2457 { &hf_dsp_targetObject,
2458 { "targetObject", "dsp.targetObject",
2459 FT_UINT32, BASE_DEC, VALS(x509if_Name_vals), 0,
2460 "x509if.Name", HFILL }},
2462 { "ae-title", "dsp.ae_title",
2463 FT_UINT32, BASE_DEC, VALS(x509if_Name_vals), 0,
2464 "x509if.Name", HFILL }},
2466 { "address", "dsp.address",
2467 FT_NONE, BASE_NONE, NULL, 0,
2468 "x509sat.PresentationAddress", HFILL }},
2469 { &hf_dsp_protocolInformation,
2470 { "protocolInformation", "dsp.protocolInformation",
2471 FT_UINT32, BASE_DEC, NULL, 0,
2472 "dsp.SET_OF_ProtocolInformation", HFILL }},
2473 { &hf_dsp_protocolInformation_item,
2474 { "ProtocolInformation", "dsp.ProtocolInformation",
2475 FT_NONE, BASE_NONE, NULL, 0,
2476 "x509sat.ProtocolInformation", HFILL }},
2477 { &hf_dsp_labeledURI,
2478 { "labeledURI", "dsp.labeledURI",
2479 FT_UINT32, BASE_DEC, VALS(x509sat_DirectoryString_vals), 0,
2480 "dsp.LabeledURI", HFILL }},
2481 { &hf_dsp_access_point_category,
2482 { "category", "dsp.category",
2483 FT_UINT32, BASE_DEC, VALS(dsp_APCategory_vals), 0,
2484 "dsp.APCategory", HFILL }},
2485 { &hf_dsp_chainingRequired,
2486 { "chainingRequired", "dsp.chainingRequired",
2487 FT_BOOLEAN, BASE_NONE, NULL, 0,
2488 "dsp.BOOLEAN", HFILL }},
2489 { &hf_dsp_MasterAndShadowAccessPoints_item,
2490 { "MasterOrShadowAccessPoint", "dsp.MasterOrShadowAccessPoint",
2491 FT_NONE, BASE_NONE, NULL, 0,
2492 "dsp.MasterOrShadowAccessPoint", HFILL }},
2494 { "category", "dsp.category",
2495 FT_UINT32, BASE_DEC, VALS(dsp_T_category_vals), 0,
2496 "dsp.T_category", HFILL }},
2497 { &hf_dsp_additionalPoints,
2498 { "additionalPoints", "dsp.additionalPoints",
2499 FT_UINT32, BASE_DEC, NULL, 0,
2500 "dsp.MasterAndShadowAccessPoints", HFILL }},
2501 { &hf_dsp_domainLocalID,
2502 { "domainLocalID", "dsp.domainLocalID",
2503 FT_UINT32, BASE_DEC, VALS(x509sat_DirectoryString_vals), 0,
2504 "x509sat.DirectoryString", HFILL }},
2505 { &hf_dsp_accessPoints,
2506 { "accessPoints", "dsp.accessPoints",
2507 FT_UINT32, BASE_DEC, NULL, 0,
2508 "dsp.MasterAndShadowAccessPoints", HFILL }},
2509 { &hf_dsp_Exclusions_item,
2510 { "RDNSequence", "dsp.RDNSequence",
2511 FT_UINT32, BASE_DEC, NULL, 0,
2512 "x509if.RDNSequence", HFILL }},
2513 { &hf_dsp_rdnsResolved,
2514 { "rdnsResolved", "dsp.rdnsResolved",
2515 FT_INT32, BASE_DEC, NULL, 0,
2516 "dsp.INTEGER", HFILL }},
2517 { &hf_dsp_accessPoints_01,
2518 { "accessPoints", "dsp.accessPoints",
2519 FT_UINT32, BASE_DEC, NULL, 0,
2520 "dsp.SET_OF_AccessPointInformation", HFILL }},
2521 { &hf_dsp_accessPoints_item,
2522 { "AccessPointInformation", "dsp.AccessPointInformation",
2523 FT_NONE, BASE_NONE, NULL, 0,
2524 "dsp.AccessPointInformation", HFILL }},
2525 { &hf_dsp_returnToDUA,
2526 { "returnToDUA", "dsp.returnToDUA",
2527 FT_BOOLEAN, BASE_NONE, NULL, 0,
2528 "dsp.BOOLEAN", HFILL }},
2529 { &hf_dsp_basicLevels,
2530 { "basicLevels", "dsp.basicLevels",
2531 FT_NONE, BASE_NONE, NULL, 0,
2532 "dsp.T_basicLevels", HFILL }},
2534 { "level", "dsp.level",
2535 FT_UINT32, BASE_DEC, VALS(dsp_T_level_vals), 0,
2536 "dsp.T_level", HFILL }},
2537 { &hf_dsp_localQualifier,
2538 { "localQualifier", "dsp.localQualifier",
2539 FT_INT32, BASE_DEC, NULL, 0,
2540 "dsp.INTEGER", HFILL }},
2542 { "signed", "dsp.signed",
2543 FT_BOOLEAN, BASE_NONE, NULL, 0,
2544 "dsp.BOOLEAN", HFILL }},
2546 { "other", "dsp.other",
2547 FT_NONE, BASE_NONE, NULL, 0,
2548 "dsp.EXTERNAL", HFILL }},
2550 /*--- End of included file: packet-dsp-hfarr.c ---*/
2551 #line 277 "packet-dsp-template.c"
2554 /* List of subtrees */
2555 static gint *ett[] = {
2558 /*--- Included file: packet-dsp-ettarr.c ---*/
2559 #line 1 "packet-dsp-ettarr.c"
2560 &ett_dsp_ChainedReadArgumentData,
2561 &ett_dsp_ChainedReadArgument,
2562 &ett_dsp_T_signedChainedReadArgument,
2563 &ett_dsp_ChainedReadResultData,
2564 &ett_dsp_ChainedReadResult,
2565 &ett_dsp_T_signedChainedReadResult,
2566 &ett_dsp_ChainedCompareArgumentData,
2567 &ett_dsp_ChainedCompareArgument,
2568 &ett_dsp_T_signedChainedCompareArgument,
2569 &ett_dsp_ChainedCompareResultData,
2570 &ett_dsp_ChainedCompareResult,
2571 &ett_dsp_T_signedChainedCompareResult,
2572 &ett_dsp_ChainedListArgumentData,
2573 &ett_dsp_ChainedListArgument,
2574 &ett_dsp_T_signedChainedListArgument,
2575 &ett_dsp_ChainedListResultData,
2576 &ett_dsp_ChainedListResult,
2577 &ett_dsp_T_signedChainedListResult,
2578 &ett_dsp_ChainedSearchArgumentData,
2579 &ett_dsp_ChainedSearchArgument,
2580 &ett_dsp_T_signedChainedSearchArgument,
2581 &ett_dsp_ChainedSearchResultData,
2582 &ett_dsp_ChainedSearchResult,
2583 &ett_dsp_T_signedChainedSearchResult,
2584 &ett_dsp_ChainedAddEntryArgumentData,
2585 &ett_dsp_ChainedAddEntryArgument,
2586 &ett_dsp_T_signedChainedAddEntryArgument,
2587 &ett_dsp_ChainedAddEntryResultData,
2588 &ett_dsp_ChainedAddEntryResult,
2589 &ett_dsp_T_signedChainedAddEntryResult,
2590 &ett_dsp_ChainedRemoveEntryArgumentData,
2591 &ett_dsp_ChainedRemoveEntryArgument,
2592 &ett_dsp_T_signedChainedRemoveEntryArgument,
2593 &ett_dsp_ChainedRemoveEntryResultData,
2594 &ett_dsp_ChainedRemoveEntryResult,
2595 &ett_dsp_T_signedChainedRemoveEntryResult,
2596 &ett_dsp_ChainedModifyEntryArgumentData,
2597 &ett_dsp_ChainedModifyEntryArgument,
2598 &ett_dsp_T_signedChainedModifyEntryArgument,
2599 &ett_dsp_ChainedModifyEntryResultData,
2600 &ett_dsp_ChainedModifyEntryResult,
2601 &ett_dsp_T_signedChainedModifyEntryResult,
2602 &ett_dsp_ChainedModifyDNArgumentData,
2603 &ett_dsp_ChainedModifyDNArgument,
2604 &ett_dsp_T_signedChainedModifyDNArgument,
2605 &ett_dsp_ChainedModifyDNResultData,
2606 &ett_dsp_ChainedModifyDNResult,
2607 &ett_dsp_T_signedChainedModifyDNResult,
2608 &ett_dsp_DSAReferralData,
2609 &ett_dsp_SEQUENCE_OF_Attribute,
2610 &ett_dsp_DSAReferral,
2611 &ett_dsp_T_signedDSAReferral,
2612 &ett_dsp_ChainingArguments,
2614 &ett_dsp_ChainingResults,
2615 &ett_dsp_SEQUENCE_OF_CrossReference,
2616 &ett_dsp_CrossReference,
2617 &ett_dsp_OperationProgress,
2618 &ett_dsp_TraceInformation,
2620 &ett_dsp_AccessPoint,
2621 &ett_dsp_SET_OF_ProtocolInformation,
2622 &ett_dsp_MasterOrShadowAccessPoint,
2623 &ett_dsp_MasterAndShadowAccessPoints,
2624 &ett_dsp_AccessPointInformation,
2625 &ett_dsp_DitBridgeKnowledge,
2626 &ett_dsp_Exclusions,
2627 &ett_dsp_ContinuationReference,
2628 &ett_dsp_SET_OF_AccessPointInformation,
2629 &ett_dsp_AuthenticationLevel,
2630 &ett_dsp_T_basicLevels,
2632 /*--- End of included file: packet-dsp-ettarr.c ---*/
2633 #line 283 "packet-dsp-template.c"
2635 module_t *dsp_module;
2637 /* Register protocol */
2638 proto_dsp = proto_register_protocol(PNAME, PSNAME, PFNAME);
2640 register_dissector("dsp", dissect_dsp, proto_dsp);
2642 /* Register fields and subtrees */
2643 proto_register_field_array(proto_dsp, hf, array_length(hf));
2644 proto_register_subtree_array(ett, array_length(ett));
2646 /* Register our configuration options for DSP, particularly our port */
2648 dsp_module = prefs_register_protocol_subtree("OSI/X.500", proto_dsp, prefs_register_dsp);
2650 prefs_register_uint_preference(dsp_module, "tcp.port", "DSP TCP Port",
2651 "Set the port for DSP operations (if other"
2652 " than the default of 102)",
2653 10, &global_dsp_tcp_port);
2659 /*--- proto_reg_handoff_dsp --- */
2660 void proto_reg_handoff_dsp(void) {
2661 dissector_handle_t dsp_handle;
2664 /*--- Included file: packet-dsp-dis-tab.c ---*/
2665 #line 1 "packet-dsp-dis-tab.c"
2666 register_ber_oid_dissector("2.5.12.1", dissect_AccessPoint_PDU, proto_dsp, "id-doa-myAccessPoint");
2667 register_ber_oid_dissector("2.5.12.2", dissect_AccessPoint_PDU, proto_dsp, "id-doa-superiorKnowledge");
2668 register_ber_oid_dissector("2.5.12.3", dissect_MasterAndShadowAccessPoints_PDU, proto_dsp, "id-doa-specificKnowledge");
2669 register_ber_oid_dissector("2.5.12.4", dissect_MasterAndShadowAccessPoints_PDU, proto_dsp, "id-doa-nonSpecificKnowledge");
2670 register_ber_oid_dissector("2.5.12.8", dissect_DitBridgeKnowledge_PDU, proto_dsp, "id-doa-ditBridgeKnowledge");
2673 /*--- End of included file: packet-dsp-dis-tab.c ---*/
2674 #line 313 "packet-dsp-template.c"
2676 /* APPLICATION CONTEXT */
2678 oid_add_from_string("id-ac-directory-system","2.5.3.2");
2680 /* ABSTRACT SYNTAXES */
2682 /* remember the tpkt handler for change in preferences */
2683 tpkt_handle = find_dissector("tpkt");
2685 /* Register DSP with ROS (with no use of RTSE) */
2686 dsp_handle = find_dissector("dsp");
2687 register_ros_oid_dissector_handle("2.5.9.2", dsp_handle, 0, "id-as-directory-system", FALSE);
2691 void prefs_register_dsp(void) {
2692 static guint tcp_port = 0;
2694 /* de-register the old port */
2695 /* port 102 is registered by TPKT - don't undo this! */
2696 if((tcp_port > 0) && (tcp_port != 102) && tpkt_handle)
2697 dissector_delete("tcp.port", tcp_port, tpkt_handle);
2699 /* Set our port number for future use */
2700 tcp_port = global_dsp_tcp_port;
2702 if((tcp_port > 0) && (tcp_port != 102) && tpkt_handle)
2703 dissector_add("tcp.port", global_dsp_tcp_port, tpkt_handle);