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 */
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_chainedArgument = -1; /* ChainingArguments */
79 static int hf_dsp_readArgument = -1; /* ReadArgument */
80 static int hf_dsp_unsignedChainedReadArgument = -1; /* ChainedReadArgumentData */
81 static int hf_dsp_signedChainedReadArgument = -1; /* T_signedChainedReadArgument */
82 static int hf_dsp_chainedReadArgument = -1; /* ChainedReadArgumentData */
83 static int hf_dsp_algorithmIdentifier = -1; /* AlgorithmIdentifier */
84 static int hf_dsp_encrypted = -1; /* BIT_STRING */
85 static int hf_dsp_chainedResults = -1; /* ChainingResults */
86 static int hf_dsp_readResult = -1; /* ReadResult */
87 static int hf_dsp_unsignedChainedReadResult = -1; /* ChainedReadResultData */
88 static int hf_dsp_signedChainedReadResult = -1; /* T_signedChainedReadResult */
89 static int hf_dsp_chainedReadResult = -1; /* ChainedReadResultData */
90 static int hf_dsp_compareArgument = -1; /* CompareArgument */
91 static int hf_dsp_unsignedChainedCompareArgument = -1; /* ChainedCompareArgumentData */
92 static int hf_dsp_signedChainedCompareArgument = -1; /* T_signedChainedCompareArgument */
93 static int hf_dsp_chainedCompareArgument = -1; /* ChainedCompareArgumentData */
94 static int hf_dsp_compareResult = -1; /* CompareResult */
95 static int hf_dsp_unsignedChainedCompareResult = -1; /* ChainedCompareResultData */
96 static int hf_dsp_signedChainedCompareResult = -1; /* T_signedChainedCompareResult */
97 static int hf_dsp_chainedCompareResult = -1; /* ChainedCompareResultData */
98 static int hf_dsp_listArgument = -1; /* ListArgument */
99 static int hf_dsp_unsignedChainedListArgument = -1; /* ChainedListArgumentData */
100 static int hf_dsp_signedChainedListArgument = -1; /* T_signedChainedListArgument */
101 static int hf_dsp_chainedListArgument = -1; /* ChainedListArgumentData */
102 static int hf_dsp_listResult = -1; /* ListResult */
103 static int hf_dsp_unsignedChainedListResult = -1; /* ChainedListResultData */
104 static int hf_dsp_signedChainedListResult = -1; /* T_signedChainedListResult */
105 static int hf_dsp_chainedListResult = -1; /* ChainedListResultData */
106 static int hf_dsp_searchArgument = -1; /* SearchArgument */
107 static int hf_dsp_unsignedChainedSearchArgument = -1; /* ChainedSearchArgumentData */
108 static int hf_dsp_signedChainedSearchArgument = -1; /* T_signedChainedSearchArgument */
109 static int hf_dsp_chainedSearchArgument = -1; /* ChainedSearchArgumentData */
110 static int hf_dsp_searchResult = -1; /* SearchResult */
111 static int hf_dsp_unsignedChainedSearchResult = -1; /* ChainedSearchResultData */
112 static int hf_dsp_signedChainedSearchResult = -1; /* T_signedChainedSearchResult */
113 static int hf_dsp_chainedSearchResult = -1; /* ChainedSearchResultData */
114 static int hf_dsp_addEntryArgument = -1; /* AddEntryArgument */
115 static int hf_dsp_unsignedChainedAddEntryArgument = -1; /* ChainedAddEntryArgumentData */
116 static int hf_dsp_signedChainedAddEntryArgument = -1; /* T_signedChainedAddEntryArgument */
117 static int hf_dsp_chainedAddEntryArgument = -1; /* ChainedAddEntryArgumentData */
118 static int hf_dsp_addEntryResult = -1; /* AddEntryResult */
119 static int hf_dsp_unsignedChainedAddEntryResult = -1; /* ChainedAddEntryResultData */
120 static int hf_dsp_signedChainedAddEntryResult = -1; /* T_signedChainedAddEntryResult */
121 static int hf_dsp_chainedAddEntryResult = -1; /* ChainedAddEntryResultData */
122 static int hf_dsp_removeEntryArgument = -1; /* RemoveEntryArgument */
123 static int hf_dsp_unsignedChainedRemoveEntryArgument = -1; /* ChainedRemoveEntryArgumentData */
124 static int hf_dsp_signedChainedRemoveEntryArgument = -1; /* T_signedChainedRemoveEntryArgument */
125 static int hf_dsp_chainedRemoveEntryArgument = -1; /* ChainedRemoveEntryArgumentData */
126 static int hf_dsp_removeEntryResult = -1; /* RemoveEntryResult */
127 static int hf_dsp_unsignedChainedRemoveEntryResult = -1; /* ChainedRemoveEntryResultData */
128 static int hf_dsp_signedChainedRemoveEntryResult = -1; /* T_signedChainedRemoveEntryResult */
129 static int hf_dsp_chainedRemoveEntryResult = -1; /* ChainedRemoveEntryResultData */
130 static int hf_dsp_modifyEntryArgument = -1; /* ModifyEntryArgument */
131 static int hf_dsp_unsignedChainedModifyEntryArgument = -1; /* ChainedModifyEntryArgumentData */
132 static int hf_dsp_signedChainedModifyEntryArgument = -1; /* T_signedChainedModifyEntryArgument */
133 static int hf_dsp_chainedModifyEntryArgument = -1; /* ChainedModifyEntryArgumentData */
134 static int hf_dsp_modifyEntryResult = -1; /* ModifyEntryResult */
135 static int hf_dsp_unsignedChainedModifyEntryResult = -1; /* ChainedModifyEntryResultData */
136 static int hf_dsp_signedChainedModifyEntryResult = -1; /* T_signedChainedModifyEntryResult */
137 static int hf_dsp_chainedModifyEntryResult = -1; /* ChainedModifyEntryResultData */
138 static int hf_dsp_modifyDNArgument = -1; /* ModifyDNArgument */
139 static int hf_dsp_unsignedChainedModifyDNArgument = -1; /* ChainedModifyDNArgumentData */
140 static int hf_dsp_signedChainedModifyDNArgument = -1; /* T_signedChainedModifyDNArgument */
141 static int hf_dsp_chainedModifyDNArgument = -1; /* ChainedModifyDNArgumentData */
142 static int hf_dsp_modifyDNResult = -1; /* ModifyDNResult */
143 static int hf_dsp_unsignedChainedModifyDNResult = -1; /* ChainedModifyDNResultData */
144 static int hf_dsp_signedChainedModifyDNResult = -1; /* T_signedChainedModifyDNResult */
145 static int hf_dsp_chainedModifyDNResult = -1; /* ChainedModifyDNResultData */
146 static int hf_dsp_reference = -1; /* ContinuationReference */
147 static int hf_dsp_contextPrefix = -1; /* DistinguishedName */
148 static int hf_dsp_securityParameters = -1; /* SecurityParameters */
149 static int hf_dsp_performer = -1; /* DistinguishedName */
150 static int hf_dsp_aliasDereferenced = -1; /* BOOLEAN */
151 static int hf_dsp_notification = -1; /* SEQUENCE_OF_Attribute */
152 static int hf_dsp_notification_item = -1; /* Attribute */
153 static int hf_dsp_unsignedDSAReferral = -1; /* DSAReferralData */
154 static int hf_dsp_signedDSAReferral = -1; /* T_signedDSAReferral */
155 static int hf_dsp_dsaReferral = -1; /* DSAReferralData */
156 static int hf_dsp_originator = -1; /* DistinguishedName */
157 static int hf_dsp_targetObjectDN = -1; /* DistinguishedName */
158 static int hf_dsp_operationProgress = -1; /* OperationProgress */
159 static int hf_dsp_traceInformation = -1; /* TraceInformation */
160 static int hf_dsp_aliasedRDNs = -1; /* INTEGER */
161 static int hf_dsp_returnCrossRefs = -1; /* BOOLEAN */
162 static int hf_dsp_referenceType = -1; /* ReferenceType */
163 static int hf_dsp_info = -1; /* DomainInfo */
164 static int hf_dsp_timeLimit = -1; /* Time */
165 static int hf_dsp_entryOnly = -1; /* BOOLEAN */
166 static int hf_dsp_uniqueIdentifier = -1; /* UniqueIdentifier */
167 static int hf_dsp_authenticationLevel = -1; /* AuthenticationLevel */
168 static int hf_dsp_exclusions = -1; /* Exclusions */
169 static int hf_dsp_excludeShadows = -1; /* BOOLEAN */
170 static int hf_dsp_nameResolveOnMaster = -1; /* BOOLEAN */
171 static int hf_dsp_operationIdentifier = -1; /* INTEGER */
172 static int hf_dsp_searchRuleId = -1; /* SearchRuleId */
173 static int hf_dsp_chainedRelaxation = -1; /* MRMapping */
174 static int hf_dsp_relatedEntry = -1; /* INTEGER */
175 static int hf_dsp_utcTime = -1; /* UTCTime */
176 static int hf_dsp_generalizedTime = -1; /* GeneralizedTime */
177 static int hf_dsp_crossReferences = -1; /* SEQUENCE_OF_CrossReference */
178 static int hf_dsp_crossReferences_item = -1; /* CrossReference */
179 static int hf_dsp_alreadySearched = -1; /* Exclusions */
180 static int hf_dsp_accessPoint = -1; /* AccessPointInformation */
181 static int hf_dsp_nameResolutionPhase = -1; /* T_nameResolutionPhase */
182 static int hf_dsp_nextRDNToBeResolved = -1; /* INTEGER */
183 static int hf_dsp_TraceInformation_item = -1; /* TraceItem */
184 static int hf_dsp_dsa = -1; /* Name */
185 static int hf_dsp_targetObject = -1; /* Name */
186 static int hf_dsp_ae_title = -1; /* Name */
187 static int hf_dsp_address = -1; /* PresentationAddress */
188 static int hf_dsp_protocolInformation = -1; /* SET_OF_ProtocolInformation */
189 static int hf_dsp_protocolInformation_item = -1; /* ProtocolInformation */
190 static int hf_dsp_access_point_category = -1; /* APCategory */
191 static int hf_dsp_chainingRequired = -1; /* BOOLEAN */
192 static int hf_dsp_MasterAndShadowAccessPoints_item = -1; /* MasterOrShadowAccessPoint */
193 static int hf_dsp_category = -1; /* T_category */
194 static int hf_dsp_additionalPoints = -1; /* MasterAndShadowAccessPoints */
195 static int hf_dsp_Exclusions_item = -1; /* RDNSequence */
196 static int hf_dsp_rdnsResolved = -1; /* INTEGER */
197 static int hf_dsp_accessPoints = -1; /* SET_OF_AccessPointInformation */
198 static int hf_dsp_accessPoints_item = -1; /* AccessPointInformation */
199 static int hf_dsp_returnToDUA = -1; /* BOOLEAN */
200 static int hf_dsp_basicLevels = -1; /* T_basicLevels */
201 static int hf_dsp_level = -1; /* T_level */
202 static int hf_dsp_localQualifier = -1; /* INTEGER */
203 static int hf_dsp_signed = -1; /* BOOLEAN */
204 static int hf_dsp_other = -1; /* EXTERNAL */
206 /*--- End of included file: packet-dsp-hf.c ---*/
207 #line 66 "packet-dsp-template.c"
209 /* Initialize the subtree pointers */
210 static gint ett_dsp = -1;
212 /*--- Included file: packet-dsp-ett.c ---*/
213 #line 1 "packet-dsp-ett.c"
214 static gint ett_dsp_ChainedReadArgumentData = -1;
215 static gint ett_dsp_ChainedReadArgument = -1;
216 static gint ett_dsp_T_signedChainedReadArgument = -1;
217 static gint ett_dsp_ChainedReadResultData = -1;
218 static gint ett_dsp_ChainedReadResult = -1;
219 static gint ett_dsp_T_signedChainedReadResult = -1;
220 static gint ett_dsp_ChainedCompareArgumentData = -1;
221 static gint ett_dsp_ChainedCompareArgument = -1;
222 static gint ett_dsp_T_signedChainedCompareArgument = -1;
223 static gint ett_dsp_ChainedCompareResultData = -1;
224 static gint ett_dsp_ChainedCompareResult = -1;
225 static gint ett_dsp_T_signedChainedCompareResult = -1;
226 static gint ett_dsp_ChainedListArgumentData = -1;
227 static gint ett_dsp_ChainedListArgument = -1;
228 static gint ett_dsp_T_signedChainedListArgument = -1;
229 static gint ett_dsp_ChainedListResultData = -1;
230 static gint ett_dsp_ChainedListResult = -1;
231 static gint ett_dsp_T_signedChainedListResult = -1;
232 static gint ett_dsp_ChainedSearchArgumentData = -1;
233 static gint ett_dsp_ChainedSearchArgument = -1;
234 static gint ett_dsp_T_signedChainedSearchArgument = -1;
235 static gint ett_dsp_ChainedSearchResultData = -1;
236 static gint ett_dsp_ChainedSearchResult = -1;
237 static gint ett_dsp_T_signedChainedSearchResult = -1;
238 static gint ett_dsp_ChainedAddEntryArgumentData = -1;
239 static gint ett_dsp_ChainedAddEntryArgument = -1;
240 static gint ett_dsp_T_signedChainedAddEntryArgument = -1;
241 static gint ett_dsp_ChainedAddEntryResultData = -1;
242 static gint ett_dsp_ChainedAddEntryResult = -1;
243 static gint ett_dsp_T_signedChainedAddEntryResult = -1;
244 static gint ett_dsp_ChainedRemoveEntryArgumentData = -1;
245 static gint ett_dsp_ChainedRemoveEntryArgument = -1;
246 static gint ett_dsp_T_signedChainedRemoveEntryArgument = -1;
247 static gint ett_dsp_ChainedRemoveEntryResultData = -1;
248 static gint ett_dsp_ChainedRemoveEntryResult = -1;
249 static gint ett_dsp_T_signedChainedRemoveEntryResult = -1;
250 static gint ett_dsp_ChainedModifyEntryArgumentData = -1;
251 static gint ett_dsp_ChainedModifyEntryArgument = -1;
252 static gint ett_dsp_T_signedChainedModifyEntryArgument = -1;
253 static gint ett_dsp_ChainedModifyEntryResultData = -1;
254 static gint ett_dsp_ChainedModifyEntryResult = -1;
255 static gint ett_dsp_T_signedChainedModifyEntryResult = -1;
256 static gint ett_dsp_ChainedModifyDNArgumentData = -1;
257 static gint ett_dsp_ChainedModifyDNArgument = -1;
258 static gint ett_dsp_T_signedChainedModifyDNArgument = -1;
259 static gint ett_dsp_ChainedModifyDNResultData = -1;
260 static gint ett_dsp_ChainedModifyDNResult = -1;
261 static gint ett_dsp_T_signedChainedModifyDNResult = -1;
262 static gint ett_dsp_DSAReferralData = -1;
263 static gint ett_dsp_SEQUENCE_OF_Attribute = -1;
264 static gint ett_dsp_DSAReferral = -1;
265 static gint ett_dsp_T_signedDSAReferral = -1;
266 static gint ett_dsp_ChainingArguments = -1;
267 static gint ett_dsp_Time = -1;
268 static gint ett_dsp_ChainingResults = -1;
269 static gint ett_dsp_SEQUENCE_OF_CrossReference = -1;
270 static gint ett_dsp_CrossReference = -1;
271 static gint ett_dsp_OperationProgress = -1;
272 static gint ett_dsp_TraceInformation = -1;
273 static gint ett_dsp_TraceItem = -1;
274 static gint ett_dsp_AccessPoint = -1;
275 static gint ett_dsp_SET_OF_ProtocolInformation = -1;
276 static gint ett_dsp_MasterOrShadowAccessPoint = -1;
277 static gint ett_dsp_MasterAndShadowAccessPoints = -1;
278 static gint ett_dsp_AccessPointInformation = -1;
279 static gint ett_dsp_Exclusions = -1;
280 static gint ett_dsp_ContinuationReference = -1;
281 static gint ett_dsp_SET_OF_AccessPointInformation = -1;
282 static gint ett_dsp_AuthenticationLevel = -1;
283 static gint ett_dsp_T_basicLevels = -1;
285 /*--- End of included file: packet-dsp-ett.c ---*/
286 #line 70 "packet-dsp-template.c"
289 /*--- Included file: packet-dsp-fn.c ---*/
290 #line 1 "packet-dsp-fn.c"
294 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_) {
295 offset = dissect_dap_DirectoryBindArgument(implicit_tag, tvb, offset, actx, tree, hf_index);
303 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_) {
304 offset = dissect_dap_DirectoryBindArgument(implicit_tag, tvb, offset, actx, tree, hf_index);
312 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_) {
313 offset = dissect_dap_DirectoryBindError(implicit_tag, tvb, offset, actx, tree, hf_index);
319 static const value_string dsp_T_nameResolutionPhase_vals[] = {
328 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_) {
329 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
338 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_) {
339 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
346 static const ber_sequence_t OperationProgress_set[] = {
347 { &hf_dsp_nameResolutionPhase, BER_CLASS_CON, 0, 0, dissect_dsp_T_nameResolutionPhase },
348 { &hf_dsp_nextRDNToBeResolved, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_dsp_INTEGER },
349 { NULL, 0, 0, 0, NULL }
353 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_) {
354 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
355 OperationProgress_set, hf_index, ett_dsp_OperationProgress);
361 static const ber_sequence_t TraceItem_set[] = {
362 { &hf_dsp_dsa , BER_CLASS_CON, 0, 0, dissect_x509if_Name },
363 { &hf_dsp_targetObject , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_x509if_Name },
364 { &hf_dsp_operationProgress, BER_CLASS_CON, 2, 0, dissect_dsp_OperationProgress },
365 { NULL, 0, 0, 0, NULL }
369 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_) {
370 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
371 TraceItem_set, hf_index, ett_dsp_TraceItem);
377 static const ber_sequence_t TraceInformation_sequence_of[1] = {
378 { &hf_dsp_TraceInformation_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_TraceItem },
382 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_) {
383 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
384 TraceInformation_sequence_of, hf_index, ett_dsp_TraceInformation);
392 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_) {
393 offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
399 const value_string dsp_ReferenceType_vals[] = {
401 { 2, "subordinate" },
403 { 4, "nonSpecificSubordinate" },
406 { 7, "immediateSuperior" },
413 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_) {
414 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
423 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_) {
424 offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
432 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_) {
433 offset = dissect_ber_UTCTime(implicit_tag, actx, tree, tvb, offset, hf_index);
441 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_) {
442 offset = dissect_ber_GeneralizedTime(implicit_tag, actx, tree, tvb, offset, hf_index);
448 static const value_string dsp_Time_vals[] = {
450 { 1, "generalizedTime" },
454 static const ber_choice_t Time_choice[] = {
455 { 0, &hf_dsp_utcTime , BER_CLASS_UNI, BER_UNI_TAG_UTCTime, BER_FLAGS_NOOWNTAG, dissect_dsp_UTCTime },
456 { 1, &hf_dsp_generalizedTime , BER_CLASS_UNI, BER_UNI_TAG_GeneralizedTime, BER_FLAGS_NOOWNTAG, dissect_dsp_GeneralizedTime },
457 { 0, NULL, 0, 0, 0, NULL }
461 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_) {
462 offset = dissect_ber_choice(actx, tree, tvb, offset,
463 Time_choice, hf_index, ett_dsp_Time,
470 static const value_string dsp_T_level_vals[] = {
479 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_) {
480 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
487 static const ber_sequence_t T_basicLevels_sequence[] = {
488 { &hf_dsp_level , BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_dsp_T_level },
489 { &hf_dsp_localQualifier , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_dsp_INTEGER },
490 { &hf_dsp_signed , BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_dsp_BOOLEAN },
491 { NULL, 0, 0, 0, NULL }
495 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_) {
496 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
497 T_basicLevels_sequence, hf_index, ett_dsp_T_basicLevels);
505 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_) {
506 offset = dissect_ber_external_type(implicit_tag, tree, tvb, offset, actx, hf_index, NULL);
512 static const value_string dsp_AuthenticationLevel_vals[] = {
513 { 0, "basicLevels" },
518 static const ber_choice_t AuthenticationLevel_choice[] = {
519 { 0, &hf_dsp_basicLevels , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dsp_T_basicLevels },
520 { 1, &hf_dsp_other , BER_CLASS_UNI, BER_UNI_TAG_EXTERNAL, BER_FLAGS_NOOWNTAG, dissect_dsp_EXTERNAL },
521 { 0, NULL, 0, 0, 0, NULL }
525 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_) {
526 offset = dissect_ber_choice(actx, tree, tvb, offset,
527 AuthenticationLevel_choice, hf_index, ett_dsp_AuthenticationLevel,
534 static const ber_sequence_t Exclusions_set_of[1] = {
535 { &hf_dsp_Exclusions_item , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509if_RDNSequence },
539 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_) {
540 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
541 Exclusions_set_of, hf_index, ett_dsp_Exclusions);
547 static const ber_sequence_t ChainingArguments_set[] = {
548 { &hf_dsp_originator , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_x509if_DistinguishedName },
549 { &hf_dsp_targetObjectDN , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_x509if_DistinguishedName },
550 { &hf_dsp_operationProgress, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_dsp_OperationProgress },
551 { &hf_dsp_traceInformation, BER_CLASS_CON, 3, 0, dissect_dsp_TraceInformation },
552 { &hf_dsp_aliasDereferenced, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_dsp_BOOLEAN },
553 { &hf_dsp_aliasedRDNs , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL, dissect_dsp_INTEGER },
554 { &hf_dsp_returnCrossRefs , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL, dissect_dsp_BOOLEAN },
555 { &hf_dsp_referenceType , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL, dissect_dsp_ReferenceType },
556 { &hf_dsp_info , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL, dissect_dsp_DomainInfo },
557 { &hf_dsp_timeLimit , BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_dsp_Time },
558 { &hf_dsp_securityParameters, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL, dissect_dap_SecurityParameters },
559 { &hf_dsp_entryOnly , BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL, dissect_dsp_BOOLEAN },
560 { &hf_dsp_uniqueIdentifier, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL, dissect_x509sat_UniqueIdentifier },
561 { &hf_dsp_authenticationLevel, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_dsp_AuthenticationLevel },
562 { &hf_dsp_exclusions , BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL, dissect_dsp_Exclusions },
563 { &hf_dsp_excludeShadows , BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL, dissect_dsp_BOOLEAN },
564 { &hf_dsp_nameResolveOnMaster, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL, dissect_dsp_BOOLEAN },
565 { &hf_dsp_operationIdentifier, BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL, dissect_dsp_INTEGER },
566 { &hf_dsp_searchRuleId , BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL, dissect_x509if_SearchRuleId },
567 { &hf_dsp_chainedRelaxation, BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL, dissect_x509if_MRMapping },
568 { &hf_dsp_relatedEntry , BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL, dissect_dsp_INTEGER },
569 { NULL, 0, 0, 0, NULL }
573 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_) {
574 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
575 ChainingArguments_set, hf_index, ett_dsp_ChainingArguments);
581 static const ber_sequence_t ChainedReadArgumentData_set[] = {
582 { &hf_dsp_chainedArgument , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainingArguments },
583 { &hf_dsp_readArgument , BER_CLASS_CON, 0, 0, dissect_dap_ReadArgument },
584 { NULL, 0, 0, 0, NULL }
588 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_) {
589 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
590 ChainedReadArgumentData_set, hf_index, ett_dsp_ChainedReadArgumentData);
598 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_) {
599 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
607 static const ber_sequence_t T_signedChainedReadArgument_sequence[] = {
608 { &hf_dsp_chainedReadArgument, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainedReadArgumentData },
609 { &hf_dsp_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
610 { &hf_dsp_encrypted , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_dsp_BIT_STRING },
611 { NULL, 0, 0, 0, NULL }
615 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_) {
616 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
617 T_signedChainedReadArgument_sequence, hf_index, ett_dsp_T_signedChainedReadArgument);
623 static const value_string dsp_ChainedReadArgument_vals[] = {
624 { 0, "unsignedChainedReadArgument" },
625 { 1, "signedChainedReadArgument" },
629 static const ber_choice_t ChainedReadArgument_choice[] = {
630 { 0, &hf_dsp_unsignedChainedReadArgument, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainedReadArgumentData },
631 { 1, &hf_dsp_signedChainedReadArgument, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dsp_T_signedChainedReadArgument },
632 { 0, NULL, 0, 0, 0, NULL }
636 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_) {
637 offset = dissect_ber_choice(actx, tree, tvb, offset,
638 ChainedReadArgument_choice, hf_index, ett_dsp_ChainedReadArgument,
645 static const ber_sequence_t SET_OF_ProtocolInformation_set_of[1] = {
646 { &hf_dsp_protocolInformation_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509sat_ProtocolInformation },
650 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_) {
651 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
652 SET_OF_ProtocolInformation_set_of, hf_index, ett_dsp_SET_OF_ProtocolInformation);
658 static const value_string dsp_T_category_vals[] = {
666 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_) {
667 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
674 static const value_string dsp_APCategory_vals[] = {
682 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_) {
683 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
690 static const ber_sequence_t MasterOrShadowAccessPoint_set[] = {
691 { &hf_dsp_ae_title , BER_CLASS_CON, 0, 0, dissect_x509if_Name },
692 { &hf_dsp_address , BER_CLASS_CON, 1, 0, dissect_x509sat_PresentationAddress },
693 { &hf_dsp_protocolInformation, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_dsp_SET_OF_ProtocolInformation },
694 { &hf_dsp_access_point_category, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_dsp_APCategory },
695 { &hf_dsp_chainingRequired, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL, dissect_dsp_BOOLEAN },
696 { NULL, 0, 0, 0, NULL }
700 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_) {
701 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
702 MasterOrShadowAccessPoint_set, hf_index, ett_dsp_MasterOrShadowAccessPoint);
708 static const ber_sequence_t MasterAndShadowAccessPoints_set_of[1] = {
709 { &hf_dsp_MasterAndShadowAccessPoints_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_MasterOrShadowAccessPoint },
713 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_) {
714 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
715 MasterAndShadowAccessPoints_set_of, hf_index, ett_dsp_MasterAndShadowAccessPoints);
721 static const ber_sequence_t AccessPointInformation_set[] = {
722 { &hf_dsp_ae_title , BER_CLASS_CON, 0, 0, dissect_x509if_Name },
723 { &hf_dsp_address , BER_CLASS_CON, 1, 0, dissect_x509sat_PresentationAddress },
724 { &hf_dsp_protocolInformation, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_dsp_SET_OF_ProtocolInformation },
725 { &hf_dsp_category , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_dsp_T_category },
726 { &hf_dsp_chainingRequired, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL, dissect_dsp_BOOLEAN },
727 { &hf_dsp_additionalPoints, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL, dissect_dsp_MasterAndShadowAccessPoints },
728 { NULL, 0, 0, 0, NULL }
732 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_) {
733 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
734 AccessPointInformation_set, hf_index, ett_dsp_AccessPointInformation);
740 static const ber_sequence_t CrossReference_set[] = {
741 { &hf_dsp_contextPrefix , BER_CLASS_CON, 0, 0, dissect_x509if_DistinguishedName },
742 { &hf_dsp_accessPoint , BER_CLASS_CON, 1, 0, dissect_dsp_AccessPointInformation },
743 { NULL, 0, 0, 0, NULL }
747 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_) {
748 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
749 CrossReference_set, hf_index, ett_dsp_CrossReference);
755 static const ber_sequence_t SEQUENCE_OF_CrossReference_sequence_of[1] = {
756 { &hf_dsp_crossReferences_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_CrossReference },
760 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_) {
761 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
762 SEQUENCE_OF_CrossReference_sequence_of, hf_index, ett_dsp_SEQUENCE_OF_CrossReference);
768 static const ber_sequence_t ChainingResults_set[] = {
769 { &hf_dsp_info , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_dsp_DomainInfo },
770 { &hf_dsp_crossReferences , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_dsp_SEQUENCE_OF_CrossReference },
771 { &hf_dsp_securityParameters, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_dap_SecurityParameters },
772 { &hf_dsp_alreadySearched , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_dsp_Exclusions },
773 { NULL, 0, 0, 0, NULL }
777 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_) {
778 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
779 ChainingResults_set, hf_index, ett_dsp_ChainingResults);
785 static const ber_sequence_t ChainedReadResultData_set[] = {
786 { &hf_dsp_chainedResults , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainingResults },
787 { &hf_dsp_readResult , BER_CLASS_CON, 0, 0, dissect_dap_ReadResult },
788 { NULL, 0, 0, 0, NULL }
792 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_) {
793 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
794 ChainedReadResultData_set, hf_index, ett_dsp_ChainedReadResultData);
800 static const ber_sequence_t T_signedChainedReadResult_sequence[] = {
801 { &hf_dsp_chainedReadResult, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainedReadResultData },
802 { &hf_dsp_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
803 { &hf_dsp_encrypted , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_dsp_BIT_STRING },
804 { NULL, 0, 0, 0, NULL }
808 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_) {
809 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
810 T_signedChainedReadResult_sequence, hf_index, ett_dsp_T_signedChainedReadResult);
816 static const value_string dsp_ChainedReadResult_vals[] = {
817 { 0, "unsignedChainedReadResult" },
818 { 1, "signedChainedReadResult" },
822 static const ber_choice_t ChainedReadResult_choice[] = {
823 { 0, &hf_dsp_unsignedChainedReadResult, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainedReadResultData },
824 { 1, &hf_dsp_signedChainedReadResult, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dsp_T_signedChainedReadResult },
825 { 0, NULL, 0, 0, 0, NULL }
829 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_) {
830 offset = dissect_ber_choice(actx, tree, tvb, offset,
831 ChainedReadResult_choice, hf_index, ett_dsp_ChainedReadResult,
838 static const ber_sequence_t ChainedCompareArgumentData_set[] = {
839 { &hf_dsp_chainedArgument , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainingArguments },
840 { &hf_dsp_compareArgument , BER_CLASS_CON, 0, 0, dissect_dap_CompareArgument },
841 { NULL, 0, 0, 0, NULL }
845 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_) {
846 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
847 ChainedCompareArgumentData_set, hf_index, ett_dsp_ChainedCompareArgumentData);
853 static const ber_sequence_t T_signedChainedCompareArgument_sequence[] = {
854 { &hf_dsp_chainedCompareArgument, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainedCompareArgumentData },
855 { &hf_dsp_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
856 { &hf_dsp_encrypted , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_dsp_BIT_STRING },
857 { NULL, 0, 0, 0, NULL }
861 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_) {
862 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
863 T_signedChainedCompareArgument_sequence, hf_index, ett_dsp_T_signedChainedCompareArgument);
869 static const value_string dsp_ChainedCompareArgument_vals[] = {
870 { 0, "unsignedChainedCompareArgument" },
871 { 1, "signedChainedCompareArgument" },
875 static const ber_choice_t ChainedCompareArgument_choice[] = {
876 { 0, &hf_dsp_unsignedChainedCompareArgument, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainedCompareArgumentData },
877 { 1, &hf_dsp_signedChainedCompareArgument, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dsp_T_signedChainedCompareArgument },
878 { 0, NULL, 0, 0, 0, NULL }
882 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_) {
883 offset = dissect_ber_choice(actx, tree, tvb, offset,
884 ChainedCompareArgument_choice, hf_index, ett_dsp_ChainedCompareArgument,
891 static const ber_sequence_t ChainedCompareResultData_set[] = {
892 { &hf_dsp_chainedResults , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainingResults },
893 { &hf_dsp_compareResult , BER_CLASS_CON, 0, 0, dissect_dap_CompareResult },
894 { NULL, 0, 0, 0, NULL }
898 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_) {
899 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
900 ChainedCompareResultData_set, hf_index, ett_dsp_ChainedCompareResultData);
906 static const ber_sequence_t T_signedChainedCompareResult_sequence[] = {
907 { &hf_dsp_chainedCompareResult, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainedCompareResultData },
908 { &hf_dsp_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
909 { &hf_dsp_encrypted , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_dsp_BIT_STRING },
910 { NULL, 0, 0, 0, NULL }
914 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_) {
915 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
916 T_signedChainedCompareResult_sequence, hf_index, ett_dsp_T_signedChainedCompareResult);
922 static const value_string dsp_ChainedCompareResult_vals[] = {
923 { 0, "unsignedChainedCompareResult" },
924 { 1, "signedChainedCompareResult" },
928 static const ber_choice_t ChainedCompareResult_choice[] = {
929 { 0, &hf_dsp_unsignedChainedCompareResult, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainedCompareResultData },
930 { 1, &hf_dsp_signedChainedCompareResult, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dsp_T_signedChainedCompareResult },
931 { 0, NULL, 0, 0, 0, NULL }
935 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_) {
936 offset = dissect_ber_choice(actx, tree, tvb, offset,
937 ChainedCompareResult_choice, hf_index, ett_dsp_ChainedCompareResult,
946 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_) {
947 offset = dissect_dap_AbandonArgument(implicit_tag, tvb, offset, actx, tree, hf_index);
955 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_) {
956 offset = dissect_dap_AbandonResult(implicit_tag, tvb, offset, actx, tree, hf_index);
962 static const ber_sequence_t ChainedListArgumentData_set[] = {
963 { &hf_dsp_chainedArgument , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainingArguments },
964 { &hf_dsp_listArgument , BER_CLASS_CON, 0, 0, dissect_dap_ListArgument },
965 { NULL, 0, 0, 0, NULL }
969 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_) {
970 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
971 ChainedListArgumentData_set, hf_index, ett_dsp_ChainedListArgumentData);
977 static const ber_sequence_t T_signedChainedListArgument_sequence[] = {
978 { &hf_dsp_chainedListArgument, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainedListArgumentData },
979 { &hf_dsp_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
980 { &hf_dsp_encrypted , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_dsp_BIT_STRING },
981 { NULL, 0, 0, 0, NULL }
985 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_) {
986 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
987 T_signedChainedListArgument_sequence, hf_index, ett_dsp_T_signedChainedListArgument);
993 static const value_string dsp_ChainedListArgument_vals[] = {
994 { 0, "unsignedChainedListArgument" },
995 { 1, "signedChainedListArgument" },
999 static const ber_choice_t ChainedListArgument_choice[] = {
1000 { 0, &hf_dsp_unsignedChainedListArgument, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainedListArgumentData },
1001 { 1, &hf_dsp_signedChainedListArgument, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dsp_T_signedChainedListArgument },
1002 { 0, NULL, 0, 0, 0, NULL }
1006 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_) {
1007 offset = dissect_ber_choice(actx, tree, tvb, offset,
1008 ChainedListArgument_choice, hf_index, ett_dsp_ChainedListArgument,
1015 static const ber_sequence_t ChainedListResultData_set[] = {
1016 { &hf_dsp_chainedResults , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainingResults },
1017 { &hf_dsp_listResult , BER_CLASS_CON, 0, 0, dissect_dap_ListResult },
1018 { NULL, 0, 0, 0, NULL }
1022 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_) {
1023 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1024 ChainedListResultData_set, hf_index, ett_dsp_ChainedListResultData);
1030 static const ber_sequence_t T_signedChainedListResult_sequence[] = {
1031 { &hf_dsp_chainedListResult, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainedListResultData },
1032 { &hf_dsp_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
1033 { &hf_dsp_encrypted , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_dsp_BIT_STRING },
1034 { NULL, 0, 0, 0, NULL }
1038 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_) {
1039 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1040 T_signedChainedListResult_sequence, hf_index, ett_dsp_T_signedChainedListResult);
1046 static const value_string dsp_ChainedListResult_vals[] = {
1047 { 0, "unsignedChainedListResult" },
1048 { 1, "signedChainedListResult" },
1052 static const ber_choice_t ChainedListResult_choice[] = {
1053 { 0, &hf_dsp_unsignedChainedListResult, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainedListResultData },
1054 { 1, &hf_dsp_signedChainedListResult, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dsp_T_signedChainedListResult },
1055 { 0, NULL, 0, 0, 0, NULL }
1059 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_) {
1060 offset = dissect_ber_choice(actx, tree, tvb, offset,
1061 ChainedListResult_choice, hf_index, ett_dsp_ChainedListResult,
1068 static const ber_sequence_t ChainedSearchArgumentData_set[] = {
1069 { &hf_dsp_chainedArgument , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainingArguments },
1070 { &hf_dsp_searchArgument , BER_CLASS_CON, 0, 0, dissect_dap_SearchArgument },
1071 { NULL, 0, 0, 0, NULL }
1075 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_) {
1076 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1077 ChainedSearchArgumentData_set, hf_index, ett_dsp_ChainedSearchArgumentData);
1083 static const ber_sequence_t T_signedChainedSearchArgument_sequence[] = {
1084 { &hf_dsp_chainedSearchArgument, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainedSearchArgumentData },
1085 { &hf_dsp_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
1086 { &hf_dsp_encrypted , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_dsp_BIT_STRING },
1087 { NULL, 0, 0, 0, NULL }
1091 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_) {
1092 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1093 T_signedChainedSearchArgument_sequence, hf_index, ett_dsp_T_signedChainedSearchArgument);
1099 static const value_string dsp_ChainedSearchArgument_vals[] = {
1100 { 0, "unsignedChainedSearchArgument" },
1101 { 1, "signedChainedSearchArgument" },
1105 static const ber_choice_t ChainedSearchArgument_choice[] = {
1106 { 0, &hf_dsp_unsignedChainedSearchArgument, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainedSearchArgumentData },
1107 { 1, &hf_dsp_signedChainedSearchArgument, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dsp_T_signedChainedSearchArgument },
1108 { 0, NULL, 0, 0, 0, NULL }
1112 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_) {
1113 offset = dissect_ber_choice(actx, tree, tvb, offset,
1114 ChainedSearchArgument_choice, hf_index, ett_dsp_ChainedSearchArgument,
1121 static const ber_sequence_t ChainedSearchResultData_set[] = {
1122 { &hf_dsp_chainedResults , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainingResults },
1123 { &hf_dsp_searchResult , BER_CLASS_CON, 0, 0, dissect_dap_SearchResult },
1124 { NULL, 0, 0, 0, NULL }
1128 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_) {
1129 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1130 ChainedSearchResultData_set, hf_index, ett_dsp_ChainedSearchResultData);
1136 static const ber_sequence_t T_signedChainedSearchResult_sequence[] = {
1137 { &hf_dsp_chainedSearchResult, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainedSearchResultData },
1138 { &hf_dsp_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
1139 { &hf_dsp_encrypted , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_dsp_BIT_STRING },
1140 { NULL, 0, 0, 0, NULL }
1144 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_) {
1145 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1146 T_signedChainedSearchResult_sequence, hf_index, ett_dsp_T_signedChainedSearchResult);
1152 static const value_string dsp_ChainedSearchResult_vals[] = {
1153 { 0, "unsignedChainedSearchResult" },
1154 { 1, "signedChainedSearchResult" },
1158 static const ber_choice_t ChainedSearchResult_choice[] = {
1159 { 0, &hf_dsp_unsignedChainedSearchResult, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainedSearchResultData },
1160 { 1, &hf_dsp_signedChainedSearchResult, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dsp_T_signedChainedSearchResult },
1161 { 0, NULL, 0, 0, 0, NULL }
1165 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_) {
1166 offset = dissect_ber_choice(actx, tree, tvb, offset,
1167 ChainedSearchResult_choice, hf_index, ett_dsp_ChainedSearchResult,
1174 static const ber_sequence_t ChainedAddEntryArgumentData_set[] = {
1175 { &hf_dsp_chainedArgument , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainingArguments },
1176 { &hf_dsp_addEntryArgument, BER_CLASS_CON, 0, 0, dissect_dap_AddEntryArgument },
1177 { NULL, 0, 0, 0, NULL }
1181 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_) {
1182 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1183 ChainedAddEntryArgumentData_set, hf_index, ett_dsp_ChainedAddEntryArgumentData);
1189 static const ber_sequence_t T_signedChainedAddEntryArgument_sequence[] = {
1190 { &hf_dsp_chainedAddEntryArgument, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainedAddEntryArgumentData },
1191 { &hf_dsp_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
1192 { &hf_dsp_encrypted , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_dsp_BIT_STRING },
1193 { NULL, 0, 0, 0, NULL }
1197 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_) {
1198 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1199 T_signedChainedAddEntryArgument_sequence, hf_index, ett_dsp_T_signedChainedAddEntryArgument);
1205 static const value_string dsp_ChainedAddEntryArgument_vals[] = {
1206 { 0, "unsignedChainedAddEntryArgument" },
1207 { 1, "signedChainedAddEntryArgument" },
1211 static const ber_choice_t ChainedAddEntryArgument_choice[] = {
1212 { 0, &hf_dsp_unsignedChainedAddEntryArgument, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainedAddEntryArgumentData },
1213 { 1, &hf_dsp_signedChainedAddEntryArgument, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dsp_T_signedChainedAddEntryArgument },
1214 { 0, NULL, 0, 0, 0, NULL }
1218 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_) {
1219 offset = dissect_ber_choice(actx, tree, tvb, offset,
1220 ChainedAddEntryArgument_choice, hf_index, ett_dsp_ChainedAddEntryArgument,
1227 static const ber_sequence_t ChainedAddEntryResultData_set[] = {
1228 { &hf_dsp_chainedResults , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainingResults },
1229 { &hf_dsp_addEntryResult , BER_CLASS_CON, 0, 0, dissect_dap_AddEntryResult },
1230 { NULL, 0, 0, 0, NULL }
1234 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_) {
1235 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1236 ChainedAddEntryResultData_set, hf_index, ett_dsp_ChainedAddEntryResultData);
1242 static const ber_sequence_t T_signedChainedAddEntryResult_sequence[] = {
1243 { &hf_dsp_chainedAddEntryResult, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainedAddEntryResultData },
1244 { &hf_dsp_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
1245 { &hf_dsp_encrypted , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_dsp_BIT_STRING },
1246 { NULL, 0, 0, 0, NULL }
1250 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_) {
1251 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1252 T_signedChainedAddEntryResult_sequence, hf_index, ett_dsp_T_signedChainedAddEntryResult);
1258 static const value_string dsp_ChainedAddEntryResult_vals[] = {
1259 { 0, "unsignedChainedAddEntryResult" },
1260 { 1, "signedChainedAddEntryResult" },
1264 static const ber_choice_t ChainedAddEntryResult_choice[] = {
1265 { 0, &hf_dsp_unsignedChainedAddEntryResult, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainedAddEntryResultData },
1266 { 1, &hf_dsp_signedChainedAddEntryResult, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dsp_T_signedChainedAddEntryResult },
1267 { 0, NULL, 0, 0, 0, NULL }
1271 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_) {
1272 offset = dissect_ber_choice(actx, tree, tvb, offset,
1273 ChainedAddEntryResult_choice, hf_index, ett_dsp_ChainedAddEntryResult,
1280 static const ber_sequence_t ChainedRemoveEntryArgumentData_set[] = {
1281 { &hf_dsp_chainedArgument , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainingArguments },
1282 { &hf_dsp_removeEntryArgument, BER_CLASS_CON, 0, 0, dissect_dap_RemoveEntryArgument },
1283 { NULL, 0, 0, 0, NULL }
1287 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_) {
1288 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1289 ChainedRemoveEntryArgumentData_set, hf_index, ett_dsp_ChainedRemoveEntryArgumentData);
1295 static const ber_sequence_t T_signedChainedRemoveEntryArgument_sequence[] = {
1296 { &hf_dsp_chainedRemoveEntryArgument, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainedRemoveEntryArgumentData },
1297 { &hf_dsp_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
1298 { &hf_dsp_encrypted , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_dsp_BIT_STRING },
1299 { NULL, 0, 0, 0, NULL }
1303 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_) {
1304 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1305 T_signedChainedRemoveEntryArgument_sequence, hf_index, ett_dsp_T_signedChainedRemoveEntryArgument);
1311 static const value_string dsp_ChainedRemoveEntryArgument_vals[] = {
1312 { 0, "unsignedChainedRemoveEntryArgument" },
1313 { 1, "signedChainedRemoveEntryArgument" },
1317 static const ber_choice_t ChainedRemoveEntryArgument_choice[] = {
1318 { 0, &hf_dsp_unsignedChainedRemoveEntryArgument, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainedRemoveEntryArgumentData },
1319 { 1, &hf_dsp_signedChainedRemoveEntryArgument, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dsp_T_signedChainedRemoveEntryArgument },
1320 { 0, NULL, 0, 0, 0, NULL }
1324 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_) {
1325 offset = dissect_ber_choice(actx, tree, tvb, offset,
1326 ChainedRemoveEntryArgument_choice, hf_index, ett_dsp_ChainedRemoveEntryArgument,
1333 static const ber_sequence_t ChainedRemoveEntryResultData_set[] = {
1334 { &hf_dsp_chainedResults , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainingResults },
1335 { &hf_dsp_removeEntryResult, BER_CLASS_CON, 0, 0, dissect_dap_RemoveEntryResult },
1336 { NULL, 0, 0, 0, NULL }
1340 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_) {
1341 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1342 ChainedRemoveEntryResultData_set, hf_index, ett_dsp_ChainedRemoveEntryResultData);
1348 static const ber_sequence_t T_signedChainedRemoveEntryResult_sequence[] = {
1349 { &hf_dsp_chainedRemoveEntryResult, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainedRemoveEntryResultData },
1350 { &hf_dsp_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
1351 { &hf_dsp_encrypted , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_dsp_BIT_STRING },
1352 { NULL, 0, 0, 0, NULL }
1356 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_) {
1357 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1358 T_signedChainedRemoveEntryResult_sequence, hf_index, ett_dsp_T_signedChainedRemoveEntryResult);
1364 static const value_string dsp_ChainedRemoveEntryResult_vals[] = {
1365 { 0, "unsignedChainedRemoveEntryResult" },
1366 { 1, "signedChainedRemoveEntryResult" },
1370 static const ber_choice_t ChainedRemoveEntryResult_choice[] = {
1371 { 0, &hf_dsp_unsignedChainedRemoveEntryResult, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainedRemoveEntryResultData },
1372 { 1, &hf_dsp_signedChainedRemoveEntryResult, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dsp_T_signedChainedRemoveEntryResult },
1373 { 0, NULL, 0, 0, 0, NULL }
1377 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_) {
1378 offset = dissect_ber_choice(actx, tree, tvb, offset,
1379 ChainedRemoveEntryResult_choice, hf_index, ett_dsp_ChainedRemoveEntryResult,
1386 static const ber_sequence_t ChainedModifyEntryArgumentData_set[] = {
1387 { &hf_dsp_chainedArgument , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainingArguments },
1388 { &hf_dsp_modifyEntryArgument, BER_CLASS_CON, 0, 0, dissect_dap_ModifyEntryArgument },
1389 { NULL, 0, 0, 0, NULL }
1393 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_) {
1394 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1395 ChainedModifyEntryArgumentData_set, hf_index, ett_dsp_ChainedModifyEntryArgumentData);
1401 static const ber_sequence_t T_signedChainedModifyEntryArgument_sequence[] = {
1402 { &hf_dsp_chainedModifyEntryArgument, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainedModifyEntryArgumentData },
1403 { &hf_dsp_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
1404 { &hf_dsp_encrypted , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_dsp_BIT_STRING },
1405 { NULL, 0, 0, 0, NULL }
1409 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_) {
1410 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1411 T_signedChainedModifyEntryArgument_sequence, hf_index, ett_dsp_T_signedChainedModifyEntryArgument);
1417 static const value_string dsp_ChainedModifyEntryArgument_vals[] = {
1418 { 0, "unsignedChainedModifyEntryArgument" },
1419 { 1, "signedChainedModifyEntryArgument" },
1423 static const ber_choice_t ChainedModifyEntryArgument_choice[] = {
1424 { 0, &hf_dsp_unsignedChainedModifyEntryArgument, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainedModifyEntryArgumentData },
1425 { 1, &hf_dsp_signedChainedModifyEntryArgument, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dsp_T_signedChainedModifyEntryArgument },
1426 { 0, NULL, 0, 0, 0, NULL }
1430 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_) {
1431 offset = dissect_ber_choice(actx, tree, tvb, offset,
1432 ChainedModifyEntryArgument_choice, hf_index, ett_dsp_ChainedModifyEntryArgument,
1439 static const ber_sequence_t ChainedModifyEntryResultData_set[] = {
1440 { &hf_dsp_chainedResults , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainingResults },
1441 { &hf_dsp_modifyEntryResult, BER_CLASS_CON, 0, 0, dissect_dap_ModifyEntryResult },
1442 { NULL, 0, 0, 0, NULL }
1446 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_) {
1447 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1448 ChainedModifyEntryResultData_set, hf_index, ett_dsp_ChainedModifyEntryResultData);
1454 static const ber_sequence_t T_signedChainedModifyEntryResult_sequence[] = {
1455 { &hf_dsp_chainedModifyEntryResult, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainedModifyEntryResultData },
1456 { &hf_dsp_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
1457 { &hf_dsp_encrypted , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_dsp_BIT_STRING },
1458 { NULL, 0, 0, 0, NULL }
1462 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_) {
1463 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1464 T_signedChainedModifyEntryResult_sequence, hf_index, ett_dsp_T_signedChainedModifyEntryResult);
1470 static const value_string dsp_ChainedModifyEntryResult_vals[] = {
1471 { 0, "unsignedChainedModifyEntryResult" },
1472 { 1, "signedChainedModifyEntryResult" },
1476 static const ber_choice_t ChainedModifyEntryResult_choice[] = {
1477 { 0, &hf_dsp_unsignedChainedModifyEntryResult, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainedModifyEntryResultData },
1478 { 1, &hf_dsp_signedChainedModifyEntryResult, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dsp_T_signedChainedModifyEntryResult },
1479 { 0, NULL, 0, 0, 0, NULL }
1483 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_) {
1484 offset = dissect_ber_choice(actx, tree, tvb, offset,
1485 ChainedModifyEntryResult_choice, hf_index, ett_dsp_ChainedModifyEntryResult,
1492 static const ber_sequence_t ChainedModifyDNArgumentData_set[] = {
1493 { &hf_dsp_chainedArgument , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainingArguments },
1494 { &hf_dsp_modifyDNArgument, BER_CLASS_CON, 0, 0, dissect_dap_ModifyDNArgument },
1495 { NULL, 0, 0, 0, NULL }
1499 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_) {
1500 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1501 ChainedModifyDNArgumentData_set, hf_index, ett_dsp_ChainedModifyDNArgumentData);
1507 static const ber_sequence_t T_signedChainedModifyDNArgument_sequence[] = {
1508 { &hf_dsp_chainedModifyDNArgument, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainedModifyDNArgumentData },
1509 { &hf_dsp_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
1510 { &hf_dsp_encrypted , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_dsp_BIT_STRING },
1511 { NULL, 0, 0, 0, NULL }
1515 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_) {
1516 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1517 T_signedChainedModifyDNArgument_sequence, hf_index, ett_dsp_T_signedChainedModifyDNArgument);
1523 static const value_string dsp_ChainedModifyDNArgument_vals[] = {
1524 { 0, "unsignedChainedModifyDNArgument" },
1525 { 1, "signedChainedModifyDNArgument" },
1529 static const ber_choice_t ChainedModifyDNArgument_choice[] = {
1530 { 0, &hf_dsp_unsignedChainedModifyDNArgument, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainedModifyDNArgumentData },
1531 { 1, &hf_dsp_signedChainedModifyDNArgument, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dsp_T_signedChainedModifyDNArgument },
1532 { 0, NULL, 0, 0, 0, NULL }
1536 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_) {
1537 offset = dissect_ber_choice(actx, tree, tvb, offset,
1538 ChainedModifyDNArgument_choice, hf_index, ett_dsp_ChainedModifyDNArgument,
1545 static const ber_sequence_t ChainedModifyDNResultData_set[] = {
1546 { &hf_dsp_chainedResults , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainingResults },
1547 { &hf_dsp_modifyDNResult , BER_CLASS_CON, 0, 0, dissect_dap_ModifyDNResult },
1548 { NULL, 0, 0, 0, NULL }
1552 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_) {
1553 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1554 ChainedModifyDNResultData_set, hf_index, ett_dsp_ChainedModifyDNResultData);
1560 static const ber_sequence_t T_signedChainedModifyDNResult_sequence[] = {
1561 { &hf_dsp_chainedModifyDNResult, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainedModifyDNResultData },
1562 { &hf_dsp_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
1563 { &hf_dsp_encrypted , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_dsp_BIT_STRING },
1564 { NULL, 0, 0, 0, NULL }
1568 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_) {
1569 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1570 T_signedChainedModifyDNResult_sequence, hf_index, ett_dsp_T_signedChainedModifyDNResult);
1576 static const value_string dsp_ChainedModifyDNResult_vals[] = {
1577 { 0, "unsignedChainedModifyDNResult" },
1578 { 1, "signedChainedModifyDNResult" },
1582 static const ber_choice_t ChainedModifyDNResult_choice[] = {
1583 { 0, &hf_dsp_unsignedChainedModifyDNResult, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_ChainedModifyDNResultData },
1584 { 1, &hf_dsp_signedChainedModifyDNResult, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dsp_T_signedChainedModifyDNResult },
1585 { 0, NULL, 0, 0, 0, NULL }
1589 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_) {
1590 offset = dissect_ber_choice(actx, tree, tvb, offset,
1591 ChainedModifyDNResult_choice, hf_index, ett_dsp_ChainedModifyDNResult,
1598 static const ber_sequence_t SET_OF_AccessPointInformation_set_of[1] = {
1599 { &hf_dsp_accessPoints_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_AccessPointInformation },
1603 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_) {
1604 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
1605 SET_OF_AccessPointInformation_set_of, hf_index, ett_dsp_SET_OF_AccessPointInformation);
1611 static const ber_sequence_t ContinuationReference_set[] = {
1612 { &hf_dsp_targetObject , BER_CLASS_CON, 0, 0, dissect_x509if_Name },
1613 { &hf_dsp_aliasedRDNs , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_dsp_INTEGER },
1614 { &hf_dsp_operationProgress, BER_CLASS_CON, 2, 0, dissect_dsp_OperationProgress },
1615 { &hf_dsp_rdnsResolved , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL, dissect_dsp_INTEGER },
1616 { &hf_dsp_referenceType , BER_CLASS_CON, 4, 0, dissect_dsp_ReferenceType },
1617 { &hf_dsp_accessPoints , BER_CLASS_CON, 5, 0, dissect_dsp_SET_OF_AccessPointInformation },
1618 { &hf_dsp_entryOnly , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL, dissect_dsp_BOOLEAN },
1619 { &hf_dsp_exclusions , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL, dissect_dsp_Exclusions },
1620 { &hf_dsp_returnToDUA , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL, dissect_dsp_BOOLEAN },
1621 { &hf_dsp_nameResolveOnMaster, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL, dissect_dsp_BOOLEAN },
1622 { NULL, 0, 0, 0, NULL }
1626 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_) {
1627 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1628 ContinuationReference_set, hf_index, ett_dsp_ContinuationReference);
1634 static const ber_sequence_t SEQUENCE_OF_Attribute_sequence_of[1] = {
1635 { &hf_dsp_notification_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509if_Attribute },
1639 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_) {
1640 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
1641 SEQUENCE_OF_Attribute_sequence_of, hf_index, ett_dsp_SEQUENCE_OF_Attribute);
1647 static const ber_sequence_t DSAReferralData_set[] = {
1648 { &hf_dsp_reference , BER_CLASS_CON, 0, 0, dissect_dsp_ContinuationReference },
1649 { &hf_dsp_contextPrefix , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_x509if_DistinguishedName },
1650 { &hf_dsp_securityParameters, BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL, dissect_dap_SecurityParameters },
1651 { &hf_dsp_performer , BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL, dissect_x509if_DistinguishedName },
1652 { &hf_dsp_aliasDereferenced, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL, dissect_dsp_BOOLEAN },
1653 { &hf_dsp_notification , BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL, dissect_dsp_SEQUENCE_OF_Attribute },
1654 { NULL, 0, 0, 0, NULL }
1658 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_) {
1659 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1660 DSAReferralData_set, hf_index, ett_dsp_DSAReferralData);
1666 static const ber_sequence_t T_signedDSAReferral_sequence[] = {
1667 { &hf_dsp_dsaReferral , BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_DSAReferralData },
1668 { &hf_dsp_algorithmIdentifier, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_x509af_AlgorithmIdentifier },
1669 { &hf_dsp_encrypted , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_dsp_BIT_STRING },
1670 { NULL, 0, 0, 0, NULL }
1674 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_) {
1675 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1676 T_signedDSAReferral_sequence, hf_index, ett_dsp_T_signedDSAReferral);
1682 static const value_string dsp_DSAReferral_vals[] = {
1683 { 0, "unsignedDSAReferral" },
1684 { 1, "signedDSAReferral" },
1688 static const ber_choice_t DSAReferral_choice[] = {
1689 { 0, &hf_dsp_unsignedDSAReferral, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_dsp_DSAReferralData },
1690 { 1, &hf_dsp_signedDSAReferral, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_dsp_T_signedDSAReferral },
1691 { 0, NULL, 0, 0, 0, NULL }
1695 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_) {
1696 offset = dissect_ber_choice(actx, tree, tvb, offset,
1697 DSAReferral_choice, hf_index, ett_dsp_DSAReferral,
1704 static const ber_sequence_t AccessPoint_set[] = {
1705 { &hf_dsp_ae_title , BER_CLASS_CON, 0, 0, dissect_x509if_Name },
1706 { &hf_dsp_address , BER_CLASS_CON, 1, 0, dissect_x509sat_PresentationAddress },
1707 { &hf_dsp_protocolInformation, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL, dissect_dsp_SET_OF_ProtocolInformation },
1708 { NULL, 0, 0, 0, NULL }
1712 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_) {
1713 offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
1714 AccessPoint_set, hf_index, ett_dsp_AccessPoint);
1721 static void dissect_AccessPoint_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1722 asn1_ctx_t asn1_ctx;
1723 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1724 dissect_dsp_AccessPoint(FALSE, tvb, 0, &asn1_ctx, tree, hf_dsp_AccessPoint_PDU);
1726 static void dissect_MasterAndShadowAccessPoints_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
1727 asn1_ctx_t asn1_ctx;
1728 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1729 dissect_dsp_MasterAndShadowAccessPoints(FALSE, tvb, 0, &asn1_ctx, tree, hf_dsp_MasterAndShadowAccessPoints_PDU);
1733 /*--- End of included file: packet-dsp-fn.c ---*/
1734 #line 72 "packet-dsp-template.c"
1737 * Dissect X518 PDUs inside a ROS PDUs
1740 dissect_dsp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
1744 proto_item *item=NULL;
1745 proto_tree *tree=NULL;
1746 int (*dsp_dissector)(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index _U_) = NULL;
1748 asn1_ctx_t asn1_ctx;
1750 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
1752 /* do we have operation information from the ROS dissector? */
1753 if( !pinfo->private_data ){
1755 proto_tree_add_text(parent_tree, tvb, offset, -1,
1756 "Internal error: can't get operation information from ROS dissector.");
1760 session = ( (struct SESSION_DATA_STRUCTURE*)(pinfo->private_data) );
1764 item = proto_tree_add_item(parent_tree, proto_dsp, tvb, 0, -1, FALSE);
1765 tree = proto_item_add_subtree(item, ett_dsp);
1767 if (check_col(pinfo->cinfo, COL_PROTOCOL))
1768 col_set_str(pinfo->cinfo, COL_PROTOCOL, "DAP");
1769 if (check_col(pinfo->cinfo, COL_INFO))
1770 col_clear(pinfo->cinfo, COL_INFO);
1772 switch(session->ros_op & ROS_OP_MASK) {
1773 case (ROS_OP_BIND | ROS_OP_ARGUMENT): /* BindInvoke */
1774 dsp_dissector = dissect_dsp_DSASystemBindArgument;
1775 dsp_op_name = "System-Bind-Argument";
1777 case (ROS_OP_BIND | ROS_OP_RESULT): /* BindResult */
1778 dsp_dissector = dissect_dsp_DSASystemBindResult;
1779 dsp_op_name = "System-Bind-Result";
1781 case (ROS_OP_BIND | ROS_OP_ERROR): /* BindError */
1782 dsp_dissector = dissect_dsp_DSASystemBindError;
1783 dsp_op_name = "System-Bind-Error";
1785 case (ROS_OP_INVOKE | ROS_OP_ARGUMENT): /* Invoke Argument */
1786 switch(session->ros_op & ROS_OP_OPCODE_MASK) {
1788 dsp_dissector = dissect_dsp_ChainedReadArgument;
1789 dsp_op_name = "Chained-Read-Argument";
1791 case 2: /* compare */
1792 dsp_dissector = dissect_dsp_ChainedCompareArgument;
1793 dsp_op_name = "Chained-Compare-Argument";
1795 case 3: /* abandon */
1796 dsp_dissector = dissect_dsp_ChainedAbandonArgument;
1797 dsp_op_name = "Chained-Abandon-Argument";
1800 dsp_dissector = dissect_dsp_ChainedListArgument;
1801 dsp_op_name = "Chained-List-Argument";
1803 case 5: /* search */
1804 dsp_dissector = dissect_dsp_ChainedSearchArgument;
1805 dsp_op_name = "Chained-Search-Argument";
1807 case 6: /* addEntry */
1808 dsp_dissector = dissect_dsp_ChainedAddEntryArgument;
1809 dsp_op_name = "Chained-Add-Entry-Argument";
1811 case 7: /* removeEntry */
1812 dsp_dissector = dissect_dsp_ChainedRemoveEntryArgument;
1813 dsp_op_name = "Chained-Remove-Entry-Argument";
1815 case 8: /* modifyEntry */
1816 dsp_dissector = dissect_dsp_ChainedModifyEntryArgument;
1817 dsp_op_name = "ChainedModify-Entry-Argument";
1819 case 9: /* modifyDN */
1820 dsp_dissector = dissect_dsp_ChainedModifyDNArgument;
1821 dsp_op_name = "ChainedModify-DN-Argument";
1824 proto_tree_add_text(tree, tvb, offset, -1,"Unsupported DSP opcode (%d)",
1825 session->ros_op & ROS_OP_OPCODE_MASK);
1829 case (ROS_OP_INVOKE | ROS_OP_RESULT): /* Return Result */
1830 switch(session->ros_op & ROS_OP_OPCODE_MASK) {
1832 dsp_dissector = dissect_dsp_ChainedReadResult;
1833 dsp_op_name = "Chained-Read-Result";
1835 case 2: /* compare */
1836 dsp_dissector = dissect_dsp_ChainedCompareResult;
1837 dsp_op_name = "Chained-Compare-Result";
1839 case 3: /* abandon */
1840 dsp_dissector = dissect_dsp_ChainedAbandonResult;
1841 dsp_op_name = "Chained-Abandon-Result";
1844 dsp_dissector = dissect_dsp_ChainedListResult;
1845 dsp_op_name = "Chained-List-Result";
1847 case 5: /* search */
1848 dsp_dissector = dissect_dsp_ChainedSearchResult;
1849 dsp_op_name = "Chained-Search-Result";
1851 case 6: /* addEntry */
1852 dsp_dissector = dissect_dsp_ChainedAddEntryResult;
1853 dsp_op_name = "Chained-Add-Entry-Result";
1855 case 7: /* removeEntry */
1856 dsp_dissector = dissect_dsp_ChainedRemoveEntryResult;
1857 dsp_op_name = "Chained-Remove-Entry-Result";
1859 case 8: /* modifyEntry */
1860 dsp_dissector = dissect_dsp_ChainedModifyEntryResult;
1861 dsp_op_name = "Chained-Modify-Entry-Result";
1863 case 9: /* modifyDN */
1864 dsp_dissector = dissect_dsp_ChainedModifyDNResult;
1865 dsp_op_name = "ChainedModify-DN-Result";
1868 proto_tree_add_text(tree, tvb, offset, -1,"Unsupported DSP opcode");
1872 case (ROS_OP_INVOKE | ROS_OP_ERROR): /* Return Error */
1873 switch(session->ros_op & ROS_OP_OPCODE_MASK) {
1874 case 1: /* attributeError */
1875 dsp_dissector = dissect_dap_AttributeError;
1876 dsp_op_name = "Attribute-Error";
1878 case 2: /* nameError */
1879 dsp_dissector = dissect_dap_NameError;
1880 dsp_op_name = "Name-Error";
1882 case 3: /* serviceError */
1883 dsp_dissector = dissect_dap_ServiceError;
1884 dsp_op_name = "Service-Error";
1886 case 4: /* referral */
1887 dsp_dissector = dissect_dap_Referral;
1888 dsp_op_name = "Referral";
1890 case 5: /* abandoned */
1891 dsp_dissector = dissect_dap_Abandoned;
1892 dsp_op_name = "Abandoned";
1894 case 6: /* securityError */
1895 dsp_dissector = dissect_dap_SecurityError;
1896 dsp_op_name = "Security-Error";
1898 case 7: /* abandonFailed */
1899 dsp_dissector = dissect_dap_AbandonFailedError;
1900 dsp_op_name = "Abandon-Failed-Error";
1902 case 8: /* updateError */
1903 dsp_dissector = dissect_dap_UpdateError;
1904 dsp_op_name = "Update-Error";
1906 case 9: /* DSAReferral */
1907 dsp_dissector = dissect_dsp_DSAReferral;
1908 dsp_op_name = "DSA-Referral";
1911 proto_tree_add_text(tree, tvb, offset, -1,"Unsupported DSP errcode");
1916 proto_tree_add_text(tree, tvb, offset, -1,"Unsupported DSP PDU");
1921 if (check_col(pinfo->cinfo, COL_INFO))
1922 col_set_str(pinfo->cinfo, COL_INFO, dsp_op_name);
1924 while (tvb_reported_length_remaining(tvb, offset) > 0){
1926 offset=(*dsp_dissector)(FALSE, tvb, offset, &asn1_ctx, tree, -1);
1927 if(offset == old_offset){
1928 proto_tree_add_text(tree, tvb, offset, -1,"Internal error, zero-byte DSP PDU");
1929 offset = tvb_length(tvb);
1937 /*--- proto_register_dsp -------------------------------------------*/
1938 void proto_register_dsp(void) {
1940 /* List of fields */
1941 static hf_register_info hf[] =
1944 /*--- Included file: packet-dsp-hfarr.c ---*/
1945 #line 1 "packet-dsp-hfarr.c"
1946 { &hf_dsp_AccessPoint_PDU,
1947 { "AccessPoint", "dsp.AccessPoint",
1948 FT_NONE, BASE_NONE, NULL, 0,
1949 "dsp.AccessPoint", HFILL }},
1950 { &hf_dsp_MasterAndShadowAccessPoints_PDU,
1951 { "MasterAndShadowAccessPoints", "dsp.MasterAndShadowAccessPoints",
1952 FT_UINT32, BASE_DEC, NULL, 0,
1953 "dsp.MasterAndShadowAccessPoints", HFILL }},
1954 { &hf_dsp_chainedArgument,
1955 { "chainedArgument", "dsp.chainedArgument",
1956 FT_NONE, BASE_NONE, NULL, 0,
1957 "dsp.ChainingArguments", HFILL }},
1958 { &hf_dsp_readArgument,
1959 { "readArgument", "dsp.readArgument",
1960 FT_UINT32, BASE_DEC, VALS(dap_ReadArgument_vals), 0,
1961 "dap.ReadArgument", HFILL }},
1962 { &hf_dsp_unsignedChainedReadArgument,
1963 { "unsignedChainedReadArgument", "dsp.unsignedChainedReadArgument",
1964 FT_NONE, BASE_NONE, NULL, 0,
1965 "dsp.ChainedReadArgumentData", HFILL }},
1966 { &hf_dsp_signedChainedReadArgument,
1967 { "signedChainedReadArgument", "dsp.signedChainedReadArgument",
1968 FT_NONE, BASE_NONE, NULL, 0,
1969 "dsp.T_signedChainedReadArgument", HFILL }},
1970 { &hf_dsp_chainedReadArgument,
1971 { "chainedReadArgument", "dsp.chainedReadArgument",
1972 FT_NONE, BASE_NONE, NULL, 0,
1973 "dsp.ChainedReadArgumentData", HFILL }},
1974 { &hf_dsp_algorithmIdentifier,
1975 { "algorithmIdentifier", "dsp.algorithmIdentifier",
1976 FT_NONE, BASE_NONE, NULL, 0,
1977 "x509af.AlgorithmIdentifier", HFILL }},
1978 { &hf_dsp_encrypted,
1979 { "encrypted", "dsp.encrypted",
1980 FT_BYTES, BASE_NONE, NULL, 0,
1981 "dsp.BIT_STRING", HFILL }},
1982 { &hf_dsp_chainedResults,
1983 { "chainedResults", "dsp.chainedResults",
1984 FT_NONE, BASE_NONE, NULL, 0,
1985 "dsp.ChainingResults", HFILL }},
1986 { &hf_dsp_readResult,
1987 { "readResult", "dsp.readResult",
1988 FT_UINT32, BASE_DEC, VALS(dap_ReadResult_vals), 0,
1989 "dap.ReadResult", HFILL }},
1990 { &hf_dsp_unsignedChainedReadResult,
1991 { "unsignedChainedReadResult", "dsp.unsignedChainedReadResult",
1992 FT_NONE, BASE_NONE, NULL, 0,
1993 "dsp.ChainedReadResultData", HFILL }},
1994 { &hf_dsp_signedChainedReadResult,
1995 { "signedChainedReadResult", "dsp.signedChainedReadResult",
1996 FT_NONE, BASE_NONE, NULL, 0,
1997 "dsp.T_signedChainedReadResult", HFILL }},
1998 { &hf_dsp_chainedReadResult,
1999 { "chainedReadResult", "dsp.chainedReadResult",
2000 FT_NONE, BASE_NONE, NULL, 0,
2001 "dsp.ChainedReadResultData", HFILL }},
2002 { &hf_dsp_compareArgument,
2003 { "compareArgument", "dsp.compareArgument",
2004 FT_UINT32, BASE_DEC, VALS(dap_CompareArgument_vals), 0,
2005 "dap.CompareArgument", HFILL }},
2006 { &hf_dsp_unsignedChainedCompareArgument,
2007 { "unsignedChainedCompareArgument", "dsp.unsignedChainedCompareArgument",
2008 FT_NONE, BASE_NONE, NULL, 0,
2009 "dsp.ChainedCompareArgumentData", HFILL }},
2010 { &hf_dsp_signedChainedCompareArgument,
2011 { "signedChainedCompareArgument", "dsp.signedChainedCompareArgument",
2012 FT_NONE, BASE_NONE, NULL, 0,
2013 "dsp.T_signedChainedCompareArgument", HFILL }},
2014 { &hf_dsp_chainedCompareArgument,
2015 { "chainedCompareArgument", "dsp.chainedCompareArgument",
2016 FT_NONE, BASE_NONE, NULL, 0,
2017 "dsp.ChainedCompareArgumentData", HFILL }},
2018 { &hf_dsp_compareResult,
2019 { "compareResult", "dsp.compareResult",
2020 FT_UINT32, BASE_DEC, VALS(dap_CompareResult_vals), 0,
2021 "dap.CompareResult", HFILL }},
2022 { &hf_dsp_unsignedChainedCompareResult,
2023 { "unsignedChainedCompareResult", "dsp.unsignedChainedCompareResult",
2024 FT_NONE, BASE_NONE, NULL, 0,
2025 "dsp.ChainedCompareResultData", HFILL }},
2026 { &hf_dsp_signedChainedCompareResult,
2027 { "signedChainedCompareResult", "dsp.signedChainedCompareResult",
2028 FT_NONE, BASE_NONE, NULL, 0,
2029 "dsp.T_signedChainedCompareResult", HFILL }},
2030 { &hf_dsp_chainedCompareResult,
2031 { "chainedCompareResult", "dsp.chainedCompareResult",
2032 FT_NONE, BASE_NONE, NULL, 0,
2033 "dsp.ChainedCompareResultData", HFILL }},
2034 { &hf_dsp_listArgument,
2035 { "listArgument", "dsp.listArgument",
2036 FT_UINT32, BASE_DEC, VALS(dap_ListArgument_vals), 0,
2037 "dap.ListArgument", HFILL }},
2038 { &hf_dsp_unsignedChainedListArgument,
2039 { "unsignedChainedListArgument", "dsp.unsignedChainedListArgument",
2040 FT_NONE, BASE_NONE, NULL, 0,
2041 "dsp.ChainedListArgumentData", HFILL }},
2042 { &hf_dsp_signedChainedListArgument,
2043 { "signedChainedListArgument", "dsp.signedChainedListArgument",
2044 FT_NONE, BASE_NONE, NULL, 0,
2045 "dsp.T_signedChainedListArgument", HFILL }},
2046 { &hf_dsp_chainedListArgument,
2047 { "chainedListArgument", "dsp.chainedListArgument",
2048 FT_NONE, BASE_NONE, NULL, 0,
2049 "dsp.ChainedListArgumentData", HFILL }},
2050 { &hf_dsp_listResult,
2051 { "listResult", "dsp.listResult",
2052 FT_UINT32, BASE_DEC, VALS(dap_ListResult_vals), 0,
2053 "dap.ListResult", HFILL }},
2054 { &hf_dsp_unsignedChainedListResult,
2055 { "unsignedChainedListResult", "dsp.unsignedChainedListResult",
2056 FT_NONE, BASE_NONE, NULL, 0,
2057 "dsp.ChainedListResultData", HFILL }},
2058 { &hf_dsp_signedChainedListResult,
2059 { "signedChainedListResult", "dsp.signedChainedListResult",
2060 FT_NONE, BASE_NONE, NULL, 0,
2061 "dsp.T_signedChainedListResult", HFILL }},
2062 { &hf_dsp_chainedListResult,
2063 { "chainedListResult", "dsp.chainedListResult",
2064 FT_NONE, BASE_NONE, NULL, 0,
2065 "dsp.ChainedListResultData", HFILL }},
2066 { &hf_dsp_searchArgument,
2067 { "searchArgument", "dsp.searchArgument",
2068 FT_UINT32, BASE_DEC, VALS(dap_SearchArgument_vals), 0,
2069 "dap.SearchArgument", HFILL }},
2070 { &hf_dsp_unsignedChainedSearchArgument,
2071 { "unsignedChainedSearchArgument", "dsp.unsignedChainedSearchArgument",
2072 FT_NONE, BASE_NONE, NULL, 0,
2073 "dsp.ChainedSearchArgumentData", HFILL }},
2074 { &hf_dsp_signedChainedSearchArgument,
2075 { "signedChainedSearchArgument", "dsp.signedChainedSearchArgument",
2076 FT_NONE, BASE_NONE, NULL, 0,
2077 "dsp.T_signedChainedSearchArgument", HFILL }},
2078 { &hf_dsp_chainedSearchArgument,
2079 { "chainedSearchArgument", "dsp.chainedSearchArgument",
2080 FT_NONE, BASE_NONE, NULL, 0,
2081 "dsp.ChainedSearchArgumentData", HFILL }},
2082 { &hf_dsp_searchResult,
2083 { "searchResult", "dsp.searchResult",
2084 FT_UINT32, BASE_DEC, VALS(dap_SearchResult_vals), 0,
2085 "dap.SearchResult", HFILL }},
2086 { &hf_dsp_unsignedChainedSearchResult,
2087 { "unsignedChainedSearchResult", "dsp.unsignedChainedSearchResult",
2088 FT_NONE, BASE_NONE, NULL, 0,
2089 "dsp.ChainedSearchResultData", HFILL }},
2090 { &hf_dsp_signedChainedSearchResult,
2091 { "signedChainedSearchResult", "dsp.signedChainedSearchResult",
2092 FT_NONE, BASE_NONE, NULL, 0,
2093 "dsp.T_signedChainedSearchResult", HFILL }},
2094 { &hf_dsp_chainedSearchResult,
2095 { "chainedSearchResult", "dsp.chainedSearchResult",
2096 FT_NONE, BASE_NONE, NULL, 0,
2097 "dsp.ChainedSearchResultData", HFILL }},
2098 { &hf_dsp_addEntryArgument,
2099 { "addEntryArgument", "dsp.addEntryArgument",
2100 FT_UINT32, BASE_DEC, VALS(dap_AddEntryArgument_vals), 0,
2101 "dap.AddEntryArgument", HFILL }},
2102 { &hf_dsp_unsignedChainedAddEntryArgument,
2103 { "unsignedChainedAddEntryArgument", "dsp.unsignedChainedAddEntryArgument",
2104 FT_NONE, BASE_NONE, NULL, 0,
2105 "dsp.ChainedAddEntryArgumentData", HFILL }},
2106 { &hf_dsp_signedChainedAddEntryArgument,
2107 { "signedChainedAddEntryArgument", "dsp.signedChainedAddEntryArgument",
2108 FT_NONE, BASE_NONE, NULL, 0,
2109 "dsp.T_signedChainedAddEntryArgument", HFILL }},
2110 { &hf_dsp_chainedAddEntryArgument,
2111 { "chainedAddEntryArgument", "dsp.chainedAddEntryArgument",
2112 FT_NONE, BASE_NONE, NULL, 0,
2113 "dsp.ChainedAddEntryArgumentData", HFILL }},
2114 { &hf_dsp_addEntryResult,
2115 { "addEntryResult", "dsp.addEntryResult",
2116 FT_UINT32, BASE_DEC, VALS(dap_AddEntryResult_vals), 0,
2117 "dap.AddEntryResult", HFILL }},
2118 { &hf_dsp_unsignedChainedAddEntryResult,
2119 { "unsignedChainedAddEntryResult", "dsp.unsignedChainedAddEntryResult",
2120 FT_NONE, BASE_NONE, NULL, 0,
2121 "dsp.ChainedAddEntryResultData", HFILL }},
2122 { &hf_dsp_signedChainedAddEntryResult,
2123 { "signedChainedAddEntryResult", "dsp.signedChainedAddEntryResult",
2124 FT_NONE, BASE_NONE, NULL, 0,
2125 "dsp.T_signedChainedAddEntryResult", HFILL }},
2126 { &hf_dsp_chainedAddEntryResult,
2127 { "chainedAddEntryResult", "dsp.chainedAddEntryResult",
2128 FT_NONE, BASE_NONE, NULL, 0,
2129 "dsp.ChainedAddEntryResultData", HFILL }},
2130 { &hf_dsp_removeEntryArgument,
2131 { "removeEntryArgument", "dsp.removeEntryArgument",
2132 FT_UINT32, BASE_DEC, VALS(dap_RemoveEntryArgument_vals), 0,
2133 "dap.RemoveEntryArgument", HFILL }},
2134 { &hf_dsp_unsignedChainedRemoveEntryArgument,
2135 { "unsignedChainedRemoveEntryArgument", "dsp.unsignedChainedRemoveEntryArgument",
2136 FT_NONE, BASE_NONE, NULL, 0,
2137 "dsp.ChainedRemoveEntryArgumentData", HFILL }},
2138 { &hf_dsp_signedChainedRemoveEntryArgument,
2139 { "signedChainedRemoveEntryArgument", "dsp.signedChainedRemoveEntryArgument",
2140 FT_NONE, BASE_NONE, NULL, 0,
2141 "dsp.T_signedChainedRemoveEntryArgument", HFILL }},
2142 { &hf_dsp_chainedRemoveEntryArgument,
2143 { "chainedRemoveEntryArgument", "dsp.chainedRemoveEntryArgument",
2144 FT_NONE, BASE_NONE, NULL, 0,
2145 "dsp.ChainedRemoveEntryArgumentData", HFILL }},
2146 { &hf_dsp_removeEntryResult,
2147 { "removeEntryResult", "dsp.removeEntryResult",
2148 FT_UINT32, BASE_DEC, VALS(dap_RemoveEntryResult_vals), 0,
2149 "dap.RemoveEntryResult", HFILL }},
2150 { &hf_dsp_unsignedChainedRemoveEntryResult,
2151 { "unsignedChainedRemoveEntryResult", "dsp.unsignedChainedRemoveEntryResult",
2152 FT_NONE, BASE_NONE, NULL, 0,
2153 "dsp.ChainedRemoveEntryResultData", HFILL }},
2154 { &hf_dsp_signedChainedRemoveEntryResult,
2155 { "signedChainedRemoveEntryResult", "dsp.signedChainedRemoveEntryResult",
2156 FT_NONE, BASE_NONE, NULL, 0,
2157 "dsp.T_signedChainedRemoveEntryResult", HFILL }},
2158 { &hf_dsp_chainedRemoveEntryResult,
2159 { "chainedRemoveEntryResult", "dsp.chainedRemoveEntryResult",
2160 FT_NONE, BASE_NONE, NULL, 0,
2161 "dsp.ChainedRemoveEntryResultData", HFILL }},
2162 { &hf_dsp_modifyEntryArgument,
2163 { "modifyEntryArgument", "dsp.modifyEntryArgument",
2164 FT_UINT32, BASE_DEC, VALS(dap_ModifyEntryArgument_vals), 0,
2165 "dap.ModifyEntryArgument", HFILL }},
2166 { &hf_dsp_unsignedChainedModifyEntryArgument,
2167 { "unsignedChainedModifyEntryArgument", "dsp.unsignedChainedModifyEntryArgument",
2168 FT_NONE, BASE_NONE, NULL, 0,
2169 "dsp.ChainedModifyEntryArgumentData", HFILL }},
2170 { &hf_dsp_signedChainedModifyEntryArgument,
2171 { "signedChainedModifyEntryArgument", "dsp.signedChainedModifyEntryArgument",
2172 FT_NONE, BASE_NONE, NULL, 0,
2173 "dsp.T_signedChainedModifyEntryArgument", HFILL }},
2174 { &hf_dsp_chainedModifyEntryArgument,
2175 { "chainedModifyEntryArgument", "dsp.chainedModifyEntryArgument",
2176 FT_NONE, BASE_NONE, NULL, 0,
2177 "dsp.ChainedModifyEntryArgumentData", HFILL }},
2178 { &hf_dsp_modifyEntryResult,
2179 { "modifyEntryResult", "dsp.modifyEntryResult",
2180 FT_UINT32, BASE_DEC, VALS(dap_ModifyEntryResult_vals), 0,
2181 "dap.ModifyEntryResult", HFILL }},
2182 { &hf_dsp_unsignedChainedModifyEntryResult,
2183 { "unsignedChainedModifyEntryResult", "dsp.unsignedChainedModifyEntryResult",
2184 FT_NONE, BASE_NONE, NULL, 0,
2185 "dsp.ChainedModifyEntryResultData", HFILL }},
2186 { &hf_dsp_signedChainedModifyEntryResult,
2187 { "signedChainedModifyEntryResult", "dsp.signedChainedModifyEntryResult",
2188 FT_NONE, BASE_NONE, NULL, 0,
2189 "dsp.T_signedChainedModifyEntryResult", HFILL }},
2190 { &hf_dsp_chainedModifyEntryResult,
2191 { "chainedModifyEntryResult", "dsp.chainedModifyEntryResult",
2192 FT_NONE, BASE_NONE, NULL, 0,
2193 "dsp.ChainedModifyEntryResultData", HFILL }},
2194 { &hf_dsp_modifyDNArgument,
2195 { "modifyDNArgument", "dsp.modifyDNArgument",
2196 FT_NONE, BASE_NONE, NULL, 0,
2197 "dap.ModifyDNArgument", HFILL }},
2198 { &hf_dsp_unsignedChainedModifyDNArgument,
2199 { "unsignedChainedModifyDNArgument", "dsp.unsignedChainedModifyDNArgument",
2200 FT_NONE, BASE_NONE, NULL, 0,
2201 "dsp.ChainedModifyDNArgumentData", HFILL }},
2202 { &hf_dsp_signedChainedModifyDNArgument,
2203 { "signedChainedModifyDNArgument", "dsp.signedChainedModifyDNArgument",
2204 FT_NONE, BASE_NONE, NULL, 0,
2205 "dsp.T_signedChainedModifyDNArgument", HFILL }},
2206 { &hf_dsp_chainedModifyDNArgument,
2207 { "chainedModifyDNArgument", "dsp.chainedModifyDNArgument",
2208 FT_NONE, BASE_NONE, NULL, 0,
2209 "dsp.ChainedModifyDNArgumentData", HFILL }},
2210 { &hf_dsp_modifyDNResult,
2211 { "modifyDNResult", "dsp.modifyDNResult",
2212 FT_UINT32, BASE_DEC, VALS(dap_ModifyDNResult_vals), 0,
2213 "dap.ModifyDNResult", HFILL }},
2214 { &hf_dsp_unsignedChainedModifyDNResult,
2215 { "unsignedChainedModifyDNResult", "dsp.unsignedChainedModifyDNResult",
2216 FT_NONE, BASE_NONE, NULL, 0,
2217 "dsp.ChainedModifyDNResultData", HFILL }},
2218 { &hf_dsp_signedChainedModifyDNResult,
2219 { "signedChainedModifyDNResult", "dsp.signedChainedModifyDNResult",
2220 FT_NONE, BASE_NONE, NULL, 0,
2221 "dsp.T_signedChainedModifyDNResult", HFILL }},
2222 { &hf_dsp_chainedModifyDNResult,
2223 { "chainedModifyDNResult", "dsp.chainedModifyDNResult",
2224 FT_NONE, BASE_NONE, NULL, 0,
2225 "dsp.ChainedModifyDNResultData", HFILL }},
2226 { &hf_dsp_reference,
2227 { "reference", "dsp.reference",
2228 FT_NONE, BASE_NONE, NULL, 0,
2229 "dsp.ContinuationReference", HFILL }},
2230 { &hf_dsp_contextPrefix,
2231 { "contextPrefix", "dsp.contextPrefix",
2232 FT_UINT32, BASE_DEC, NULL, 0,
2233 "x509if.DistinguishedName", HFILL }},
2234 { &hf_dsp_securityParameters,
2235 { "securityParameters", "dsp.securityParameters",
2236 FT_NONE, BASE_NONE, NULL, 0,
2237 "dap.SecurityParameters", HFILL }},
2238 { &hf_dsp_performer,
2239 { "performer", "dsp.performer",
2240 FT_UINT32, BASE_DEC, NULL, 0,
2241 "x509if.DistinguishedName", HFILL }},
2242 { &hf_dsp_aliasDereferenced,
2243 { "aliasDereferenced", "dsp.aliasDereferenced",
2244 FT_BOOLEAN, BASE_NONE, NULL, 0x0,
2245 "dsp.BOOLEAN", HFILL }},
2246 { &hf_dsp_notification,
2247 { "notification", "dsp.notification",
2248 FT_UINT32, BASE_DEC, NULL, 0,
2249 "dsp.SEQUENCE_OF_Attribute", HFILL }},
2250 { &hf_dsp_notification_item,
2251 { "Attribute", "dsp.Attribute",
2252 FT_NONE, BASE_NONE, NULL, 0,
2253 "x509if.Attribute", HFILL }},
2254 { &hf_dsp_unsignedDSAReferral,
2255 { "unsignedDSAReferral", "dsp.unsignedDSAReferral",
2256 FT_NONE, BASE_NONE, NULL, 0,
2257 "dsp.DSAReferralData", HFILL }},
2258 { &hf_dsp_signedDSAReferral,
2259 { "signedDSAReferral", "dsp.signedDSAReferral",
2260 FT_NONE, BASE_NONE, NULL, 0,
2261 "dsp.T_signedDSAReferral", HFILL }},
2262 { &hf_dsp_dsaReferral,
2263 { "dsaReferral", "dsp.dsaReferral",
2264 FT_NONE, BASE_NONE, NULL, 0,
2265 "dsp.DSAReferralData", HFILL }},
2266 { &hf_dsp_originator,
2267 { "originator", "dsp.originator",
2268 FT_UINT32, BASE_DEC, NULL, 0,
2269 "x509if.DistinguishedName", HFILL }},
2270 { &hf_dsp_targetObjectDN,
2271 { "targetObject", "dsp.targetObject",
2272 FT_UINT32, BASE_DEC, NULL, 0,
2273 "x509if.DistinguishedName", HFILL }},
2274 { &hf_dsp_operationProgress,
2275 { "operationProgress", "dsp.operationProgress",
2276 FT_NONE, BASE_NONE, NULL, 0,
2277 "dsp.OperationProgress", HFILL }},
2278 { &hf_dsp_traceInformation,
2279 { "traceInformation", "dsp.traceInformation",
2280 FT_UINT32, BASE_DEC, NULL, 0,
2281 "dsp.TraceInformation", HFILL }},
2282 { &hf_dsp_aliasedRDNs,
2283 { "aliasedRDNs", "dsp.aliasedRDNs",
2284 FT_INT32, BASE_DEC, NULL, 0,
2285 "dsp.INTEGER", HFILL }},
2286 { &hf_dsp_returnCrossRefs,
2287 { "returnCrossRefs", "dsp.returnCrossRefs",
2288 FT_BOOLEAN, BASE_NONE, NULL, 0x0,
2289 "dsp.BOOLEAN", HFILL }},
2290 { &hf_dsp_referenceType,
2291 { "referenceType", "dsp.referenceType",
2292 FT_UINT32, BASE_DEC, VALS(dsp_ReferenceType_vals), 0,
2293 "dsp.ReferenceType", HFILL }},
2295 { "info", "dsp.info",
2296 FT_OID, BASE_NONE, NULL, 0,
2297 "dsp.DomainInfo", HFILL }},
2298 { &hf_dsp_timeLimit,
2299 { "timeLimit", "dsp.timeLimit",
2300 FT_UINT32, BASE_DEC, VALS(dsp_Time_vals), 0,
2301 "dsp.Time", HFILL }},
2302 { &hf_dsp_entryOnly,
2303 { "entryOnly", "dsp.entryOnly",
2304 FT_BOOLEAN, BASE_NONE, NULL, 0x0,
2305 "dsp.BOOLEAN", HFILL }},
2306 { &hf_dsp_uniqueIdentifier,
2307 { "uniqueIdentifier", "dsp.uniqueIdentifier",
2308 FT_BYTES, BASE_NONE, NULL, 0,
2309 "x509sat.UniqueIdentifier", HFILL }},
2310 { &hf_dsp_authenticationLevel,
2311 { "authenticationLevel", "dsp.authenticationLevel",
2312 FT_UINT32, BASE_DEC, VALS(dsp_AuthenticationLevel_vals), 0,
2313 "dsp.AuthenticationLevel", HFILL }},
2314 { &hf_dsp_exclusions,
2315 { "exclusions", "dsp.exclusions",
2316 FT_UINT32, BASE_DEC, NULL, 0,
2317 "dsp.Exclusions", HFILL }},
2318 { &hf_dsp_excludeShadows,
2319 { "excludeShadows", "dsp.excludeShadows",
2320 FT_BOOLEAN, BASE_NONE, NULL, 0x0,
2321 "dsp.BOOLEAN", HFILL }},
2322 { &hf_dsp_nameResolveOnMaster,
2323 { "nameResolveOnMaster", "dsp.nameResolveOnMaster",
2324 FT_BOOLEAN, BASE_NONE, NULL, 0x0,
2325 "dsp.BOOLEAN", HFILL }},
2326 { &hf_dsp_operationIdentifier,
2327 { "operationIdentifier", "dsp.operationIdentifier",
2328 FT_INT32, BASE_DEC, NULL, 0,
2329 "dsp.INTEGER", HFILL }},
2330 { &hf_dsp_searchRuleId,
2331 { "searchRuleId", "dsp.searchRuleId",
2332 FT_NONE, BASE_NONE, NULL, 0,
2333 "x509if.SearchRuleId", HFILL }},
2334 { &hf_dsp_chainedRelaxation,
2335 { "chainedRelaxation", "dsp.chainedRelaxation",
2336 FT_NONE, BASE_NONE, NULL, 0,
2337 "x509if.MRMapping", HFILL }},
2338 { &hf_dsp_relatedEntry,
2339 { "relatedEntry", "dsp.relatedEntry",
2340 FT_INT32, BASE_DEC, NULL, 0,
2341 "dsp.INTEGER", HFILL }},
2343 { "utcTime", "dsp.utcTime",
2344 FT_STRING, BASE_NONE, NULL, 0,
2345 "dsp.UTCTime", HFILL }},
2346 { &hf_dsp_generalizedTime,
2347 { "generalizedTime", "dsp.generalizedTime",
2348 FT_STRING, BASE_NONE, NULL, 0,
2349 "dsp.GeneralizedTime", HFILL }},
2350 { &hf_dsp_crossReferences,
2351 { "crossReferences", "dsp.crossReferences",
2352 FT_UINT32, BASE_DEC, NULL, 0,
2353 "dsp.SEQUENCE_OF_CrossReference", HFILL }},
2354 { &hf_dsp_crossReferences_item,
2355 { "CrossReference", "dsp.CrossReference",
2356 FT_NONE, BASE_NONE, NULL, 0,
2357 "dsp.CrossReference", HFILL }},
2358 { &hf_dsp_alreadySearched,
2359 { "alreadySearched", "dsp.alreadySearched",
2360 FT_UINT32, BASE_DEC, NULL, 0,
2361 "dsp.Exclusions", HFILL }},
2362 { &hf_dsp_accessPoint,
2363 { "accessPoint", "dsp.accessPoint",
2364 FT_NONE, BASE_NONE, NULL, 0,
2365 "dsp.AccessPointInformation", HFILL }},
2366 { &hf_dsp_nameResolutionPhase,
2367 { "nameResolutionPhase", "dsp.nameResolutionPhase",
2368 FT_UINT32, BASE_DEC, VALS(dsp_T_nameResolutionPhase_vals), 0,
2369 "dsp.T_nameResolutionPhase", HFILL }},
2370 { &hf_dsp_nextRDNToBeResolved,
2371 { "nextRDNToBeResolved", "dsp.nextRDNToBeResolved",
2372 FT_INT32, BASE_DEC, NULL, 0,
2373 "dsp.INTEGER", HFILL }},
2374 { &hf_dsp_TraceInformation_item,
2375 { "TraceItem", "dsp.TraceItem",
2376 FT_NONE, BASE_NONE, NULL, 0,
2377 "dsp.TraceItem", HFILL }},
2380 FT_UINT32, BASE_DEC, VALS(x509if_Name_vals), 0,
2381 "x509if.Name", HFILL }},
2382 { &hf_dsp_targetObject,
2383 { "targetObject", "dsp.targetObject",
2384 FT_UINT32, BASE_DEC, VALS(x509if_Name_vals), 0,
2385 "x509if.Name", HFILL }},
2387 { "ae-title", "dsp.ae_title",
2388 FT_UINT32, BASE_DEC, VALS(x509if_Name_vals), 0,
2389 "x509if.Name", HFILL }},
2391 { "address", "dsp.address",
2392 FT_NONE, BASE_NONE, NULL, 0,
2393 "x509sat.PresentationAddress", HFILL }},
2394 { &hf_dsp_protocolInformation,
2395 { "protocolInformation", "dsp.protocolInformation",
2396 FT_UINT32, BASE_DEC, NULL, 0,
2397 "dsp.SET_OF_ProtocolInformation", HFILL }},
2398 { &hf_dsp_protocolInformation_item,
2399 { "ProtocolInformation", "dsp.ProtocolInformation",
2400 FT_NONE, BASE_NONE, NULL, 0,
2401 "x509sat.ProtocolInformation", HFILL }},
2402 { &hf_dsp_access_point_category,
2403 { "category", "dsp.category",
2404 FT_UINT32, BASE_DEC, VALS(dsp_APCategory_vals), 0,
2405 "dsp.APCategory", HFILL }},
2406 { &hf_dsp_chainingRequired,
2407 { "chainingRequired", "dsp.chainingRequired",
2408 FT_BOOLEAN, BASE_NONE, NULL, 0x0,
2409 "dsp.BOOLEAN", HFILL }},
2410 { &hf_dsp_MasterAndShadowAccessPoints_item,
2411 { "MasterOrShadowAccessPoint", "dsp.MasterOrShadowAccessPoint",
2412 FT_NONE, BASE_NONE, NULL, 0,
2413 "dsp.MasterOrShadowAccessPoint", HFILL }},
2415 { "category", "dsp.category",
2416 FT_UINT32, BASE_DEC, VALS(dsp_T_category_vals), 0,
2417 "dsp.T_category", HFILL }},
2418 { &hf_dsp_additionalPoints,
2419 { "additionalPoints", "dsp.additionalPoints",
2420 FT_UINT32, BASE_DEC, NULL, 0,
2421 "dsp.MasterAndShadowAccessPoints", HFILL }},
2422 { &hf_dsp_Exclusions_item,
2423 { "RDNSequence", "dsp.RDNSequence",
2424 FT_UINT32, BASE_DEC, NULL, 0,
2425 "x509if.RDNSequence", HFILL }},
2426 { &hf_dsp_rdnsResolved,
2427 { "rdnsResolved", "dsp.rdnsResolved",
2428 FT_INT32, BASE_DEC, NULL, 0,
2429 "dsp.INTEGER", HFILL }},
2430 { &hf_dsp_accessPoints,
2431 { "accessPoints", "dsp.accessPoints",
2432 FT_UINT32, BASE_DEC, NULL, 0,
2433 "dsp.SET_OF_AccessPointInformation", HFILL }},
2434 { &hf_dsp_accessPoints_item,
2435 { "AccessPointInformation", "dsp.AccessPointInformation",
2436 FT_NONE, BASE_NONE, NULL, 0,
2437 "dsp.AccessPointInformation", HFILL }},
2438 { &hf_dsp_returnToDUA,
2439 { "returnToDUA", "dsp.returnToDUA",
2440 FT_BOOLEAN, BASE_NONE, NULL, 0x0,
2441 "dsp.BOOLEAN", HFILL }},
2442 { &hf_dsp_basicLevels,
2443 { "basicLevels", "dsp.basicLevels",
2444 FT_NONE, BASE_NONE, NULL, 0,
2445 "dsp.T_basicLevels", HFILL }},
2447 { "level", "dsp.level",
2448 FT_UINT32, BASE_DEC, VALS(dsp_T_level_vals), 0,
2449 "dsp.T_level", HFILL }},
2450 { &hf_dsp_localQualifier,
2451 { "localQualifier", "dsp.localQualifier",
2452 FT_INT32, BASE_DEC, NULL, 0,
2453 "dsp.INTEGER", HFILL }},
2455 { "signed", "dsp.signed",
2456 FT_BOOLEAN, BASE_NONE, NULL, 0x0,
2457 "dsp.BOOLEAN", HFILL }},
2459 { "other", "dsp.other",
2460 FT_NONE, BASE_NONE, NULL, 0,
2461 "dsp.EXTERNAL", HFILL }},
2463 /*--- End of included file: packet-dsp-hfarr.c ---*/
2464 #line 281 "packet-dsp-template.c"
2467 /* List of subtrees */
2468 static gint *ett[] = {
2471 /*--- Included file: packet-dsp-ettarr.c ---*/
2472 #line 1 "packet-dsp-ettarr.c"
2473 &ett_dsp_ChainedReadArgumentData,
2474 &ett_dsp_ChainedReadArgument,
2475 &ett_dsp_T_signedChainedReadArgument,
2476 &ett_dsp_ChainedReadResultData,
2477 &ett_dsp_ChainedReadResult,
2478 &ett_dsp_T_signedChainedReadResult,
2479 &ett_dsp_ChainedCompareArgumentData,
2480 &ett_dsp_ChainedCompareArgument,
2481 &ett_dsp_T_signedChainedCompareArgument,
2482 &ett_dsp_ChainedCompareResultData,
2483 &ett_dsp_ChainedCompareResult,
2484 &ett_dsp_T_signedChainedCompareResult,
2485 &ett_dsp_ChainedListArgumentData,
2486 &ett_dsp_ChainedListArgument,
2487 &ett_dsp_T_signedChainedListArgument,
2488 &ett_dsp_ChainedListResultData,
2489 &ett_dsp_ChainedListResult,
2490 &ett_dsp_T_signedChainedListResult,
2491 &ett_dsp_ChainedSearchArgumentData,
2492 &ett_dsp_ChainedSearchArgument,
2493 &ett_dsp_T_signedChainedSearchArgument,
2494 &ett_dsp_ChainedSearchResultData,
2495 &ett_dsp_ChainedSearchResult,
2496 &ett_dsp_T_signedChainedSearchResult,
2497 &ett_dsp_ChainedAddEntryArgumentData,
2498 &ett_dsp_ChainedAddEntryArgument,
2499 &ett_dsp_T_signedChainedAddEntryArgument,
2500 &ett_dsp_ChainedAddEntryResultData,
2501 &ett_dsp_ChainedAddEntryResult,
2502 &ett_dsp_T_signedChainedAddEntryResult,
2503 &ett_dsp_ChainedRemoveEntryArgumentData,
2504 &ett_dsp_ChainedRemoveEntryArgument,
2505 &ett_dsp_T_signedChainedRemoveEntryArgument,
2506 &ett_dsp_ChainedRemoveEntryResultData,
2507 &ett_dsp_ChainedRemoveEntryResult,
2508 &ett_dsp_T_signedChainedRemoveEntryResult,
2509 &ett_dsp_ChainedModifyEntryArgumentData,
2510 &ett_dsp_ChainedModifyEntryArgument,
2511 &ett_dsp_T_signedChainedModifyEntryArgument,
2512 &ett_dsp_ChainedModifyEntryResultData,
2513 &ett_dsp_ChainedModifyEntryResult,
2514 &ett_dsp_T_signedChainedModifyEntryResult,
2515 &ett_dsp_ChainedModifyDNArgumentData,
2516 &ett_dsp_ChainedModifyDNArgument,
2517 &ett_dsp_T_signedChainedModifyDNArgument,
2518 &ett_dsp_ChainedModifyDNResultData,
2519 &ett_dsp_ChainedModifyDNResult,
2520 &ett_dsp_T_signedChainedModifyDNResult,
2521 &ett_dsp_DSAReferralData,
2522 &ett_dsp_SEQUENCE_OF_Attribute,
2523 &ett_dsp_DSAReferral,
2524 &ett_dsp_T_signedDSAReferral,
2525 &ett_dsp_ChainingArguments,
2527 &ett_dsp_ChainingResults,
2528 &ett_dsp_SEQUENCE_OF_CrossReference,
2529 &ett_dsp_CrossReference,
2530 &ett_dsp_OperationProgress,
2531 &ett_dsp_TraceInformation,
2533 &ett_dsp_AccessPoint,
2534 &ett_dsp_SET_OF_ProtocolInformation,
2535 &ett_dsp_MasterOrShadowAccessPoint,
2536 &ett_dsp_MasterAndShadowAccessPoints,
2537 &ett_dsp_AccessPointInformation,
2538 &ett_dsp_Exclusions,
2539 &ett_dsp_ContinuationReference,
2540 &ett_dsp_SET_OF_AccessPointInformation,
2541 &ett_dsp_AuthenticationLevel,
2542 &ett_dsp_T_basicLevels,
2544 /*--- End of included file: packet-dsp-ettarr.c ---*/
2545 #line 287 "packet-dsp-template.c"
2547 module_t *dsp_module;
2549 /* Register protocol */
2550 proto_dsp = proto_register_protocol(PNAME, PSNAME, PFNAME);
2552 /* initially disable the protocol */
2553 proto_set_decoding(proto_dsp, FALSE);
2555 register_dissector("dsp", dissect_dsp, proto_dsp);
2557 /* Register fields and subtrees */
2558 proto_register_field_array(proto_dsp, hf, array_length(hf));
2559 proto_register_subtree_array(ett, array_length(ett));
2561 /* Register our configuration options for DSP, particularly our port */
2563 dsp_module = prefs_register_protocol_subtree("OSI/X.500", proto_dsp, prefs_register_dsp);
2565 prefs_register_uint_preference(dsp_module, "tcp.port", "DSP TCP Port",
2566 "Set the port for DSP operations (if other"
2567 " than the default of 102)",
2568 10, &global_dsp_tcp_port);
2574 /*--- proto_reg_handoff_dsp --- */
2575 void proto_reg_handoff_dsp(void) {
2576 dissector_handle_t dsp_handle;
2579 /*--- Included file: packet-dsp-dis-tab.c ---*/
2580 #line 1 "packet-dsp-dis-tab.c"
2581 register_ber_oid_dissector("2.5.12.1", dissect_AccessPoint_PDU, proto_dsp, "id-doa-myAccessPoint");
2582 register_ber_oid_dissector("2.5.12.2", dissect_AccessPoint_PDU, proto_dsp, "id-doa-superiorKnowledge");
2583 register_ber_oid_dissector("2.5.12.3", dissect_MasterAndShadowAccessPoints_PDU, proto_dsp, "id-doa-specificKnowledge");
2584 register_ber_oid_dissector("2.5.12.4", dissect_MasterAndShadowAccessPoints_PDU, proto_dsp, "id-doa-nonSpecificKnowledge");
2587 /*--- End of included file: packet-dsp-dis-tab.c ---*/
2588 #line 320 "packet-dsp-template.c"
2590 /* APPLICATION CONTEXT */
2592 oid_add_from_string("id-ac-directory-system","2.5.3.2");
2594 /* ABSTRACT SYNTAXES */
2596 /* remember the tpkt handler for change in preferences */
2597 tpkt_handle = find_dissector("tpkt");
2599 /* Register DSP with ROS (with no use of RTSE) */
2600 dsp_handle = find_dissector("dsp");
2601 register_ros_oid_dissector_handle("2.5.9.2", dsp_handle, 0, "id-as-directory-system", FALSE);
2605 void prefs_register_dsp(void) {
2606 static guint tcp_port = 0;
2608 /* de-register the old port */
2609 /* port 102 is registered by TPKT - don't undo this! */
2610 if((tcp_port > 0) && (tcp_port != 102) && tpkt_handle)
2611 dissector_delete("tcp.port", tcp_port, tpkt_handle);
2613 /* Set our port number for future use */
2614 tcp_port = global_dsp_tcp_port;
2616 if((tcp_port > 0) && (tcp_port != 102) && tpkt_handle)
2617 dissector_add("tcp.port", global_dsp_tcp_port, tpkt_handle);