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 col_set_str(pinfo->cinfo, COL_PROTOCOL, "DAP");
1768 if (check_col(pinfo->cinfo, COL_INFO))
1769 col_clear(pinfo->cinfo, COL_INFO);
1771 switch(session->ros_op & ROS_OP_MASK) {
1772 case (ROS_OP_BIND | ROS_OP_ARGUMENT): /* BindInvoke */
1773 dsp_dissector = dissect_dsp_DSASystemBindArgument;
1774 dsp_op_name = "System-Bind-Argument";
1776 case (ROS_OP_BIND | ROS_OP_RESULT): /* BindResult */
1777 dsp_dissector = dissect_dsp_DSASystemBindResult;
1778 dsp_op_name = "System-Bind-Result";
1780 case (ROS_OP_BIND | ROS_OP_ERROR): /* BindError */
1781 dsp_dissector = dissect_dsp_DSASystemBindError;
1782 dsp_op_name = "System-Bind-Error";
1784 case (ROS_OP_INVOKE | ROS_OP_ARGUMENT): /* Invoke Argument */
1785 switch(session->ros_op & ROS_OP_OPCODE_MASK) {
1787 dsp_dissector = dissect_dsp_ChainedReadArgument;
1788 dsp_op_name = "Chained-Read-Argument";
1790 case 2: /* compare */
1791 dsp_dissector = dissect_dsp_ChainedCompareArgument;
1792 dsp_op_name = "Chained-Compare-Argument";
1794 case 3: /* abandon */
1795 dsp_dissector = dissect_dsp_ChainedAbandonArgument;
1796 dsp_op_name = "Chained-Abandon-Argument";
1799 dsp_dissector = dissect_dsp_ChainedListArgument;
1800 dsp_op_name = "Chained-List-Argument";
1802 case 5: /* search */
1803 dsp_dissector = dissect_dsp_ChainedSearchArgument;
1804 dsp_op_name = "Chained-Search-Argument";
1806 case 6: /* addEntry */
1807 dsp_dissector = dissect_dsp_ChainedAddEntryArgument;
1808 dsp_op_name = "Chained-Add-Entry-Argument";
1810 case 7: /* removeEntry */
1811 dsp_dissector = dissect_dsp_ChainedRemoveEntryArgument;
1812 dsp_op_name = "Chained-Remove-Entry-Argument";
1814 case 8: /* modifyEntry */
1815 dsp_dissector = dissect_dsp_ChainedModifyEntryArgument;
1816 dsp_op_name = "ChainedModify-Entry-Argument";
1818 case 9: /* modifyDN */
1819 dsp_dissector = dissect_dsp_ChainedModifyDNArgument;
1820 dsp_op_name = "ChainedModify-DN-Argument";
1823 proto_tree_add_text(tree, tvb, offset, -1,"Unsupported DSP opcode (%d)",
1824 session->ros_op & ROS_OP_OPCODE_MASK);
1828 case (ROS_OP_INVOKE | ROS_OP_RESULT): /* Return Result */
1829 switch(session->ros_op & ROS_OP_OPCODE_MASK) {
1831 dsp_dissector = dissect_dsp_ChainedReadResult;
1832 dsp_op_name = "Chained-Read-Result";
1834 case 2: /* compare */
1835 dsp_dissector = dissect_dsp_ChainedCompareResult;
1836 dsp_op_name = "Chained-Compare-Result";
1838 case 3: /* abandon */
1839 dsp_dissector = dissect_dsp_ChainedAbandonResult;
1840 dsp_op_name = "Chained-Abandon-Result";
1843 dsp_dissector = dissect_dsp_ChainedListResult;
1844 dsp_op_name = "Chained-List-Result";
1846 case 5: /* search */
1847 dsp_dissector = dissect_dsp_ChainedSearchResult;
1848 dsp_op_name = "Chained-Search-Result";
1850 case 6: /* addEntry */
1851 dsp_dissector = dissect_dsp_ChainedAddEntryResult;
1852 dsp_op_name = "Chained-Add-Entry-Result";
1854 case 7: /* removeEntry */
1855 dsp_dissector = dissect_dsp_ChainedRemoveEntryResult;
1856 dsp_op_name = "Chained-Remove-Entry-Result";
1858 case 8: /* modifyEntry */
1859 dsp_dissector = dissect_dsp_ChainedModifyEntryResult;
1860 dsp_op_name = "Chained-Modify-Entry-Result";
1862 case 9: /* modifyDN */
1863 dsp_dissector = dissect_dsp_ChainedModifyDNResult;
1864 dsp_op_name = "ChainedModify-DN-Result";
1867 proto_tree_add_text(tree, tvb, offset, -1,"Unsupported DSP opcode");
1871 case (ROS_OP_INVOKE | ROS_OP_ERROR): /* Return Error */
1872 switch(session->ros_op & ROS_OP_OPCODE_MASK) {
1873 case 1: /* attributeError */
1874 dsp_dissector = dissect_dap_AttributeError;
1875 dsp_op_name = "Attribute-Error";
1877 case 2: /* nameError */
1878 dsp_dissector = dissect_dap_NameError;
1879 dsp_op_name = "Name-Error";
1881 case 3: /* serviceError */
1882 dsp_dissector = dissect_dap_ServiceError;
1883 dsp_op_name = "Service-Error";
1885 case 4: /* referral */
1886 dsp_dissector = dissect_dap_Referral;
1887 dsp_op_name = "Referral";
1889 case 5: /* abandoned */
1890 dsp_dissector = dissect_dap_Abandoned;
1891 dsp_op_name = "Abandoned";
1893 case 6: /* securityError */
1894 dsp_dissector = dissect_dap_SecurityError;
1895 dsp_op_name = "Security-Error";
1897 case 7: /* abandonFailed */
1898 dsp_dissector = dissect_dap_AbandonFailedError;
1899 dsp_op_name = "Abandon-Failed-Error";
1901 case 8: /* updateError */
1902 dsp_dissector = dissect_dap_UpdateError;
1903 dsp_op_name = "Update-Error";
1905 case 9: /* DSAReferral */
1906 dsp_dissector = dissect_dsp_DSAReferral;
1907 dsp_op_name = "DSA-Referral";
1910 proto_tree_add_text(tree, tvb, offset, -1,"Unsupported DSP errcode");
1915 proto_tree_add_text(tree, tvb, offset, -1,"Unsupported DSP PDU");
1920 if (check_col(pinfo->cinfo, COL_INFO))
1921 col_set_str(pinfo->cinfo, COL_INFO, dsp_op_name);
1923 while (tvb_reported_length_remaining(tvb, offset) > 0){
1925 offset=(*dsp_dissector)(FALSE, tvb, offset, &asn1_ctx, tree, -1);
1926 if(offset == old_offset){
1927 proto_tree_add_text(tree, tvb, offset, -1,"Internal error, zero-byte DSP PDU");
1935 /*--- proto_register_dsp -------------------------------------------*/
1936 void proto_register_dsp(void) {
1938 /* List of fields */
1939 static hf_register_info hf[] =
1942 /*--- Included file: packet-dsp-hfarr.c ---*/
1943 #line 1 "packet-dsp-hfarr.c"
1944 { &hf_dsp_AccessPoint_PDU,
1945 { "AccessPoint", "dsp.AccessPoint",
1946 FT_NONE, BASE_NONE, NULL, 0,
1947 "dsp.AccessPoint", HFILL }},
1948 { &hf_dsp_MasterAndShadowAccessPoints_PDU,
1949 { "MasterAndShadowAccessPoints", "dsp.MasterAndShadowAccessPoints",
1950 FT_UINT32, BASE_DEC, NULL, 0,
1951 "dsp.MasterAndShadowAccessPoints", HFILL }},
1952 { &hf_dsp_chainedArgument,
1953 { "chainedArgument", "dsp.chainedArgument",
1954 FT_NONE, BASE_NONE, NULL, 0,
1955 "dsp.ChainingArguments", HFILL }},
1956 { &hf_dsp_readArgument,
1957 { "readArgument", "dsp.readArgument",
1958 FT_UINT32, BASE_DEC, VALS(dap_ReadArgument_vals), 0,
1959 "dap.ReadArgument", HFILL }},
1960 { &hf_dsp_unsignedChainedReadArgument,
1961 { "unsignedChainedReadArgument", "dsp.unsignedChainedReadArgument",
1962 FT_NONE, BASE_NONE, NULL, 0,
1963 "dsp.ChainedReadArgumentData", HFILL }},
1964 { &hf_dsp_signedChainedReadArgument,
1965 { "signedChainedReadArgument", "dsp.signedChainedReadArgument",
1966 FT_NONE, BASE_NONE, NULL, 0,
1967 "dsp.T_signedChainedReadArgument", HFILL }},
1968 { &hf_dsp_chainedReadArgument,
1969 { "chainedReadArgument", "dsp.chainedReadArgument",
1970 FT_NONE, BASE_NONE, NULL, 0,
1971 "dsp.ChainedReadArgumentData", HFILL }},
1972 { &hf_dsp_algorithmIdentifier,
1973 { "algorithmIdentifier", "dsp.algorithmIdentifier",
1974 FT_NONE, BASE_NONE, NULL, 0,
1975 "x509af.AlgorithmIdentifier", HFILL }},
1976 { &hf_dsp_encrypted,
1977 { "encrypted", "dsp.encrypted",
1978 FT_BYTES, BASE_NONE, NULL, 0,
1979 "dsp.BIT_STRING", HFILL }},
1980 { &hf_dsp_chainedResults,
1981 { "chainedResults", "dsp.chainedResults",
1982 FT_NONE, BASE_NONE, NULL, 0,
1983 "dsp.ChainingResults", HFILL }},
1984 { &hf_dsp_readResult,
1985 { "readResult", "dsp.readResult",
1986 FT_UINT32, BASE_DEC, VALS(dap_ReadResult_vals), 0,
1987 "dap.ReadResult", HFILL }},
1988 { &hf_dsp_unsignedChainedReadResult,
1989 { "unsignedChainedReadResult", "dsp.unsignedChainedReadResult",
1990 FT_NONE, BASE_NONE, NULL, 0,
1991 "dsp.ChainedReadResultData", HFILL }},
1992 { &hf_dsp_signedChainedReadResult,
1993 { "signedChainedReadResult", "dsp.signedChainedReadResult",
1994 FT_NONE, BASE_NONE, NULL, 0,
1995 "dsp.T_signedChainedReadResult", HFILL }},
1996 { &hf_dsp_chainedReadResult,
1997 { "chainedReadResult", "dsp.chainedReadResult",
1998 FT_NONE, BASE_NONE, NULL, 0,
1999 "dsp.ChainedReadResultData", HFILL }},
2000 { &hf_dsp_compareArgument,
2001 { "compareArgument", "dsp.compareArgument",
2002 FT_UINT32, BASE_DEC, VALS(dap_CompareArgument_vals), 0,
2003 "dap.CompareArgument", HFILL }},
2004 { &hf_dsp_unsignedChainedCompareArgument,
2005 { "unsignedChainedCompareArgument", "dsp.unsignedChainedCompareArgument",
2006 FT_NONE, BASE_NONE, NULL, 0,
2007 "dsp.ChainedCompareArgumentData", HFILL }},
2008 { &hf_dsp_signedChainedCompareArgument,
2009 { "signedChainedCompareArgument", "dsp.signedChainedCompareArgument",
2010 FT_NONE, BASE_NONE, NULL, 0,
2011 "dsp.T_signedChainedCompareArgument", HFILL }},
2012 { &hf_dsp_chainedCompareArgument,
2013 { "chainedCompareArgument", "dsp.chainedCompareArgument",
2014 FT_NONE, BASE_NONE, NULL, 0,
2015 "dsp.ChainedCompareArgumentData", HFILL }},
2016 { &hf_dsp_compareResult,
2017 { "compareResult", "dsp.compareResult",
2018 FT_UINT32, BASE_DEC, VALS(dap_CompareResult_vals), 0,
2019 "dap.CompareResult", HFILL }},
2020 { &hf_dsp_unsignedChainedCompareResult,
2021 { "unsignedChainedCompareResult", "dsp.unsignedChainedCompareResult",
2022 FT_NONE, BASE_NONE, NULL, 0,
2023 "dsp.ChainedCompareResultData", HFILL }},
2024 { &hf_dsp_signedChainedCompareResult,
2025 { "signedChainedCompareResult", "dsp.signedChainedCompareResult",
2026 FT_NONE, BASE_NONE, NULL, 0,
2027 "dsp.T_signedChainedCompareResult", HFILL }},
2028 { &hf_dsp_chainedCompareResult,
2029 { "chainedCompareResult", "dsp.chainedCompareResult",
2030 FT_NONE, BASE_NONE, NULL, 0,
2031 "dsp.ChainedCompareResultData", HFILL }},
2032 { &hf_dsp_listArgument,
2033 { "listArgument", "dsp.listArgument",
2034 FT_UINT32, BASE_DEC, VALS(dap_ListArgument_vals), 0,
2035 "dap.ListArgument", HFILL }},
2036 { &hf_dsp_unsignedChainedListArgument,
2037 { "unsignedChainedListArgument", "dsp.unsignedChainedListArgument",
2038 FT_NONE, BASE_NONE, NULL, 0,
2039 "dsp.ChainedListArgumentData", HFILL }},
2040 { &hf_dsp_signedChainedListArgument,
2041 { "signedChainedListArgument", "dsp.signedChainedListArgument",
2042 FT_NONE, BASE_NONE, NULL, 0,
2043 "dsp.T_signedChainedListArgument", HFILL }},
2044 { &hf_dsp_chainedListArgument,
2045 { "chainedListArgument", "dsp.chainedListArgument",
2046 FT_NONE, BASE_NONE, NULL, 0,
2047 "dsp.ChainedListArgumentData", HFILL }},
2048 { &hf_dsp_listResult,
2049 { "listResult", "dsp.listResult",
2050 FT_UINT32, BASE_DEC, VALS(dap_ListResult_vals), 0,
2051 "dap.ListResult", HFILL }},
2052 { &hf_dsp_unsignedChainedListResult,
2053 { "unsignedChainedListResult", "dsp.unsignedChainedListResult",
2054 FT_NONE, BASE_NONE, NULL, 0,
2055 "dsp.ChainedListResultData", HFILL }},
2056 { &hf_dsp_signedChainedListResult,
2057 { "signedChainedListResult", "dsp.signedChainedListResult",
2058 FT_NONE, BASE_NONE, NULL, 0,
2059 "dsp.T_signedChainedListResult", HFILL }},
2060 { &hf_dsp_chainedListResult,
2061 { "chainedListResult", "dsp.chainedListResult",
2062 FT_NONE, BASE_NONE, NULL, 0,
2063 "dsp.ChainedListResultData", HFILL }},
2064 { &hf_dsp_searchArgument,
2065 { "searchArgument", "dsp.searchArgument",
2066 FT_UINT32, BASE_DEC, VALS(dap_SearchArgument_vals), 0,
2067 "dap.SearchArgument", HFILL }},
2068 { &hf_dsp_unsignedChainedSearchArgument,
2069 { "unsignedChainedSearchArgument", "dsp.unsignedChainedSearchArgument",
2070 FT_NONE, BASE_NONE, NULL, 0,
2071 "dsp.ChainedSearchArgumentData", HFILL }},
2072 { &hf_dsp_signedChainedSearchArgument,
2073 { "signedChainedSearchArgument", "dsp.signedChainedSearchArgument",
2074 FT_NONE, BASE_NONE, NULL, 0,
2075 "dsp.T_signedChainedSearchArgument", HFILL }},
2076 { &hf_dsp_chainedSearchArgument,
2077 { "chainedSearchArgument", "dsp.chainedSearchArgument",
2078 FT_NONE, BASE_NONE, NULL, 0,
2079 "dsp.ChainedSearchArgumentData", HFILL }},
2080 { &hf_dsp_searchResult,
2081 { "searchResult", "dsp.searchResult",
2082 FT_UINT32, BASE_DEC, VALS(dap_SearchResult_vals), 0,
2083 "dap.SearchResult", HFILL }},
2084 { &hf_dsp_unsignedChainedSearchResult,
2085 { "unsignedChainedSearchResult", "dsp.unsignedChainedSearchResult",
2086 FT_NONE, BASE_NONE, NULL, 0,
2087 "dsp.ChainedSearchResultData", HFILL }},
2088 { &hf_dsp_signedChainedSearchResult,
2089 { "signedChainedSearchResult", "dsp.signedChainedSearchResult",
2090 FT_NONE, BASE_NONE, NULL, 0,
2091 "dsp.T_signedChainedSearchResult", HFILL }},
2092 { &hf_dsp_chainedSearchResult,
2093 { "chainedSearchResult", "dsp.chainedSearchResult",
2094 FT_NONE, BASE_NONE, NULL, 0,
2095 "dsp.ChainedSearchResultData", HFILL }},
2096 { &hf_dsp_addEntryArgument,
2097 { "addEntryArgument", "dsp.addEntryArgument",
2098 FT_UINT32, BASE_DEC, VALS(dap_AddEntryArgument_vals), 0,
2099 "dap.AddEntryArgument", HFILL }},
2100 { &hf_dsp_unsignedChainedAddEntryArgument,
2101 { "unsignedChainedAddEntryArgument", "dsp.unsignedChainedAddEntryArgument",
2102 FT_NONE, BASE_NONE, NULL, 0,
2103 "dsp.ChainedAddEntryArgumentData", HFILL }},
2104 { &hf_dsp_signedChainedAddEntryArgument,
2105 { "signedChainedAddEntryArgument", "dsp.signedChainedAddEntryArgument",
2106 FT_NONE, BASE_NONE, NULL, 0,
2107 "dsp.T_signedChainedAddEntryArgument", HFILL }},
2108 { &hf_dsp_chainedAddEntryArgument,
2109 { "chainedAddEntryArgument", "dsp.chainedAddEntryArgument",
2110 FT_NONE, BASE_NONE, NULL, 0,
2111 "dsp.ChainedAddEntryArgumentData", HFILL }},
2112 { &hf_dsp_addEntryResult,
2113 { "addEntryResult", "dsp.addEntryResult",
2114 FT_UINT32, BASE_DEC, VALS(dap_AddEntryResult_vals), 0,
2115 "dap.AddEntryResult", HFILL }},
2116 { &hf_dsp_unsignedChainedAddEntryResult,
2117 { "unsignedChainedAddEntryResult", "dsp.unsignedChainedAddEntryResult",
2118 FT_NONE, BASE_NONE, NULL, 0,
2119 "dsp.ChainedAddEntryResultData", HFILL }},
2120 { &hf_dsp_signedChainedAddEntryResult,
2121 { "signedChainedAddEntryResult", "dsp.signedChainedAddEntryResult",
2122 FT_NONE, BASE_NONE, NULL, 0,
2123 "dsp.T_signedChainedAddEntryResult", HFILL }},
2124 { &hf_dsp_chainedAddEntryResult,
2125 { "chainedAddEntryResult", "dsp.chainedAddEntryResult",
2126 FT_NONE, BASE_NONE, NULL, 0,
2127 "dsp.ChainedAddEntryResultData", HFILL }},
2128 { &hf_dsp_removeEntryArgument,
2129 { "removeEntryArgument", "dsp.removeEntryArgument",
2130 FT_UINT32, BASE_DEC, VALS(dap_RemoveEntryArgument_vals), 0,
2131 "dap.RemoveEntryArgument", HFILL }},
2132 { &hf_dsp_unsignedChainedRemoveEntryArgument,
2133 { "unsignedChainedRemoveEntryArgument", "dsp.unsignedChainedRemoveEntryArgument",
2134 FT_NONE, BASE_NONE, NULL, 0,
2135 "dsp.ChainedRemoveEntryArgumentData", HFILL }},
2136 { &hf_dsp_signedChainedRemoveEntryArgument,
2137 { "signedChainedRemoveEntryArgument", "dsp.signedChainedRemoveEntryArgument",
2138 FT_NONE, BASE_NONE, NULL, 0,
2139 "dsp.T_signedChainedRemoveEntryArgument", HFILL }},
2140 { &hf_dsp_chainedRemoveEntryArgument,
2141 { "chainedRemoveEntryArgument", "dsp.chainedRemoveEntryArgument",
2142 FT_NONE, BASE_NONE, NULL, 0,
2143 "dsp.ChainedRemoveEntryArgumentData", HFILL }},
2144 { &hf_dsp_removeEntryResult,
2145 { "removeEntryResult", "dsp.removeEntryResult",
2146 FT_UINT32, BASE_DEC, VALS(dap_RemoveEntryResult_vals), 0,
2147 "dap.RemoveEntryResult", HFILL }},
2148 { &hf_dsp_unsignedChainedRemoveEntryResult,
2149 { "unsignedChainedRemoveEntryResult", "dsp.unsignedChainedRemoveEntryResult",
2150 FT_NONE, BASE_NONE, NULL, 0,
2151 "dsp.ChainedRemoveEntryResultData", HFILL }},
2152 { &hf_dsp_signedChainedRemoveEntryResult,
2153 { "signedChainedRemoveEntryResult", "dsp.signedChainedRemoveEntryResult",
2154 FT_NONE, BASE_NONE, NULL, 0,
2155 "dsp.T_signedChainedRemoveEntryResult", HFILL }},
2156 { &hf_dsp_chainedRemoveEntryResult,
2157 { "chainedRemoveEntryResult", "dsp.chainedRemoveEntryResult",
2158 FT_NONE, BASE_NONE, NULL, 0,
2159 "dsp.ChainedRemoveEntryResultData", HFILL }},
2160 { &hf_dsp_modifyEntryArgument,
2161 { "modifyEntryArgument", "dsp.modifyEntryArgument",
2162 FT_UINT32, BASE_DEC, VALS(dap_ModifyEntryArgument_vals), 0,
2163 "dap.ModifyEntryArgument", HFILL }},
2164 { &hf_dsp_unsignedChainedModifyEntryArgument,
2165 { "unsignedChainedModifyEntryArgument", "dsp.unsignedChainedModifyEntryArgument",
2166 FT_NONE, BASE_NONE, NULL, 0,
2167 "dsp.ChainedModifyEntryArgumentData", HFILL }},
2168 { &hf_dsp_signedChainedModifyEntryArgument,
2169 { "signedChainedModifyEntryArgument", "dsp.signedChainedModifyEntryArgument",
2170 FT_NONE, BASE_NONE, NULL, 0,
2171 "dsp.T_signedChainedModifyEntryArgument", HFILL }},
2172 { &hf_dsp_chainedModifyEntryArgument,
2173 { "chainedModifyEntryArgument", "dsp.chainedModifyEntryArgument",
2174 FT_NONE, BASE_NONE, NULL, 0,
2175 "dsp.ChainedModifyEntryArgumentData", HFILL }},
2176 { &hf_dsp_modifyEntryResult,
2177 { "modifyEntryResult", "dsp.modifyEntryResult",
2178 FT_UINT32, BASE_DEC, VALS(dap_ModifyEntryResult_vals), 0,
2179 "dap.ModifyEntryResult", HFILL }},
2180 { &hf_dsp_unsignedChainedModifyEntryResult,
2181 { "unsignedChainedModifyEntryResult", "dsp.unsignedChainedModifyEntryResult",
2182 FT_NONE, BASE_NONE, NULL, 0,
2183 "dsp.ChainedModifyEntryResultData", HFILL }},
2184 { &hf_dsp_signedChainedModifyEntryResult,
2185 { "signedChainedModifyEntryResult", "dsp.signedChainedModifyEntryResult",
2186 FT_NONE, BASE_NONE, NULL, 0,
2187 "dsp.T_signedChainedModifyEntryResult", HFILL }},
2188 { &hf_dsp_chainedModifyEntryResult,
2189 { "chainedModifyEntryResult", "dsp.chainedModifyEntryResult",
2190 FT_NONE, BASE_NONE, NULL, 0,
2191 "dsp.ChainedModifyEntryResultData", HFILL }},
2192 { &hf_dsp_modifyDNArgument,
2193 { "modifyDNArgument", "dsp.modifyDNArgument",
2194 FT_NONE, BASE_NONE, NULL, 0,
2195 "dap.ModifyDNArgument", HFILL }},
2196 { &hf_dsp_unsignedChainedModifyDNArgument,
2197 { "unsignedChainedModifyDNArgument", "dsp.unsignedChainedModifyDNArgument",
2198 FT_NONE, BASE_NONE, NULL, 0,
2199 "dsp.ChainedModifyDNArgumentData", HFILL }},
2200 { &hf_dsp_signedChainedModifyDNArgument,
2201 { "signedChainedModifyDNArgument", "dsp.signedChainedModifyDNArgument",
2202 FT_NONE, BASE_NONE, NULL, 0,
2203 "dsp.T_signedChainedModifyDNArgument", HFILL }},
2204 { &hf_dsp_chainedModifyDNArgument,
2205 { "chainedModifyDNArgument", "dsp.chainedModifyDNArgument",
2206 FT_NONE, BASE_NONE, NULL, 0,
2207 "dsp.ChainedModifyDNArgumentData", HFILL }},
2208 { &hf_dsp_modifyDNResult,
2209 { "modifyDNResult", "dsp.modifyDNResult",
2210 FT_UINT32, BASE_DEC, VALS(dap_ModifyDNResult_vals), 0,
2211 "dap.ModifyDNResult", HFILL }},
2212 { &hf_dsp_unsignedChainedModifyDNResult,
2213 { "unsignedChainedModifyDNResult", "dsp.unsignedChainedModifyDNResult",
2214 FT_NONE, BASE_NONE, NULL, 0,
2215 "dsp.ChainedModifyDNResultData", HFILL }},
2216 { &hf_dsp_signedChainedModifyDNResult,
2217 { "signedChainedModifyDNResult", "dsp.signedChainedModifyDNResult",
2218 FT_NONE, BASE_NONE, NULL, 0,
2219 "dsp.T_signedChainedModifyDNResult", HFILL }},
2220 { &hf_dsp_chainedModifyDNResult,
2221 { "chainedModifyDNResult", "dsp.chainedModifyDNResult",
2222 FT_NONE, BASE_NONE, NULL, 0,
2223 "dsp.ChainedModifyDNResultData", HFILL }},
2224 { &hf_dsp_reference,
2225 { "reference", "dsp.reference",
2226 FT_NONE, BASE_NONE, NULL, 0,
2227 "dsp.ContinuationReference", HFILL }},
2228 { &hf_dsp_contextPrefix,
2229 { "contextPrefix", "dsp.contextPrefix",
2230 FT_UINT32, BASE_DEC, NULL, 0,
2231 "x509if.DistinguishedName", HFILL }},
2232 { &hf_dsp_securityParameters,
2233 { "securityParameters", "dsp.securityParameters",
2234 FT_NONE, BASE_NONE, NULL, 0,
2235 "dap.SecurityParameters", HFILL }},
2236 { &hf_dsp_performer,
2237 { "performer", "dsp.performer",
2238 FT_UINT32, BASE_DEC, NULL, 0,
2239 "x509if.DistinguishedName", HFILL }},
2240 { &hf_dsp_aliasDereferenced,
2241 { "aliasDereferenced", "dsp.aliasDereferenced",
2242 FT_BOOLEAN, BASE_NONE, NULL, 0,
2243 "dsp.BOOLEAN", HFILL }},
2244 { &hf_dsp_notification,
2245 { "notification", "dsp.notification",
2246 FT_UINT32, BASE_DEC, NULL, 0,
2247 "dsp.SEQUENCE_OF_Attribute", HFILL }},
2248 { &hf_dsp_notification_item,
2249 { "Attribute", "dsp.Attribute",
2250 FT_NONE, BASE_NONE, NULL, 0,
2251 "x509if.Attribute", HFILL }},
2252 { &hf_dsp_unsignedDSAReferral,
2253 { "unsignedDSAReferral", "dsp.unsignedDSAReferral",
2254 FT_NONE, BASE_NONE, NULL, 0,
2255 "dsp.DSAReferralData", HFILL }},
2256 { &hf_dsp_signedDSAReferral,
2257 { "signedDSAReferral", "dsp.signedDSAReferral",
2258 FT_NONE, BASE_NONE, NULL, 0,
2259 "dsp.T_signedDSAReferral", HFILL }},
2260 { &hf_dsp_dsaReferral,
2261 { "dsaReferral", "dsp.dsaReferral",
2262 FT_NONE, BASE_NONE, NULL, 0,
2263 "dsp.DSAReferralData", HFILL }},
2264 { &hf_dsp_originator,
2265 { "originator", "dsp.originator",
2266 FT_UINT32, BASE_DEC, NULL, 0,
2267 "x509if.DistinguishedName", HFILL }},
2268 { &hf_dsp_targetObjectDN,
2269 { "targetObject", "dsp.targetObject",
2270 FT_UINT32, BASE_DEC, NULL, 0,
2271 "x509if.DistinguishedName", HFILL }},
2272 { &hf_dsp_operationProgress,
2273 { "operationProgress", "dsp.operationProgress",
2274 FT_NONE, BASE_NONE, NULL, 0,
2275 "dsp.OperationProgress", HFILL }},
2276 { &hf_dsp_traceInformation,
2277 { "traceInformation", "dsp.traceInformation",
2278 FT_UINT32, BASE_DEC, NULL, 0,
2279 "dsp.TraceInformation", HFILL }},
2280 { &hf_dsp_aliasedRDNs,
2281 { "aliasedRDNs", "dsp.aliasedRDNs",
2282 FT_INT32, BASE_DEC, NULL, 0,
2283 "dsp.INTEGER", HFILL }},
2284 { &hf_dsp_returnCrossRefs,
2285 { "returnCrossRefs", "dsp.returnCrossRefs",
2286 FT_BOOLEAN, BASE_NONE, NULL, 0,
2287 "dsp.BOOLEAN", HFILL }},
2288 { &hf_dsp_referenceType,
2289 { "referenceType", "dsp.referenceType",
2290 FT_UINT32, BASE_DEC, VALS(dsp_ReferenceType_vals), 0,
2291 "dsp.ReferenceType", HFILL }},
2293 { "info", "dsp.info",
2294 FT_OID, BASE_NONE, NULL, 0,
2295 "dsp.DomainInfo", HFILL }},
2296 { &hf_dsp_timeLimit,
2297 { "timeLimit", "dsp.timeLimit",
2298 FT_UINT32, BASE_DEC, VALS(dsp_Time_vals), 0,
2299 "dsp.Time", HFILL }},
2300 { &hf_dsp_entryOnly,
2301 { "entryOnly", "dsp.entryOnly",
2302 FT_BOOLEAN, BASE_NONE, NULL, 0,
2303 "dsp.BOOLEAN", HFILL }},
2304 { &hf_dsp_uniqueIdentifier,
2305 { "uniqueIdentifier", "dsp.uniqueIdentifier",
2306 FT_BYTES, BASE_NONE, NULL, 0,
2307 "x509sat.UniqueIdentifier", HFILL }},
2308 { &hf_dsp_authenticationLevel,
2309 { "authenticationLevel", "dsp.authenticationLevel",
2310 FT_UINT32, BASE_DEC, VALS(dsp_AuthenticationLevel_vals), 0,
2311 "dsp.AuthenticationLevel", HFILL }},
2312 { &hf_dsp_exclusions,
2313 { "exclusions", "dsp.exclusions",
2314 FT_UINT32, BASE_DEC, NULL, 0,
2315 "dsp.Exclusions", HFILL }},
2316 { &hf_dsp_excludeShadows,
2317 { "excludeShadows", "dsp.excludeShadows",
2318 FT_BOOLEAN, BASE_NONE, NULL, 0,
2319 "dsp.BOOLEAN", HFILL }},
2320 { &hf_dsp_nameResolveOnMaster,
2321 { "nameResolveOnMaster", "dsp.nameResolveOnMaster",
2322 FT_BOOLEAN, BASE_NONE, NULL, 0,
2323 "dsp.BOOLEAN", HFILL }},
2324 { &hf_dsp_operationIdentifier,
2325 { "operationIdentifier", "dsp.operationIdentifier",
2326 FT_INT32, BASE_DEC, NULL, 0,
2327 "dsp.INTEGER", HFILL }},
2328 { &hf_dsp_searchRuleId,
2329 { "searchRuleId", "dsp.searchRuleId",
2330 FT_NONE, BASE_NONE, NULL, 0,
2331 "x509if.SearchRuleId", HFILL }},
2332 { &hf_dsp_chainedRelaxation,
2333 { "chainedRelaxation", "dsp.chainedRelaxation",
2334 FT_NONE, BASE_NONE, NULL, 0,
2335 "x509if.MRMapping", HFILL }},
2336 { &hf_dsp_relatedEntry,
2337 { "relatedEntry", "dsp.relatedEntry",
2338 FT_INT32, BASE_DEC, NULL, 0,
2339 "dsp.INTEGER", HFILL }},
2341 { "utcTime", "dsp.utcTime",
2342 FT_STRING, BASE_NONE, NULL, 0,
2343 "dsp.UTCTime", HFILL }},
2344 { &hf_dsp_generalizedTime,
2345 { "generalizedTime", "dsp.generalizedTime",
2346 FT_STRING, BASE_NONE, NULL, 0,
2347 "dsp.GeneralizedTime", HFILL }},
2348 { &hf_dsp_crossReferences,
2349 { "crossReferences", "dsp.crossReferences",
2350 FT_UINT32, BASE_DEC, NULL, 0,
2351 "dsp.SEQUENCE_OF_CrossReference", HFILL }},
2352 { &hf_dsp_crossReferences_item,
2353 { "CrossReference", "dsp.CrossReference",
2354 FT_NONE, BASE_NONE, NULL, 0,
2355 "dsp.CrossReference", HFILL }},
2356 { &hf_dsp_alreadySearched,
2357 { "alreadySearched", "dsp.alreadySearched",
2358 FT_UINT32, BASE_DEC, NULL, 0,
2359 "dsp.Exclusions", HFILL }},
2360 { &hf_dsp_accessPoint,
2361 { "accessPoint", "dsp.accessPoint",
2362 FT_NONE, BASE_NONE, NULL, 0,
2363 "dsp.AccessPointInformation", HFILL }},
2364 { &hf_dsp_nameResolutionPhase,
2365 { "nameResolutionPhase", "dsp.nameResolutionPhase",
2366 FT_UINT32, BASE_DEC, VALS(dsp_T_nameResolutionPhase_vals), 0,
2367 "dsp.T_nameResolutionPhase", HFILL }},
2368 { &hf_dsp_nextRDNToBeResolved,
2369 { "nextRDNToBeResolved", "dsp.nextRDNToBeResolved",
2370 FT_INT32, BASE_DEC, NULL, 0,
2371 "dsp.INTEGER", HFILL }},
2372 { &hf_dsp_TraceInformation_item,
2373 { "TraceItem", "dsp.TraceItem",
2374 FT_NONE, BASE_NONE, NULL, 0,
2375 "dsp.TraceItem", HFILL }},
2378 FT_UINT32, BASE_DEC, VALS(x509if_Name_vals), 0,
2379 "x509if.Name", HFILL }},
2380 { &hf_dsp_targetObject,
2381 { "targetObject", "dsp.targetObject",
2382 FT_UINT32, BASE_DEC, VALS(x509if_Name_vals), 0,
2383 "x509if.Name", HFILL }},
2385 { "ae-title", "dsp.ae_title",
2386 FT_UINT32, BASE_DEC, VALS(x509if_Name_vals), 0,
2387 "x509if.Name", HFILL }},
2389 { "address", "dsp.address",
2390 FT_NONE, BASE_NONE, NULL, 0,
2391 "x509sat.PresentationAddress", HFILL }},
2392 { &hf_dsp_protocolInformation,
2393 { "protocolInformation", "dsp.protocolInformation",
2394 FT_UINT32, BASE_DEC, NULL, 0,
2395 "dsp.SET_OF_ProtocolInformation", HFILL }},
2396 { &hf_dsp_protocolInformation_item,
2397 { "ProtocolInformation", "dsp.ProtocolInformation",
2398 FT_NONE, BASE_NONE, NULL, 0,
2399 "x509sat.ProtocolInformation", HFILL }},
2400 { &hf_dsp_access_point_category,
2401 { "category", "dsp.category",
2402 FT_UINT32, BASE_DEC, VALS(dsp_APCategory_vals), 0,
2403 "dsp.APCategory", HFILL }},
2404 { &hf_dsp_chainingRequired,
2405 { "chainingRequired", "dsp.chainingRequired",
2406 FT_BOOLEAN, BASE_NONE, NULL, 0,
2407 "dsp.BOOLEAN", HFILL }},
2408 { &hf_dsp_MasterAndShadowAccessPoints_item,
2409 { "MasterOrShadowAccessPoint", "dsp.MasterOrShadowAccessPoint",
2410 FT_NONE, BASE_NONE, NULL, 0,
2411 "dsp.MasterOrShadowAccessPoint", HFILL }},
2413 { "category", "dsp.category",
2414 FT_UINT32, BASE_DEC, VALS(dsp_T_category_vals), 0,
2415 "dsp.T_category", HFILL }},
2416 { &hf_dsp_additionalPoints,
2417 { "additionalPoints", "dsp.additionalPoints",
2418 FT_UINT32, BASE_DEC, NULL, 0,
2419 "dsp.MasterAndShadowAccessPoints", HFILL }},
2420 { &hf_dsp_Exclusions_item,
2421 { "RDNSequence", "dsp.RDNSequence",
2422 FT_UINT32, BASE_DEC, NULL, 0,
2423 "x509if.RDNSequence", HFILL }},
2424 { &hf_dsp_rdnsResolved,
2425 { "rdnsResolved", "dsp.rdnsResolved",
2426 FT_INT32, BASE_DEC, NULL, 0,
2427 "dsp.INTEGER", HFILL }},
2428 { &hf_dsp_accessPoints,
2429 { "accessPoints", "dsp.accessPoints",
2430 FT_UINT32, BASE_DEC, NULL, 0,
2431 "dsp.SET_OF_AccessPointInformation", HFILL }},
2432 { &hf_dsp_accessPoints_item,
2433 { "AccessPointInformation", "dsp.AccessPointInformation",
2434 FT_NONE, BASE_NONE, NULL, 0,
2435 "dsp.AccessPointInformation", HFILL }},
2436 { &hf_dsp_returnToDUA,
2437 { "returnToDUA", "dsp.returnToDUA",
2438 FT_BOOLEAN, BASE_NONE, NULL, 0,
2439 "dsp.BOOLEAN", HFILL }},
2440 { &hf_dsp_basicLevels,
2441 { "basicLevels", "dsp.basicLevels",
2442 FT_NONE, BASE_NONE, NULL, 0,
2443 "dsp.T_basicLevels", HFILL }},
2445 { "level", "dsp.level",
2446 FT_UINT32, BASE_DEC, VALS(dsp_T_level_vals), 0,
2447 "dsp.T_level", HFILL }},
2448 { &hf_dsp_localQualifier,
2449 { "localQualifier", "dsp.localQualifier",
2450 FT_INT32, BASE_DEC, NULL, 0,
2451 "dsp.INTEGER", HFILL }},
2453 { "signed", "dsp.signed",
2454 FT_BOOLEAN, BASE_NONE, NULL, 0,
2455 "dsp.BOOLEAN", HFILL }},
2457 { "other", "dsp.other",
2458 FT_NONE, BASE_NONE, NULL, 0,
2459 "dsp.EXTERNAL", HFILL }},
2461 /*--- End of included file: packet-dsp-hfarr.c ---*/
2462 #line 280 "packet-dsp-template.c"
2465 /* List of subtrees */
2466 static gint *ett[] = {
2469 /*--- Included file: packet-dsp-ettarr.c ---*/
2470 #line 1 "packet-dsp-ettarr.c"
2471 &ett_dsp_ChainedReadArgumentData,
2472 &ett_dsp_ChainedReadArgument,
2473 &ett_dsp_T_signedChainedReadArgument,
2474 &ett_dsp_ChainedReadResultData,
2475 &ett_dsp_ChainedReadResult,
2476 &ett_dsp_T_signedChainedReadResult,
2477 &ett_dsp_ChainedCompareArgumentData,
2478 &ett_dsp_ChainedCompareArgument,
2479 &ett_dsp_T_signedChainedCompareArgument,
2480 &ett_dsp_ChainedCompareResultData,
2481 &ett_dsp_ChainedCompareResult,
2482 &ett_dsp_T_signedChainedCompareResult,
2483 &ett_dsp_ChainedListArgumentData,
2484 &ett_dsp_ChainedListArgument,
2485 &ett_dsp_T_signedChainedListArgument,
2486 &ett_dsp_ChainedListResultData,
2487 &ett_dsp_ChainedListResult,
2488 &ett_dsp_T_signedChainedListResult,
2489 &ett_dsp_ChainedSearchArgumentData,
2490 &ett_dsp_ChainedSearchArgument,
2491 &ett_dsp_T_signedChainedSearchArgument,
2492 &ett_dsp_ChainedSearchResultData,
2493 &ett_dsp_ChainedSearchResult,
2494 &ett_dsp_T_signedChainedSearchResult,
2495 &ett_dsp_ChainedAddEntryArgumentData,
2496 &ett_dsp_ChainedAddEntryArgument,
2497 &ett_dsp_T_signedChainedAddEntryArgument,
2498 &ett_dsp_ChainedAddEntryResultData,
2499 &ett_dsp_ChainedAddEntryResult,
2500 &ett_dsp_T_signedChainedAddEntryResult,
2501 &ett_dsp_ChainedRemoveEntryArgumentData,
2502 &ett_dsp_ChainedRemoveEntryArgument,
2503 &ett_dsp_T_signedChainedRemoveEntryArgument,
2504 &ett_dsp_ChainedRemoveEntryResultData,
2505 &ett_dsp_ChainedRemoveEntryResult,
2506 &ett_dsp_T_signedChainedRemoveEntryResult,
2507 &ett_dsp_ChainedModifyEntryArgumentData,
2508 &ett_dsp_ChainedModifyEntryArgument,
2509 &ett_dsp_T_signedChainedModifyEntryArgument,
2510 &ett_dsp_ChainedModifyEntryResultData,
2511 &ett_dsp_ChainedModifyEntryResult,
2512 &ett_dsp_T_signedChainedModifyEntryResult,
2513 &ett_dsp_ChainedModifyDNArgumentData,
2514 &ett_dsp_ChainedModifyDNArgument,
2515 &ett_dsp_T_signedChainedModifyDNArgument,
2516 &ett_dsp_ChainedModifyDNResultData,
2517 &ett_dsp_ChainedModifyDNResult,
2518 &ett_dsp_T_signedChainedModifyDNResult,
2519 &ett_dsp_DSAReferralData,
2520 &ett_dsp_SEQUENCE_OF_Attribute,
2521 &ett_dsp_DSAReferral,
2522 &ett_dsp_T_signedDSAReferral,
2523 &ett_dsp_ChainingArguments,
2525 &ett_dsp_ChainingResults,
2526 &ett_dsp_SEQUENCE_OF_CrossReference,
2527 &ett_dsp_CrossReference,
2528 &ett_dsp_OperationProgress,
2529 &ett_dsp_TraceInformation,
2531 &ett_dsp_AccessPoint,
2532 &ett_dsp_SET_OF_ProtocolInformation,
2533 &ett_dsp_MasterOrShadowAccessPoint,
2534 &ett_dsp_MasterAndShadowAccessPoints,
2535 &ett_dsp_AccessPointInformation,
2536 &ett_dsp_Exclusions,
2537 &ett_dsp_ContinuationReference,
2538 &ett_dsp_SET_OF_AccessPointInformation,
2539 &ett_dsp_AuthenticationLevel,
2540 &ett_dsp_T_basicLevels,
2542 /*--- End of included file: packet-dsp-ettarr.c ---*/
2543 #line 286 "packet-dsp-template.c"
2545 module_t *dsp_module;
2547 /* Register protocol */
2548 proto_dsp = proto_register_protocol(PNAME, PSNAME, PFNAME);
2550 /* initially disable the protocol */
2551 proto_set_decoding(proto_dsp, FALSE);
2553 register_dissector("dsp", dissect_dsp, proto_dsp);
2555 /* Register fields and subtrees */
2556 proto_register_field_array(proto_dsp, hf, array_length(hf));
2557 proto_register_subtree_array(ett, array_length(ett));
2559 /* Register our configuration options for DSP, particularly our port */
2561 dsp_module = prefs_register_protocol_subtree("OSI/X.500", proto_dsp, prefs_register_dsp);
2563 prefs_register_uint_preference(dsp_module, "tcp.port", "DSP TCP Port",
2564 "Set the port for DSP operations (if other"
2565 " than the default of 102)",
2566 10, &global_dsp_tcp_port);
2572 /*--- proto_reg_handoff_dsp --- */
2573 void proto_reg_handoff_dsp(void) {
2574 dissector_handle_t dsp_handle;
2577 /*--- Included file: packet-dsp-dis-tab.c ---*/
2578 #line 1 "packet-dsp-dis-tab.c"
2579 register_ber_oid_dissector("2.5.12.1", dissect_AccessPoint_PDU, proto_dsp, "id-doa-myAccessPoint");
2580 register_ber_oid_dissector("2.5.12.2", dissect_AccessPoint_PDU, proto_dsp, "id-doa-superiorKnowledge");
2581 register_ber_oid_dissector("2.5.12.3", dissect_MasterAndShadowAccessPoints_PDU, proto_dsp, "id-doa-specificKnowledge");
2582 register_ber_oid_dissector("2.5.12.4", dissect_MasterAndShadowAccessPoints_PDU, proto_dsp, "id-doa-nonSpecificKnowledge");
2585 /*--- End of included file: packet-dsp-dis-tab.c ---*/
2586 #line 319 "packet-dsp-template.c"
2588 /* APPLICATION CONTEXT */
2590 oid_add_from_string("id-ac-directory-system","2.5.3.2");
2592 /* ABSTRACT SYNTAXES */
2594 /* remember the tpkt handler for change in preferences */
2595 tpkt_handle = find_dissector("tpkt");
2597 /* Register DSP with ROS (with no use of RTSE) */
2598 dsp_handle = find_dissector("dsp");
2599 register_ros_oid_dissector_handle("2.5.9.2", dsp_handle, 0, "id-as-directory-system", FALSE);
2603 void prefs_register_dsp(void) {
2604 static guint tcp_port = 0;
2606 /* de-register the old port */
2607 /* port 102 is registered by TPKT - don't undo this! */
2608 if((tcp_port > 0) && (tcp_port != 102) && tpkt_handle)
2609 dissector_delete("tcp.port", tcp_port, tpkt_handle);
2611 /* Set our port number for future use */
2612 tcp_port = global_dsp_tcp_port;
2614 if((tcp_port > 0) && (tcp_port != 102) && tpkt_handle)
2615 dissector_add("tcp.port", global_dsp_tcp_port, tpkt_handle);