1 /* Do not modify this file. Changes will be overwritten. */
2 /* Generated automatically by the ASN.1 to Wireshark dissector compiler */
4 /* asn2wrs.py -b -q -L -p dsp -c ./dsp.cnf -s ./packet-dsp-template -D . -O ../.. dsp.asn */
7 * Routines for X.518 (X.500 Distributed Operations) packet dissection
10 * Wireshark - Network traffic analyzer
11 * By Gerald Combs <gerald@wireshark.org>
12 * Copyright 1998 Gerald Combs
14 * SPDX-License-Identifier: GPL-2.0-or-later
19 #include <epan/packet.h>
20 #include <epan/expert.h>
21 #include <epan/prefs.h>
22 #include <epan/oids.h>
23 #include <epan/asn1.h>
24 #include <wsutil/array.h>
26 #include "packet-ber.h"
27 #include "packet-acse.h"
28 #include "packet-ros.h"
30 #include "packet-x509if.h"
31 #include "packet-x509af.h"
32 #include "packet-x509sat.h"
34 #include "packet-dap.h"
35 #include "packet-dsp.h"
38 #define PNAME "X.519 Directory System Protocol"
42 void proto_register_dsp(void);
43 void proto_reg_handoff_dsp(void);
45 /* Initialize the protocol and registered fields */
48 static int hf_dsp_AccessPoint_PDU
; /* AccessPoint */
49 static int hf_dsp_MasterAndShadowAccessPoints_PDU
; /* MasterAndShadowAccessPoints */
50 static int hf_dsp_DitBridgeKnowledge_PDU
; /* DitBridgeKnowledge */
51 static int hf_dsp_chainedArgument
; /* ChainingArguments */
52 static int hf_dsp_readArgument
; /* ReadArgument */
53 static int hf_dsp_unsignedChainedReadArgument
; /* ChainedReadArgumentData */
54 static int hf_dsp_signedChainedReadArgument
; /* T_signedChainedReadArgument */
55 static int hf_dsp_chainedReadArgument
; /* ChainedReadArgumentData */
56 static int hf_dsp_algorithmIdentifier
; /* AlgorithmIdentifier */
57 static int hf_dsp_encrypted
; /* BIT_STRING */
58 static int hf_dsp_chainedResults
; /* ChainingResults */
59 static int hf_dsp_readResult
; /* ReadResult */
60 static int hf_dsp_unsignedChainedReadResult
; /* ChainedReadResultData */
61 static int hf_dsp_signedChainedReadResult
; /* T_signedChainedReadResult */
62 static int hf_dsp_chainedReadResult
; /* ChainedReadResultData */
63 static int hf_dsp_compareArgument
; /* CompareArgument */
64 static int hf_dsp_unsignedChainedCompareArgument
; /* ChainedCompareArgumentData */
65 static int hf_dsp_signedChainedCompareArgument
; /* T_signedChainedCompareArgument */
66 static int hf_dsp_chainedCompareArgument
; /* ChainedCompareArgumentData */
67 static int hf_dsp_compareResult
; /* CompareResult */
68 static int hf_dsp_unsignedChainedCompareResult
; /* ChainedCompareResultData */
69 static int hf_dsp_signedChainedCompareResult
; /* T_signedChainedCompareResult */
70 static int hf_dsp_chainedCompareResult
; /* ChainedCompareResultData */
71 static int hf_dsp_listArgument
; /* ListArgument */
72 static int hf_dsp_unsignedChainedListArgument
; /* ChainedListArgumentData */
73 static int hf_dsp_signedChainedListArgument
; /* T_signedChainedListArgument */
74 static int hf_dsp_chainedListArgument
; /* ChainedListArgumentData */
75 static int hf_dsp_listResult
; /* ListResult */
76 static int hf_dsp_unsignedChainedListResult
; /* ChainedListResultData */
77 static int hf_dsp_signedChainedListResult
; /* T_signedChainedListResult */
78 static int hf_dsp_chainedListResult
; /* ChainedListResultData */
79 static int hf_dsp_searchArgument
; /* SearchArgument */
80 static int hf_dsp_unsignedChainedSearchArgument
; /* ChainedSearchArgumentData */
81 static int hf_dsp_signedChainedSearchArgument
; /* T_signedChainedSearchArgument */
82 static int hf_dsp_chainedSearchArgument
; /* ChainedSearchArgumentData */
83 static int hf_dsp_searchResult
; /* SearchResult */
84 static int hf_dsp_unsignedChainedSearchResult
; /* ChainedSearchResultData */
85 static int hf_dsp_signedChainedSearchResult
; /* T_signedChainedSearchResult */
86 static int hf_dsp_chainedSearchResult
; /* ChainedSearchResultData */
87 static int hf_dsp_addEntryArgument
; /* AddEntryArgument */
88 static int hf_dsp_unsignedChainedAddEntryArgument
; /* ChainedAddEntryArgumentData */
89 static int hf_dsp_signedChainedAddEntryArgument
; /* T_signedChainedAddEntryArgument */
90 static int hf_dsp_chainedAddEntryArgument
; /* ChainedAddEntryArgumentData */
91 static int hf_dsp_addEntryResult
; /* AddEntryResult */
92 static int hf_dsp_unsignedChainedAddEntryResult
; /* ChainedAddEntryResultData */
93 static int hf_dsp_signedChainedAddEntryResult
; /* T_signedChainedAddEntryResult */
94 static int hf_dsp_chainedAddEntryResult
; /* ChainedAddEntryResultData */
95 static int hf_dsp_removeEntryArgument
; /* RemoveEntryArgument */
96 static int hf_dsp_unsignedChainedRemoveEntryArgument
; /* ChainedRemoveEntryArgumentData */
97 static int hf_dsp_signedChainedRemoveEntryArgument
; /* T_signedChainedRemoveEntryArgument */
98 static int hf_dsp_chainedRemoveEntryArgument
; /* ChainedRemoveEntryArgumentData */
99 static int hf_dsp_removeEntryResult
; /* RemoveEntryResult */
100 static int hf_dsp_unsignedChainedRemoveEntryResult
; /* ChainedRemoveEntryResultData */
101 static int hf_dsp_signedChainedRemoveEntryResult
; /* T_signedChainedRemoveEntryResult */
102 static int hf_dsp_chainedRemoveEntryResult
; /* ChainedRemoveEntryResultData */
103 static int hf_dsp_modifyEntryArgument
; /* ModifyEntryArgument */
104 static int hf_dsp_unsignedChainedModifyEntryArgument
; /* ChainedModifyEntryArgumentData */
105 static int hf_dsp_signedChainedModifyEntryArgument
; /* T_signedChainedModifyEntryArgument */
106 static int hf_dsp_chainedModifyEntryArgument
; /* ChainedModifyEntryArgumentData */
107 static int hf_dsp_modifyEntryResult
; /* ModifyEntryResult */
108 static int hf_dsp_unsignedChainedModifyEntryResult
; /* ChainedModifyEntryResultData */
109 static int hf_dsp_signedChainedModifyEntryResult
; /* T_signedChainedModifyEntryResult */
110 static int hf_dsp_chainedModifyEntryResult
; /* ChainedModifyEntryResultData */
111 static int hf_dsp_modifyDNArgument
; /* ModifyDNArgument */
112 static int hf_dsp_unsignedChainedModifyDNArgument
; /* ChainedModifyDNArgumentData */
113 static int hf_dsp_signedChainedModifyDNArgument
; /* T_signedChainedModifyDNArgument */
114 static int hf_dsp_chainedModifyDNArgument
; /* ChainedModifyDNArgumentData */
115 static int hf_dsp_modifyDNResult
; /* ModifyDNResult */
116 static int hf_dsp_unsignedChainedModifyDNResult
; /* ChainedModifyDNResultData */
117 static int hf_dsp_signedChainedModifyDNResult
; /* T_signedChainedModifyDNResult */
118 static int hf_dsp_chainedModifyDNResult
; /* ChainedModifyDNResultData */
119 static int hf_dsp_reference
; /* ContinuationReference */
120 static int hf_dsp_contextPrefix
; /* DistinguishedName */
121 static int hf_dsp_securityParameters
; /* SecurityParameters */
122 static int hf_dsp_performer
; /* DistinguishedName */
123 static int hf_dsp_aliasDereferenced
; /* BOOLEAN */
124 static int hf_dsp_notification
; /* SEQUENCE_OF_Attribute */
125 static int hf_dsp_notification_item
; /* Attribute */
126 static int hf_dsp_unsignedDSAReferral
; /* DSAReferralData */
127 static int hf_dsp_signedDSAReferral
; /* T_signedDSAReferral */
128 static int hf_dsp_dsaReferral
; /* DSAReferralData */
129 static int hf_dsp_originator
; /* DistinguishedName */
130 static int hf_dsp_targetObjectDN
; /* DistinguishedName */
131 static int hf_dsp_operationProgress
; /* OperationProgress */
132 static int hf_dsp_traceInformation
; /* TraceInformation */
133 static int hf_dsp_aliasedRDNs
; /* INTEGER */
134 static int hf_dsp_returnCrossRefs
; /* BOOLEAN */
135 static int hf_dsp_referenceType
; /* ReferenceType */
136 static int hf_dsp_info
; /* DomainInfo */
137 static int hf_dsp_timeLimit
; /* Time */
138 static int hf_dsp_entryOnly
; /* BOOLEAN */
139 static int hf_dsp_uniqueIdentifier
; /* UniqueIdentifier */
140 static int hf_dsp_authenticationLevel
; /* AuthenticationLevel */
141 static int hf_dsp_exclusions
; /* Exclusions */
142 static int hf_dsp_excludeShadows
; /* BOOLEAN */
143 static int hf_dsp_nameResolveOnMaster
; /* BOOLEAN */
144 static int hf_dsp_operationIdentifier
; /* INTEGER */
145 static int hf_dsp_searchRuleId
; /* SearchRuleId */
146 static int hf_dsp_chainedRelaxation
; /* MRMapping */
147 static int hf_dsp_relatedEntry
; /* INTEGER */
148 static int hf_dsp_dspPaging
; /* BOOLEAN */
149 static int hf_dsp_nonDapPdu
; /* T_nonDapPdu */
150 static int hf_dsp_streamedResults
; /* INTEGER */
151 static int hf_dsp_excludeWriteableCopies
; /* BOOLEAN */
152 static int hf_dsp_utcTime
; /* UTCTime */
153 static int hf_dsp_generalizedTime
; /* GeneralizedTime */
154 static int hf_dsp_crossReferences
; /* SEQUENCE_OF_CrossReference */
155 static int hf_dsp_crossReferences_item
; /* CrossReference */
156 static int hf_dsp_alreadySearched
; /* Exclusions */
157 static int hf_dsp_accessPoint
; /* AccessPointInformation */
158 static int hf_dsp_nameResolutionPhase
; /* T_nameResolutionPhase */
159 static int hf_dsp_nextRDNToBeResolved
; /* INTEGER */
160 static int hf_dsp_TraceInformation_item
; /* TraceItem */
161 static int hf_dsp_dsa
; /* Name */
162 static int hf_dsp_targetObject
; /* Name */
163 static int hf_dsp_ae_title
; /* Name */
164 static int hf_dsp_address
; /* PresentationAddress */
165 static int hf_dsp_protocolInformation
; /* SET_OF_ProtocolInformation */
166 static int hf_dsp_protocolInformation_item
; /* ProtocolInformation */
167 static int hf_dsp_labeledURI
; /* LabeledURI */
168 static int hf_dsp_access_point_category
; /* APCategory */
169 static int hf_dsp_chainingRequired
; /* BOOLEAN */
170 static int hf_dsp_MasterAndShadowAccessPoints_item
; /* MasterOrShadowAccessPoint */
171 static int hf_dsp_category
; /* T_category */
172 static int hf_dsp_additionalPoints
; /* MasterAndShadowAccessPoints */
173 static int hf_dsp_domainLocalID
; /* DirectoryString */
174 static int hf_dsp_accessPoints
; /* MasterAndShadowAccessPoints */
175 static int hf_dsp_Exclusions_item
; /* RDNSequence */
176 static int hf_dsp_rdnsResolved
; /* INTEGER */
177 static int hf_dsp_accessPoints_01
; /* SET_OF_AccessPointInformation */
178 static int hf_dsp_accessPoints_item
; /* AccessPointInformation */
179 static int hf_dsp_returnToDUA
; /* BOOLEAN */
180 static int hf_dsp_basicLevels
; /* T_basicLevels */
181 static int hf_dsp_level
; /* T_level */
182 static int hf_dsp_localQualifier
; /* INTEGER */
183 static int hf_dsp_signed
; /* BOOLEAN */
184 static int hf_dsp_other
; /* EXTERNAL */
186 /* Initialize the subtree pointers */
188 static int ett_dsp_ChainedReadArgumentData
;
189 static int ett_dsp_ChainedReadArgument
;
190 static int ett_dsp_T_signedChainedReadArgument
;
191 static int ett_dsp_ChainedReadResultData
;
192 static int ett_dsp_ChainedReadResult
;
193 static int ett_dsp_T_signedChainedReadResult
;
194 static int ett_dsp_ChainedCompareArgumentData
;
195 static int ett_dsp_ChainedCompareArgument
;
196 static int ett_dsp_T_signedChainedCompareArgument
;
197 static int ett_dsp_ChainedCompareResultData
;
198 static int ett_dsp_ChainedCompareResult
;
199 static int ett_dsp_T_signedChainedCompareResult
;
200 static int ett_dsp_ChainedListArgumentData
;
201 static int ett_dsp_ChainedListArgument
;
202 static int ett_dsp_T_signedChainedListArgument
;
203 static int ett_dsp_ChainedListResultData
;
204 static int ett_dsp_ChainedListResult
;
205 static int ett_dsp_T_signedChainedListResult
;
206 static int ett_dsp_ChainedSearchArgumentData
;
207 static int ett_dsp_ChainedSearchArgument
;
208 static int ett_dsp_T_signedChainedSearchArgument
;
209 static int ett_dsp_ChainedSearchResultData
;
210 static int ett_dsp_ChainedSearchResult
;
211 static int ett_dsp_T_signedChainedSearchResult
;
212 static int ett_dsp_ChainedAddEntryArgumentData
;
213 static int ett_dsp_ChainedAddEntryArgument
;
214 static int ett_dsp_T_signedChainedAddEntryArgument
;
215 static int ett_dsp_ChainedAddEntryResultData
;
216 static int ett_dsp_ChainedAddEntryResult
;
217 static int ett_dsp_T_signedChainedAddEntryResult
;
218 static int ett_dsp_ChainedRemoveEntryArgumentData
;
219 static int ett_dsp_ChainedRemoveEntryArgument
;
220 static int ett_dsp_T_signedChainedRemoveEntryArgument
;
221 static int ett_dsp_ChainedRemoveEntryResultData
;
222 static int ett_dsp_ChainedRemoveEntryResult
;
223 static int ett_dsp_T_signedChainedRemoveEntryResult
;
224 static int ett_dsp_ChainedModifyEntryArgumentData
;
225 static int ett_dsp_ChainedModifyEntryArgument
;
226 static int ett_dsp_T_signedChainedModifyEntryArgument
;
227 static int ett_dsp_ChainedModifyEntryResultData
;
228 static int ett_dsp_ChainedModifyEntryResult
;
229 static int ett_dsp_T_signedChainedModifyEntryResult
;
230 static int ett_dsp_ChainedModifyDNArgumentData
;
231 static int ett_dsp_ChainedModifyDNArgument
;
232 static int ett_dsp_T_signedChainedModifyDNArgument
;
233 static int ett_dsp_ChainedModifyDNResultData
;
234 static int ett_dsp_ChainedModifyDNResult
;
235 static int ett_dsp_T_signedChainedModifyDNResult
;
236 static int ett_dsp_DSAReferralData
;
237 static int ett_dsp_SEQUENCE_OF_Attribute
;
238 static int ett_dsp_DSAReferral
;
239 static int ett_dsp_T_signedDSAReferral
;
240 static int ett_dsp_ChainingArguments
;
241 static int ett_dsp_Time
;
242 static int ett_dsp_ChainingResults
;
243 static int ett_dsp_SEQUENCE_OF_CrossReference
;
244 static int ett_dsp_CrossReference
;
245 static int ett_dsp_OperationProgress
;
246 static int ett_dsp_TraceInformation
;
247 static int ett_dsp_TraceItem
;
248 static int ett_dsp_AccessPoint
;
249 static int ett_dsp_SET_OF_ProtocolInformation
;
250 static int ett_dsp_MasterOrShadowAccessPoint
;
251 static int ett_dsp_MasterAndShadowAccessPoints
;
252 static int ett_dsp_AccessPointInformation
;
253 static int ett_dsp_DitBridgeKnowledge
;
254 static int ett_dsp_Exclusions
;
255 static int ett_dsp_ContinuationReference
;
256 static int ett_dsp_SET_OF_AccessPointInformation
;
257 static int ett_dsp_AuthenticationLevel
;
258 static int ett_dsp_T_basicLevels
;
260 static expert_field ei_dsp_unsupported_opcode
;
261 static expert_field ei_dsp_unsupported_errcode
;
262 static expert_field ei_dsp_unsupported_pdu
;
263 static expert_field ei_dsp_zero_pdu
;
268 dissect_dsp_DSASystemBindArgument(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
269 offset
= dissect_dap_DirectoryBindArgument(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
277 dissect_dsp_DSASystemBindResult(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
278 offset
= dissect_dap_DirectoryBindArgument(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
286 dissect_dsp_DSASystemBindError(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
287 offset
= dissect_dap_DirectoryBindError(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
293 static const value_string dsp_T_nameResolutionPhase_vals
[] = {
302 dissect_dsp_T_nameResolutionPhase(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
303 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
312 dissect_dsp_INTEGER(bool 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_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
320 static const ber_sequence_t OperationProgress_set
[] = {
321 { &hf_dsp_nameResolutionPhase
, BER_CLASS_CON
, 0, 0, dissect_dsp_T_nameResolutionPhase
},
322 { &hf_dsp_nextRDNToBeResolved
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
, dissect_dsp_INTEGER
},
323 { NULL
, 0, 0, 0, NULL
}
327 dissect_dsp_OperationProgress(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
328 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
329 OperationProgress_set
, hf_index
, ett_dsp_OperationProgress
);
335 static const ber_sequence_t TraceItem_set
[] = {
336 { &hf_dsp_dsa
, BER_CLASS_CON
, 0, 0, dissect_x509if_Name
},
337 { &hf_dsp_targetObject
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
, dissect_x509if_Name
},
338 { &hf_dsp_operationProgress
, BER_CLASS_CON
, 2, 0, dissect_dsp_OperationProgress
},
339 { NULL
, 0, 0, 0, NULL
}
343 dissect_dsp_TraceItem(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
344 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
345 TraceItem_set
, hf_index
, ett_dsp_TraceItem
);
351 static const ber_sequence_t TraceInformation_sequence_of
[1] = {
352 { &hf_dsp_TraceInformation_item
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_dsp_TraceItem
},
356 dissect_dsp_TraceInformation(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
357 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
358 TraceInformation_sequence_of
, hf_index
, ett_dsp_TraceInformation
);
366 dissect_dsp_BOOLEAN(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
367 offset
= dissect_ber_boolean(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
, NULL
);
373 const value_string dsp_ReferenceType_vals
[] = {
375 { 2, "subordinate" },
377 { 4, "nonSpecificSubordinate" },
380 { 7, "immediateSuperior" },
388 dissect_dsp_ReferenceType(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
389 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
398 dissect_dsp_DomainInfo(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
399 offset
= dissect_ber_object_identifier(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
, NULL
);
407 dissect_dsp_UTCTime(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
408 offset
= dissect_ber_UTCTime(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
, NULL
, NULL
);
416 dissect_dsp_GeneralizedTime(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
417 offset
= dissect_ber_GeneralizedTime(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
);
423 static const value_string dsp_Time_vals
[] = {
425 { 1, "generalizedTime" },
429 static const ber_choice_t Time_choice
[] = {
430 { 0, &hf_dsp_utcTime
, BER_CLASS_UNI
, BER_UNI_TAG_UTCTime
, BER_FLAGS_NOOWNTAG
, dissect_dsp_UTCTime
},
431 { 1, &hf_dsp_generalizedTime
, BER_CLASS_UNI
, BER_UNI_TAG_GeneralizedTime
, BER_FLAGS_NOOWNTAG
, dissect_dsp_GeneralizedTime
},
432 { 0, NULL
, 0, 0, 0, NULL
}
436 dissect_dsp_Time(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
437 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
438 Time_choice
, hf_index
, ett_dsp_Time
,
445 static const value_string dsp_T_level_vals
[] = {
454 dissect_dsp_T_level(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
455 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
462 static const ber_sequence_t T_basicLevels_sequence
[] = {
463 { &hf_dsp_level
, BER_CLASS_UNI
, BER_UNI_TAG_ENUMERATED
, BER_FLAGS_NOOWNTAG
, dissect_dsp_T_level
},
464 { &hf_dsp_localQualifier
, BER_CLASS_UNI
, BER_UNI_TAG_INTEGER
, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_dsp_INTEGER
},
465 { &hf_dsp_signed
, BER_CLASS_UNI
, BER_UNI_TAG_BOOLEAN
, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_dsp_BOOLEAN
},
466 { NULL
, 0, 0, 0, NULL
}
470 dissect_dsp_T_basicLevels(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
471 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
472 T_basicLevels_sequence
, hf_index
, ett_dsp_T_basicLevels
);
480 dissect_dsp_EXTERNAL(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
481 offset
= dissect_ber_external_type(implicit_tag
, tree
, tvb
, offset
, actx
, hf_index
, NULL
);
487 static const value_string dsp_AuthenticationLevel_vals
[] = {
488 { 0, "basicLevels" },
493 static const ber_choice_t AuthenticationLevel_choice
[] = {
494 { 0, &hf_dsp_basicLevels
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_dsp_T_basicLevels
},
495 { 1, &hf_dsp_other
, BER_CLASS_UNI
, BER_UNI_TAG_EXTERNAL
, BER_FLAGS_NOOWNTAG
, dissect_dsp_EXTERNAL
},
496 { 0, NULL
, 0, 0, 0, NULL
}
500 dissect_dsp_AuthenticationLevel(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
501 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
502 AuthenticationLevel_choice
, hf_index
, ett_dsp_AuthenticationLevel
,
509 static const ber_sequence_t Exclusions_set_of
[1] = {
510 { &hf_dsp_Exclusions_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_x509if_RDNSequence
},
514 dissect_dsp_Exclusions(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
515 offset
= dissect_ber_set_of(implicit_tag
, actx
, tree
, tvb
, offset
,
516 Exclusions_set_of
, hf_index
, ett_dsp_Exclusions
);
522 static const value_string dsp_T_nonDapPdu_vals
[] = {
529 dissect_dsp_T_nonDapPdu(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
530 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
537 static const ber_sequence_t ChainingArguments_set
[] = {
538 { &hf_dsp_originator
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
, dissect_x509if_DistinguishedName
},
539 { &hf_dsp_targetObjectDN
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
, dissect_x509if_DistinguishedName
},
540 { &hf_dsp_operationProgress
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
, dissect_dsp_OperationProgress
},
541 { &hf_dsp_traceInformation
, BER_CLASS_CON
, 3, 0, dissect_dsp_TraceInformation
},
542 { &hf_dsp_aliasDereferenced
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
, dissect_dsp_BOOLEAN
},
543 { &hf_dsp_aliasedRDNs
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
, dissect_dsp_INTEGER
},
544 { &hf_dsp_returnCrossRefs
, BER_CLASS_CON
, 6, BER_FLAGS_OPTIONAL
, dissect_dsp_BOOLEAN
},
545 { &hf_dsp_referenceType
, BER_CLASS_CON
, 7, BER_FLAGS_OPTIONAL
, dissect_dsp_ReferenceType
},
546 { &hf_dsp_info
, BER_CLASS_CON
, 8, BER_FLAGS_OPTIONAL
, dissect_dsp_DomainInfo
},
547 { &hf_dsp_timeLimit
, BER_CLASS_CON
, 9, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOTCHKTAG
, dissect_dsp_Time
},
548 { &hf_dsp_securityParameters
, BER_CLASS_CON
, 10, BER_FLAGS_OPTIONAL
, dissect_dap_SecurityParameters
},
549 { &hf_dsp_entryOnly
, BER_CLASS_CON
, 11, BER_FLAGS_OPTIONAL
, dissect_dsp_BOOLEAN
},
550 { &hf_dsp_uniqueIdentifier
, BER_CLASS_CON
, 12, BER_FLAGS_OPTIONAL
, dissect_x509sat_UniqueIdentifier
},
551 { &hf_dsp_authenticationLevel
, BER_CLASS_CON
, 13, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOTCHKTAG
, dissect_dsp_AuthenticationLevel
},
552 { &hf_dsp_exclusions
, BER_CLASS_CON
, 14, BER_FLAGS_OPTIONAL
, dissect_dsp_Exclusions
},
553 { &hf_dsp_excludeShadows
, BER_CLASS_CON
, 15, BER_FLAGS_OPTIONAL
, dissect_dsp_BOOLEAN
},
554 { &hf_dsp_nameResolveOnMaster
, BER_CLASS_CON
, 16, BER_FLAGS_OPTIONAL
, dissect_dsp_BOOLEAN
},
555 { &hf_dsp_operationIdentifier
, BER_CLASS_CON
, 17, BER_FLAGS_OPTIONAL
, dissect_dsp_INTEGER
},
556 { &hf_dsp_searchRuleId
, BER_CLASS_CON
, 18, BER_FLAGS_OPTIONAL
, dissect_x509if_SearchRuleId
},
557 { &hf_dsp_chainedRelaxation
, BER_CLASS_CON
, 19, BER_FLAGS_OPTIONAL
, dissect_x509if_MRMapping
},
558 { &hf_dsp_relatedEntry
, BER_CLASS_CON
, 20, BER_FLAGS_OPTIONAL
, dissect_dsp_INTEGER
},
559 { &hf_dsp_dspPaging
, BER_CLASS_CON
, 21, BER_FLAGS_OPTIONAL
, dissect_dsp_BOOLEAN
},
560 { &hf_dsp_nonDapPdu
, BER_CLASS_CON
, 22, BER_FLAGS_OPTIONAL
, dissect_dsp_T_nonDapPdu
},
561 { &hf_dsp_streamedResults
, BER_CLASS_CON
, 23, BER_FLAGS_OPTIONAL
, dissect_dsp_INTEGER
},
562 { &hf_dsp_excludeWriteableCopies
, BER_CLASS_CON
, 24, BER_FLAGS_OPTIONAL
, dissect_dsp_BOOLEAN
},
563 { NULL
, 0, 0, 0, NULL
}
567 dissect_dsp_ChainingArguments(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
568 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
569 ChainingArguments_set
, hf_index
, ett_dsp_ChainingArguments
);
575 static const ber_sequence_t ChainedReadArgumentData_set
[] = {
576 { &hf_dsp_chainedArgument
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_dsp_ChainingArguments
},
577 { &hf_dsp_readArgument
, BER_CLASS_CON
, 0, 0, dissect_dap_ReadArgument
},
578 { NULL
, 0, 0, 0, NULL
}
582 dissect_dsp_ChainedReadArgumentData(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
583 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
584 ChainedReadArgumentData_set
, hf_index
, ett_dsp_ChainedReadArgumentData
);
592 dissect_dsp_BIT_STRING(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
593 offset
= dissect_ber_bitstring(implicit_tag
, actx
, tree
, tvb
, offset
,
594 NULL
, 0, hf_index
, -1,
601 static const ber_sequence_t T_signedChainedReadArgument_sequence
[] = {
602 { &hf_dsp_chainedReadArgument
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_dsp_ChainedReadArgumentData
},
603 { &hf_dsp_algorithmIdentifier
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_x509af_AlgorithmIdentifier
},
604 { &hf_dsp_encrypted
, BER_CLASS_UNI
, BER_UNI_TAG_BITSTRING
, BER_FLAGS_NOOWNTAG
, dissect_dsp_BIT_STRING
},
605 { NULL
, 0, 0, 0, NULL
}
609 dissect_dsp_T_signedChainedReadArgument(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
610 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
611 T_signedChainedReadArgument_sequence
, hf_index
, ett_dsp_T_signedChainedReadArgument
);
617 static const ber_choice_t ChainedReadArgument_choice
[] = {
618 { 0, &hf_dsp_unsignedChainedReadArgument
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_dsp_ChainedReadArgumentData
},
619 { 1, &hf_dsp_signedChainedReadArgument
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_dsp_T_signedChainedReadArgument
},
620 { 0, NULL
, 0, 0, 0, NULL
}
624 dissect_dsp_ChainedReadArgument(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
625 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
626 ChainedReadArgument_choice
, hf_index
, ett_dsp_ChainedReadArgument
,
633 static const ber_sequence_t SET_OF_ProtocolInformation_set_of
[1] = {
634 { &hf_dsp_protocolInformation_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_x509sat_ProtocolInformation
},
638 dissect_dsp_SET_OF_ProtocolInformation(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
639 offset
= dissect_ber_set_of(implicit_tag
, actx
, tree
, tvb
, offset
,
640 SET_OF_ProtocolInformation_set_of
, hf_index
, ett_dsp_SET_OF_ProtocolInformation
);
646 static const value_string dsp_T_category_vals
[] = {
654 dissect_dsp_T_category(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
655 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
662 static const value_string dsp_APCategory_vals
[] = {
670 dissect_dsp_APCategory(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
671 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
678 static const ber_sequence_t MasterOrShadowAccessPoint_set
[] = {
679 { &hf_dsp_ae_title
, BER_CLASS_CON
, 0, 0, dissect_x509if_Name
},
680 { &hf_dsp_address
, BER_CLASS_CON
, 1, 0, dissect_x509sat_PresentationAddress
},
681 { &hf_dsp_protocolInformation
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
, dissect_dsp_SET_OF_ProtocolInformation
},
682 { &hf_dsp_access_point_category
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
, dissect_dsp_APCategory
},
683 { &hf_dsp_chainingRequired
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
, dissect_dsp_BOOLEAN
},
684 { NULL
, 0, 0, 0, NULL
}
688 dissect_dsp_MasterOrShadowAccessPoint(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
689 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
690 MasterOrShadowAccessPoint_set
, hf_index
, ett_dsp_MasterOrShadowAccessPoint
);
696 static const ber_sequence_t MasterAndShadowAccessPoints_set_of
[1] = {
697 { &hf_dsp_MasterAndShadowAccessPoints_item
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_dsp_MasterOrShadowAccessPoint
},
701 dissect_dsp_MasterAndShadowAccessPoints(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
702 offset
= dissect_ber_set_of(implicit_tag
, actx
, tree
, tvb
, offset
,
703 MasterAndShadowAccessPoints_set_of
, hf_index
, ett_dsp_MasterAndShadowAccessPoints
);
709 static const ber_sequence_t AccessPointInformation_set
[] = {
710 { &hf_dsp_ae_title
, BER_CLASS_CON
, 0, 0, dissect_x509if_Name
},
711 { &hf_dsp_address
, BER_CLASS_CON
, 1, 0, dissect_x509sat_PresentationAddress
},
712 { &hf_dsp_protocolInformation
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
, dissect_dsp_SET_OF_ProtocolInformation
},
713 { &hf_dsp_category
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
, dissect_dsp_T_category
},
714 { &hf_dsp_chainingRequired
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
, dissect_dsp_BOOLEAN
},
715 { &hf_dsp_additionalPoints
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
, dissect_dsp_MasterAndShadowAccessPoints
},
716 { NULL
, 0, 0, 0, NULL
}
720 dissect_dsp_AccessPointInformation(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
721 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
722 AccessPointInformation_set
, hf_index
, ett_dsp_AccessPointInformation
);
728 static const ber_sequence_t CrossReference_set
[] = {
729 { &hf_dsp_contextPrefix
, BER_CLASS_CON
, 0, 0, dissect_x509if_DistinguishedName
},
730 { &hf_dsp_accessPoint
, BER_CLASS_CON
, 1, 0, dissect_dsp_AccessPointInformation
},
731 { NULL
, 0, 0, 0, NULL
}
735 dissect_dsp_CrossReference(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
736 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
737 CrossReference_set
, hf_index
, ett_dsp_CrossReference
);
743 static const ber_sequence_t SEQUENCE_OF_CrossReference_sequence_of
[1] = {
744 { &hf_dsp_crossReferences_item
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_dsp_CrossReference
},
748 dissect_dsp_SEQUENCE_OF_CrossReference(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
749 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
750 SEQUENCE_OF_CrossReference_sequence_of
, hf_index
, ett_dsp_SEQUENCE_OF_CrossReference
);
756 static const ber_sequence_t ChainingResults_set
[] = {
757 { &hf_dsp_info
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
, dissect_dsp_DomainInfo
},
758 { &hf_dsp_crossReferences
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
, dissect_dsp_SEQUENCE_OF_CrossReference
},
759 { &hf_dsp_securityParameters
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
, dissect_dap_SecurityParameters
},
760 { &hf_dsp_alreadySearched
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
, dissect_dsp_Exclusions
},
761 { NULL
, 0, 0, 0, NULL
}
765 dissect_dsp_ChainingResults(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
766 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
767 ChainingResults_set
, hf_index
, ett_dsp_ChainingResults
);
773 static const ber_sequence_t ChainedReadResultData_set
[] = {
774 { &hf_dsp_chainedResults
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_dsp_ChainingResults
},
775 { &hf_dsp_readResult
, BER_CLASS_CON
, 0, 0, dissect_dap_ReadResult
},
776 { NULL
, 0, 0, 0, NULL
}
780 dissect_dsp_ChainedReadResultData(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
781 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
782 ChainedReadResultData_set
, hf_index
, ett_dsp_ChainedReadResultData
);
788 static const ber_sequence_t T_signedChainedReadResult_sequence
[] = {
789 { &hf_dsp_chainedReadResult
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_dsp_ChainedReadResultData
},
790 { &hf_dsp_algorithmIdentifier
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_x509af_AlgorithmIdentifier
},
791 { &hf_dsp_encrypted
, BER_CLASS_UNI
, BER_UNI_TAG_BITSTRING
, BER_FLAGS_NOOWNTAG
, dissect_dsp_BIT_STRING
},
792 { NULL
, 0, 0, 0, NULL
}
796 dissect_dsp_T_signedChainedReadResult(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
797 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
798 T_signedChainedReadResult_sequence
, hf_index
, ett_dsp_T_signedChainedReadResult
);
804 static const ber_choice_t ChainedReadResult_choice
[] = {
805 { 0, &hf_dsp_unsignedChainedReadResult
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_dsp_ChainedReadResultData
},
806 { 1, &hf_dsp_signedChainedReadResult
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_dsp_T_signedChainedReadResult
},
807 { 0, NULL
, 0, 0, 0, NULL
}
811 dissect_dsp_ChainedReadResult(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
812 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
813 ChainedReadResult_choice
, hf_index
, ett_dsp_ChainedReadResult
,
820 static const ber_sequence_t ChainedCompareArgumentData_set
[] = {
821 { &hf_dsp_chainedArgument
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_dsp_ChainingArguments
},
822 { &hf_dsp_compareArgument
, BER_CLASS_CON
, 0, 0, dissect_dap_CompareArgument
},
823 { NULL
, 0, 0, 0, NULL
}
827 dissect_dsp_ChainedCompareArgumentData(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
828 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
829 ChainedCompareArgumentData_set
, hf_index
, ett_dsp_ChainedCompareArgumentData
);
835 static const ber_sequence_t T_signedChainedCompareArgument_sequence
[] = {
836 { &hf_dsp_chainedCompareArgument
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_dsp_ChainedCompareArgumentData
},
837 { &hf_dsp_algorithmIdentifier
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_x509af_AlgorithmIdentifier
},
838 { &hf_dsp_encrypted
, BER_CLASS_UNI
, BER_UNI_TAG_BITSTRING
, BER_FLAGS_NOOWNTAG
, dissect_dsp_BIT_STRING
},
839 { NULL
, 0, 0, 0, NULL
}
843 dissect_dsp_T_signedChainedCompareArgument(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
844 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
845 T_signedChainedCompareArgument_sequence
, hf_index
, ett_dsp_T_signedChainedCompareArgument
);
851 static const ber_choice_t ChainedCompareArgument_choice
[] = {
852 { 0, &hf_dsp_unsignedChainedCompareArgument
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_dsp_ChainedCompareArgumentData
},
853 { 1, &hf_dsp_signedChainedCompareArgument
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_dsp_T_signedChainedCompareArgument
},
854 { 0, NULL
, 0, 0, 0, NULL
}
858 dissect_dsp_ChainedCompareArgument(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
859 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
860 ChainedCompareArgument_choice
, hf_index
, ett_dsp_ChainedCompareArgument
,
867 static const ber_sequence_t ChainedCompareResultData_set
[] = {
868 { &hf_dsp_chainedResults
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_dsp_ChainingResults
},
869 { &hf_dsp_compareResult
, BER_CLASS_CON
, 0, 0, dissect_dap_CompareResult
},
870 { NULL
, 0, 0, 0, NULL
}
874 dissect_dsp_ChainedCompareResultData(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
875 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
876 ChainedCompareResultData_set
, hf_index
, ett_dsp_ChainedCompareResultData
);
882 static const ber_sequence_t T_signedChainedCompareResult_sequence
[] = {
883 { &hf_dsp_chainedCompareResult
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_dsp_ChainedCompareResultData
},
884 { &hf_dsp_algorithmIdentifier
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_x509af_AlgorithmIdentifier
},
885 { &hf_dsp_encrypted
, BER_CLASS_UNI
, BER_UNI_TAG_BITSTRING
, BER_FLAGS_NOOWNTAG
, dissect_dsp_BIT_STRING
},
886 { NULL
, 0, 0, 0, NULL
}
890 dissect_dsp_T_signedChainedCompareResult(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
891 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
892 T_signedChainedCompareResult_sequence
, hf_index
, ett_dsp_T_signedChainedCompareResult
);
898 static const ber_choice_t ChainedCompareResult_choice
[] = {
899 { 0, &hf_dsp_unsignedChainedCompareResult
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_dsp_ChainedCompareResultData
},
900 { 1, &hf_dsp_signedChainedCompareResult
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_dsp_T_signedChainedCompareResult
},
901 { 0, NULL
, 0, 0, 0, NULL
}
905 dissect_dsp_ChainedCompareResult(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
906 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
907 ChainedCompareResult_choice
, hf_index
, ett_dsp_ChainedCompareResult
,
916 dissect_dsp_ChainedAbandonArgument(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
917 offset
= dissect_dap_AbandonArgument(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
925 dissect_dsp_ChainedAbandonResult(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
926 offset
= dissect_dap_AbandonResult(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
932 static const ber_sequence_t ChainedListArgumentData_set
[] = {
933 { &hf_dsp_chainedArgument
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_dsp_ChainingArguments
},
934 { &hf_dsp_listArgument
, BER_CLASS_CON
, 0, 0, dissect_dap_ListArgument
},
935 { NULL
, 0, 0, 0, NULL
}
939 dissect_dsp_ChainedListArgumentData(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
940 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
941 ChainedListArgumentData_set
, hf_index
, ett_dsp_ChainedListArgumentData
);
947 static const ber_sequence_t T_signedChainedListArgument_sequence
[] = {
948 { &hf_dsp_chainedListArgument
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_dsp_ChainedListArgumentData
},
949 { &hf_dsp_algorithmIdentifier
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_x509af_AlgorithmIdentifier
},
950 { &hf_dsp_encrypted
, BER_CLASS_UNI
, BER_UNI_TAG_BITSTRING
, BER_FLAGS_NOOWNTAG
, dissect_dsp_BIT_STRING
},
951 { NULL
, 0, 0, 0, NULL
}
955 dissect_dsp_T_signedChainedListArgument(bool 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_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
957 T_signedChainedListArgument_sequence
, hf_index
, ett_dsp_T_signedChainedListArgument
);
963 static const ber_choice_t ChainedListArgument_choice
[] = {
964 { 0, &hf_dsp_unsignedChainedListArgument
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_dsp_ChainedListArgumentData
},
965 { 1, &hf_dsp_signedChainedListArgument
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_dsp_T_signedChainedListArgument
},
966 { 0, NULL
, 0, 0, 0, NULL
}
970 dissect_dsp_ChainedListArgument(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
971 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
972 ChainedListArgument_choice
, hf_index
, ett_dsp_ChainedListArgument
,
979 static const ber_sequence_t ChainedListResultData_set
[] = {
980 { &hf_dsp_chainedResults
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_dsp_ChainingResults
},
981 { &hf_dsp_listResult
, BER_CLASS_CON
, 0, 0, dissect_dap_ListResult
},
982 { NULL
, 0, 0, 0, NULL
}
986 dissect_dsp_ChainedListResultData(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
987 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
988 ChainedListResultData_set
, hf_index
, ett_dsp_ChainedListResultData
);
994 static const ber_sequence_t T_signedChainedListResult_sequence
[] = {
995 { &hf_dsp_chainedListResult
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_dsp_ChainedListResultData
},
996 { &hf_dsp_algorithmIdentifier
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_x509af_AlgorithmIdentifier
},
997 { &hf_dsp_encrypted
, BER_CLASS_UNI
, BER_UNI_TAG_BITSTRING
, BER_FLAGS_NOOWNTAG
, dissect_dsp_BIT_STRING
},
998 { NULL
, 0, 0, 0, NULL
}
1002 dissect_dsp_T_signedChainedListResult(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1003 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1004 T_signedChainedListResult_sequence
, hf_index
, ett_dsp_T_signedChainedListResult
);
1010 static const ber_choice_t ChainedListResult_choice
[] = {
1011 { 0, &hf_dsp_unsignedChainedListResult
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_dsp_ChainedListResultData
},
1012 { 1, &hf_dsp_signedChainedListResult
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_dsp_T_signedChainedListResult
},
1013 { 0, NULL
, 0, 0, 0, NULL
}
1017 dissect_dsp_ChainedListResult(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1018 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
1019 ChainedListResult_choice
, hf_index
, ett_dsp_ChainedListResult
,
1026 static const ber_sequence_t ChainedSearchArgumentData_set
[] = {
1027 { &hf_dsp_chainedArgument
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_dsp_ChainingArguments
},
1028 { &hf_dsp_searchArgument
, BER_CLASS_CON
, 0, 0, dissect_dap_SearchArgument
},
1029 { NULL
, 0, 0, 0, NULL
}
1033 dissect_dsp_ChainedSearchArgumentData(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1034 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
1035 ChainedSearchArgumentData_set
, hf_index
, ett_dsp_ChainedSearchArgumentData
);
1041 static const ber_sequence_t T_signedChainedSearchArgument_sequence
[] = {
1042 { &hf_dsp_chainedSearchArgument
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_dsp_ChainedSearchArgumentData
},
1043 { &hf_dsp_algorithmIdentifier
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_x509af_AlgorithmIdentifier
},
1044 { &hf_dsp_encrypted
, BER_CLASS_UNI
, BER_UNI_TAG_BITSTRING
, BER_FLAGS_NOOWNTAG
, dissect_dsp_BIT_STRING
},
1045 { NULL
, 0, 0, 0, NULL
}
1049 dissect_dsp_T_signedChainedSearchArgument(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1050 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1051 T_signedChainedSearchArgument_sequence
, hf_index
, ett_dsp_T_signedChainedSearchArgument
);
1057 static const ber_choice_t ChainedSearchArgument_choice
[] = {
1058 { 0, &hf_dsp_unsignedChainedSearchArgument
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_dsp_ChainedSearchArgumentData
},
1059 { 1, &hf_dsp_signedChainedSearchArgument
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_dsp_T_signedChainedSearchArgument
},
1060 { 0, NULL
, 0, 0, 0, NULL
}
1064 dissect_dsp_ChainedSearchArgument(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1065 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
1066 ChainedSearchArgument_choice
, hf_index
, ett_dsp_ChainedSearchArgument
,
1073 static const ber_sequence_t ChainedSearchResultData_set
[] = {
1074 { &hf_dsp_chainedResults
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_dsp_ChainingResults
},
1075 { &hf_dsp_searchResult
, BER_CLASS_CON
, 0, 0, dissect_dap_SearchResult
},
1076 { NULL
, 0, 0, 0, NULL
}
1080 dissect_dsp_ChainedSearchResultData(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1081 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
1082 ChainedSearchResultData_set
, hf_index
, ett_dsp_ChainedSearchResultData
);
1088 static const ber_sequence_t T_signedChainedSearchResult_sequence
[] = {
1089 { &hf_dsp_chainedSearchResult
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_dsp_ChainedSearchResultData
},
1090 { &hf_dsp_algorithmIdentifier
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_x509af_AlgorithmIdentifier
},
1091 { &hf_dsp_encrypted
, BER_CLASS_UNI
, BER_UNI_TAG_BITSTRING
, BER_FLAGS_NOOWNTAG
, dissect_dsp_BIT_STRING
},
1092 { NULL
, 0, 0, 0, NULL
}
1096 dissect_dsp_T_signedChainedSearchResult(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1097 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1098 T_signedChainedSearchResult_sequence
, hf_index
, ett_dsp_T_signedChainedSearchResult
);
1104 static const ber_choice_t ChainedSearchResult_choice
[] = {
1105 { 0, &hf_dsp_unsignedChainedSearchResult
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_dsp_ChainedSearchResultData
},
1106 { 1, &hf_dsp_signedChainedSearchResult
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_dsp_T_signedChainedSearchResult
},
1107 { 0, NULL
, 0, 0, 0, NULL
}
1111 dissect_dsp_ChainedSearchResult(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1112 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
1113 ChainedSearchResult_choice
, hf_index
, ett_dsp_ChainedSearchResult
,
1120 static const ber_sequence_t ChainedAddEntryArgumentData_set
[] = {
1121 { &hf_dsp_chainedArgument
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_dsp_ChainingArguments
},
1122 { &hf_dsp_addEntryArgument
, BER_CLASS_CON
, 0, 0, dissect_dap_AddEntryArgument
},
1123 { NULL
, 0, 0, 0, NULL
}
1127 dissect_dsp_ChainedAddEntryArgumentData(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1128 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
1129 ChainedAddEntryArgumentData_set
, hf_index
, ett_dsp_ChainedAddEntryArgumentData
);
1135 static const ber_sequence_t T_signedChainedAddEntryArgument_sequence
[] = {
1136 { &hf_dsp_chainedAddEntryArgument
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_dsp_ChainedAddEntryArgumentData
},
1137 { &hf_dsp_algorithmIdentifier
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_x509af_AlgorithmIdentifier
},
1138 { &hf_dsp_encrypted
, BER_CLASS_UNI
, BER_UNI_TAG_BITSTRING
, BER_FLAGS_NOOWNTAG
, dissect_dsp_BIT_STRING
},
1139 { NULL
, 0, 0, 0, NULL
}
1143 dissect_dsp_T_signedChainedAddEntryArgument(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1144 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1145 T_signedChainedAddEntryArgument_sequence
, hf_index
, ett_dsp_T_signedChainedAddEntryArgument
);
1151 static const ber_choice_t ChainedAddEntryArgument_choice
[] = {
1152 { 0, &hf_dsp_unsignedChainedAddEntryArgument
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_dsp_ChainedAddEntryArgumentData
},
1153 { 1, &hf_dsp_signedChainedAddEntryArgument
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_dsp_T_signedChainedAddEntryArgument
},
1154 { 0, NULL
, 0, 0, 0, NULL
}
1158 dissect_dsp_ChainedAddEntryArgument(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1159 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
1160 ChainedAddEntryArgument_choice
, hf_index
, ett_dsp_ChainedAddEntryArgument
,
1167 static const ber_sequence_t ChainedAddEntryResultData_set
[] = {
1168 { &hf_dsp_chainedResults
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_dsp_ChainingResults
},
1169 { &hf_dsp_addEntryResult
, BER_CLASS_CON
, 0, 0, dissect_dap_AddEntryResult
},
1170 { NULL
, 0, 0, 0, NULL
}
1174 dissect_dsp_ChainedAddEntryResultData(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1175 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
1176 ChainedAddEntryResultData_set
, hf_index
, ett_dsp_ChainedAddEntryResultData
);
1182 static const ber_sequence_t T_signedChainedAddEntryResult_sequence
[] = {
1183 { &hf_dsp_chainedAddEntryResult
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_dsp_ChainedAddEntryResultData
},
1184 { &hf_dsp_algorithmIdentifier
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_x509af_AlgorithmIdentifier
},
1185 { &hf_dsp_encrypted
, BER_CLASS_UNI
, BER_UNI_TAG_BITSTRING
, BER_FLAGS_NOOWNTAG
, dissect_dsp_BIT_STRING
},
1186 { NULL
, 0, 0, 0, NULL
}
1190 dissect_dsp_T_signedChainedAddEntryResult(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1191 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1192 T_signedChainedAddEntryResult_sequence
, hf_index
, ett_dsp_T_signedChainedAddEntryResult
);
1198 static const ber_choice_t ChainedAddEntryResult_choice
[] = {
1199 { 0, &hf_dsp_unsignedChainedAddEntryResult
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_dsp_ChainedAddEntryResultData
},
1200 { 1, &hf_dsp_signedChainedAddEntryResult
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_dsp_T_signedChainedAddEntryResult
},
1201 { 0, NULL
, 0, 0, 0, NULL
}
1205 dissect_dsp_ChainedAddEntryResult(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1206 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
1207 ChainedAddEntryResult_choice
, hf_index
, ett_dsp_ChainedAddEntryResult
,
1214 static const ber_sequence_t ChainedRemoveEntryArgumentData_set
[] = {
1215 { &hf_dsp_chainedArgument
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_dsp_ChainingArguments
},
1216 { &hf_dsp_removeEntryArgument
, BER_CLASS_CON
, 0, 0, dissect_dap_RemoveEntryArgument
},
1217 { NULL
, 0, 0, 0, NULL
}
1221 dissect_dsp_ChainedRemoveEntryArgumentData(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1222 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
1223 ChainedRemoveEntryArgumentData_set
, hf_index
, ett_dsp_ChainedRemoveEntryArgumentData
);
1229 static const ber_sequence_t T_signedChainedRemoveEntryArgument_sequence
[] = {
1230 { &hf_dsp_chainedRemoveEntryArgument
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_dsp_ChainedRemoveEntryArgumentData
},
1231 { &hf_dsp_algorithmIdentifier
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_x509af_AlgorithmIdentifier
},
1232 { &hf_dsp_encrypted
, BER_CLASS_UNI
, BER_UNI_TAG_BITSTRING
, BER_FLAGS_NOOWNTAG
, dissect_dsp_BIT_STRING
},
1233 { NULL
, 0, 0, 0, NULL
}
1237 dissect_dsp_T_signedChainedRemoveEntryArgument(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1238 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1239 T_signedChainedRemoveEntryArgument_sequence
, hf_index
, ett_dsp_T_signedChainedRemoveEntryArgument
);
1245 static const ber_choice_t ChainedRemoveEntryArgument_choice
[] = {
1246 { 0, &hf_dsp_unsignedChainedRemoveEntryArgument
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_dsp_ChainedRemoveEntryArgumentData
},
1247 { 1, &hf_dsp_signedChainedRemoveEntryArgument
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_dsp_T_signedChainedRemoveEntryArgument
},
1248 { 0, NULL
, 0, 0, 0, NULL
}
1252 dissect_dsp_ChainedRemoveEntryArgument(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1253 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
1254 ChainedRemoveEntryArgument_choice
, hf_index
, ett_dsp_ChainedRemoveEntryArgument
,
1261 static const ber_sequence_t ChainedRemoveEntryResultData_set
[] = {
1262 { &hf_dsp_chainedResults
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_dsp_ChainingResults
},
1263 { &hf_dsp_removeEntryResult
, BER_CLASS_CON
, 0, 0, dissect_dap_RemoveEntryResult
},
1264 { NULL
, 0, 0, 0, NULL
}
1268 dissect_dsp_ChainedRemoveEntryResultData(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1269 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
1270 ChainedRemoveEntryResultData_set
, hf_index
, ett_dsp_ChainedRemoveEntryResultData
);
1276 static const ber_sequence_t T_signedChainedRemoveEntryResult_sequence
[] = {
1277 { &hf_dsp_chainedRemoveEntryResult
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_dsp_ChainedRemoveEntryResultData
},
1278 { &hf_dsp_algorithmIdentifier
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_x509af_AlgorithmIdentifier
},
1279 { &hf_dsp_encrypted
, BER_CLASS_UNI
, BER_UNI_TAG_BITSTRING
, BER_FLAGS_NOOWNTAG
, dissect_dsp_BIT_STRING
},
1280 { NULL
, 0, 0, 0, NULL
}
1284 dissect_dsp_T_signedChainedRemoveEntryResult(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1285 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1286 T_signedChainedRemoveEntryResult_sequence
, hf_index
, ett_dsp_T_signedChainedRemoveEntryResult
);
1292 static const ber_choice_t ChainedRemoveEntryResult_choice
[] = {
1293 { 0, &hf_dsp_unsignedChainedRemoveEntryResult
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_dsp_ChainedRemoveEntryResultData
},
1294 { 1, &hf_dsp_signedChainedRemoveEntryResult
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_dsp_T_signedChainedRemoveEntryResult
},
1295 { 0, NULL
, 0, 0, 0, NULL
}
1299 dissect_dsp_ChainedRemoveEntryResult(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1300 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
1301 ChainedRemoveEntryResult_choice
, hf_index
, ett_dsp_ChainedRemoveEntryResult
,
1308 static const ber_sequence_t ChainedModifyEntryArgumentData_set
[] = {
1309 { &hf_dsp_chainedArgument
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_dsp_ChainingArguments
},
1310 { &hf_dsp_modifyEntryArgument
, BER_CLASS_CON
, 0, 0, dissect_dap_ModifyEntryArgument
},
1311 { NULL
, 0, 0, 0, NULL
}
1315 dissect_dsp_ChainedModifyEntryArgumentData(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1316 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
1317 ChainedModifyEntryArgumentData_set
, hf_index
, ett_dsp_ChainedModifyEntryArgumentData
);
1323 static const ber_sequence_t T_signedChainedModifyEntryArgument_sequence
[] = {
1324 { &hf_dsp_chainedModifyEntryArgument
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_dsp_ChainedModifyEntryArgumentData
},
1325 { &hf_dsp_algorithmIdentifier
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_x509af_AlgorithmIdentifier
},
1326 { &hf_dsp_encrypted
, BER_CLASS_UNI
, BER_UNI_TAG_BITSTRING
, BER_FLAGS_NOOWNTAG
, dissect_dsp_BIT_STRING
},
1327 { NULL
, 0, 0, 0, NULL
}
1331 dissect_dsp_T_signedChainedModifyEntryArgument(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1332 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1333 T_signedChainedModifyEntryArgument_sequence
, hf_index
, ett_dsp_T_signedChainedModifyEntryArgument
);
1339 static const ber_choice_t ChainedModifyEntryArgument_choice
[] = {
1340 { 0, &hf_dsp_unsignedChainedModifyEntryArgument
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_dsp_ChainedModifyEntryArgumentData
},
1341 { 1, &hf_dsp_signedChainedModifyEntryArgument
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_dsp_T_signedChainedModifyEntryArgument
},
1342 { 0, NULL
, 0, 0, 0, NULL
}
1346 dissect_dsp_ChainedModifyEntryArgument(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1347 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
1348 ChainedModifyEntryArgument_choice
, hf_index
, ett_dsp_ChainedModifyEntryArgument
,
1355 static const ber_sequence_t ChainedModifyEntryResultData_set
[] = {
1356 { &hf_dsp_chainedResults
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_dsp_ChainingResults
},
1357 { &hf_dsp_modifyEntryResult
, BER_CLASS_CON
, 0, 0, dissect_dap_ModifyEntryResult
},
1358 { NULL
, 0, 0, 0, NULL
}
1362 dissect_dsp_ChainedModifyEntryResultData(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1363 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
1364 ChainedModifyEntryResultData_set
, hf_index
, ett_dsp_ChainedModifyEntryResultData
);
1370 static const ber_sequence_t T_signedChainedModifyEntryResult_sequence
[] = {
1371 { &hf_dsp_chainedModifyEntryResult
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_dsp_ChainedModifyEntryResultData
},
1372 { &hf_dsp_algorithmIdentifier
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_x509af_AlgorithmIdentifier
},
1373 { &hf_dsp_encrypted
, BER_CLASS_UNI
, BER_UNI_TAG_BITSTRING
, BER_FLAGS_NOOWNTAG
, dissect_dsp_BIT_STRING
},
1374 { NULL
, 0, 0, 0, NULL
}
1378 dissect_dsp_T_signedChainedModifyEntryResult(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1379 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1380 T_signedChainedModifyEntryResult_sequence
, hf_index
, ett_dsp_T_signedChainedModifyEntryResult
);
1386 static const ber_choice_t ChainedModifyEntryResult_choice
[] = {
1387 { 0, &hf_dsp_unsignedChainedModifyEntryResult
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_dsp_ChainedModifyEntryResultData
},
1388 { 1, &hf_dsp_signedChainedModifyEntryResult
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_dsp_T_signedChainedModifyEntryResult
},
1389 { 0, NULL
, 0, 0, 0, NULL
}
1393 dissect_dsp_ChainedModifyEntryResult(bool 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_choice(actx
, tree
, tvb
, offset
,
1395 ChainedModifyEntryResult_choice
, hf_index
, ett_dsp_ChainedModifyEntryResult
,
1402 static const ber_sequence_t ChainedModifyDNArgumentData_set
[] = {
1403 { &hf_dsp_chainedArgument
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_dsp_ChainingArguments
},
1404 { &hf_dsp_modifyDNArgument
, BER_CLASS_CON
, 0, 0, dissect_dap_ModifyDNArgument
},
1405 { NULL
, 0, 0, 0, NULL
}
1409 dissect_dsp_ChainedModifyDNArgumentData(bool 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_set(implicit_tag
, actx
, tree
, tvb
, offset
,
1411 ChainedModifyDNArgumentData_set
, hf_index
, ett_dsp_ChainedModifyDNArgumentData
);
1417 static const ber_sequence_t T_signedChainedModifyDNArgument_sequence
[] = {
1418 { &hf_dsp_chainedModifyDNArgument
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_dsp_ChainedModifyDNArgumentData
},
1419 { &hf_dsp_algorithmIdentifier
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_x509af_AlgorithmIdentifier
},
1420 { &hf_dsp_encrypted
, BER_CLASS_UNI
, BER_UNI_TAG_BITSTRING
, BER_FLAGS_NOOWNTAG
, dissect_dsp_BIT_STRING
},
1421 { NULL
, 0, 0, 0, NULL
}
1425 dissect_dsp_T_signedChainedModifyDNArgument(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1426 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1427 T_signedChainedModifyDNArgument_sequence
, hf_index
, ett_dsp_T_signedChainedModifyDNArgument
);
1433 static const ber_choice_t ChainedModifyDNArgument_choice
[] = {
1434 { 0, &hf_dsp_unsignedChainedModifyDNArgument
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_dsp_ChainedModifyDNArgumentData
},
1435 { 1, &hf_dsp_signedChainedModifyDNArgument
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_dsp_T_signedChainedModifyDNArgument
},
1436 { 0, NULL
, 0, 0, 0, NULL
}
1440 dissect_dsp_ChainedModifyDNArgument(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1441 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
1442 ChainedModifyDNArgument_choice
, hf_index
, ett_dsp_ChainedModifyDNArgument
,
1449 static const ber_sequence_t ChainedModifyDNResultData_set
[] = {
1450 { &hf_dsp_chainedResults
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_dsp_ChainingResults
},
1451 { &hf_dsp_modifyDNResult
, BER_CLASS_CON
, 0, 0, dissect_dap_ModifyDNResult
},
1452 { NULL
, 0, 0, 0, NULL
}
1456 dissect_dsp_ChainedModifyDNResultData(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1457 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
1458 ChainedModifyDNResultData_set
, hf_index
, ett_dsp_ChainedModifyDNResultData
);
1464 static const ber_sequence_t T_signedChainedModifyDNResult_sequence
[] = {
1465 { &hf_dsp_chainedModifyDNResult
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_dsp_ChainedModifyDNResultData
},
1466 { &hf_dsp_algorithmIdentifier
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_x509af_AlgorithmIdentifier
},
1467 { &hf_dsp_encrypted
, BER_CLASS_UNI
, BER_UNI_TAG_BITSTRING
, BER_FLAGS_NOOWNTAG
, dissect_dsp_BIT_STRING
},
1468 { NULL
, 0, 0, 0, NULL
}
1472 dissect_dsp_T_signedChainedModifyDNResult(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1473 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1474 T_signedChainedModifyDNResult_sequence
, hf_index
, ett_dsp_T_signedChainedModifyDNResult
);
1480 static const ber_choice_t ChainedModifyDNResult_choice
[] = {
1481 { 0, &hf_dsp_unsignedChainedModifyDNResult
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_dsp_ChainedModifyDNResultData
},
1482 { 1, &hf_dsp_signedChainedModifyDNResult
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_dsp_T_signedChainedModifyDNResult
},
1483 { 0, NULL
, 0, 0, 0, NULL
}
1487 dissect_dsp_ChainedModifyDNResult(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1488 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
1489 ChainedModifyDNResult_choice
, hf_index
, ett_dsp_ChainedModifyDNResult
,
1496 static const ber_sequence_t SET_OF_AccessPointInformation_set_of
[1] = {
1497 { &hf_dsp_accessPoints_item
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_dsp_AccessPointInformation
},
1501 dissect_dsp_SET_OF_AccessPointInformation(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1502 offset
= dissect_ber_set_of(implicit_tag
, actx
, tree
, tvb
, offset
,
1503 SET_OF_AccessPointInformation_set_of
, hf_index
, ett_dsp_SET_OF_AccessPointInformation
);
1509 static const ber_sequence_t ContinuationReference_set
[] = {
1510 { &hf_dsp_targetObject
, BER_CLASS_CON
, 0, 0, dissect_x509if_Name
},
1511 { &hf_dsp_aliasedRDNs
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
, dissect_dsp_INTEGER
},
1512 { &hf_dsp_operationProgress
, BER_CLASS_CON
, 2, 0, dissect_dsp_OperationProgress
},
1513 { &hf_dsp_rdnsResolved
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
, dissect_dsp_INTEGER
},
1514 { &hf_dsp_referenceType
, BER_CLASS_CON
, 4, 0, dissect_dsp_ReferenceType
},
1515 { &hf_dsp_accessPoints_01
, BER_CLASS_CON
, 5, 0, dissect_dsp_SET_OF_AccessPointInformation
},
1516 { &hf_dsp_entryOnly
, BER_CLASS_CON
, 6, BER_FLAGS_OPTIONAL
, dissect_dsp_BOOLEAN
},
1517 { &hf_dsp_exclusions
, BER_CLASS_CON
, 7, BER_FLAGS_OPTIONAL
, dissect_dsp_Exclusions
},
1518 { &hf_dsp_returnToDUA
, BER_CLASS_CON
, 8, BER_FLAGS_OPTIONAL
, dissect_dsp_BOOLEAN
},
1519 { &hf_dsp_nameResolveOnMaster
, BER_CLASS_CON
, 9, BER_FLAGS_OPTIONAL
, dissect_dsp_BOOLEAN
},
1520 { NULL
, 0, 0, 0, NULL
}
1524 dissect_dsp_ContinuationReference(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1525 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
1526 ContinuationReference_set
, hf_index
, ett_dsp_ContinuationReference
);
1532 static const ber_sequence_t SEQUENCE_OF_Attribute_sequence_of
[1] = {
1533 { &hf_dsp_notification_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_x509if_Attribute
},
1537 dissect_dsp_SEQUENCE_OF_Attribute(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1538 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
1539 SEQUENCE_OF_Attribute_sequence_of
, hf_index
, ett_dsp_SEQUENCE_OF_Attribute
);
1545 static const ber_sequence_t DSAReferralData_set
[] = {
1546 { &hf_dsp_reference
, BER_CLASS_CON
, 0, 0, dissect_dsp_ContinuationReference
},
1547 { &hf_dsp_contextPrefix
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
, dissect_x509if_DistinguishedName
},
1548 { &hf_dsp_securityParameters
, BER_CLASS_CON
, 30, BER_FLAGS_OPTIONAL
, dissect_dap_SecurityParameters
},
1549 { &hf_dsp_performer
, BER_CLASS_CON
, 29, BER_FLAGS_OPTIONAL
, dissect_x509if_DistinguishedName
},
1550 { &hf_dsp_aliasDereferenced
, BER_CLASS_CON
, 28, BER_FLAGS_OPTIONAL
, dissect_dsp_BOOLEAN
},
1551 { &hf_dsp_notification
, BER_CLASS_CON
, 27, BER_FLAGS_OPTIONAL
, dissect_dsp_SEQUENCE_OF_Attribute
},
1552 { NULL
, 0, 0, 0, NULL
}
1556 dissect_dsp_DSAReferralData(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1557 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
1558 DSAReferralData_set
, hf_index
, ett_dsp_DSAReferralData
);
1564 static const ber_sequence_t T_signedDSAReferral_sequence
[] = {
1565 { &hf_dsp_dsaReferral
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_dsp_DSAReferralData
},
1566 { &hf_dsp_algorithmIdentifier
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_x509af_AlgorithmIdentifier
},
1567 { &hf_dsp_encrypted
, BER_CLASS_UNI
, BER_UNI_TAG_BITSTRING
, BER_FLAGS_NOOWNTAG
, dissect_dsp_BIT_STRING
},
1568 { NULL
, 0, 0, 0, NULL
}
1572 dissect_dsp_T_signedDSAReferral(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1573 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1574 T_signedDSAReferral_sequence
, hf_index
, ett_dsp_T_signedDSAReferral
);
1580 static const ber_choice_t DSAReferral_choice
[] = {
1581 { 0, &hf_dsp_unsignedDSAReferral
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_dsp_DSAReferralData
},
1582 { 1, &hf_dsp_signedDSAReferral
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_dsp_T_signedDSAReferral
},
1583 { 0, NULL
, 0, 0, 0, NULL
}
1587 dissect_dsp_DSAReferral(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1588 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
1589 DSAReferral_choice
, hf_index
, ett_dsp_DSAReferral
,
1598 dissect_dsp_LabeledURI(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1599 offset
= dissect_x509sat_DirectoryString(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
1605 static const ber_sequence_t AccessPoint_set
[] = {
1606 { &hf_dsp_ae_title
, BER_CLASS_CON
, 0, 0, dissect_x509if_Name
},
1607 { &hf_dsp_address
, BER_CLASS_CON
, 1, 0, dissect_x509sat_PresentationAddress
},
1608 { &hf_dsp_protocolInformation
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
, dissect_dsp_SET_OF_ProtocolInformation
},
1609 { &hf_dsp_labeledURI
, BER_CLASS_CON
, 6, BER_FLAGS_OPTIONAL
, dissect_dsp_LabeledURI
},
1610 { NULL
, 0, 0, 0, NULL
}
1614 dissect_dsp_AccessPoint(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1615 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
1616 AccessPoint_set
, hf_index
, ett_dsp_AccessPoint
);
1622 static const ber_sequence_t DitBridgeKnowledge_sequence
[] = {
1623 { &hf_dsp_domainLocalID
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_x509sat_DirectoryString
},
1624 { &hf_dsp_accessPoints
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_dsp_MasterAndShadowAccessPoints
},
1625 { NULL
, 0, 0, 0, NULL
}
1629 dissect_dsp_DitBridgeKnowledge(bool implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1630 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1631 DitBridgeKnowledge_sequence
, hf_index
, ett_dsp_DitBridgeKnowledge
);
1638 static int dissect_AccessPoint_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
1640 asn1_ctx_t asn1_ctx
;
1641 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
1642 offset
= dissect_dsp_AccessPoint(false, tvb
, offset
, &asn1_ctx
, tree
, hf_dsp_AccessPoint_PDU
);
1645 static int dissect_MasterAndShadowAccessPoints_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
1647 asn1_ctx_t asn1_ctx
;
1648 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
1649 offset
= dissect_dsp_MasterAndShadowAccessPoints(false, tvb
, offset
, &asn1_ctx
, tree
, hf_dsp_MasterAndShadowAccessPoints_PDU
);
1652 static int dissect_DitBridgeKnowledge_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
1654 asn1_ctx_t asn1_ctx
;
1655 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
1656 offset
= dissect_dsp_DitBridgeKnowledge(false, tvb
, offset
, &asn1_ctx
, tree
, hf_dsp_DitBridgeKnowledge_PDU
);
1661 static dissector_handle_t dsp_handle
;
1664 * Dissect X518 PDUs inside a ROS PDUs
1667 dissect_dsp(tvbuff_t
*tvb
, packet_info
*pinfo
, proto_tree
*parent_tree
, void* data
)
1673 struct SESSION_DATA_STRUCTURE
* session
;
1674 int (*dsp_dissector
)(bool implicit_tag _U_
, tvbuff_t
*tvb
, int offset
, asn1_ctx_t
*actx
, proto_tree
*tree
, int hf_index _U_
) = NULL
;
1675 const char *dsp_op_name
;
1676 asn1_ctx_t asn1_ctx
;
1678 /* do we have operation information from the ROS dissector? */
1681 session
= (struct SESSION_DATA_STRUCTURE
*)data
;
1683 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, true, pinfo
);
1685 item
= proto_tree_add_item(parent_tree
, proto_dsp
, tvb
, 0, -1, ENC_NA
);
1686 tree
= proto_item_add_subtree(item
, ett_dsp
);
1688 col_set_str(pinfo
->cinfo
, COL_PROTOCOL
, "DAP");
1689 col_clear(pinfo
->cinfo
, COL_INFO
);
1691 asn1_ctx
.private_data
= session
;
1693 switch(session
->ros_op
& ROS_OP_MASK
) {
1694 case (ROS_OP_BIND
| ROS_OP_ARGUMENT
): /* BindInvoke */
1695 dsp_dissector
= dissect_dsp_DSASystemBindArgument
;
1696 dsp_op_name
= "System-Bind-Argument";
1698 case (ROS_OP_BIND
| ROS_OP_RESULT
): /* BindResult */
1699 dsp_dissector
= dissect_dsp_DSASystemBindResult
;
1700 dsp_op_name
= "System-Bind-Result";
1702 case (ROS_OP_BIND
| ROS_OP_ERROR
): /* BindError */
1703 dsp_dissector
= dissect_dsp_DSASystemBindError
;
1704 dsp_op_name
= "System-Bind-Error";
1706 case (ROS_OP_INVOKE
| ROS_OP_ARGUMENT
): /* Invoke Argument */
1707 switch(session
->ros_op
& ROS_OP_OPCODE_MASK
) {
1709 dsp_dissector
= dissect_dsp_ChainedReadArgument
;
1710 dsp_op_name
= "Chained-Read-Argument";
1712 case 2: /* compare */
1713 dsp_dissector
= dissect_dsp_ChainedCompareArgument
;
1714 dsp_op_name
= "Chained-Compare-Argument";
1716 case 3: /* abandon */
1717 dsp_dissector
= dissect_dsp_ChainedAbandonArgument
;
1718 dsp_op_name
= "Chained-Abandon-Argument";
1721 dsp_dissector
= dissect_dsp_ChainedListArgument
;
1722 dsp_op_name
= "Chained-List-Argument";
1724 case 5: /* search */
1725 dsp_dissector
= dissect_dsp_ChainedSearchArgument
;
1726 dsp_op_name
= "Chained-Search-Argument";
1728 case 6: /* addEntry */
1729 dsp_dissector
= dissect_dsp_ChainedAddEntryArgument
;
1730 dsp_op_name
= "Chained-Add-Entry-Argument";
1732 case 7: /* removeEntry */
1733 dsp_dissector
= dissect_dsp_ChainedRemoveEntryArgument
;
1734 dsp_op_name
= "Chained-Remove-Entry-Argument";
1736 case 8: /* modifyEntry */
1737 dsp_dissector
= dissect_dsp_ChainedModifyEntryArgument
;
1738 dsp_op_name
= "ChainedModify-Entry-Argument";
1740 case 9: /* modifyDN */
1741 dsp_dissector
= dissect_dsp_ChainedModifyDNArgument
;
1742 dsp_op_name
= "ChainedModify-DN-Argument";
1745 proto_tree_add_expert_format(tree
, pinfo
, &ei_dsp_unsupported_opcode
, tvb
, offset
, -1,
1746 "Unsupported DSP opcode (%d)", session
->ros_op
& ROS_OP_OPCODE_MASK
);
1750 case (ROS_OP_INVOKE
| ROS_OP_RESULT
): /* Return Result */
1751 switch(session
->ros_op
& ROS_OP_OPCODE_MASK
) {
1753 dsp_dissector
= dissect_dsp_ChainedReadResult
;
1754 dsp_op_name
= "Chained-Read-Result";
1756 case 2: /* compare */
1757 dsp_dissector
= dissect_dsp_ChainedCompareResult
;
1758 dsp_op_name
= "Chained-Compare-Result";
1760 case 3: /* abandon */
1761 dsp_dissector
= dissect_dsp_ChainedAbandonResult
;
1762 dsp_op_name
= "Chained-Abandon-Result";
1765 dsp_dissector
= dissect_dsp_ChainedListResult
;
1766 dsp_op_name
= "Chained-List-Result";
1768 case 5: /* search */
1769 dsp_dissector
= dissect_dsp_ChainedSearchResult
;
1770 dsp_op_name
= "Chained-Search-Result";
1772 case 6: /* addEntry */
1773 dsp_dissector
= dissect_dsp_ChainedAddEntryResult
;
1774 dsp_op_name
= "Chained-Add-Entry-Result";
1776 case 7: /* removeEntry */
1777 dsp_dissector
= dissect_dsp_ChainedRemoveEntryResult
;
1778 dsp_op_name
= "Chained-Remove-Entry-Result";
1780 case 8: /* modifyEntry */
1781 dsp_dissector
= dissect_dsp_ChainedModifyEntryResult
;
1782 dsp_op_name
= "Chained-Modify-Entry-Result";
1784 case 9: /* modifyDN */
1785 dsp_dissector
= dissect_dsp_ChainedModifyDNResult
;
1786 dsp_op_name
= "ChainedModify-DN-Result";
1789 proto_tree_add_expert(tree
, pinfo
, &ei_dsp_unsupported_opcode
, tvb
, offset
, -1);
1793 case (ROS_OP_INVOKE
| ROS_OP_ERROR
): /* Return Error */
1794 switch(session
->ros_op
& ROS_OP_OPCODE_MASK
) {
1795 case 1: /* attributeError */
1796 dsp_dissector
= dissect_dap_AttributeError
;
1797 dsp_op_name
= "Attribute-Error";
1799 case 2: /* nameError */
1800 dsp_dissector
= dissect_dap_NameError
;
1801 dsp_op_name
= "Name-Error";
1803 case 3: /* serviceError */
1804 dsp_dissector
= dissect_dap_ServiceError
;
1805 dsp_op_name
= "Service-Error";
1807 case 4: /* referral */
1808 dsp_dissector
= dissect_dap_Referral
;
1809 dsp_op_name
= "Referral";
1811 case 5: /* abandoned */
1812 dsp_dissector
= dissect_dap_Abandoned
;
1813 dsp_op_name
= "Abandoned";
1815 case 6: /* securityError */
1816 dsp_dissector
= dissect_dap_SecurityError
;
1817 dsp_op_name
= "Security-Error";
1819 case 7: /* abandonFailed */
1820 dsp_dissector
= dissect_dap_AbandonFailedError
;
1821 dsp_op_name
= "Abandon-Failed-Error";
1823 case 8: /* updateError */
1824 dsp_dissector
= dissect_dap_UpdateError
;
1825 dsp_op_name
= "Update-Error";
1827 case 9: /* DSAReferral */
1828 dsp_dissector
= dissect_dsp_DSAReferral
;
1829 dsp_op_name
= "DSA-Referral";
1832 proto_tree_add_expert(tree
, pinfo
, &ei_dsp_unsupported_errcode
, tvb
, offset
, -1);
1837 proto_tree_add_expert(tree
, pinfo
, &ei_dsp_unsupported_pdu
, tvb
, offset
, -1);
1838 return tvb_captured_length(tvb
);
1842 col_set_str(pinfo
->cinfo
, COL_INFO
, dsp_op_name
);
1844 while (tvb_reported_length_remaining(tvb
, offset
) > 0){
1846 offset
=(*dsp_dissector
)(false, tvb
, offset
, &asn1_ctx
, tree
, -1);
1847 if(offset
== old_offset
){
1848 proto_tree_add_expert(tree
, pinfo
, &ei_dsp_zero_pdu
, tvb
, offset
, -1);
1854 return tvb_captured_length(tvb
);
1858 /*--- proto_register_dsp -------------------------------------------*/
1859 void proto_register_dsp(void) {
1861 /* List of fields */
1862 static hf_register_info hf
[] =
1864 { &hf_dsp_AccessPoint_PDU
,
1865 { "AccessPoint", "dsp.AccessPoint_element",
1866 FT_NONE
, BASE_NONE
, NULL
, 0,
1868 { &hf_dsp_MasterAndShadowAccessPoints_PDU
,
1869 { "MasterAndShadowAccessPoints", "dsp.MasterAndShadowAccessPoints",
1870 FT_UINT32
, BASE_DEC
, NULL
, 0,
1872 { &hf_dsp_DitBridgeKnowledge_PDU
,
1873 { "DitBridgeKnowledge", "dsp.DitBridgeKnowledge_element",
1874 FT_NONE
, BASE_NONE
, NULL
, 0,
1876 { &hf_dsp_chainedArgument
,
1877 { "chainedArgument", "dsp.chainedArgument_element",
1878 FT_NONE
, BASE_NONE
, NULL
, 0,
1879 "ChainingArguments", HFILL
}},
1880 { &hf_dsp_readArgument
,
1881 { "readArgument", "dsp.readArgument",
1882 FT_UINT32
, BASE_DEC
, VALS(dap_ReadArgument_vals
), 0,
1884 { &hf_dsp_unsignedChainedReadArgument
,
1885 { "unsignedChainedReadArgument", "dsp.unsignedChainedReadArgument_element",
1886 FT_NONE
, BASE_NONE
, NULL
, 0,
1887 "ChainedReadArgumentData", HFILL
}},
1888 { &hf_dsp_signedChainedReadArgument
,
1889 { "signedChainedReadArgument", "dsp.signedChainedReadArgument_element",
1890 FT_NONE
, BASE_NONE
, NULL
, 0,
1892 { &hf_dsp_chainedReadArgument
,
1893 { "chainedReadArgument", "dsp.chainedReadArgument_element",
1894 FT_NONE
, BASE_NONE
, NULL
, 0,
1895 "ChainedReadArgumentData", HFILL
}},
1896 { &hf_dsp_algorithmIdentifier
,
1897 { "algorithmIdentifier", "dsp.algorithmIdentifier_element",
1898 FT_NONE
, BASE_NONE
, NULL
, 0,
1900 { &hf_dsp_encrypted
,
1901 { "encrypted", "dsp.encrypted",
1902 FT_BYTES
, BASE_NONE
, NULL
, 0,
1903 "BIT_STRING", HFILL
}},
1904 { &hf_dsp_chainedResults
,
1905 { "chainedResults", "dsp.chainedResults_element",
1906 FT_NONE
, BASE_NONE
, NULL
, 0,
1907 "ChainingResults", HFILL
}},
1908 { &hf_dsp_readResult
,
1909 { "readResult", "dsp.readResult",
1910 FT_UINT32
, BASE_DEC
, VALS(dap_ReadResult_vals
), 0,
1912 { &hf_dsp_unsignedChainedReadResult
,
1913 { "unsignedChainedReadResult", "dsp.unsignedChainedReadResult_element",
1914 FT_NONE
, BASE_NONE
, NULL
, 0,
1915 "ChainedReadResultData", HFILL
}},
1916 { &hf_dsp_signedChainedReadResult
,
1917 { "signedChainedReadResult", "dsp.signedChainedReadResult_element",
1918 FT_NONE
, BASE_NONE
, NULL
, 0,
1920 { &hf_dsp_chainedReadResult
,
1921 { "chainedReadResult", "dsp.chainedReadResult_element",
1922 FT_NONE
, BASE_NONE
, NULL
, 0,
1923 "ChainedReadResultData", HFILL
}},
1924 { &hf_dsp_compareArgument
,
1925 { "compareArgument", "dsp.compareArgument",
1926 FT_UINT32
, BASE_DEC
, VALS(dap_CompareArgument_vals
), 0,
1928 { &hf_dsp_unsignedChainedCompareArgument
,
1929 { "unsignedChainedCompareArgument", "dsp.unsignedChainedCompareArgument_element",
1930 FT_NONE
, BASE_NONE
, NULL
, 0,
1931 "ChainedCompareArgumentData", HFILL
}},
1932 { &hf_dsp_signedChainedCompareArgument
,
1933 { "signedChainedCompareArgument", "dsp.signedChainedCompareArgument_element",
1934 FT_NONE
, BASE_NONE
, NULL
, 0,
1936 { &hf_dsp_chainedCompareArgument
,
1937 { "chainedCompareArgument", "dsp.chainedCompareArgument_element",
1938 FT_NONE
, BASE_NONE
, NULL
, 0,
1939 "ChainedCompareArgumentData", HFILL
}},
1940 { &hf_dsp_compareResult
,
1941 { "compareResult", "dsp.compareResult",
1942 FT_UINT32
, BASE_DEC
, VALS(dap_CompareResult_vals
), 0,
1944 { &hf_dsp_unsignedChainedCompareResult
,
1945 { "unsignedChainedCompareResult", "dsp.unsignedChainedCompareResult_element",
1946 FT_NONE
, BASE_NONE
, NULL
, 0,
1947 "ChainedCompareResultData", HFILL
}},
1948 { &hf_dsp_signedChainedCompareResult
,
1949 { "signedChainedCompareResult", "dsp.signedChainedCompareResult_element",
1950 FT_NONE
, BASE_NONE
, NULL
, 0,
1952 { &hf_dsp_chainedCompareResult
,
1953 { "chainedCompareResult", "dsp.chainedCompareResult_element",
1954 FT_NONE
, BASE_NONE
, NULL
, 0,
1955 "ChainedCompareResultData", HFILL
}},
1956 { &hf_dsp_listArgument
,
1957 { "listArgument", "dsp.listArgument",
1958 FT_UINT32
, BASE_DEC
, VALS(dap_ListArgument_vals
), 0,
1960 { &hf_dsp_unsignedChainedListArgument
,
1961 { "unsignedChainedListArgument", "dsp.unsignedChainedListArgument_element",
1962 FT_NONE
, BASE_NONE
, NULL
, 0,
1963 "ChainedListArgumentData", HFILL
}},
1964 { &hf_dsp_signedChainedListArgument
,
1965 { "signedChainedListArgument", "dsp.signedChainedListArgument_element",
1966 FT_NONE
, BASE_NONE
, NULL
, 0,
1968 { &hf_dsp_chainedListArgument
,
1969 { "chainedListArgument", "dsp.chainedListArgument_element",
1970 FT_NONE
, BASE_NONE
, NULL
, 0,
1971 "ChainedListArgumentData", HFILL
}},
1972 { &hf_dsp_listResult
,
1973 { "listResult", "dsp.listResult",
1974 FT_UINT32
, BASE_DEC
, VALS(dap_ListResult_vals
), 0,
1976 { &hf_dsp_unsignedChainedListResult
,
1977 { "unsignedChainedListResult", "dsp.unsignedChainedListResult_element",
1978 FT_NONE
, BASE_NONE
, NULL
, 0,
1979 "ChainedListResultData", HFILL
}},
1980 { &hf_dsp_signedChainedListResult
,
1981 { "signedChainedListResult", "dsp.signedChainedListResult_element",
1982 FT_NONE
, BASE_NONE
, NULL
, 0,
1984 { &hf_dsp_chainedListResult
,
1985 { "chainedListResult", "dsp.chainedListResult_element",
1986 FT_NONE
, BASE_NONE
, NULL
, 0,
1987 "ChainedListResultData", HFILL
}},
1988 { &hf_dsp_searchArgument
,
1989 { "searchArgument", "dsp.searchArgument",
1990 FT_UINT32
, BASE_DEC
, VALS(dap_SearchArgument_vals
), 0,
1992 { &hf_dsp_unsignedChainedSearchArgument
,
1993 { "unsignedChainedSearchArgument", "dsp.unsignedChainedSearchArgument_element",
1994 FT_NONE
, BASE_NONE
, NULL
, 0,
1995 "ChainedSearchArgumentData", HFILL
}},
1996 { &hf_dsp_signedChainedSearchArgument
,
1997 { "signedChainedSearchArgument", "dsp.signedChainedSearchArgument_element",
1998 FT_NONE
, BASE_NONE
, NULL
, 0,
2000 { &hf_dsp_chainedSearchArgument
,
2001 { "chainedSearchArgument", "dsp.chainedSearchArgument_element",
2002 FT_NONE
, BASE_NONE
, NULL
, 0,
2003 "ChainedSearchArgumentData", HFILL
}},
2004 { &hf_dsp_searchResult
,
2005 { "searchResult", "dsp.searchResult",
2006 FT_UINT32
, BASE_DEC
, VALS(dap_SearchResult_vals
), 0,
2008 { &hf_dsp_unsignedChainedSearchResult
,
2009 { "unsignedChainedSearchResult", "dsp.unsignedChainedSearchResult_element",
2010 FT_NONE
, BASE_NONE
, NULL
, 0,
2011 "ChainedSearchResultData", HFILL
}},
2012 { &hf_dsp_signedChainedSearchResult
,
2013 { "signedChainedSearchResult", "dsp.signedChainedSearchResult_element",
2014 FT_NONE
, BASE_NONE
, NULL
, 0,
2016 { &hf_dsp_chainedSearchResult
,
2017 { "chainedSearchResult", "dsp.chainedSearchResult_element",
2018 FT_NONE
, BASE_NONE
, NULL
, 0,
2019 "ChainedSearchResultData", HFILL
}},
2020 { &hf_dsp_addEntryArgument
,
2021 { "addEntryArgument", "dsp.addEntryArgument",
2022 FT_UINT32
, BASE_DEC
, VALS(dap_AddEntryArgument_vals
), 0,
2024 { &hf_dsp_unsignedChainedAddEntryArgument
,
2025 { "unsignedChainedAddEntryArgument", "dsp.unsignedChainedAddEntryArgument_element",
2026 FT_NONE
, BASE_NONE
, NULL
, 0,
2027 "ChainedAddEntryArgumentData", HFILL
}},
2028 { &hf_dsp_signedChainedAddEntryArgument
,
2029 { "signedChainedAddEntryArgument", "dsp.signedChainedAddEntryArgument_element",
2030 FT_NONE
, BASE_NONE
, NULL
, 0,
2032 { &hf_dsp_chainedAddEntryArgument
,
2033 { "chainedAddEntryArgument", "dsp.chainedAddEntryArgument_element",
2034 FT_NONE
, BASE_NONE
, NULL
, 0,
2035 "ChainedAddEntryArgumentData", HFILL
}},
2036 { &hf_dsp_addEntryResult
,
2037 { "addEntryResult", "dsp.addEntryResult",
2038 FT_UINT32
, BASE_DEC
, VALS(dap_AddEntryResult_vals
), 0,
2040 { &hf_dsp_unsignedChainedAddEntryResult
,
2041 { "unsignedChainedAddEntryResult", "dsp.unsignedChainedAddEntryResult_element",
2042 FT_NONE
, BASE_NONE
, NULL
, 0,
2043 "ChainedAddEntryResultData", HFILL
}},
2044 { &hf_dsp_signedChainedAddEntryResult
,
2045 { "signedChainedAddEntryResult", "dsp.signedChainedAddEntryResult_element",
2046 FT_NONE
, BASE_NONE
, NULL
, 0,
2048 { &hf_dsp_chainedAddEntryResult
,
2049 { "chainedAddEntryResult", "dsp.chainedAddEntryResult_element",
2050 FT_NONE
, BASE_NONE
, NULL
, 0,
2051 "ChainedAddEntryResultData", HFILL
}},
2052 { &hf_dsp_removeEntryArgument
,
2053 { "removeEntryArgument", "dsp.removeEntryArgument",
2054 FT_UINT32
, BASE_DEC
, VALS(dap_RemoveEntryArgument_vals
), 0,
2056 { &hf_dsp_unsignedChainedRemoveEntryArgument
,
2057 { "unsignedChainedRemoveEntryArgument", "dsp.unsignedChainedRemoveEntryArgument_element",
2058 FT_NONE
, BASE_NONE
, NULL
, 0,
2059 "ChainedRemoveEntryArgumentData", HFILL
}},
2060 { &hf_dsp_signedChainedRemoveEntryArgument
,
2061 { "signedChainedRemoveEntryArgument", "dsp.signedChainedRemoveEntryArgument_element",
2062 FT_NONE
, BASE_NONE
, NULL
, 0,
2064 { &hf_dsp_chainedRemoveEntryArgument
,
2065 { "chainedRemoveEntryArgument", "dsp.chainedRemoveEntryArgument_element",
2066 FT_NONE
, BASE_NONE
, NULL
, 0,
2067 "ChainedRemoveEntryArgumentData", HFILL
}},
2068 { &hf_dsp_removeEntryResult
,
2069 { "removeEntryResult", "dsp.removeEntryResult",
2070 FT_UINT32
, BASE_DEC
, VALS(dap_RemoveEntryResult_vals
), 0,
2072 { &hf_dsp_unsignedChainedRemoveEntryResult
,
2073 { "unsignedChainedRemoveEntryResult", "dsp.unsignedChainedRemoveEntryResult_element",
2074 FT_NONE
, BASE_NONE
, NULL
, 0,
2075 "ChainedRemoveEntryResultData", HFILL
}},
2076 { &hf_dsp_signedChainedRemoveEntryResult
,
2077 { "signedChainedRemoveEntryResult", "dsp.signedChainedRemoveEntryResult_element",
2078 FT_NONE
, BASE_NONE
, NULL
, 0,
2080 { &hf_dsp_chainedRemoveEntryResult
,
2081 { "chainedRemoveEntryResult", "dsp.chainedRemoveEntryResult_element",
2082 FT_NONE
, BASE_NONE
, NULL
, 0,
2083 "ChainedRemoveEntryResultData", HFILL
}},
2084 { &hf_dsp_modifyEntryArgument
,
2085 { "modifyEntryArgument", "dsp.modifyEntryArgument",
2086 FT_UINT32
, BASE_DEC
, VALS(dap_ModifyEntryArgument_vals
), 0,
2088 { &hf_dsp_unsignedChainedModifyEntryArgument
,
2089 { "unsignedChainedModifyEntryArgument", "dsp.unsignedChainedModifyEntryArgument_element",
2090 FT_NONE
, BASE_NONE
, NULL
, 0,
2091 "ChainedModifyEntryArgumentData", HFILL
}},
2092 { &hf_dsp_signedChainedModifyEntryArgument
,
2093 { "signedChainedModifyEntryArgument", "dsp.signedChainedModifyEntryArgument_element",
2094 FT_NONE
, BASE_NONE
, NULL
, 0,
2096 { &hf_dsp_chainedModifyEntryArgument
,
2097 { "chainedModifyEntryArgument", "dsp.chainedModifyEntryArgument_element",
2098 FT_NONE
, BASE_NONE
, NULL
, 0,
2099 "ChainedModifyEntryArgumentData", HFILL
}},
2100 { &hf_dsp_modifyEntryResult
,
2101 { "modifyEntryResult", "dsp.modifyEntryResult",
2102 FT_UINT32
, BASE_DEC
, VALS(dap_ModifyEntryResult_vals
), 0,
2104 { &hf_dsp_unsignedChainedModifyEntryResult
,
2105 { "unsignedChainedModifyEntryResult", "dsp.unsignedChainedModifyEntryResult_element",
2106 FT_NONE
, BASE_NONE
, NULL
, 0,
2107 "ChainedModifyEntryResultData", HFILL
}},
2108 { &hf_dsp_signedChainedModifyEntryResult
,
2109 { "signedChainedModifyEntryResult", "dsp.signedChainedModifyEntryResult_element",
2110 FT_NONE
, BASE_NONE
, NULL
, 0,
2112 { &hf_dsp_chainedModifyEntryResult
,
2113 { "chainedModifyEntryResult", "dsp.chainedModifyEntryResult_element",
2114 FT_NONE
, BASE_NONE
, NULL
, 0,
2115 "ChainedModifyEntryResultData", HFILL
}},
2116 { &hf_dsp_modifyDNArgument
,
2117 { "modifyDNArgument", "dsp.modifyDNArgument_element",
2118 FT_NONE
, BASE_NONE
, NULL
, 0,
2120 { &hf_dsp_unsignedChainedModifyDNArgument
,
2121 { "unsignedChainedModifyDNArgument", "dsp.unsignedChainedModifyDNArgument_element",
2122 FT_NONE
, BASE_NONE
, NULL
, 0,
2123 "ChainedModifyDNArgumentData", HFILL
}},
2124 { &hf_dsp_signedChainedModifyDNArgument
,
2125 { "signedChainedModifyDNArgument", "dsp.signedChainedModifyDNArgument_element",
2126 FT_NONE
, BASE_NONE
, NULL
, 0,
2128 { &hf_dsp_chainedModifyDNArgument
,
2129 { "chainedModifyDNArgument", "dsp.chainedModifyDNArgument_element",
2130 FT_NONE
, BASE_NONE
, NULL
, 0,
2131 "ChainedModifyDNArgumentData", HFILL
}},
2132 { &hf_dsp_modifyDNResult
,
2133 { "modifyDNResult", "dsp.modifyDNResult",
2134 FT_UINT32
, BASE_DEC
, VALS(dap_ModifyDNResult_vals
), 0,
2136 { &hf_dsp_unsignedChainedModifyDNResult
,
2137 { "unsignedChainedModifyDNResult", "dsp.unsignedChainedModifyDNResult_element",
2138 FT_NONE
, BASE_NONE
, NULL
, 0,
2139 "ChainedModifyDNResultData", HFILL
}},
2140 { &hf_dsp_signedChainedModifyDNResult
,
2141 { "signedChainedModifyDNResult", "dsp.signedChainedModifyDNResult_element",
2142 FT_NONE
, BASE_NONE
, NULL
, 0,
2144 { &hf_dsp_chainedModifyDNResult
,
2145 { "chainedModifyDNResult", "dsp.chainedModifyDNResult_element",
2146 FT_NONE
, BASE_NONE
, NULL
, 0,
2147 "ChainedModifyDNResultData", HFILL
}},
2148 { &hf_dsp_reference
,
2149 { "reference", "dsp.reference_element",
2150 FT_NONE
, BASE_NONE
, NULL
, 0,
2151 "ContinuationReference", HFILL
}},
2152 { &hf_dsp_contextPrefix
,
2153 { "contextPrefix", "dsp.contextPrefix",
2154 FT_UINT32
, BASE_DEC
, NULL
, 0,
2155 "DistinguishedName", HFILL
}},
2156 { &hf_dsp_securityParameters
,
2157 { "securityParameters", "dsp.securityParameters_element",
2158 FT_NONE
, BASE_NONE
, NULL
, 0,
2160 { &hf_dsp_performer
,
2161 { "performer", "dsp.performer",
2162 FT_UINT32
, BASE_DEC
, NULL
, 0,
2163 "DistinguishedName", HFILL
}},
2164 { &hf_dsp_aliasDereferenced
,
2165 { "aliasDereferenced", "dsp.aliasDereferenced",
2166 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
2167 "BOOLEAN", HFILL
}},
2168 { &hf_dsp_notification
,
2169 { "notification", "dsp.notification",
2170 FT_UINT32
, BASE_DEC
, NULL
, 0,
2171 "SEQUENCE_OF_Attribute", HFILL
}},
2172 { &hf_dsp_notification_item
,
2173 { "Attribute", "dsp.Attribute_element",
2174 FT_NONE
, BASE_NONE
, NULL
, 0,
2176 { &hf_dsp_unsignedDSAReferral
,
2177 { "unsignedDSAReferral", "dsp.unsignedDSAReferral_element",
2178 FT_NONE
, BASE_NONE
, NULL
, 0,
2179 "DSAReferralData", HFILL
}},
2180 { &hf_dsp_signedDSAReferral
,
2181 { "signedDSAReferral", "dsp.signedDSAReferral_element",
2182 FT_NONE
, BASE_NONE
, NULL
, 0,
2184 { &hf_dsp_dsaReferral
,
2185 { "dsaReferral", "dsp.dsaReferral_element",
2186 FT_NONE
, BASE_NONE
, NULL
, 0,
2187 "DSAReferralData", HFILL
}},
2188 { &hf_dsp_originator
,
2189 { "originator", "dsp.originator",
2190 FT_UINT32
, BASE_DEC
, NULL
, 0,
2191 "DistinguishedName", HFILL
}},
2192 { &hf_dsp_targetObjectDN
,
2193 { "targetObject", "dsp.targetObject",
2194 FT_UINT32
, BASE_DEC
, NULL
, 0,
2195 "DistinguishedName", HFILL
}},
2196 { &hf_dsp_operationProgress
,
2197 { "operationProgress", "dsp.operationProgress_element",
2198 FT_NONE
, BASE_NONE
, NULL
, 0,
2200 { &hf_dsp_traceInformation
,
2201 { "traceInformation", "dsp.traceInformation",
2202 FT_UINT32
, BASE_DEC
, NULL
, 0,
2204 { &hf_dsp_aliasedRDNs
,
2205 { "aliasedRDNs", "dsp.aliasedRDNs",
2206 FT_INT32
, BASE_DEC
, NULL
, 0,
2207 "INTEGER", HFILL
}},
2208 { &hf_dsp_returnCrossRefs
,
2209 { "returnCrossRefs", "dsp.returnCrossRefs",
2210 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
2211 "BOOLEAN", HFILL
}},
2212 { &hf_dsp_referenceType
,
2213 { "referenceType", "dsp.referenceType",
2214 FT_UINT32
, BASE_DEC
, VALS(dsp_ReferenceType_vals
), 0,
2217 { "info", "dsp.info",
2218 FT_OID
, BASE_NONE
, NULL
, 0,
2219 "DomainInfo", HFILL
}},
2220 { &hf_dsp_timeLimit
,
2221 { "timeLimit", "dsp.timeLimit",
2222 FT_UINT32
, BASE_DEC
, VALS(dsp_Time_vals
), 0,
2224 { &hf_dsp_entryOnly
,
2225 { "entryOnly", "dsp.entryOnly",
2226 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
2227 "BOOLEAN", HFILL
}},
2228 { &hf_dsp_uniqueIdentifier
,
2229 { "uniqueIdentifier", "dsp.uniqueIdentifier",
2230 FT_BYTES
, BASE_NONE
, NULL
, 0,
2232 { &hf_dsp_authenticationLevel
,
2233 { "authenticationLevel", "dsp.authenticationLevel",
2234 FT_UINT32
, BASE_DEC
, VALS(dsp_AuthenticationLevel_vals
), 0,
2236 { &hf_dsp_exclusions
,
2237 { "exclusions", "dsp.exclusions",
2238 FT_UINT32
, BASE_DEC
, NULL
, 0,
2240 { &hf_dsp_excludeShadows
,
2241 { "excludeShadows", "dsp.excludeShadows",
2242 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
2243 "BOOLEAN", HFILL
}},
2244 { &hf_dsp_nameResolveOnMaster
,
2245 { "nameResolveOnMaster", "dsp.nameResolveOnMaster",
2246 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
2247 "BOOLEAN", HFILL
}},
2248 { &hf_dsp_operationIdentifier
,
2249 { "operationIdentifier", "dsp.operationIdentifier",
2250 FT_INT32
, BASE_DEC
, NULL
, 0,
2251 "INTEGER", HFILL
}},
2252 { &hf_dsp_searchRuleId
,
2253 { "searchRuleId", "dsp.searchRuleId_element",
2254 FT_NONE
, BASE_NONE
, NULL
, 0,
2256 { &hf_dsp_chainedRelaxation
,
2257 { "chainedRelaxation", "dsp.chainedRelaxation_element",
2258 FT_NONE
, BASE_NONE
, NULL
, 0,
2259 "MRMapping", HFILL
}},
2260 { &hf_dsp_relatedEntry
,
2261 { "relatedEntry", "dsp.relatedEntry",
2262 FT_INT32
, BASE_DEC
, NULL
, 0,
2263 "INTEGER", HFILL
}},
2264 { &hf_dsp_dspPaging
,
2265 { "dspPaging", "dsp.dspPaging",
2266 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
2267 "BOOLEAN", HFILL
}},
2268 { &hf_dsp_nonDapPdu
,
2269 { "nonDapPdu", "dsp.nonDapPdu",
2270 FT_UINT32
, BASE_DEC
, VALS(dsp_T_nonDapPdu_vals
), 0,
2272 { &hf_dsp_streamedResults
,
2273 { "streamedResults", "dsp.streamedResults",
2274 FT_INT32
, BASE_DEC
, NULL
, 0,
2275 "INTEGER", HFILL
}},
2276 { &hf_dsp_excludeWriteableCopies
,
2277 { "excludeWriteableCopies", "dsp.excludeWriteableCopies",
2278 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
2279 "BOOLEAN", HFILL
}},
2281 { "utcTime", "dsp.utcTime",
2282 FT_STRING
, BASE_NONE
, NULL
, 0,
2284 { &hf_dsp_generalizedTime
,
2285 { "generalizedTime", "dsp.generalizedTime",
2286 FT_ABSOLUTE_TIME
, ABSOLUTE_TIME_LOCAL
, NULL
, 0,
2288 { &hf_dsp_crossReferences
,
2289 { "crossReferences", "dsp.crossReferences",
2290 FT_UINT32
, BASE_DEC
, NULL
, 0,
2291 "SEQUENCE_OF_CrossReference", HFILL
}},
2292 { &hf_dsp_crossReferences_item
,
2293 { "CrossReference", "dsp.CrossReference_element",
2294 FT_NONE
, BASE_NONE
, NULL
, 0,
2296 { &hf_dsp_alreadySearched
,
2297 { "alreadySearched", "dsp.alreadySearched",
2298 FT_UINT32
, BASE_DEC
, NULL
, 0,
2299 "Exclusions", HFILL
}},
2300 { &hf_dsp_accessPoint
,
2301 { "accessPoint", "dsp.accessPoint_element",
2302 FT_NONE
, BASE_NONE
, NULL
, 0,
2303 "AccessPointInformation", HFILL
}},
2304 { &hf_dsp_nameResolutionPhase
,
2305 { "nameResolutionPhase", "dsp.nameResolutionPhase",
2306 FT_UINT32
, BASE_DEC
, VALS(dsp_T_nameResolutionPhase_vals
), 0,
2308 { &hf_dsp_nextRDNToBeResolved
,
2309 { "nextRDNToBeResolved", "dsp.nextRDNToBeResolved",
2310 FT_INT32
, BASE_DEC
, NULL
, 0,
2311 "INTEGER", HFILL
}},
2312 { &hf_dsp_TraceInformation_item
,
2313 { "TraceItem", "dsp.TraceItem_element",
2314 FT_NONE
, BASE_NONE
, NULL
, 0,
2318 FT_UINT32
, BASE_DEC
, VALS(x509if_Name_vals
), 0,
2320 { &hf_dsp_targetObject
,
2321 { "targetObject", "dsp.targetObject",
2322 FT_UINT32
, BASE_DEC
, VALS(x509if_Name_vals
), 0,
2325 { "ae-title", "dsp.ae_title",
2326 FT_UINT32
, BASE_DEC
, VALS(x509if_Name_vals
), 0,
2329 { "address", "dsp.address_element",
2330 FT_NONE
, BASE_NONE
, NULL
, 0,
2331 "PresentationAddress", HFILL
}},
2332 { &hf_dsp_protocolInformation
,
2333 { "protocolInformation", "dsp.protocolInformation",
2334 FT_UINT32
, BASE_DEC
, NULL
, 0,
2335 "SET_OF_ProtocolInformation", HFILL
}},
2336 { &hf_dsp_protocolInformation_item
,
2337 { "ProtocolInformation", "dsp.ProtocolInformation_element",
2338 FT_NONE
, BASE_NONE
, NULL
, 0,
2340 { &hf_dsp_labeledURI
,
2341 { "labeledURI", "dsp.labeledURI",
2342 FT_UINT32
, BASE_DEC
, VALS(x509sat_DirectoryString_vals
), 0,
2344 { &hf_dsp_access_point_category
,
2345 { "category", "dsp.category",
2346 FT_UINT32
, BASE_DEC
, VALS(dsp_APCategory_vals
), 0,
2347 "APCategory", HFILL
}},
2348 { &hf_dsp_chainingRequired
,
2349 { "chainingRequired", "dsp.chainingRequired",
2350 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
2351 "BOOLEAN", HFILL
}},
2352 { &hf_dsp_MasterAndShadowAccessPoints_item
,
2353 { "MasterOrShadowAccessPoint", "dsp.MasterOrShadowAccessPoint_element",
2354 FT_NONE
, BASE_NONE
, NULL
, 0,
2357 { "category", "dsp.category",
2358 FT_UINT32
, BASE_DEC
, VALS(dsp_T_category_vals
), 0,
2360 { &hf_dsp_additionalPoints
,
2361 { "additionalPoints", "dsp.additionalPoints",
2362 FT_UINT32
, BASE_DEC
, NULL
, 0,
2363 "MasterAndShadowAccessPoints", HFILL
}},
2364 { &hf_dsp_domainLocalID
,
2365 { "domainLocalID", "dsp.domainLocalID",
2366 FT_UINT32
, BASE_DEC
, VALS(x509sat_DirectoryString_vals
), 0,
2367 "DirectoryString", HFILL
}},
2368 { &hf_dsp_accessPoints
,
2369 { "accessPoints", "dsp.accessPoints",
2370 FT_UINT32
, BASE_DEC
, NULL
, 0,
2371 "MasterAndShadowAccessPoints", HFILL
}},
2372 { &hf_dsp_Exclusions_item
,
2373 { "RDNSequence", "dsp.RDNSequence",
2374 FT_UINT32
, BASE_DEC
, NULL
, 0,
2376 { &hf_dsp_rdnsResolved
,
2377 { "rdnsResolved", "dsp.rdnsResolved",
2378 FT_INT32
, BASE_DEC
, NULL
, 0,
2379 "INTEGER", HFILL
}},
2380 { &hf_dsp_accessPoints_01
,
2381 { "accessPoints", "dsp.accessPoints",
2382 FT_UINT32
, BASE_DEC
, NULL
, 0,
2383 "SET_OF_AccessPointInformation", HFILL
}},
2384 { &hf_dsp_accessPoints_item
,
2385 { "AccessPointInformation", "dsp.AccessPointInformation_element",
2386 FT_NONE
, BASE_NONE
, NULL
, 0,
2388 { &hf_dsp_returnToDUA
,
2389 { "returnToDUA", "dsp.returnToDUA",
2390 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
2391 "BOOLEAN", HFILL
}},
2392 { &hf_dsp_basicLevels
,
2393 { "basicLevels", "dsp.basicLevels_element",
2394 FT_NONE
, BASE_NONE
, NULL
, 0,
2397 { "level", "dsp.level",
2398 FT_UINT32
, BASE_DEC
, VALS(dsp_T_level_vals
), 0,
2400 { &hf_dsp_localQualifier
,
2401 { "localQualifier", "dsp.localQualifier",
2402 FT_INT32
, BASE_DEC
, NULL
, 0,
2403 "INTEGER", HFILL
}},
2405 { "signed", "dsp.signed",
2406 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
2407 "BOOLEAN", HFILL
}},
2409 { "other", "dsp.other_element",
2410 FT_NONE
, BASE_NONE
, NULL
, 0,
2411 "EXTERNAL", HFILL
}},
2414 /* List of subtrees */
2415 static int *ett
[] = {
2417 &ett_dsp_ChainedReadArgumentData
,
2418 &ett_dsp_ChainedReadArgument
,
2419 &ett_dsp_T_signedChainedReadArgument
,
2420 &ett_dsp_ChainedReadResultData
,
2421 &ett_dsp_ChainedReadResult
,
2422 &ett_dsp_T_signedChainedReadResult
,
2423 &ett_dsp_ChainedCompareArgumentData
,
2424 &ett_dsp_ChainedCompareArgument
,
2425 &ett_dsp_T_signedChainedCompareArgument
,
2426 &ett_dsp_ChainedCompareResultData
,
2427 &ett_dsp_ChainedCompareResult
,
2428 &ett_dsp_T_signedChainedCompareResult
,
2429 &ett_dsp_ChainedListArgumentData
,
2430 &ett_dsp_ChainedListArgument
,
2431 &ett_dsp_T_signedChainedListArgument
,
2432 &ett_dsp_ChainedListResultData
,
2433 &ett_dsp_ChainedListResult
,
2434 &ett_dsp_T_signedChainedListResult
,
2435 &ett_dsp_ChainedSearchArgumentData
,
2436 &ett_dsp_ChainedSearchArgument
,
2437 &ett_dsp_T_signedChainedSearchArgument
,
2438 &ett_dsp_ChainedSearchResultData
,
2439 &ett_dsp_ChainedSearchResult
,
2440 &ett_dsp_T_signedChainedSearchResult
,
2441 &ett_dsp_ChainedAddEntryArgumentData
,
2442 &ett_dsp_ChainedAddEntryArgument
,
2443 &ett_dsp_T_signedChainedAddEntryArgument
,
2444 &ett_dsp_ChainedAddEntryResultData
,
2445 &ett_dsp_ChainedAddEntryResult
,
2446 &ett_dsp_T_signedChainedAddEntryResult
,
2447 &ett_dsp_ChainedRemoveEntryArgumentData
,
2448 &ett_dsp_ChainedRemoveEntryArgument
,
2449 &ett_dsp_T_signedChainedRemoveEntryArgument
,
2450 &ett_dsp_ChainedRemoveEntryResultData
,
2451 &ett_dsp_ChainedRemoveEntryResult
,
2452 &ett_dsp_T_signedChainedRemoveEntryResult
,
2453 &ett_dsp_ChainedModifyEntryArgumentData
,
2454 &ett_dsp_ChainedModifyEntryArgument
,
2455 &ett_dsp_T_signedChainedModifyEntryArgument
,
2456 &ett_dsp_ChainedModifyEntryResultData
,
2457 &ett_dsp_ChainedModifyEntryResult
,
2458 &ett_dsp_T_signedChainedModifyEntryResult
,
2459 &ett_dsp_ChainedModifyDNArgumentData
,
2460 &ett_dsp_ChainedModifyDNArgument
,
2461 &ett_dsp_T_signedChainedModifyDNArgument
,
2462 &ett_dsp_ChainedModifyDNResultData
,
2463 &ett_dsp_ChainedModifyDNResult
,
2464 &ett_dsp_T_signedChainedModifyDNResult
,
2465 &ett_dsp_DSAReferralData
,
2466 &ett_dsp_SEQUENCE_OF_Attribute
,
2467 &ett_dsp_DSAReferral
,
2468 &ett_dsp_T_signedDSAReferral
,
2469 &ett_dsp_ChainingArguments
,
2471 &ett_dsp_ChainingResults
,
2472 &ett_dsp_SEQUENCE_OF_CrossReference
,
2473 &ett_dsp_CrossReference
,
2474 &ett_dsp_OperationProgress
,
2475 &ett_dsp_TraceInformation
,
2477 &ett_dsp_AccessPoint
,
2478 &ett_dsp_SET_OF_ProtocolInformation
,
2479 &ett_dsp_MasterOrShadowAccessPoint
,
2480 &ett_dsp_MasterAndShadowAccessPoints
,
2481 &ett_dsp_AccessPointInformation
,
2482 &ett_dsp_DitBridgeKnowledge
,
2483 &ett_dsp_Exclusions
,
2484 &ett_dsp_ContinuationReference
,
2485 &ett_dsp_SET_OF_AccessPointInformation
,
2486 &ett_dsp_AuthenticationLevel
,
2487 &ett_dsp_T_basicLevels
,
2489 static ei_register_info ei
[] = {
2490 { &ei_dsp_unsupported_opcode
, { "dsp.unsupported_opcode", PI_UNDECODED
, PI_WARN
, "Unsupported DSP opcode", EXPFILL
}},
2491 { &ei_dsp_unsupported_errcode
, { "dsp.unsupported_errcode", PI_UNDECODED
, PI_WARN
, "Unsupported DSP errcode", EXPFILL
}},
2492 { &ei_dsp_unsupported_pdu
, { "dsp.unsupported_pdu", PI_UNDECODED
, PI_WARN
, "Unsupported DSP PDU", EXPFILL
}},
2493 { &ei_dsp_zero_pdu
, { "dsp.zero_pdu", PI_PROTOCOL
, PI_ERROR
, "Internal error, zero-byte DSP PDU", EXPFILL
}},
2496 module_t
*dsp_module
;
2497 expert_module_t
* expert_dsp
;
2499 /* Register protocol */
2500 proto_dsp
= proto_register_protocol(PNAME
, PSNAME
, PFNAME
);
2502 dsp_handle
= register_dissector("dsp", dissect_dsp
, proto_dsp
);
2504 /* Register fields and subtrees */
2505 proto_register_field_array(proto_dsp
, hf
, array_length(hf
));
2506 proto_register_subtree_array(ett
, array_length(ett
));
2507 expert_dsp
= expert_register_protocol(proto_dsp
);
2508 expert_register_field_array(expert_dsp
, ei
, array_length(ei
));
2510 /* Register our configuration options for DSP, particularly our port */
2512 dsp_module
= prefs_register_protocol_subtree("OSI/X.500", proto_dsp
, NULL
);
2514 prefs_register_obsolete_preference(dsp_module
, "tcp.port");
2516 prefs_register_static_text_preference(dsp_module
, "tcp_port_info",
2517 "The TCP ports used by the DSP protocol should be added to the TPKT preference \"TPKT TCP ports\", or by selecting \"TPKT\" as the \"Transport\" protocol in the \"Decode As\" dialog.",
2518 "DSP TCP Port preference moved information");
2523 /*--- proto_reg_handoff_dsp --- */
2524 void proto_reg_handoff_dsp(void) {
2525 register_ber_oid_dissector("2.5.12.1", dissect_AccessPoint_PDU
, proto_dsp
, "id-doa-myAccessPoint");
2526 register_ber_oid_dissector("2.5.12.2", dissect_AccessPoint_PDU
, proto_dsp
, "id-doa-superiorKnowledge");
2527 register_ber_oid_dissector("2.5.12.3", dissect_MasterAndShadowAccessPoints_PDU
, proto_dsp
, "id-doa-specificKnowledge");
2528 register_ber_oid_dissector("2.5.12.4", dissect_MasterAndShadowAccessPoints_PDU
, proto_dsp
, "id-doa-nonSpecificKnowledge");
2529 register_ber_oid_dissector("2.5.12.8", dissect_DitBridgeKnowledge_PDU
, proto_dsp
, "id-doa-ditBridgeKnowledge");
2532 /* APPLICATION CONTEXT */
2534 oid_add_from_string("id-ac-directory-system","2.5.3.2");
2536 /* ABSTRACT SYNTAXES */
2538 /* Register DSP with ROS (with no use of RTSE) */
2539 register_ros_oid_dissector_handle("2.5.9.2", dsp_handle
, 0, "id-as-directory-system", false);