1 /* Do not modify this file. Changes will be overwritten. */
2 /* Generated automatically by the ASN.1 to Wireshark dissector compiler */
4 /* ../../tools/asn2wrs.py -b -p dop -c ./dop.cnf -s ./packet-dop-template -D . -O ../../epan/dissectors dop.asn */
6 /* Input file: packet-dop-template.c */
8 #line 1 "../../asn1/dop/packet-dop-template.c"
10 * Routines for X.501 (DSA Operational Attributes) packet dissection
15 * Wireshark - Network traffic analyzer
16 * By Gerald Combs <gerald@wireshark.org>
17 * Copyright 1998 Gerald Combs
19 * This program is free software; you can redistribute it and/or
20 * modify it under the terms of the GNU General Public License
21 * as published by the Free Software Foundation; either version 2
22 * of the License, or (at your option) any later version.
24 * This program is distributed in the hope that it will be useful,
25 * but WITHOUT ANY WARRANTY; without even the implied warranty of
26 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
27 * GNU General Public License for more details.
29 * You should have received a copy of the GNU General Public License
30 * along with this program; if not, write to the Free Software
31 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
37 #include <epan/packet.h>
38 #include <epan/prefs.h>
39 #include <epan/oids.h>
40 #include <epan/asn1.h>
41 #include <epan/expert.h>
42 #include <epan/wmem/wmem.h>
44 #include "packet-ber.h"
45 #include "packet-acse.h"
46 #include "packet-ros.h"
48 #include "packet-x509sat.h"
49 #include "packet-x509af.h"
50 #include "packet-x509if.h"
51 #include "packet-dap.h"
52 #include "packet-dsp.h"
53 #include "packet-crmf.h"
56 #include "packet-dop.h"
58 #define PNAME "X.501 Directory Operational Binding Management Protocol"
62 static guint global_dop_tcp_port
= 102;
63 static dissector_handle_t tpkt_handle
;
64 static void prefs_register_dop(void); /* forward declaration for use in preferences registration */
66 /* Initialize the protocol and registered fields */
67 static int proto_dop
= -1;
69 static const char *binding_type
= NULL
; /* binding_type */
71 static int call_dop_oid_callback(const char *base_string
, tvbuff_t
*tvb
, int offset
, packet_info
*pinfo
, proto_tree
*tree
, const char *col_info
, void* data
);
74 /*--- Included file: packet-dop-hf.c ---*/
75 #line 1 "../../asn1/dop/packet-dop-hf.c"
76 static int hf_dop_DSEType_PDU
= -1; /* DSEType */
77 static int hf_dop_SupplierInformation_PDU
= -1; /* SupplierInformation */
78 static int hf_dop_ConsumerInformation_PDU
= -1; /* ConsumerInformation */
79 static int hf_dop_SupplierAndConsumers_PDU
= -1; /* SupplierAndConsumers */
80 static int hf_dop_HierarchicalAgreement_PDU
= -1; /* HierarchicalAgreement */
81 static int hf_dop_SuperiorToSubordinate_PDU
= -1; /* SuperiorToSubordinate */
82 static int hf_dop_SubordinateToSuperior_PDU
= -1; /* SubordinateToSuperior */
83 static int hf_dop_SuperiorToSubordinateModification_PDU
= -1; /* SuperiorToSubordinateModification */
84 static int hf_dop_NonSpecificHierarchicalAgreement_PDU
= -1; /* NonSpecificHierarchicalAgreement */
85 static int hf_dop_NHOBSuperiorToSubordinate_PDU
= -1; /* NHOBSuperiorToSubordinate */
86 static int hf_dop_NHOBSubordinateToSuperior_PDU
= -1; /* NHOBSubordinateToSuperior */
87 static int hf_dop_ACIItem_PDU
= -1; /* ACIItem */
88 static int hf_dop_ae_title
= -1; /* Name */
89 static int hf_dop_address
= -1; /* PresentationAddress */
90 static int hf_dop_protocolInformation
= -1; /* SET_OF_ProtocolInformation */
91 static int hf_dop_protocolInformation_item
= -1; /* ProtocolInformation */
92 static int hf_dop_agreementID
= -1; /* OperationalBindingID */
93 static int hf_dop_supplier_is_master
= -1; /* BOOLEAN */
94 static int hf_dop_non_supplying_master
= -1; /* AccessPoint */
95 static int hf_dop_consumers
= -1; /* SET_OF_AccessPoint */
96 static int hf_dop_consumers_item
= -1; /* AccessPoint */
97 static int hf_dop_bindingType
= -1; /* BindingType */
98 static int hf_dop_bindingID
= -1; /* OperationalBindingID */
99 static int hf_dop_accessPoint
= -1; /* AccessPoint */
100 static int hf_dop_establishInitiator
= -1; /* EstablishArgumentInitiator */
101 static int hf_dop_establishSymmetric
= -1; /* EstablishSymmetric */
102 static int hf_dop_establishRoleAInitiates
= -1; /* EstablishRoleAInitiates */
103 static int hf_dop_establishRoleBInitiates
= -1; /* EstablishRoleBInitiates */
104 static int hf_dop_agreement
= -1; /* T_agreement */
105 static int hf_dop_valid
= -1; /* Validity */
106 static int hf_dop_securityParameters
= -1; /* SecurityParameters */
107 static int hf_dop_unsignedEstablishOperationalBindingArgument
= -1; /* EstablishOperationalBindingArgumentData */
108 static int hf_dop_signedEstablishOperationalBindingArgument
= -1; /* T_signedEstablishOperationalBindingArgument */
109 static int hf_dop_establishOperationalBindingArgument
= -1; /* EstablishOperationalBindingArgumentData */
110 static int hf_dop_algorithmIdentifier
= -1; /* AlgorithmIdentifier */
111 static int hf_dop_encrypted
= -1; /* BIT_STRING */
112 static int hf_dop_identifier
= -1; /* T_identifier */
113 static int hf_dop_version
= -1; /* T_version */
114 static int hf_dop_validFrom
= -1; /* T_validFrom */
115 static int hf_dop_now
= -1; /* NULL */
116 static int hf_dop_time
= -1; /* Time */
117 static int hf_dop_validUntil
= -1; /* T_validUntil */
118 static int hf_dop_explicitTermination
= -1; /* NULL */
119 static int hf_dop_utcTime
= -1; /* UTCTime */
120 static int hf_dop_generalizedTime
= -1; /* GeneralizedTime */
121 static int hf_dop_initiator
= -1; /* T_initiator */
122 static int hf_dop_symmetric
= -1; /* T_symmetric */
123 static int hf_dop_roleA_replies
= -1; /* T_roleA_replies */
124 static int hf_dop_roleB_replies
= -1; /* T_roleB_replies */
125 static int hf_dop_performer
= -1; /* DistinguishedName */
126 static int hf_dop_aliasDereferenced
= -1; /* BOOLEAN */
127 static int hf_dop_notification
= -1; /* SEQUENCE_SIZE_1_MAX_OF_Attribute */
128 static int hf_dop_notification_item
= -1; /* Attribute */
129 static int hf_dop_modifyInitiator
= -1; /* ModifyArgumentInitiator */
130 static int hf_dop_modifySymmetric
= -1; /* ModifySymmetric */
131 static int hf_dop_modifyRoleAInitiates
= -1; /* ModifyRoleAInitiates */
132 static int hf_dop_modifyRoleBInitiates
= -1; /* ModifyRoleBInitiates */
133 static int hf_dop_newBindingID
= -1; /* OperationalBindingID */
134 static int hf_dop_argumentNewAgreement
= -1; /* ArgumentNewAgreement */
135 static int hf_dop_unsignedModifyOperationalBindingArgument
= -1; /* ModifyOperationalBindingArgumentData */
136 static int hf_dop_signedModifyOperationalBindingArgument
= -1; /* T_signedModifyOperationalBindingArgument */
137 static int hf_dop_modifyOperationalBindingArgument
= -1; /* ModifyOperationalBindingArgumentData */
138 static int hf_dop_null
= -1; /* NULL */
139 static int hf_dop_protectedModifyResult
= -1; /* ProtectedModifyResult */
140 static int hf_dop_modifyOperationalBindingResultData
= -1; /* ModifyOperationalBindingResultData */
141 static int hf_dop_resultNewAgreement
= -1; /* ResultNewAgreement */
142 static int hf_dop_terminateInitiator
= -1; /* TerminateArgumentInitiator */
143 static int hf_dop_terminateSymmetric
= -1; /* TerminateSymmetric */
144 static int hf_dop_terminateRoleAInitiates
= -1; /* TerminateRoleAInitiates */
145 static int hf_dop_terminateRoleBInitiates
= -1; /* TerminateRoleBInitiates */
146 static int hf_dop_terminateAtTime
= -1; /* Time */
147 static int hf_dop_unsignedTerminateOperationalBindingArgument
= -1; /* TerminateOperationalBindingArgumentData */
148 static int hf_dop_signedTerminateOperationalBindingArgument
= -1; /* T_signedTerminateOperationalBindingArgument */
149 static int hf_dop_terminateOperationalBindingArgument
= -1; /* TerminateOperationalBindingArgumentData */
150 static int hf_dop_protectedTerminateResult
= -1; /* ProtectedTerminateResult */
151 static int hf_dop_terminateOperationalBindingResultData
= -1; /* TerminateOperationalBindingResultData */
152 static int hf_dop_terminateAtGeneralizedTime
= -1; /* GeneralizedTime */
153 static int hf_dop_problem
= -1; /* T_problem */
154 static int hf_dop_agreementProposal
= -1; /* T_agreementProposal */
155 static int hf_dop_retryAt
= -1; /* Time */
156 static int hf_dop_rdn
= -1; /* RelativeDistinguishedName */
157 static int hf_dop_immediateSuperior
= -1; /* DistinguishedName */
158 static int hf_dop_contextPrefixInfo
= -1; /* DITcontext */
159 static int hf_dop_entryInfo
= -1; /* SET_OF_Attribute */
160 static int hf_dop_entryInfo_item
= -1; /* Attribute */
161 static int hf_dop_immediateSuperiorInfo
= -1; /* SET_OF_Attribute */
162 static int hf_dop_immediateSuperiorInfo_item
= -1; /* Attribute */
163 static int hf_dop_DITcontext_item
= -1; /* Vertex */
164 static int hf_dop_admPointInfo
= -1; /* SET_OF_Attribute */
165 static int hf_dop_admPointInfo_item
= -1; /* Attribute */
166 static int hf_dop_subentries
= -1; /* SET_OF_SubentryInfo */
167 static int hf_dop_subentries_item
= -1; /* SubentryInfo */
168 static int hf_dop_accessPoints
= -1; /* MasterAndShadowAccessPoints */
169 static int hf_dop_info
= -1; /* SET_OF_Attribute */
170 static int hf_dop_info_item
= -1; /* Attribute */
171 static int hf_dop_alias
= -1; /* BOOLEAN */
172 static int hf_dop_identificationTag
= -1; /* DirectoryString */
173 static int hf_dop_precedence
= -1; /* Precedence */
174 static int hf_dop_authenticationLevel
= -1; /* AuthenticationLevel */
175 static int hf_dop_itemOrUserFirst
= -1; /* T_itemOrUserFirst */
176 static int hf_dop_itemFirst
= -1; /* T_itemFirst */
177 static int hf_dop_protectedItems
= -1; /* ProtectedItems */
178 static int hf_dop_itemPermissions
= -1; /* SET_OF_ItemPermission */
179 static int hf_dop_itemPermissions_item
= -1; /* ItemPermission */
180 static int hf_dop_userFirst
= -1; /* T_userFirst */
181 static int hf_dop_userClasses
= -1; /* UserClasses */
182 static int hf_dop_userPermissions
= -1; /* SET_OF_UserPermission */
183 static int hf_dop_userPermissions_item
= -1; /* UserPermission */
184 static int hf_dop_entry
= -1; /* NULL */
185 static int hf_dop_allUserAttributeTypes
= -1; /* NULL */
186 static int hf_dop_attributeType
= -1; /* SET_OF_AttributeType */
187 static int hf_dop_attributeType_item
= -1; /* AttributeType */
188 static int hf_dop_allAttributeValues
= -1; /* SET_OF_AttributeType */
189 static int hf_dop_allAttributeValues_item
= -1; /* AttributeType */
190 static int hf_dop_allUserAttributeTypesAndValues
= -1; /* NULL */
191 static int hf_dop_attributeValue
= -1; /* SET_OF_AttributeTypeAndValue */
192 static int hf_dop_attributeValue_item
= -1; /* AttributeTypeAndValue */
193 static int hf_dop_selfValue
= -1; /* SET_OF_AttributeType */
194 static int hf_dop_selfValue_item
= -1; /* AttributeType */
195 static int hf_dop_rangeOfValues
= -1; /* Filter */
196 static int hf_dop_maxValueCount
= -1; /* SET_OF_MaxValueCount */
197 static int hf_dop_maxValueCount_item
= -1; /* MaxValueCount */
198 static int hf_dop_maxImmSub
= -1; /* INTEGER */
199 static int hf_dop_restrictedBy
= -1; /* SET_OF_RestrictedValue */
200 static int hf_dop_restrictedBy_item
= -1; /* RestrictedValue */
201 static int hf_dop_contexts
= -1; /* SET_OF_ContextAssertion */
202 static int hf_dop_contexts_item
= -1; /* ContextAssertion */
203 static int hf_dop_classes
= -1; /* Refinement */
204 static int hf_dop_type
= -1; /* AttributeType */
205 static int hf_dop_maxCount
= -1; /* INTEGER */
206 static int hf_dop_valuesIn
= -1; /* AttributeType */
207 static int hf_dop_allUsers
= -1; /* NULL */
208 static int hf_dop_thisEntry
= -1; /* NULL */
209 static int hf_dop_name
= -1; /* SET_OF_NameAndOptionalUID */
210 static int hf_dop_name_item
= -1; /* NameAndOptionalUID */
211 static int hf_dop_userGroup
= -1; /* SET_OF_NameAndOptionalUID */
212 static int hf_dop_userGroup_item
= -1; /* NameAndOptionalUID */
213 static int hf_dop_subtree
= -1; /* SET_OF_SubtreeSpecification */
214 static int hf_dop_subtree_item
= -1; /* SubtreeSpecification */
215 static int hf_dop_grantsAndDenials
= -1; /* GrantsAndDenials */
216 static int hf_dop_basicLevels
= -1; /* T_basicLevels */
217 static int hf_dop_level
= -1; /* T_level */
218 static int hf_dop_localQualifier
= -1; /* INTEGER */
219 static int hf_dop_signed
= -1; /* BOOLEAN */
220 static int hf_dop_other
= -1; /* EXTERNAL */
222 static int hf_dop_DSEType_root
= -1;
223 static int hf_dop_DSEType_glue
= -1;
224 static int hf_dop_DSEType_cp
= -1;
225 static int hf_dop_DSEType_entry
= -1;
226 static int hf_dop_DSEType_alias
= -1;
227 static int hf_dop_DSEType_subr
= -1;
228 static int hf_dop_DSEType_nssr
= -1;
229 static int hf_dop_DSEType_supr
= -1;
230 static int hf_dop_DSEType_xr
= -1;
231 static int hf_dop_DSEType_admPoint
= -1;
232 static int hf_dop_DSEType_subentry
= -1;
233 static int hf_dop_DSEType_shadow
= -1;
234 static int hf_dop_DSEType_immSupr
= -1;
235 static int hf_dop_DSEType_rhob
= -1;
236 static int hf_dop_DSEType_sa
= -1;
237 static int hf_dop_DSEType_dsSubentry
= -1;
238 static int hf_dop_DSEType_familyMember
= -1;
239 static int hf_dop_DSEType_ditBridge
= -1;
240 static int hf_dop_DSEType_writeableCopy
= -1;
241 static int hf_dop_GrantsAndDenials_grantAdd
= -1;
242 static int hf_dop_GrantsAndDenials_denyAdd
= -1;
243 static int hf_dop_GrantsAndDenials_grantDiscloseOnError
= -1;
244 static int hf_dop_GrantsAndDenials_denyDiscloseOnError
= -1;
245 static int hf_dop_GrantsAndDenials_grantRead
= -1;
246 static int hf_dop_GrantsAndDenials_denyRead
= -1;
247 static int hf_dop_GrantsAndDenials_grantRemove
= -1;
248 static int hf_dop_GrantsAndDenials_denyRemove
= -1;
249 static int hf_dop_GrantsAndDenials_grantBrowse
= -1;
250 static int hf_dop_GrantsAndDenials_denyBrowse
= -1;
251 static int hf_dop_GrantsAndDenials_grantExport
= -1;
252 static int hf_dop_GrantsAndDenials_denyExport
= -1;
253 static int hf_dop_GrantsAndDenials_grantImport
= -1;
254 static int hf_dop_GrantsAndDenials_denyImport
= -1;
255 static int hf_dop_GrantsAndDenials_grantModify
= -1;
256 static int hf_dop_GrantsAndDenials_denyModify
= -1;
257 static int hf_dop_GrantsAndDenials_grantRename
= -1;
258 static int hf_dop_GrantsAndDenials_denyRename
= -1;
259 static int hf_dop_GrantsAndDenials_grantReturnDN
= -1;
260 static int hf_dop_GrantsAndDenials_denyReturnDN
= -1;
261 static int hf_dop_GrantsAndDenials_grantCompare
= -1;
262 static int hf_dop_GrantsAndDenials_denyCompare
= -1;
263 static int hf_dop_GrantsAndDenials_grantFilterMatch
= -1;
264 static int hf_dop_GrantsAndDenials_denyFilterMatch
= -1;
265 static int hf_dop_GrantsAndDenials_grantInvoke
= -1;
266 static int hf_dop_GrantsAndDenials_denyInvoke
= -1;
268 /*--- End of included file: packet-dop-hf.c ---*/
269 #line 66 "../../asn1/dop/packet-dop-template.c"
271 /* Initialize the subtree pointers */
272 static gint ett_dop
= -1;
273 static gint ett_dop_unknown
= -1;
275 /*--- Included file: packet-dop-ett.c ---*/
276 #line 1 "../../asn1/dop/packet-dop-ett.c"
277 static gint ett_dop_DSEType
= -1;
278 static gint ett_dop_SupplierOrConsumer
= -1;
279 static gint ett_dop_SET_OF_ProtocolInformation
= -1;
280 static gint ett_dop_SupplierInformation
= -1;
281 static gint ett_dop_SupplierAndConsumers
= -1;
282 static gint ett_dop_SET_OF_AccessPoint
= -1;
283 static gint ett_dop_EstablishOperationalBindingArgumentData
= -1;
284 static gint ett_dop_EstablishArgumentInitiator
= -1;
285 static gint ett_dop_EstablishOperationalBindingArgument
= -1;
286 static gint ett_dop_T_signedEstablishOperationalBindingArgument
= -1;
287 static gint ett_dop_OperationalBindingID
= -1;
288 static gint ett_dop_Validity
= -1;
289 static gint ett_dop_T_validFrom
= -1;
290 static gint ett_dop_T_validUntil
= -1;
291 static gint ett_dop_Time
= -1;
292 static gint ett_dop_EstablishOperationalBindingResult
= -1;
293 static gint ett_dop_T_initiator
= -1;
294 static gint ett_dop_SEQUENCE_SIZE_1_MAX_OF_Attribute
= -1;
295 static gint ett_dop_ModifyOperationalBindingArgumentData
= -1;
296 static gint ett_dop_ModifyArgumentInitiator
= -1;
297 static gint ett_dop_ModifyOperationalBindingArgument
= -1;
298 static gint ett_dop_T_signedModifyOperationalBindingArgument
= -1;
299 static gint ett_dop_ModifyOperationalBindingResult
= -1;
300 static gint ett_dop_ProtectedModifyResult
= -1;
301 static gint ett_dop_ModifyOperationalBindingResultData
= -1;
302 static gint ett_dop_TerminateOperationalBindingArgumentData
= -1;
303 static gint ett_dop_TerminateArgumentInitiator
= -1;
304 static gint ett_dop_TerminateOperationalBindingArgument
= -1;
305 static gint ett_dop_T_signedTerminateOperationalBindingArgument
= -1;
306 static gint ett_dop_TerminateOperationalBindingResult
= -1;
307 static gint ett_dop_ProtectedTerminateResult
= -1;
308 static gint ett_dop_TerminateOperationalBindingResultData
= -1;
309 static gint ett_dop_OpBindingErrorParam
= -1;
310 static gint ett_dop_HierarchicalAgreement
= -1;
311 static gint ett_dop_SuperiorToSubordinate
= -1;
312 static gint ett_dop_SET_OF_Attribute
= -1;
313 static gint ett_dop_DITcontext
= -1;
314 static gint ett_dop_Vertex
= -1;
315 static gint ett_dop_SET_OF_SubentryInfo
= -1;
316 static gint ett_dop_SubentryInfo
= -1;
317 static gint ett_dop_SubordinateToSuperior
= -1;
318 static gint ett_dop_SuperiorToSubordinateModification
= -1;
319 static gint ett_dop_NonSpecificHierarchicalAgreement
= -1;
320 static gint ett_dop_NHOBSuperiorToSubordinate
= -1;
321 static gint ett_dop_NHOBSubordinateToSuperior
= -1;
322 static gint ett_dop_ACIItem
= -1;
323 static gint ett_dop_T_itemOrUserFirst
= -1;
324 static gint ett_dop_T_itemFirst
= -1;
325 static gint ett_dop_SET_OF_ItemPermission
= -1;
326 static gint ett_dop_T_userFirst
= -1;
327 static gint ett_dop_SET_OF_UserPermission
= -1;
328 static gint ett_dop_ProtectedItems
= -1;
329 static gint ett_dop_SET_OF_AttributeType
= -1;
330 static gint ett_dop_SET_OF_AttributeTypeAndValue
= -1;
331 static gint ett_dop_SET_OF_MaxValueCount
= -1;
332 static gint ett_dop_SET_OF_RestrictedValue
= -1;
333 static gint ett_dop_SET_OF_ContextAssertion
= -1;
334 static gint ett_dop_MaxValueCount
= -1;
335 static gint ett_dop_RestrictedValue
= -1;
336 static gint ett_dop_UserClasses
= -1;
337 static gint ett_dop_SET_OF_NameAndOptionalUID
= -1;
338 static gint ett_dop_SET_OF_SubtreeSpecification
= -1;
339 static gint ett_dop_ItemPermission
= -1;
340 static gint ett_dop_UserPermission
= -1;
341 static gint ett_dop_AuthenticationLevel
= -1;
342 static gint ett_dop_T_basicLevels
= -1;
343 static gint ett_dop_GrantsAndDenials
= -1;
345 /*--- End of included file: packet-dop-ett.c ---*/
346 #line 71 "../../asn1/dop/packet-dop-template.c"
348 static expert_field ei_dop_unknown_binding_parameter
= EI_INIT
;
350 /* Dissector table */
351 static dissector_table_t dop_dissector_table
;
353 static void append_oid(packet_info
*pinfo
, const char *oid
)
355 const char *name
= NULL
;
357 name
= oid_resolved_from_string(oid
);
358 col_append_fstr(pinfo
->cinfo
, COL_INFO
, " %s", name
? name
: oid
);
362 /*--- Included file: packet-dop-fn.c ---*/
363 #line 1 "../../asn1/dop/packet-dop-fn.c"
365 static const asn_namedbit DSEType_bits
[] = {
366 { 0, &hf_dop_DSEType_root
, -1, -1, "root", NULL
},
367 { 1, &hf_dop_DSEType_glue
, -1, -1, "glue", NULL
},
368 { 2, &hf_dop_DSEType_cp
, -1, -1, "cp", NULL
},
369 { 3, &hf_dop_DSEType_entry
, -1, -1, "entry", NULL
},
370 { 4, &hf_dop_DSEType_alias
, -1, -1, "alias", NULL
},
371 { 5, &hf_dop_DSEType_subr
, -1, -1, "subr", NULL
},
372 { 6, &hf_dop_DSEType_nssr
, -1, -1, "nssr", NULL
},
373 { 7, &hf_dop_DSEType_supr
, -1, -1, "supr", NULL
},
374 { 8, &hf_dop_DSEType_xr
, -1, -1, "xr", NULL
},
375 { 9, &hf_dop_DSEType_admPoint
, -1, -1, "admPoint", NULL
},
376 { 10, &hf_dop_DSEType_subentry
, -1, -1, "subentry", NULL
},
377 { 11, &hf_dop_DSEType_shadow
, -1, -1, "shadow", NULL
},
378 { 13, &hf_dop_DSEType_immSupr
, -1, -1, "immSupr", NULL
},
379 { 14, &hf_dop_DSEType_rhob
, -1, -1, "rhob", NULL
},
380 { 15, &hf_dop_DSEType_sa
, -1, -1, "sa", NULL
},
381 { 16, &hf_dop_DSEType_dsSubentry
, -1, -1, "dsSubentry", NULL
},
382 { 17, &hf_dop_DSEType_familyMember
, -1, -1, "familyMember", NULL
},
383 { 18, &hf_dop_DSEType_ditBridge
, -1, -1, "ditBridge", NULL
},
384 { 19, &hf_dop_DSEType_writeableCopy
, -1, -1, "writeableCopy", NULL
},
385 { 0, NULL
, 0, 0, NULL
, NULL
}
389 dissect_dop_DSEType(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
390 offset
= dissect_ber_bitstring(implicit_tag
, actx
, tree
, tvb
, offset
,
391 DSEType_bits
, hf_index
, ett_dop_DSEType
,
398 static const ber_sequence_t SET_OF_ProtocolInformation_set_of
[1] = {
399 { &hf_dop_protocolInformation_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_x509sat_ProtocolInformation
},
403 dissect_dop_SET_OF_ProtocolInformation(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
404 offset
= dissect_ber_set_of(implicit_tag
, actx
, tree
, tvb
, offset
,
405 SET_OF_ProtocolInformation_set_of
, hf_index
, ett_dop_SET_OF_ProtocolInformation
);
413 dissect_dop_T_identifier(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
414 #line 174 "../../asn1/dop/dop.cnf"
417 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
421 col_append_fstr(actx
->pinfo
->cinfo
, COL_INFO
, " id=%d", value
);
433 dissect_dop_T_version(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
434 #line 183 "../../asn1/dop/dop.cnf"
437 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
441 col_append_fstr(actx
->pinfo
->cinfo
, COL_INFO
, ",%d", value
);
449 static const ber_sequence_t OperationalBindingID_sequence
[] = {
450 { &hf_dop_identifier
, BER_CLASS_UNI
, BER_UNI_TAG_INTEGER
, BER_FLAGS_NOOWNTAG
, dissect_dop_T_identifier
},
451 { &hf_dop_version
, BER_CLASS_UNI
, BER_UNI_TAG_INTEGER
, BER_FLAGS_NOOWNTAG
, dissect_dop_T_version
},
452 { NULL
, 0, 0, 0, NULL
}
456 dissect_dop_OperationalBindingID(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
457 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
458 OperationalBindingID_sequence
, hf_index
, ett_dop_OperationalBindingID
);
464 static const ber_sequence_t SupplierOrConsumer_set
[] = {
465 { &hf_dop_ae_title
, BER_CLASS_CON
, 0, 0, dissect_x509if_Name
},
466 { &hf_dop_address
, BER_CLASS_CON
, 1, 0, dissect_x509sat_PresentationAddress
},
467 { &hf_dop_protocolInformation
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
, dissect_dop_SET_OF_ProtocolInformation
},
468 { &hf_dop_agreementID
, BER_CLASS_CON
, 3, 0, dissect_dop_OperationalBindingID
},
469 { NULL
, 0, 0, 0, NULL
}
473 dissect_dop_SupplierOrConsumer(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
474 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
475 SupplierOrConsumer_set
, hf_index
, ett_dop_SupplierOrConsumer
);
483 dissect_dop_BOOLEAN(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
484 offset
= dissect_ber_boolean(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
, NULL
);
490 static const ber_sequence_t SupplierInformation_set
[] = {
491 { &hf_dop_ae_title
, BER_CLASS_CON
, 0, 0, dissect_x509if_Name
},
492 { &hf_dop_address
, BER_CLASS_CON
, 1, 0, dissect_x509sat_PresentationAddress
},
493 { &hf_dop_protocolInformation
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
, dissect_dop_SET_OF_ProtocolInformation
},
494 { &hf_dop_agreementID
, BER_CLASS_CON
, 3, 0, dissect_dop_OperationalBindingID
},
495 { &hf_dop_supplier_is_master
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
, dissect_dop_BOOLEAN
},
496 { &hf_dop_non_supplying_master
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
, dissect_dsp_AccessPoint
},
497 { NULL
, 0, 0, 0, NULL
}
501 dissect_dop_SupplierInformation(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
502 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
503 SupplierInformation_set
, hf_index
, ett_dop_SupplierInformation
);
511 dissect_dop_ConsumerInformation(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
512 offset
= dissect_dop_SupplierOrConsumer(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
518 static const ber_sequence_t SET_OF_AccessPoint_set_of
[1] = {
519 { &hf_dop_consumers_item
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_dsp_AccessPoint
},
523 dissect_dop_SET_OF_AccessPoint(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
524 offset
= dissect_ber_set_of(implicit_tag
, actx
, tree
, tvb
, offset
,
525 SET_OF_AccessPoint_set_of
, hf_index
, ett_dop_SET_OF_AccessPoint
);
531 static const ber_sequence_t SupplierAndConsumers_set
[] = {
532 { &hf_dop_ae_title
, BER_CLASS_CON
, 0, 0, dissect_x509if_Name
},
533 { &hf_dop_address
, BER_CLASS_CON
, 1, 0, dissect_x509sat_PresentationAddress
},
534 { &hf_dop_protocolInformation
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
, dissect_dop_SET_OF_ProtocolInformation
},
535 { &hf_dop_consumers
, BER_CLASS_CON
, 3, 0, dissect_dop_SET_OF_AccessPoint
},
536 { NULL
, 0, 0, 0, NULL
}
540 dissect_dop_SupplierAndConsumers(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
541 offset
= dissect_ber_set(implicit_tag
, actx
, tree
, tvb
, offset
,
542 SupplierAndConsumers_set
, hf_index
, ett_dop_SupplierAndConsumers
);
550 dissect_dop_DSAOperationalManagementBindArgument(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
551 offset
= dissect_dap_DirectoryBindArgument(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
559 dissect_dop_DSAOperationalManagementBindResult(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
560 offset
= dissect_dap_DirectoryBindArgument(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
568 dissect_dop_DSAOperationalManagementBindError(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
569 offset
= dissect_dap_DirectoryBindError(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
577 dissect_dop_BindingType(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
578 offset
= dissect_ber_object_identifier_str(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
, &binding_type
);
580 #line 105 "../../asn1/dop/dop.cnf"
581 append_oid(actx
->pinfo
, binding_type
);
589 dissect_dop_EstablishSymmetric(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
590 #line 109 "../../asn1/dop/dop.cnf"
592 offset
= call_dop_oid_callback("establish.symmetric", tvb
, offset
, actx
->pinfo
, tree
, "symmetric", actx
->private_data
);
602 dissect_dop_EstablishRoleAInitiates(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
603 #line 113 "../../asn1/dop/dop.cnf"
605 offset
= call_dop_oid_callback("establish.rolea", tvb
, offset
, actx
->pinfo
, tree
, "roleA", actx
->private_data
);
615 dissect_dop_EstablishRoleBInitiates(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
616 #line 117 "../../asn1/dop/dop.cnf"
618 offset
= call_dop_oid_callback("establish.roleb", tvb
, offset
, actx
->pinfo
, tree
, "roleB", actx
->private_data
);
626 static const value_string dop_EstablishArgumentInitiator_vals
[] = {
628 { 4, "roleA-initiates" },
629 { 5, "roleB-initiates" },
633 static const ber_choice_t EstablishArgumentInitiator_choice
[] = {
634 { 3, &hf_dop_establishSymmetric
, BER_CLASS_CON
, 3, 0, dissect_dop_EstablishSymmetric
},
635 { 4, &hf_dop_establishRoleAInitiates
, BER_CLASS_CON
, 4, 0, dissect_dop_EstablishRoleAInitiates
},
636 { 5, &hf_dop_establishRoleBInitiates
, BER_CLASS_CON
, 5, 0, dissect_dop_EstablishRoleBInitiates
},
637 { 0, NULL
, 0, 0, 0, NULL
}
641 dissect_dop_EstablishArgumentInitiator(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
642 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
643 EstablishArgumentInitiator_choice
, hf_index
, ett_dop_EstablishArgumentInitiator
,
652 dissect_dop_T_agreement(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
653 #line 145 "../../asn1/dop/dop.cnf"
655 offset
= call_dop_oid_callback("agreement", tvb
, offset
, actx
->pinfo
, tree
, NULL
, actx
->private_data
);
665 dissect_dop_NULL(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
666 offset
= dissect_ber_null(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
);
674 dissect_dop_UTCTime(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
675 offset
= dissect_ber_UTCTime(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
);
683 dissect_dop_GeneralizedTime(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
684 offset
= dissect_ber_GeneralizedTime(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
);
690 static const value_string dop_Time_vals
[] = {
692 { 1, "generalizedTime" },
696 static const ber_choice_t Time_choice
[] = {
697 { 0, &hf_dop_utcTime
, BER_CLASS_UNI
, BER_UNI_TAG_UTCTime
, BER_FLAGS_NOOWNTAG
, dissect_dop_UTCTime
},
698 { 1, &hf_dop_generalizedTime
, BER_CLASS_UNI
, BER_UNI_TAG_GeneralizedTime
, BER_FLAGS_NOOWNTAG
, dissect_dop_GeneralizedTime
},
699 { 0, NULL
, 0, 0, 0, NULL
}
703 dissect_dop_Time(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
704 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
705 Time_choice
, hf_index
, ett_dop_Time
,
712 static const value_string dop_T_validFrom_vals
[] = {
718 static const ber_choice_t T_validFrom_choice
[] = {
719 { 0, &hf_dop_now
, BER_CLASS_CON
, 0, 0, dissect_dop_NULL
},
720 { 1, &hf_dop_time
, BER_CLASS_CON
, 1, 0, dissect_dop_Time
},
721 { 0, NULL
, 0, 0, 0, NULL
}
725 dissect_dop_T_validFrom(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
726 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
727 T_validFrom_choice
, hf_index
, ett_dop_T_validFrom
,
734 static const value_string dop_T_validUntil_vals
[] = {
735 { 0, "explicitTermination" },
740 static const ber_choice_t T_validUntil_choice
[] = {
741 { 0, &hf_dop_explicitTermination
, BER_CLASS_CON
, 0, 0, dissect_dop_NULL
},
742 { 1, &hf_dop_time
, BER_CLASS_CON
, 1, 0, dissect_dop_Time
},
743 { 0, NULL
, 0, 0, 0, NULL
}
747 dissect_dop_T_validUntil(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
748 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
749 T_validUntil_choice
, hf_index
, ett_dop_T_validUntil
,
756 static const ber_sequence_t Validity_sequence
[] = {
757 { &hf_dop_validFrom
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
, dissect_dop_T_validFrom
},
758 { &hf_dop_validUntil
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
, dissect_dop_T_validUntil
},
759 { NULL
, 0, 0, 0, NULL
}
763 dissect_dop_Validity(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
764 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
765 Validity_sequence
, hf_index
, ett_dop_Validity
);
771 static const ber_sequence_t EstablishOperationalBindingArgumentData_sequence
[] = {
772 { &hf_dop_bindingType
, BER_CLASS_CON
, 0, 0, dissect_dop_BindingType
},
773 { &hf_dop_bindingID
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
, dissect_dop_OperationalBindingID
},
774 { &hf_dop_accessPoint
, BER_CLASS_CON
, 2, 0, dissect_dsp_AccessPoint
},
775 { &hf_dop_establishInitiator
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_dop_EstablishArgumentInitiator
},
776 { &hf_dop_agreement
, BER_CLASS_CON
, 6, 0, dissect_dop_T_agreement
},
777 { &hf_dop_valid
, BER_CLASS_CON
, 7, BER_FLAGS_OPTIONAL
, dissect_dop_Validity
},
778 { &hf_dop_securityParameters
, BER_CLASS_CON
, 8, BER_FLAGS_OPTIONAL
, dissect_dap_SecurityParameters
},
779 { NULL
, 0, 0, 0, NULL
}
783 dissect_dop_EstablishOperationalBindingArgumentData(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
784 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
785 EstablishOperationalBindingArgumentData_sequence
, hf_index
, ett_dop_EstablishOperationalBindingArgumentData
);
793 dissect_dop_BIT_STRING(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
794 offset
= dissect_ber_bitstring(implicit_tag
, actx
, tree
, tvb
, offset
,
802 static const ber_sequence_t T_signedEstablishOperationalBindingArgument_sequence
[] = {
803 { &hf_dop_establishOperationalBindingArgument
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_dop_EstablishOperationalBindingArgumentData
},
804 { &hf_dop_algorithmIdentifier
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_x509af_AlgorithmIdentifier
},
805 { &hf_dop_encrypted
, BER_CLASS_UNI
, BER_UNI_TAG_BITSTRING
, BER_FLAGS_NOOWNTAG
, dissect_dop_BIT_STRING
},
806 { NULL
, 0, 0, 0, NULL
}
810 dissect_dop_T_signedEstablishOperationalBindingArgument(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
811 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
812 T_signedEstablishOperationalBindingArgument_sequence
, hf_index
, ett_dop_T_signedEstablishOperationalBindingArgument
);
818 static const value_string dop_EstablishOperationalBindingArgument_vals
[] = {
819 { 0, "unsignedEstablishOperationalBindingArgument" },
820 { 1, "signedEstablishOperationalBindingArgument" },
824 static const ber_choice_t EstablishOperationalBindingArgument_choice
[] = {
825 { 0, &hf_dop_unsignedEstablishOperationalBindingArgument
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_dop_EstablishOperationalBindingArgumentData
},
826 { 1, &hf_dop_signedEstablishOperationalBindingArgument
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_dop_T_signedEstablishOperationalBindingArgument
},
827 { 0, NULL
, 0, 0, 0, NULL
}
831 dissect_dop_EstablishOperationalBindingArgument(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
832 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
833 EstablishOperationalBindingArgument_choice
, hf_index
, ett_dop_EstablishOperationalBindingArgument
,
842 dissect_dop_T_symmetric(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
843 #line 149 "../../asn1/dop/dop.cnf"
845 offset
= call_dop_oid_callback("establish.symmetric", tvb
, offset
, actx
->pinfo
, tree
, "symmetric", actx
->private_data
);
855 dissect_dop_T_roleA_replies(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
856 #line 153 "../../asn1/dop/dop.cnf"
858 offset
= call_dop_oid_callback("establish.rolea", tvb
, offset
, actx
->pinfo
, tree
, "roleA", actx
->private_data
);
868 dissect_dop_T_roleB_replies(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
869 #line 157 "../../asn1/dop/dop.cnf"
871 offset
= call_dop_oid_callback("establish.roleb", tvb
, offset
, actx
->pinfo
, tree
, "roleB", actx
->private_data
);
879 static const value_string dop_T_initiator_vals
[] = {
881 { 4, "roleA-replies" },
882 { 5, "roleB-replies" },
886 static const ber_choice_t T_initiator_choice
[] = {
887 { 3, &hf_dop_symmetric
, BER_CLASS_CON
, 3, 0, dissect_dop_T_symmetric
},
888 { 4, &hf_dop_roleA_replies
, BER_CLASS_CON
, 4, 0, dissect_dop_T_roleA_replies
},
889 { 5, &hf_dop_roleB_replies
, BER_CLASS_CON
, 5, 0, dissect_dop_T_roleB_replies
},
890 { 0, NULL
, 0, 0, 0, NULL
}
894 dissect_dop_T_initiator(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
895 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
896 T_initiator_choice
, hf_index
, ett_dop_T_initiator
,
903 static const ber_sequence_t SEQUENCE_SIZE_1_MAX_OF_Attribute_sequence_of
[1] = {
904 { &hf_dop_notification_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_x509if_Attribute
},
908 dissect_dop_SEQUENCE_SIZE_1_MAX_OF_Attribute(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
909 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
910 SEQUENCE_SIZE_1_MAX_OF_Attribute_sequence_of
, hf_index
, ett_dop_SEQUENCE_SIZE_1_MAX_OF_Attribute
);
916 static const ber_sequence_t EstablishOperationalBindingResult_sequence
[] = {
917 { &hf_dop_bindingType
, BER_CLASS_CON
, 0, 0, dissect_dop_BindingType
},
918 { &hf_dop_bindingID
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
, dissect_dop_OperationalBindingID
},
919 { &hf_dop_accessPoint
, BER_CLASS_CON
, 2, 0, dissect_dsp_AccessPoint
},
920 { &hf_dop_initiator
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_dop_T_initiator
},
921 { &hf_dop_securityParameters
, BER_CLASS_CON
, 30, BER_FLAGS_OPTIONAL
, dissect_dap_SecurityParameters
},
922 { &hf_dop_performer
, BER_CLASS_CON
, 29, BER_FLAGS_OPTIONAL
, dissect_x509if_DistinguishedName
},
923 { &hf_dop_aliasDereferenced
, BER_CLASS_CON
, 28, BER_FLAGS_OPTIONAL
, dissect_dop_BOOLEAN
},
924 { &hf_dop_notification
, BER_CLASS_CON
, 27, BER_FLAGS_OPTIONAL
, dissect_dop_SEQUENCE_SIZE_1_MAX_OF_Attribute
},
925 { NULL
, 0, 0, 0, NULL
}
929 dissect_dop_EstablishOperationalBindingResult(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
930 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
931 EstablishOperationalBindingResult_sequence
, hf_index
, ett_dop_EstablishOperationalBindingResult
);
939 dissect_dop_ModifySymmetric(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
940 #line 121 "../../asn1/dop/dop.cnf"
942 offset
= call_dop_oid_callback("modify.symmetric", tvb
, offset
, actx
->pinfo
, tree
, "symmetric", actx
->private_data
);
952 dissect_dop_ModifyRoleAInitiates(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
953 #line 125 "../../asn1/dop/dop.cnf"
955 offset
= call_dop_oid_callback("modify.rolea", tvb
, offset
, actx
->pinfo
, tree
, "roleA", actx
->private_data
);
965 dissect_dop_ModifyRoleBInitiates(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
966 #line 129 "../../asn1/dop/dop.cnf"
968 offset
= call_dop_oid_callback("modify.roleb", tvb
, offset
, actx
->pinfo
, tree
, "roleB", actx
->private_data
);
976 static const value_string dop_ModifyArgumentInitiator_vals
[] = {
978 { 4, "roleA-initiates" },
979 { 5, "roleB-initiates" },
983 static const ber_choice_t ModifyArgumentInitiator_choice
[] = {
984 { 3, &hf_dop_modifySymmetric
, BER_CLASS_CON
, 3, 0, dissect_dop_ModifySymmetric
},
985 { 4, &hf_dop_modifyRoleAInitiates
, BER_CLASS_CON
, 4, 0, dissect_dop_ModifyRoleAInitiates
},
986 { 5, &hf_dop_modifyRoleBInitiates
, BER_CLASS_CON
, 5, 0, dissect_dop_ModifyRoleBInitiates
},
987 { 0, NULL
, 0, 0, 0, NULL
}
991 dissect_dop_ModifyArgumentInitiator(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
992 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
993 ModifyArgumentInitiator_choice
, hf_index
, ett_dop_ModifyArgumentInitiator
,
1002 dissect_dop_ArgumentNewAgreement(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1003 #line 169 "../../asn1/dop/dop.cnf"
1005 offset
= call_dop_oid_callback("agreement", tvb
, offset
, actx
->pinfo
, tree
, NULL
, actx
->private_data
);
1014 static const ber_sequence_t ModifyOperationalBindingArgumentData_sequence
[] = {
1015 { &hf_dop_bindingType
, BER_CLASS_CON
, 0, 0, dissect_dop_BindingType
},
1016 { &hf_dop_bindingID
, BER_CLASS_CON
, 1, 0, dissect_dop_OperationalBindingID
},
1017 { &hf_dop_accessPoint
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
, dissect_dsp_AccessPoint
},
1018 { &hf_dop_modifyInitiator
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_dop_ModifyArgumentInitiator
},
1019 { &hf_dop_newBindingID
, BER_CLASS_CON
, 6, 0, dissect_dop_OperationalBindingID
},
1020 { &hf_dop_argumentNewAgreement
, BER_CLASS_CON
, 7, BER_FLAGS_OPTIONAL
, dissect_dop_ArgumentNewAgreement
},
1021 { &hf_dop_valid
, BER_CLASS_CON
, 8, BER_FLAGS_OPTIONAL
, dissect_dop_Validity
},
1022 { &hf_dop_securityParameters
, BER_CLASS_CON
, 9, BER_FLAGS_OPTIONAL
, dissect_dap_SecurityParameters
},
1023 { NULL
, 0, 0, 0, NULL
}
1027 dissect_dop_ModifyOperationalBindingArgumentData(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1028 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1029 ModifyOperationalBindingArgumentData_sequence
, hf_index
, ett_dop_ModifyOperationalBindingArgumentData
);
1035 static const ber_sequence_t T_signedModifyOperationalBindingArgument_sequence
[] = {
1036 { &hf_dop_modifyOperationalBindingArgument
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_dop_ModifyOperationalBindingArgumentData
},
1037 { &hf_dop_algorithmIdentifier
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_x509af_AlgorithmIdentifier
},
1038 { &hf_dop_encrypted
, BER_CLASS_UNI
, BER_UNI_TAG_BITSTRING
, BER_FLAGS_NOOWNTAG
, dissect_dop_BIT_STRING
},
1039 { NULL
, 0, 0, 0, NULL
}
1043 dissect_dop_T_signedModifyOperationalBindingArgument(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1044 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1045 T_signedModifyOperationalBindingArgument_sequence
, hf_index
, ett_dop_T_signedModifyOperationalBindingArgument
);
1051 static const value_string dop_ModifyOperationalBindingArgument_vals
[] = {
1052 { 0, "unsignedModifyOperationalBindingArgument" },
1053 { 1, "signedModifyOperationalBindingArgument" },
1057 static const ber_choice_t ModifyOperationalBindingArgument_choice
[] = {
1058 { 0, &hf_dop_unsignedModifyOperationalBindingArgument
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_dop_ModifyOperationalBindingArgumentData
},
1059 { 1, &hf_dop_signedModifyOperationalBindingArgument
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_dop_T_signedModifyOperationalBindingArgument
},
1060 { 0, NULL
, 0, 0, 0, NULL
}
1064 dissect_dop_ModifyOperationalBindingArgument(gboolean 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 ModifyOperationalBindingArgument_choice
, hf_index
, ett_dop_ModifyOperationalBindingArgument
,
1075 dissect_dop_ResultNewAgreement(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1076 #line 165 "../../asn1/dop/dop.cnf"
1078 offset
= call_dop_oid_callback("agreement", tvb
, offset
, actx
->pinfo
, tree
, NULL
, actx
->private_data
);
1086 static const ber_sequence_t ModifyOperationalBindingResultData_sequence
[] = {
1087 { &hf_dop_newBindingID
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_dop_OperationalBindingID
},
1088 { &hf_dop_bindingType
, BER_CLASS_UNI
, BER_UNI_TAG_OID
, BER_FLAGS_NOOWNTAG
, dissect_dop_BindingType
},
1089 { &hf_dop_resultNewAgreement
, BER_CLASS_ANY
, 0, BER_FLAGS_NOOWNTAG
, dissect_dop_ResultNewAgreement
},
1090 { &hf_dop_valid
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_dop_Validity
},
1091 { &hf_dop_securityParameters
, BER_CLASS_CON
, 30, BER_FLAGS_OPTIONAL
, dissect_dap_SecurityParameters
},
1092 { &hf_dop_performer
, BER_CLASS_CON
, 29, BER_FLAGS_OPTIONAL
, dissect_x509if_DistinguishedName
},
1093 { &hf_dop_aliasDereferenced
, BER_CLASS_CON
, 28, BER_FLAGS_OPTIONAL
, dissect_dop_BOOLEAN
},
1094 { &hf_dop_notification
, BER_CLASS_CON
, 27, BER_FLAGS_OPTIONAL
, dissect_dop_SEQUENCE_SIZE_1_MAX_OF_Attribute
},
1095 { NULL
, 0, 0, 0, NULL
}
1099 dissect_dop_ModifyOperationalBindingResultData(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1100 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1101 ModifyOperationalBindingResultData_sequence
, hf_index
, ett_dop_ModifyOperationalBindingResultData
);
1107 static const ber_sequence_t ProtectedModifyResult_sequence
[] = {
1108 { &hf_dop_modifyOperationalBindingResultData
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_dop_ModifyOperationalBindingResultData
},
1109 { &hf_dop_algorithmIdentifier
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_x509af_AlgorithmIdentifier
},
1110 { &hf_dop_encrypted
, BER_CLASS_UNI
, BER_UNI_TAG_BITSTRING
, BER_FLAGS_NOOWNTAG
, dissect_dop_BIT_STRING
},
1111 { NULL
, 0, 0, 0, NULL
}
1115 dissect_dop_ProtectedModifyResult(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1116 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1117 ProtectedModifyResult_sequence
, hf_index
, ett_dop_ProtectedModifyResult
);
1123 static const value_string dop_ModifyOperationalBindingResult_vals
[] = {
1129 static const ber_choice_t ModifyOperationalBindingResult_choice
[] = {
1130 { 0, &hf_dop_null
, BER_CLASS_CON
, 0, 0, dissect_dop_NULL
},
1131 { 1, &hf_dop_protectedModifyResult
, BER_CLASS_CON
, 1, 0, dissect_dop_ProtectedModifyResult
},
1132 { 0, NULL
, 0, 0, 0, NULL
}
1136 dissect_dop_ModifyOperationalBindingResult(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1137 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
1138 ModifyOperationalBindingResult_choice
, hf_index
, ett_dop_ModifyOperationalBindingResult
,
1147 dissect_dop_TerminateSymmetric(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1148 #line 133 "../../asn1/dop/dop.cnf"
1150 offset
= call_dop_oid_callback("terminate.symmetric", tvb
, offset
, actx
->pinfo
, tree
, "symmetric", actx
->private_data
);
1160 dissect_dop_TerminateRoleAInitiates(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1161 #line 137 "../../asn1/dop/dop.cnf"
1163 offset
= call_dop_oid_callback("terminate.rolea", tvb
, offset
, actx
->pinfo
, tree
, "roleA", actx
->private_data
);
1173 dissect_dop_TerminateRoleBInitiates(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1174 #line 141 "../../asn1/dop/dop.cnf"
1176 offset
= call_dop_oid_callback("terminate.roleb", tvb
, offset
, actx
->pinfo
, tree
, "roleB", actx
->private_data
);
1184 static const value_string dop_TerminateArgumentInitiator_vals
[] = {
1186 { 3, "roleA-initiates" },
1187 { 4, "roleB-initiates" },
1191 static const ber_choice_t TerminateArgumentInitiator_choice
[] = {
1192 { 2, &hf_dop_terminateSymmetric
, BER_CLASS_CON
, 2, 0, dissect_dop_TerminateSymmetric
},
1193 { 3, &hf_dop_terminateRoleAInitiates
, BER_CLASS_CON
, 3, 0, dissect_dop_TerminateRoleAInitiates
},
1194 { 4, &hf_dop_terminateRoleBInitiates
, BER_CLASS_CON
, 4, 0, dissect_dop_TerminateRoleBInitiates
},
1195 { 0, NULL
, 0, 0, 0, NULL
}
1199 dissect_dop_TerminateArgumentInitiator(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1200 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
1201 TerminateArgumentInitiator_choice
, hf_index
, ett_dop_TerminateArgumentInitiator
,
1208 static const ber_sequence_t TerminateOperationalBindingArgumentData_sequence
[] = {
1209 { &hf_dop_bindingType
, BER_CLASS_CON
, 0, 0, dissect_dop_BindingType
},
1210 { &hf_dop_bindingID
, BER_CLASS_CON
, 1, 0, dissect_dop_OperationalBindingID
},
1211 { &hf_dop_terminateInitiator
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_dop_TerminateArgumentInitiator
},
1212 { &hf_dop_terminateAtTime
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOTCHKTAG
, dissect_dop_Time
},
1213 { &hf_dop_securityParameters
, BER_CLASS_CON
, 6, BER_FLAGS_OPTIONAL
, dissect_dap_SecurityParameters
},
1214 { NULL
, 0, 0, 0, NULL
}
1218 dissect_dop_TerminateOperationalBindingArgumentData(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1219 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1220 TerminateOperationalBindingArgumentData_sequence
, hf_index
, ett_dop_TerminateOperationalBindingArgumentData
);
1226 static const ber_sequence_t T_signedTerminateOperationalBindingArgument_sequence
[] = {
1227 { &hf_dop_terminateOperationalBindingArgument
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_dop_TerminateOperationalBindingArgumentData
},
1228 { &hf_dop_algorithmIdentifier
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_x509af_AlgorithmIdentifier
},
1229 { &hf_dop_encrypted
, BER_CLASS_UNI
, BER_UNI_TAG_BITSTRING
, BER_FLAGS_NOOWNTAG
, dissect_dop_BIT_STRING
},
1230 { NULL
, 0, 0, 0, NULL
}
1234 dissect_dop_T_signedTerminateOperationalBindingArgument(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1235 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1236 T_signedTerminateOperationalBindingArgument_sequence
, hf_index
, ett_dop_T_signedTerminateOperationalBindingArgument
);
1242 static const value_string dop_TerminateOperationalBindingArgument_vals
[] = {
1243 { 0, "unsignedTerminateOperationalBindingArgument" },
1244 { 1, "signedTerminateOperationalBindingArgument" },
1248 static const ber_choice_t TerminateOperationalBindingArgument_choice
[] = {
1249 { 0, &hf_dop_unsignedTerminateOperationalBindingArgument
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_dop_TerminateOperationalBindingArgumentData
},
1250 { 1, &hf_dop_signedTerminateOperationalBindingArgument
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_dop_T_signedTerminateOperationalBindingArgument
},
1251 { 0, NULL
, 0, 0, 0, NULL
}
1255 dissect_dop_TerminateOperationalBindingArgument(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1256 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
1257 TerminateOperationalBindingArgument_choice
, hf_index
, ett_dop_TerminateOperationalBindingArgument
,
1264 static const ber_sequence_t TerminateOperationalBindingResultData_sequence
[] = {
1265 { &hf_dop_bindingID
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_dop_OperationalBindingID
},
1266 { &hf_dop_bindingType
, BER_CLASS_UNI
, BER_UNI_TAG_OID
, BER_FLAGS_NOOWNTAG
, dissect_dop_BindingType
},
1267 { &hf_dop_terminateAtGeneralizedTime
, BER_CLASS_UNI
, BER_UNI_TAG_GeneralizedTime
, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_dop_GeneralizedTime
},
1268 { &hf_dop_securityParameters
, BER_CLASS_CON
, 30, BER_FLAGS_OPTIONAL
, dissect_dap_SecurityParameters
},
1269 { &hf_dop_performer
, BER_CLASS_CON
, 29, BER_FLAGS_OPTIONAL
, dissect_x509if_DistinguishedName
},
1270 { &hf_dop_aliasDereferenced
, BER_CLASS_CON
, 28, BER_FLAGS_OPTIONAL
, dissect_dop_BOOLEAN
},
1271 { &hf_dop_notification
, BER_CLASS_CON
, 27, BER_FLAGS_OPTIONAL
, dissect_dop_SEQUENCE_SIZE_1_MAX_OF_Attribute
},
1272 { NULL
, 0, 0, 0, NULL
}
1276 dissect_dop_TerminateOperationalBindingResultData(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1277 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1278 TerminateOperationalBindingResultData_sequence
, hf_index
, ett_dop_TerminateOperationalBindingResultData
);
1284 static const ber_sequence_t ProtectedTerminateResult_sequence
[] = {
1285 { &hf_dop_terminateOperationalBindingResultData
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_dop_TerminateOperationalBindingResultData
},
1286 { &hf_dop_algorithmIdentifier
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_x509af_AlgorithmIdentifier
},
1287 { &hf_dop_encrypted
, BER_CLASS_UNI
, BER_UNI_TAG_BITSTRING
, BER_FLAGS_NOOWNTAG
, dissect_dop_BIT_STRING
},
1288 { NULL
, 0, 0, 0, NULL
}
1292 dissect_dop_ProtectedTerminateResult(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1293 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1294 ProtectedTerminateResult_sequence
, hf_index
, ett_dop_ProtectedTerminateResult
);
1300 static const value_string dop_TerminateOperationalBindingResult_vals
[] = {
1306 static const ber_choice_t TerminateOperationalBindingResult_choice
[] = {
1307 { 0, &hf_dop_null
, BER_CLASS_CON
, 0, 0, dissect_dop_NULL
},
1308 { 1, &hf_dop_protectedTerminateResult
, BER_CLASS_CON
, 1, 0, dissect_dop_ProtectedTerminateResult
},
1309 { 0, NULL
, 0, 0, 0, NULL
}
1313 dissect_dop_TerminateOperationalBindingResult(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1314 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
1315 TerminateOperationalBindingResult_choice
, hf_index
, ett_dop_TerminateOperationalBindingResult
,
1322 static const value_string dop_T_problem_vals
[] = {
1324 { 1, "duplicateID" },
1325 { 2, "unsupportedBindingType" },
1326 { 3, "notAllowedForRole" },
1327 { 4, "parametersMissing" },
1328 { 5, "roleAssignment" },
1329 { 6, "invalidStartTime" },
1330 { 7, "invalidEndTime" },
1331 { 8, "invalidAgreement" },
1332 { 9, "currentlyNotDecidable" },
1333 { 10, "modificationNotAllowed" },
1339 dissect_dop_T_problem(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1340 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
1349 dissect_dop_T_agreementProposal(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1350 #line 161 "../../asn1/dop/dop.cnf"
1352 offset
= call_dop_oid_callback("agreement", tvb
, offset
, actx
->pinfo
, tree
, NULL
, actx
->private_data
);
1360 static const ber_sequence_t OpBindingErrorParam_sequence
[] = {
1361 { &hf_dop_problem
, BER_CLASS_CON
, 0, 0, dissect_dop_T_problem
},
1362 { &hf_dop_bindingType
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
, dissect_dop_BindingType
},
1363 { &hf_dop_agreementProposal
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
, dissect_dop_T_agreementProposal
},
1364 { &hf_dop_retryAt
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOTCHKTAG
, dissect_dop_Time
},
1365 { &hf_dop_securityParameters
, BER_CLASS_CON
, 30, BER_FLAGS_OPTIONAL
, dissect_dap_SecurityParameters
},
1366 { &hf_dop_performer
, BER_CLASS_CON
, 29, BER_FLAGS_OPTIONAL
, dissect_x509if_DistinguishedName
},
1367 { &hf_dop_aliasDereferenced
, BER_CLASS_CON
, 28, BER_FLAGS_OPTIONAL
, dissect_dop_BOOLEAN
},
1368 { &hf_dop_notification
, BER_CLASS_CON
, 27, BER_FLAGS_OPTIONAL
, dissect_dop_SEQUENCE_SIZE_1_MAX_OF_Attribute
},
1369 { NULL
, 0, 0, 0, NULL
}
1373 dissect_dop_OpBindingErrorParam(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1374 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1375 OpBindingErrorParam_sequence
, hf_index
, ett_dop_OpBindingErrorParam
);
1381 static const ber_sequence_t HierarchicalAgreement_sequence
[] = {
1382 { &hf_dop_rdn
, BER_CLASS_CON
, 0, 0, dissect_x509if_RelativeDistinguishedName
},
1383 { &hf_dop_immediateSuperior
, BER_CLASS_CON
, 1, 0, dissect_x509if_DistinguishedName
},
1384 { NULL
, 0, 0, 0, NULL
}
1388 dissect_dop_HierarchicalAgreement(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1389 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1390 HierarchicalAgreement_sequence
, hf_index
, ett_dop_HierarchicalAgreement
);
1396 static const ber_sequence_t SET_OF_Attribute_set_of
[1] = {
1397 { &hf_dop_entryInfo_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_x509if_Attribute
},
1401 dissect_dop_SET_OF_Attribute(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1402 offset
= dissect_ber_set_of(implicit_tag
, actx
, tree
, tvb
, offset
,
1403 SET_OF_Attribute_set_of
, hf_index
, ett_dop_SET_OF_Attribute
);
1409 static const ber_sequence_t SubentryInfo_sequence
[] = {
1410 { &hf_dop_rdn
, BER_CLASS_CON
, 0, 0, dissect_x509if_RelativeDistinguishedName
},
1411 { &hf_dop_info
, BER_CLASS_CON
, 1, 0, dissect_dop_SET_OF_Attribute
},
1412 { NULL
, 0, 0, 0, NULL
}
1416 dissect_dop_SubentryInfo(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1417 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1418 SubentryInfo_sequence
, hf_index
, ett_dop_SubentryInfo
);
1424 static const ber_sequence_t SET_OF_SubentryInfo_set_of
[1] = {
1425 { &hf_dop_subentries_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_dop_SubentryInfo
},
1429 dissect_dop_SET_OF_SubentryInfo(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1430 offset
= dissect_ber_set_of(implicit_tag
, actx
, tree
, tvb
, offset
,
1431 SET_OF_SubentryInfo_set_of
, hf_index
, ett_dop_SET_OF_SubentryInfo
);
1437 static const ber_sequence_t Vertex_sequence
[] = {
1438 { &hf_dop_rdn
, BER_CLASS_CON
, 0, 0, dissect_x509if_RelativeDistinguishedName
},
1439 { &hf_dop_admPointInfo
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
, dissect_dop_SET_OF_Attribute
},
1440 { &hf_dop_subentries
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
, dissect_dop_SET_OF_SubentryInfo
},
1441 { &hf_dop_accessPoints
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
, dissect_dsp_MasterAndShadowAccessPoints
},
1442 { NULL
, 0, 0, 0, NULL
}
1446 dissect_dop_Vertex(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1447 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1448 Vertex_sequence
, hf_index
, ett_dop_Vertex
);
1454 static const ber_sequence_t DITcontext_sequence_of
[1] = {
1455 { &hf_dop_DITcontext_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_dop_Vertex
},
1459 dissect_dop_DITcontext(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1460 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
1461 DITcontext_sequence_of
, hf_index
, ett_dop_DITcontext
);
1467 static const ber_sequence_t SuperiorToSubordinate_sequence
[] = {
1468 { &hf_dop_contextPrefixInfo
, BER_CLASS_CON
, 0, 0, dissect_dop_DITcontext
},
1469 { &hf_dop_entryInfo
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
, dissect_dop_SET_OF_Attribute
},
1470 { &hf_dop_immediateSuperiorInfo
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
, dissect_dop_SET_OF_Attribute
},
1471 { NULL
, 0, 0, 0, NULL
}
1475 dissect_dop_SuperiorToSubordinate(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1476 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1477 SuperiorToSubordinate_sequence
, hf_index
, ett_dop_SuperiorToSubordinate
);
1483 static const ber_sequence_t SubordinateToSuperior_sequence
[] = {
1484 { &hf_dop_accessPoints
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
, dissect_dsp_MasterAndShadowAccessPoints
},
1485 { &hf_dop_alias
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
, dissect_dop_BOOLEAN
},
1486 { &hf_dop_entryInfo
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
, dissect_dop_SET_OF_Attribute
},
1487 { &hf_dop_subentries
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
, dissect_dop_SET_OF_SubentryInfo
},
1488 { NULL
, 0, 0, 0, NULL
}
1492 dissect_dop_SubordinateToSuperior(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1493 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1494 SubordinateToSuperior_sequence
, hf_index
, ett_dop_SubordinateToSuperior
);
1500 static const ber_sequence_t SuperiorToSubordinateModification_sequence
[] = {
1501 { &hf_dop_contextPrefixInfo
, BER_CLASS_CON
, 0, 0, dissect_dop_DITcontext
},
1502 { &hf_dop_immediateSuperiorInfo
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
, dissect_dop_SET_OF_Attribute
},
1503 { NULL
, 0, 0, 0, NULL
}
1507 dissect_dop_SuperiorToSubordinateModification(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1508 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1509 SuperiorToSubordinateModification_sequence
, hf_index
, ett_dop_SuperiorToSubordinateModification
);
1515 static const ber_sequence_t NonSpecificHierarchicalAgreement_sequence
[] = {
1516 { &hf_dop_immediateSuperior
, BER_CLASS_CON
, 1, 0, dissect_x509if_DistinguishedName
},
1517 { NULL
, 0, 0, 0, NULL
}
1521 dissect_dop_NonSpecificHierarchicalAgreement(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1522 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1523 NonSpecificHierarchicalAgreement_sequence
, hf_index
, ett_dop_NonSpecificHierarchicalAgreement
);
1529 static const ber_sequence_t NHOBSuperiorToSubordinate_sequence
[] = {
1530 { &hf_dop_contextPrefixInfo
, BER_CLASS_CON
, 0, 0, dissect_dop_DITcontext
},
1531 { &hf_dop_immediateSuperiorInfo
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
, dissect_dop_SET_OF_Attribute
},
1532 { NULL
, 0, 0, 0, NULL
}
1536 dissect_dop_NHOBSuperiorToSubordinate(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1537 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1538 NHOBSuperiorToSubordinate_sequence
, hf_index
, ett_dop_NHOBSuperiorToSubordinate
);
1544 static const ber_sequence_t NHOBSubordinateToSuperior_sequence
[] = {
1545 { &hf_dop_accessPoints
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
, dissect_dsp_MasterAndShadowAccessPoints
},
1546 { &hf_dop_subentries
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
, dissect_dop_SET_OF_SubentryInfo
},
1547 { NULL
, 0, 0, 0, NULL
}
1551 dissect_dop_NHOBSubordinateToSuperior(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1552 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1553 NHOBSubordinateToSuperior_sequence
, hf_index
, ett_dop_NHOBSubordinateToSuperior
);
1561 dissect_dop_Precedence(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1562 #line 192 "../../asn1/dop/dop.cnf"
1563 guint32 precedence
= 0;
1565 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
1569 proto_item_append_text(tree
, " precedence=%d", precedence
);
1577 static const value_string dop_T_level_vals
[] = {
1586 dissect_dop_T_level(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1587 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
1596 dissect_dop_INTEGER(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1597 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
1604 static const ber_sequence_t T_basicLevels_sequence
[] = {
1605 { &hf_dop_level
, BER_CLASS_UNI
, BER_UNI_TAG_ENUMERATED
, BER_FLAGS_NOOWNTAG
, dissect_dop_T_level
},
1606 { &hf_dop_localQualifier
, BER_CLASS_UNI
, BER_UNI_TAG_INTEGER
, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_dop_INTEGER
},
1607 { &hf_dop_signed
, BER_CLASS_UNI
, BER_UNI_TAG_BOOLEAN
, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_dop_BOOLEAN
},
1608 { NULL
, 0, 0, 0, NULL
}
1612 dissect_dop_T_basicLevels(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1613 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1614 T_basicLevels_sequence
, hf_index
, ett_dop_T_basicLevels
);
1622 dissect_dop_EXTERNAL(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1623 offset
= dissect_ber_external_type(implicit_tag
, tree
, tvb
, offset
, actx
, hf_index
, NULL
);
1629 static const value_string dop_AuthenticationLevel_vals
[] = {
1630 { 0, "basicLevels" },
1635 static const ber_choice_t AuthenticationLevel_choice
[] = {
1636 { 0, &hf_dop_basicLevels
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_dop_T_basicLevels
},
1637 { 1, &hf_dop_other
, BER_CLASS_UNI
, BER_UNI_TAG_EXTERNAL
, BER_FLAGS_NOOWNTAG
, dissect_dop_EXTERNAL
},
1638 { 0, NULL
, 0, 0, 0, NULL
}
1642 dissect_dop_AuthenticationLevel(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1643 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
1644 AuthenticationLevel_choice
, hf_index
, ett_dop_AuthenticationLevel
,
1651 static const ber_sequence_t SET_OF_AttributeType_set_of
[1] = {
1652 { &hf_dop_attributeType_item
, BER_CLASS_UNI
, BER_UNI_TAG_OID
, BER_FLAGS_NOOWNTAG
, dissect_x509if_AttributeType
},
1656 dissect_dop_SET_OF_AttributeType(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1657 offset
= dissect_ber_set_of(implicit_tag
, actx
, tree
, tvb
, offset
,
1658 SET_OF_AttributeType_set_of
, hf_index
, ett_dop_SET_OF_AttributeType
);
1664 static const ber_sequence_t SET_OF_AttributeTypeAndValue_set_of
[1] = {
1665 { &hf_dop_attributeValue_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_crmf_AttributeTypeAndValue
},
1669 dissect_dop_SET_OF_AttributeTypeAndValue(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1670 offset
= dissect_ber_set_of(implicit_tag
, actx
, tree
, tvb
, offset
,
1671 SET_OF_AttributeTypeAndValue_set_of
, hf_index
, ett_dop_SET_OF_AttributeTypeAndValue
);
1677 static const ber_sequence_t MaxValueCount_sequence
[] = {
1678 { &hf_dop_type
, BER_CLASS_UNI
, BER_UNI_TAG_OID
, BER_FLAGS_NOOWNTAG
, dissect_x509if_AttributeType
},
1679 { &hf_dop_maxCount
, BER_CLASS_UNI
, BER_UNI_TAG_INTEGER
, BER_FLAGS_NOOWNTAG
, dissect_dop_INTEGER
},
1680 { NULL
, 0, 0, 0, NULL
}
1684 dissect_dop_MaxValueCount(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1685 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1686 MaxValueCount_sequence
, hf_index
, ett_dop_MaxValueCount
);
1692 static const ber_sequence_t SET_OF_MaxValueCount_set_of
[1] = {
1693 { &hf_dop_maxValueCount_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_dop_MaxValueCount
},
1697 dissect_dop_SET_OF_MaxValueCount(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1698 offset
= dissect_ber_set_of(implicit_tag
, actx
, tree
, tvb
, offset
,
1699 SET_OF_MaxValueCount_set_of
, hf_index
, ett_dop_SET_OF_MaxValueCount
);
1705 static const ber_sequence_t RestrictedValue_sequence
[] = {
1706 { &hf_dop_type
, BER_CLASS_UNI
, BER_UNI_TAG_OID
, BER_FLAGS_NOOWNTAG
, dissect_x509if_AttributeType
},
1707 { &hf_dop_valuesIn
, BER_CLASS_UNI
, BER_UNI_TAG_OID
, BER_FLAGS_NOOWNTAG
, dissect_x509if_AttributeType
},
1708 { NULL
, 0, 0, 0, NULL
}
1712 dissect_dop_RestrictedValue(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1713 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1714 RestrictedValue_sequence
, hf_index
, ett_dop_RestrictedValue
);
1720 static const ber_sequence_t SET_OF_RestrictedValue_set_of
[1] = {
1721 { &hf_dop_restrictedBy_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_dop_RestrictedValue
},
1725 dissect_dop_SET_OF_RestrictedValue(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1726 offset
= dissect_ber_set_of(implicit_tag
, actx
, tree
, tvb
, offset
,
1727 SET_OF_RestrictedValue_set_of
, hf_index
, ett_dop_SET_OF_RestrictedValue
);
1733 static const ber_sequence_t SET_OF_ContextAssertion_set_of
[1] = {
1734 { &hf_dop_contexts_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_x509if_ContextAssertion
},
1738 dissect_dop_SET_OF_ContextAssertion(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1739 offset
= dissect_ber_set_of(implicit_tag
, actx
, tree
, tvb
, offset
,
1740 SET_OF_ContextAssertion_set_of
, hf_index
, ett_dop_SET_OF_ContextAssertion
);
1746 static const ber_sequence_t ProtectedItems_sequence
[] = {
1747 { &hf_dop_entry
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
, dissect_dop_NULL
},
1748 { &hf_dop_allUserAttributeTypes
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
, dissect_dop_NULL
},
1749 { &hf_dop_attributeType
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
, dissect_dop_SET_OF_AttributeType
},
1750 { &hf_dop_allAttributeValues
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
, dissect_dop_SET_OF_AttributeType
},
1751 { &hf_dop_allUserAttributeTypesAndValues
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
, dissect_dop_NULL
},
1752 { &hf_dop_attributeValue
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
, dissect_dop_SET_OF_AttributeTypeAndValue
},
1753 { &hf_dop_selfValue
, BER_CLASS_CON
, 6, BER_FLAGS_OPTIONAL
, dissect_dop_SET_OF_AttributeType
},
1754 { &hf_dop_rangeOfValues
, BER_CLASS_CON
, 7, BER_FLAGS_OPTIONAL
, dissect_dap_Filter
},
1755 { &hf_dop_maxValueCount
, BER_CLASS_CON
, 8, BER_FLAGS_OPTIONAL
, dissect_dop_SET_OF_MaxValueCount
},
1756 { &hf_dop_maxImmSub
, BER_CLASS_CON
, 9, BER_FLAGS_OPTIONAL
, dissect_dop_INTEGER
},
1757 { &hf_dop_restrictedBy
, BER_CLASS_CON
, 10, BER_FLAGS_OPTIONAL
, dissect_dop_SET_OF_RestrictedValue
},
1758 { &hf_dop_contexts
, BER_CLASS_CON
, 11, BER_FLAGS_OPTIONAL
, dissect_dop_SET_OF_ContextAssertion
},
1759 { &hf_dop_classes
, BER_CLASS_CON
, 12, BER_FLAGS_OPTIONAL
, dissect_x509if_Refinement
},
1760 { NULL
, 0, 0, 0, NULL
}
1764 dissect_dop_ProtectedItems(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1765 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1766 ProtectedItems_sequence
, hf_index
, ett_dop_ProtectedItems
);
1772 static const ber_sequence_t SET_OF_NameAndOptionalUID_set_of
[1] = {
1773 { &hf_dop_name_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_x509sat_NameAndOptionalUID
},
1777 dissect_dop_SET_OF_NameAndOptionalUID(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1778 offset
= dissect_ber_set_of(implicit_tag
, actx
, tree
, tvb
, offset
,
1779 SET_OF_NameAndOptionalUID_set_of
, hf_index
, ett_dop_SET_OF_NameAndOptionalUID
);
1785 static const ber_sequence_t SET_OF_SubtreeSpecification_set_of
[1] = {
1786 { &hf_dop_subtree_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_x509if_SubtreeSpecification
},
1790 dissect_dop_SET_OF_SubtreeSpecification(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1791 offset
= dissect_ber_set_of(implicit_tag
, actx
, tree
, tvb
, offset
,
1792 SET_OF_SubtreeSpecification_set_of
, hf_index
, ett_dop_SET_OF_SubtreeSpecification
);
1798 static const ber_sequence_t UserClasses_sequence
[] = {
1799 { &hf_dop_allUsers
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
, dissect_dop_NULL
},
1800 { &hf_dop_thisEntry
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
, dissect_dop_NULL
},
1801 { &hf_dop_name
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
, dissect_dop_SET_OF_NameAndOptionalUID
},
1802 { &hf_dop_userGroup
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
, dissect_dop_SET_OF_NameAndOptionalUID
},
1803 { &hf_dop_subtree
, BER_CLASS_CON
, 4, BER_FLAGS_OPTIONAL
, dissect_dop_SET_OF_SubtreeSpecification
},
1804 { NULL
, 0, 0, 0, NULL
}
1808 dissect_dop_UserClasses(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1809 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1810 UserClasses_sequence
, hf_index
, ett_dop_UserClasses
);
1816 static const asn_namedbit GrantsAndDenials_bits
[] = {
1817 { 0, &hf_dop_GrantsAndDenials_grantAdd
, -1, -1, "grantAdd", NULL
},
1818 { 1, &hf_dop_GrantsAndDenials_denyAdd
, -1, -1, "denyAdd", NULL
},
1819 { 2, &hf_dop_GrantsAndDenials_grantDiscloseOnError
, -1, -1, "grantDiscloseOnError", NULL
},
1820 { 3, &hf_dop_GrantsAndDenials_denyDiscloseOnError
, -1, -1, "denyDiscloseOnError", NULL
},
1821 { 4, &hf_dop_GrantsAndDenials_grantRead
, -1, -1, "grantRead", NULL
},
1822 { 5, &hf_dop_GrantsAndDenials_denyRead
, -1, -1, "denyRead", NULL
},
1823 { 6, &hf_dop_GrantsAndDenials_grantRemove
, -1, -1, "grantRemove", NULL
},
1824 { 7, &hf_dop_GrantsAndDenials_denyRemove
, -1, -1, "denyRemove", NULL
},
1825 { 8, &hf_dop_GrantsAndDenials_grantBrowse
, -1, -1, "grantBrowse", NULL
},
1826 { 9, &hf_dop_GrantsAndDenials_denyBrowse
, -1, -1, "denyBrowse", NULL
},
1827 { 10, &hf_dop_GrantsAndDenials_grantExport
, -1, -1, "grantExport", NULL
},
1828 { 11, &hf_dop_GrantsAndDenials_denyExport
, -1, -1, "denyExport", NULL
},
1829 { 12, &hf_dop_GrantsAndDenials_grantImport
, -1, -1, "grantImport", NULL
},
1830 { 13, &hf_dop_GrantsAndDenials_denyImport
, -1, -1, "denyImport", NULL
},
1831 { 14, &hf_dop_GrantsAndDenials_grantModify
, -1, -1, "grantModify", NULL
},
1832 { 15, &hf_dop_GrantsAndDenials_denyModify
, -1, -1, "denyModify", NULL
},
1833 { 16, &hf_dop_GrantsAndDenials_grantRename
, -1, -1, "grantRename", NULL
},
1834 { 17, &hf_dop_GrantsAndDenials_denyRename
, -1, -1, "denyRename", NULL
},
1835 { 18, &hf_dop_GrantsAndDenials_grantReturnDN
, -1, -1, "grantReturnDN", NULL
},
1836 { 19, &hf_dop_GrantsAndDenials_denyReturnDN
, -1, -1, "denyReturnDN", NULL
},
1837 { 20, &hf_dop_GrantsAndDenials_grantCompare
, -1, -1, "grantCompare", NULL
},
1838 { 21, &hf_dop_GrantsAndDenials_denyCompare
, -1, -1, "denyCompare", NULL
},
1839 { 22, &hf_dop_GrantsAndDenials_grantFilterMatch
, -1, -1, "grantFilterMatch", NULL
},
1840 { 23, &hf_dop_GrantsAndDenials_denyFilterMatch
, -1, -1, "denyFilterMatch", NULL
},
1841 { 24, &hf_dop_GrantsAndDenials_grantInvoke
, -1, -1, "grantInvoke", NULL
},
1842 { 25, &hf_dop_GrantsAndDenials_denyInvoke
, -1, -1, "denyInvoke", NULL
},
1843 { 0, NULL
, 0, 0, NULL
, NULL
}
1847 dissect_dop_GrantsAndDenials(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1848 offset
= dissect_ber_bitstring(implicit_tag
, actx
, tree
, tvb
, offset
,
1849 GrantsAndDenials_bits
, hf_index
, ett_dop_GrantsAndDenials
,
1856 static const ber_sequence_t ItemPermission_sequence
[] = {
1857 { &hf_dop_precedence
, BER_CLASS_UNI
, BER_UNI_TAG_INTEGER
, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_dop_Precedence
},
1858 { &hf_dop_userClasses
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_dop_UserClasses
},
1859 { &hf_dop_grantsAndDenials
, BER_CLASS_UNI
, BER_UNI_TAG_BITSTRING
, BER_FLAGS_NOOWNTAG
, dissect_dop_GrantsAndDenials
},
1860 { NULL
, 0, 0, 0, NULL
}
1864 dissect_dop_ItemPermission(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1865 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1866 ItemPermission_sequence
, hf_index
, ett_dop_ItemPermission
);
1872 static const ber_sequence_t SET_OF_ItemPermission_set_of
[1] = {
1873 { &hf_dop_itemPermissions_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_dop_ItemPermission
},
1877 dissect_dop_SET_OF_ItemPermission(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1878 offset
= dissect_ber_set_of(implicit_tag
, actx
, tree
, tvb
, offset
,
1879 SET_OF_ItemPermission_set_of
, hf_index
, ett_dop_SET_OF_ItemPermission
);
1885 static const ber_sequence_t T_itemFirst_sequence
[] = {
1886 { &hf_dop_protectedItems
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_dop_ProtectedItems
},
1887 { &hf_dop_itemPermissions
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_dop_SET_OF_ItemPermission
},
1888 { NULL
, 0, 0, 0, NULL
}
1892 dissect_dop_T_itemFirst(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1893 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1894 T_itemFirst_sequence
, hf_index
, ett_dop_T_itemFirst
);
1900 static const ber_sequence_t UserPermission_sequence
[] = {
1901 { &hf_dop_precedence
, BER_CLASS_UNI
, BER_UNI_TAG_INTEGER
, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_dop_Precedence
},
1902 { &hf_dop_protectedItems
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_dop_ProtectedItems
},
1903 { &hf_dop_grantsAndDenials
, BER_CLASS_UNI
, BER_UNI_TAG_BITSTRING
, BER_FLAGS_NOOWNTAG
, dissect_dop_GrantsAndDenials
},
1904 { NULL
, 0, 0, 0, NULL
}
1908 dissect_dop_UserPermission(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1909 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1910 UserPermission_sequence
, hf_index
, ett_dop_UserPermission
);
1916 static const ber_sequence_t SET_OF_UserPermission_set_of
[1] = {
1917 { &hf_dop_userPermissions_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_dop_UserPermission
},
1921 dissect_dop_SET_OF_UserPermission(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1922 offset
= dissect_ber_set_of(implicit_tag
, actx
, tree
, tvb
, offset
,
1923 SET_OF_UserPermission_set_of
, hf_index
, ett_dop_SET_OF_UserPermission
);
1929 static const ber_sequence_t T_userFirst_sequence
[] = {
1930 { &hf_dop_userClasses
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_dop_UserClasses
},
1931 { &hf_dop_userPermissions
, BER_CLASS_UNI
, BER_UNI_TAG_SET
, BER_FLAGS_NOOWNTAG
, dissect_dop_SET_OF_UserPermission
},
1932 { NULL
, 0, 0, 0, NULL
}
1936 dissect_dop_T_userFirst(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1937 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1938 T_userFirst_sequence
, hf_index
, ett_dop_T_userFirst
);
1944 static const value_string dop_T_itemOrUserFirst_vals
[] = {
1950 static const ber_choice_t T_itemOrUserFirst_choice
[] = {
1951 { 0, &hf_dop_itemFirst
, BER_CLASS_CON
, 0, 0, dissect_dop_T_itemFirst
},
1952 { 1, &hf_dop_userFirst
, BER_CLASS_CON
, 1, 0, dissect_dop_T_userFirst
},
1953 { 0, NULL
, 0, 0, 0, NULL
}
1957 dissect_dop_T_itemOrUserFirst(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1958 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
1959 T_itemOrUserFirst_choice
, hf_index
, ett_dop_T_itemOrUserFirst
,
1966 static const ber_sequence_t ACIItem_sequence
[] = {
1967 { &hf_dop_identificationTag
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
, dissect_x509sat_DirectoryString
},
1968 { &hf_dop_precedence
, BER_CLASS_UNI
, BER_UNI_TAG_INTEGER
, BER_FLAGS_NOOWNTAG
, dissect_dop_Precedence
},
1969 { &hf_dop_authenticationLevel
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_dop_AuthenticationLevel
},
1970 { &hf_dop_itemOrUserFirst
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_dop_T_itemOrUserFirst
},
1971 { NULL
, 0, 0, 0, NULL
}
1975 dissect_dop_ACIItem(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1976 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1977 ACIItem_sequence
, hf_index
, ett_dop_ACIItem
);
1984 static void dissect_DSEType_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
) {
1985 asn1_ctx_t asn1_ctx
;
1986 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, TRUE
, pinfo
);
1987 dissect_dop_DSEType(FALSE
, tvb
, 0, &asn1_ctx
, tree
, hf_dop_DSEType_PDU
);
1989 static void dissect_SupplierInformation_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
) {
1990 asn1_ctx_t asn1_ctx
;
1991 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, TRUE
, pinfo
);
1992 dissect_dop_SupplierInformation(FALSE
, tvb
, 0, &asn1_ctx
, tree
, hf_dop_SupplierInformation_PDU
);
1994 static void dissect_ConsumerInformation_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
) {
1995 asn1_ctx_t asn1_ctx
;
1996 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, TRUE
, pinfo
);
1997 dissect_dop_ConsumerInformation(FALSE
, tvb
, 0, &asn1_ctx
, tree
, hf_dop_ConsumerInformation_PDU
);
1999 static void dissect_SupplierAndConsumers_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
) {
2000 asn1_ctx_t asn1_ctx
;
2001 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, TRUE
, pinfo
);
2002 dissect_dop_SupplierAndConsumers(FALSE
, tvb
, 0, &asn1_ctx
, tree
, hf_dop_SupplierAndConsumers_PDU
);
2004 static void dissect_HierarchicalAgreement_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
) {
2005 asn1_ctx_t asn1_ctx
;
2006 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, TRUE
, pinfo
);
2007 dissect_dop_HierarchicalAgreement(FALSE
, tvb
, 0, &asn1_ctx
, tree
, hf_dop_HierarchicalAgreement_PDU
);
2009 static void dissect_SuperiorToSubordinate_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
) {
2010 asn1_ctx_t asn1_ctx
;
2011 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, TRUE
, pinfo
);
2012 dissect_dop_SuperiorToSubordinate(FALSE
, tvb
, 0, &asn1_ctx
, tree
, hf_dop_SuperiorToSubordinate_PDU
);
2014 static void dissect_SubordinateToSuperior_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
) {
2015 asn1_ctx_t asn1_ctx
;
2016 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, TRUE
, pinfo
);
2017 dissect_dop_SubordinateToSuperior(FALSE
, tvb
, 0, &asn1_ctx
, tree
, hf_dop_SubordinateToSuperior_PDU
);
2019 static void dissect_SuperiorToSubordinateModification_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
) {
2020 asn1_ctx_t asn1_ctx
;
2021 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, TRUE
, pinfo
);
2022 dissect_dop_SuperiorToSubordinateModification(FALSE
, tvb
, 0, &asn1_ctx
, tree
, hf_dop_SuperiorToSubordinateModification_PDU
);
2024 static void dissect_NonSpecificHierarchicalAgreement_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
) {
2025 asn1_ctx_t asn1_ctx
;
2026 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, TRUE
, pinfo
);
2027 dissect_dop_NonSpecificHierarchicalAgreement(FALSE
, tvb
, 0, &asn1_ctx
, tree
, hf_dop_NonSpecificHierarchicalAgreement_PDU
);
2029 static void dissect_NHOBSuperiorToSubordinate_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
) {
2030 asn1_ctx_t asn1_ctx
;
2031 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, TRUE
, pinfo
);
2032 dissect_dop_NHOBSuperiorToSubordinate(FALSE
, tvb
, 0, &asn1_ctx
, tree
, hf_dop_NHOBSuperiorToSubordinate_PDU
);
2034 static void dissect_NHOBSubordinateToSuperior_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
) {
2035 asn1_ctx_t asn1_ctx
;
2036 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, TRUE
, pinfo
);
2037 dissect_dop_NHOBSubordinateToSuperior(FALSE
, tvb
, 0, &asn1_ctx
, tree
, hf_dop_NHOBSubordinateToSuperior_PDU
);
2039 static void dissect_ACIItem_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
) {
2040 asn1_ctx_t asn1_ctx
;
2041 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, TRUE
, pinfo
);
2042 dissect_dop_ACIItem(FALSE
, tvb
, 0, &asn1_ctx
, tree
, hf_dop_ACIItem_PDU
);
2046 /*--- End of included file: packet-dop-fn.c ---*/
2047 #line 86 "../../asn1/dop/packet-dop-template.c"
2050 call_dop_oid_callback(const char *base_string
, tvbuff_t
*tvb
, int offset
, packet_info
*pinfo
, proto_tree
*tree
, const char *col_info
, void* data
)
2052 char* binding_param
;
2054 binding_param
= wmem_strdup_printf(wmem_packet_scope(), "%s.%s", base_string
, binding_type
? binding_type
: "");
2056 col_append_fstr(pinfo
->cinfo
, COL_INFO
, " %s", col_info
);
2058 if (dissector_try_string(dop_dissector_table
, binding_param
, tvb
, pinfo
, tree
, data
)) {
2059 offset
= tvb_reported_length (tvb
);
2061 proto_item
*item
=NULL
;
2062 proto_tree
*next_tree
=NULL
;
2064 item
= proto_tree_add_text(tree
, tvb
, 0, tvb_length_remaining(tvb
, offset
), "Dissector for parameter %s OID:%s not implemented. Contact Wireshark developers if you want this supported", base_string
, binding_type
? binding_type
: "<empty>");
2066 next_tree
= proto_item_add_subtree(item
, ett_dop_unknown
);
2068 offset
= dissect_unknown_ber(pinfo
, tvb
, offset
, next_tree
);
2069 expert_add_info(pinfo
, item
, &ei_dop_unknown_binding_parameter
);
2077 * Dissect DOP PDUs inside a ROS PDUs
2080 dissect_dop(tvbuff_t
*tvb
, packet_info
*pinfo
, proto_tree
*parent_tree
, void* data
)
2086 struct SESSION_DATA_STRUCTURE
* session
;
2087 int (*dop_dissector
)(gboolean implicit_tag _U_
, tvbuff_t
*tvb
, int offset
, asn1_ctx_t
*actx
, proto_tree
*tree
, int hf_index _U_
) = NULL
;
2088 const char *dop_op_name
;
2089 asn1_ctx_t asn1_ctx
;
2091 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, TRUE
, pinfo
);
2093 /* do we have operation information from the ROS dissector? */
2096 proto_tree_add_text(parent_tree
, tvb
, offset
, -1,
2097 "Internal error: can't get operation information from ROS dissector.");
2102 session
= ( (struct SESSION_DATA_STRUCTURE
*)data
);
2104 item
= proto_tree_add_item(parent_tree
, proto_dop
, tvb
, 0, -1, ENC_NA
);
2105 tree
= proto_item_add_subtree(item
, ett_dop
);
2107 col_set_str(pinfo
->cinfo
, COL_PROTOCOL
, "DOP");
2108 col_clear(pinfo
->cinfo
, COL_INFO
);
2110 asn1_ctx
.private_data
= session
;
2112 switch(session
->ros_op
& ROS_OP_MASK
) {
2113 case (ROS_OP_BIND
| ROS_OP_ARGUMENT
): /* BindInvoke */
2114 dop_dissector
= dissect_dop_DSAOperationalManagementBindArgument
;
2115 dop_op_name
= "DSA-Operational-Bind-Argument";
2117 case (ROS_OP_BIND
| ROS_OP_RESULT
): /* BindResult */
2118 dop_dissector
= dissect_dop_DSAOperationalManagementBindResult
;
2119 dop_op_name
= "DSA-Operational-Bind-Result";
2121 case (ROS_OP_BIND
| ROS_OP_ERROR
): /* BindError */
2122 dop_dissector
= dissect_dop_DSAOperationalManagementBindError
;
2123 dop_op_name
= "DSA-Operational-Management-Bind-Error";
2125 case (ROS_OP_INVOKE
| ROS_OP_ARGUMENT
): /* Invoke Argument */
2126 switch(session
->ros_op
& ROS_OP_OPCODE_MASK
) {
2127 case 100: /* establish */
2128 dop_dissector
= dissect_dop_EstablishOperationalBindingArgument
;
2129 dop_op_name
= "Establish-Operational-Binding-Argument";
2131 case 101: /* terminate */
2132 dop_dissector
= dissect_dop_TerminateOperationalBindingArgument
;
2133 dop_op_name
= "Terminate-Operational-Binding-Argument";
2135 case 102: /* modify */
2136 dop_dissector
= dissect_dop_ModifyOperationalBindingArgument
;
2137 dop_op_name
= "Modify-Operational-Binding-Argument";
2140 proto_tree_add_text(tree
, tvb
, offset
, -1,"Unsupported DOP Argument opcode (%d)",
2141 session
->ros_op
& ROS_OP_OPCODE_MASK
);
2145 case (ROS_OP_INVOKE
| ROS_OP_RESULT
): /* Return Result */
2146 switch(session
->ros_op
& ROS_OP_OPCODE_MASK
) {
2147 case 100: /* establish */
2148 dop_dissector
= dissect_dop_EstablishOperationalBindingResult
;
2149 dop_op_name
= "Establish-Operational-Binding-Result";
2151 case 101: /* terminate */
2152 dop_dissector
= dissect_dop_TerminateOperationalBindingResult
;
2153 dop_op_name
= "Terminate-Operational-Binding-Result";
2155 case 102: /* modify */
2156 dop_dissector
= dissect_dop_ModifyOperationalBindingResult
;
2157 dop_op_name
= "Modify-Operational-Binding-Result";
2160 proto_tree_add_text(tree
, tvb
, offset
, -1,"Unsupported DOP Result opcode (%d)",
2161 session
->ros_op
& ROS_OP_OPCODE_MASK
);
2165 case (ROS_OP_INVOKE
| ROS_OP_ERROR
): /* Return Error */
2166 switch(session
->ros_op
& ROS_OP_OPCODE_MASK
) {
2167 case 100: /* operational-binding */
2168 dop_dissector
= dissect_dop_OpBindingErrorParam
;
2169 dop_op_name
= "Operational-Binding-Error";
2172 proto_tree_add_text(tree
, tvb
, offset
, -1,"Unsupported DOP Error opcode (%d)",
2173 session
->ros_op
& ROS_OP_OPCODE_MASK
);
2178 proto_tree_add_text(tree
, tvb
, offset
, -1,"Unsupported DOP PDU");
2179 return tvb_length(tvb
);
2183 col_set_str(pinfo
->cinfo
, COL_INFO
, dop_op_name
);
2185 while (tvb_reported_length_remaining(tvb
, offset
) > 0){
2187 offset
=(*dop_dissector
)(FALSE
, tvb
, offset
, &asn1_ctx
, tree
, -1);
2188 if(offset
== old_offset
){
2189 proto_tree_add_text(tree
, tvb
, offset
, -1,"Internal error, zero-byte DOP PDU");
2195 return tvb_length(tvb
);
2200 /*--- proto_register_dop -------------------------------------------*/
2201 void proto_register_dop(void) {
2203 /* List of fields */
2204 static hf_register_info hf
[] =
2207 /*--- Included file: packet-dop-hfarr.c ---*/
2208 #line 1 "../../asn1/dop/packet-dop-hfarr.c"
2209 { &hf_dop_DSEType_PDU
,
2210 { "DSEType", "dop.DSEType",
2211 FT_BYTES
, BASE_NONE
, NULL
, 0,
2213 { &hf_dop_SupplierInformation_PDU
,
2214 { "SupplierInformation", "dop.SupplierInformation_element",
2215 FT_NONE
, BASE_NONE
, NULL
, 0,
2217 { &hf_dop_ConsumerInformation_PDU
,
2218 { "ConsumerInformation", "dop.ConsumerInformation_element",
2219 FT_NONE
, BASE_NONE
, NULL
, 0,
2221 { &hf_dop_SupplierAndConsumers_PDU
,
2222 { "SupplierAndConsumers", "dop.SupplierAndConsumers_element",
2223 FT_NONE
, BASE_NONE
, NULL
, 0,
2225 { &hf_dop_HierarchicalAgreement_PDU
,
2226 { "HierarchicalAgreement", "dop.HierarchicalAgreement_element",
2227 FT_NONE
, BASE_NONE
, NULL
, 0,
2229 { &hf_dop_SuperiorToSubordinate_PDU
,
2230 { "SuperiorToSubordinate", "dop.SuperiorToSubordinate_element",
2231 FT_NONE
, BASE_NONE
, NULL
, 0,
2233 { &hf_dop_SubordinateToSuperior_PDU
,
2234 { "SubordinateToSuperior", "dop.SubordinateToSuperior_element",
2235 FT_NONE
, BASE_NONE
, NULL
, 0,
2237 { &hf_dop_SuperiorToSubordinateModification_PDU
,
2238 { "SuperiorToSubordinateModification", "dop.SuperiorToSubordinateModification_element",
2239 FT_NONE
, BASE_NONE
, NULL
, 0,
2241 { &hf_dop_NonSpecificHierarchicalAgreement_PDU
,
2242 { "NonSpecificHierarchicalAgreement", "dop.NonSpecificHierarchicalAgreement_element",
2243 FT_NONE
, BASE_NONE
, NULL
, 0,
2245 { &hf_dop_NHOBSuperiorToSubordinate_PDU
,
2246 { "NHOBSuperiorToSubordinate", "dop.NHOBSuperiorToSubordinate_element",
2247 FT_NONE
, BASE_NONE
, NULL
, 0,
2249 { &hf_dop_NHOBSubordinateToSuperior_PDU
,
2250 { "NHOBSubordinateToSuperior", "dop.NHOBSubordinateToSuperior_element",
2251 FT_NONE
, BASE_NONE
, NULL
, 0,
2253 { &hf_dop_ACIItem_PDU
,
2254 { "ACIItem", "dop.ACIItem_element",
2255 FT_NONE
, BASE_NONE
, NULL
, 0,
2258 { "ae-title", "dop.ae_title",
2259 FT_UINT32
, BASE_DEC
, VALS(x509if_Name_vals
), 0,
2262 { "address", "dop.address_element",
2263 FT_NONE
, BASE_NONE
, NULL
, 0,
2264 "PresentationAddress", HFILL
}},
2265 { &hf_dop_protocolInformation
,
2266 { "protocolInformation", "dop.protocolInformation",
2267 FT_UINT32
, BASE_DEC
, NULL
, 0,
2268 "SET_OF_ProtocolInformation", HFILL
}},
2269 { &hf_dop_protocolInformation_item
,
2270 { "ProtocolInformation", "dop.ProtocolInformation_element",
2271 FT_NONE
, BASE_NONE
, NULL
, 0,
2273 { &hf_dop_agreementID
,
2274 { "agreementID", "dop.agreementID_element",
2275 FT_NONE
, BASE_NONE
, NULL
, 0,
2276 "OperationalBindingID", HFILL
}},
2277 { &hf_dop_supplier_is_master
,
2278 { "supplier-is-master", "dop.supplier_is_master",
2279 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
2280 "BOOLEAN", HFILL
}},
2281 { &hf_dop_non_supplying_master
,
2282 { "non-supplying-master", "dop.non_supplying_master_element",
2283 FT_NONE
, BASE_NONE
, NULL
, 0,
2284 "AccessPoint", HFILL
}},
2285 { &hf_dop_consumers
,
2286 { "consumers", "dop.consumers",
2287 FT_UINT32
, BASE_DEC
, NULL
, 0,
2288 "SET_OF_AccessPoint", HFILL
}},
2289 { &hf_dop_consumers_item
,
2290 { "AccessPoint", "dop.AccessPoint_element",
2291 FT_NONE
, BASE_NONE
, NULL
, 0,
2293 { &hf_dop_bindingType
,
2294 { "bindingType", "dop.bindingType",
2295 FT_OID
, BASE_NONE
, NULL
, 0,
2297 { &hf_dop_bindingID
,
2298 { "bindingID", "dop.bindingID_element",
2299 FT_NONE
, BASE_NONE
, NULL
, 0,
2300 "OperationalBindingID", HFILL
}},
2301 { &hf_dop_accessPoint
,
2302 { "accessPoint", "dop.accessPoint_element",
2303 FT_NONE
, BASE_NONE
, NULL
, 0,
2305 { &hf_dop_establishInitiator
,
2306 { "initiator", "dop.initiator",
2307 FT_UINT32
, BASE_DEC
, VALS(dop_EstablishArgumentInitiator_vals
), 0,
2308 "EstablishArgumentInitiator", HFILL
}},
2309 { &hf_dop_establishSymmetric
,
2310 { "symmetric", "dop.symmetric_element",
2311 FT_NONE
, BASE_NONE
, NULL
, 0,
2312 "EstablishSymmetric", HFILL
}},
2313 { &hf_dop_establishRoleAInitiates
,
2314 { "roleA-initiates", "dop.roleA_initiates_element",
2315 FT_NONE
, BASE_NONE
, NULL
, 0,
2316 "EstablishRoleAInitiates", HFILL
}},
2317 { &hf_dop_establishRoleBInitiates
,
2318 { "roleB-initiates", "dop.roleB_initiates_element",
2319 FT_NONE
, BASE_NONE
, NULL
, 0,
2320 "EstablishRoleBInitiates", HFILL
}},
2321 { &hf_dop_agreement
,
2322 { "agreement", "dop.agreement_element",
2323 FT_NONE
, BASE_NONE
, NULL
, 0,
2326 { "valid", "dop.valid_element",
2327 FT_NONE
, BASE_NONE
, NULL
, 0,
2328 "Validity", HFILL
}},
2329 { &hf_dop_securityParameters
,
2330 { "securityParameters", "dop.securityParameters_element",
2331 FT_NONE
, BASE_NONE
, NULL
, 0,
2333 { &hf_dop_unsignedEstablishOperationalBindingArgument
,
2334 { "unsignedEstablishOperationalBindingArgument", "dop.unsignedEstablishOperationalBindingArgument_element",
2335 FT_NONE
, BASE_NONE
, NULL
, 0,
2336 "EstablishOperationalBindingArgumentData", HFILL
}},
2337 { &hf_dop_signedEstablishOperationalBindingArgument
,
2338 { "signedEstablishOperationalBindingArgument", "dop.signedEstablishOperationalBindingArgument_element",
2339 FT_NONE
, BASE_NONE
, NULL
, 0,
2341 { &hf_dop_establishOperationalBindingArgument
,
2342 { "establishOperationalBindingArgument", "dop.establishOperationalBindingArgument_element",
2343 FT_NONE
, BASE_NONE
, NULL
, 0,
2344 "EstablishOperationalBindingArgumentData", HFILL
}},
2345 { &hf_dop_algorithmIdentifier
,
2346 { "algorithmIdentifier", "dop.algorithmIdentifier_element",
2347 FT_NONE
, BASE_NONE
, NULL
, 0,
2349 { &hf_dop_encrypted
,
2350 { "encrypted", "dop.encrypted",
2351 FT_BYTES
, BASE_NONE
, NULL
, 0,
2352 "BIT_STRING", HFILL
}},
2353 { &hf_dop_identifier
,
2354 { "identifier", "dop.identifier",
2355 FT_INT32
, BASE_DEC
, NULL
, 0,
2358 { "version", "dop.version",
2359 FT_INT32
, BASE_DEC
, NULL
, 0,
2361 { &hf_dop_validFrom
,
2362 { "validFrom", "dop.validFrom",
2363 FT_UINT32
, BASE_DEC
, VALS(dop_T_validFrom_vals
), 0,
2366 { "now", "dop.now_element",
2367 FT_NONE
, BASE_NONE
, NULL
, 0,
2370 { "time", "dop.time",
2371 FT_UINT32
, BASE_DEC
, VALS(dop_Time_vals
), 0,
2373 { &hf_dop_validUntil
,
2374 { "validUntil", "dop.validUntil",
2375 FT_UINT32
, BASE_DEC
, VALS(dop_T_validUntil_vals
), 0,
2377 { &hf_dop_explicitTermination
,
2378 { "explicitTermination", "dop.explicitTermination_element",
2379 FT_NONE
, BASE_NONE
, NULL
, 0,
2382 { "utcTime", "dop.utcTime",
2383 FT_STRING
, BASE_NONE
, NULL
, 0,
2385 { &hf_dop_generalizedTime
,
2386 { "generalizedTime", "dop.generalizedTime",
2387 FT_STRING
, BASE_NONE
, NULL
, 0,
2389 { &hf_dop_initiator
,
2390 { "initiator", "dop.initiator",
2391 FT_UINT32
, BASE_DEC
, VALS(dop_T_initiator_vals
), 0,
2393 { &hf_dop_symmetric
,
2394 { "symmetric", "dop.symmetric_element",
2395 FT_NONE
, BASE_NONE
, NULL
, 0,
2397 { &hf_dop_roleA_replies
,
2398 { "roleA-replies", "dop.roleA_replies_element",
2399 FT_NONE
, BASE_NONE
, NULL
, 0,
2401 { &hf_dop_roleB_replies
,
2402 { "roleB-replies", "dop.roleB_replies_element",
2403 FT_NONE
, BASE_NONE
, NULL
, 0,
2405 { &hf_dop_performer
,
2406 { "performer", "dop.performer",
2407 FT_UINT32
, BASE_DEC
, NULL
, 0,
2408 "DistinguishedName", HFILL
}},
2409 { &hf_dop_aliasDereferenced
,
2410 { "aliasDereferenced", "dop.aliasDereferenced",
2411 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
2412 "BOOLEAN", HFILL
}},
2413 { &hf_dop_notification
,
2414 { "notification", "dop.notification",
2415 FT_UINT32
, BASE_DEC
, NULL
, 0,
2416 "SEQUENCE_SIZE_1_MAX_OF_Attribute", HFILL
}},
2417 { &hf_dop_notification_item
,
2418 { "Attribute", "dop.Attribute_element",
2419 FT_NONE
, BASE_NONE
, NULL
, 0,
2421 { &hf_dop_modifyInitiator
,
2422 { "initiator", "dop.initiator",
2423 FT_UINT32
, BASE_DEC
, VALS(dop_ModifyArgumentInitiator_vals
), 0,
2424 "ModifyArgumentInitiator", HFILL
}},
2425 { &hf_dop_modifySymmetric
,
2426 { "symmetric", "dop.symmetric_element",
2427 FT_NONE
, BASE_NONE
, NULL
, 0,
2428 "ModifySymmetric", HFILL
}},
2429 { &hf_dop_modifyRoleAInitiates
,
2430 { "roleA-initiates", "dop.roleA_initiates_element",
2431 FT_NONE
, BASE_NONE
, NULL
, 0,
2432 "ModifyRoleAInitiates", HFILL
}},
2433 { &hf_dop_modifyRoleBInitiates
,
2434 { "roleB-initiates", "dop.roleB_initiates_element",
2435 FT_NONE
, BASE_NONE
, NULL
, 0,
2436 "ModifyRoleBInitiates", HFILL
}},
2437 { &hf_dop_newBindingID
,
2438 { "newBindingID", "dop.newBindingID_element",
2439 FT_NONE
, BASE_NONE
, NULL
, 0,
2440 "OperationalBindingID", HFILL
}},
2441 { &hf_dop_argumentNewAgreement
,
2442 { "newAgreement", "dop.newAgreement_element",
2443 FT_NONE
, BASE_NONE
, NULL
, 0,
2444 "ArgumentNewAgreement", HFILL
}},
2445 { &hf_dop_unsignedModifyOperationalBindingArgument
,
2446 { "unsignedModifyOperationalBindingArgument", "dop.unsignedModifyOperationalBindingArgument_element",
2447 FT_NONE
, BASE_NONE
, NULL
, 0,
2448 "ModifyOperationalBindingArgumentData", HFILL
}},
2449 { &hf_dop_signedModifyOperationalBindingArgument
,
2450 { "signedModifyOperationalBindingArgument", "dop.signedModifyOperationalBindingArgument_element",
2451 FT_NONE
, BASE_NONE
, NULL
, 0,
2453 { &hf_dop_modifyOperationalBindingArgument
,
2454 { "modifyOperationalBindingArgument", "dop.modifyOperationalBindingArgument_element",
2455 FT_NONE
, BASE_NONE
, NULL
, 0,
2456 "ModifyOperationalBindingArgumentData", HFILL
}},
2458 { "null", "dop.null_element",
2459 FT_NONE
, BASE_NONE
, NULL
, 0,
2461 { &hf_dop_protectedModifyResult
,
2462 { "protected", "dop.protected_element",
2463 FT_NONE
, BASE_NONE
, NULL
, 0,
2464 "ProtectedModifyResult", HFILL
}},
2465 { &hf_dop_modifyOperationalBindingResultData
,
2466 { "modifyOperationalBindingResultData", "dop.modifyOperationalBindingResultData_element",
2467 FT_NONE
, BASE_NONE
, NULL
, 0,
2469 { &hf_dop_resultNewAgreement
,
2470 { "newAgreement", "dop.newAgreement_element",
2471 FT_NONE
, BASE_NONE
, NULL
, 0,
2472 "ResultNewAgreement", HFILL
}},
2473 { &hf_dop_terminateInitiator
,
2474 { "initiator", "dop.initiator",
2475 FT_UINT32
, BASE_DEC
, VALS(dop_TerminateArgumentInitiator_vals
), 0,
2476 "TerminateArgumentInitiator", HFILL
}},
2477 { &hf_dop_terminateSymmetric
,
2478 { "symmetric", "dop.symmetric_element",
2479 FT_NONE
, BASE_NONE
, NULL
, 0,
2480 "TerminateSymmetric", HFILL
}},
2481 { &hf_dop_terminateRoleAInitiates
,
2482 { "roleA-initiates", "dop.roleA_initiates_element",
2483 FT_NONE
, BASE_NONE
, NULL
, 0,
2484 "TerminateRoleAInitiates", HFILL
}},
2485 { &hf_dop_terminateRoleBInitiates
,
2486 { "roleB-initiates", "dop.roleB_initiates_element",
2487 FT_NONE
, BASE_NONE
, NULL
, 0,
2488 "TerminateRoleBInitiates", HFILL
}},
2489 { &hf_dop_terminateAtTime
,
2490 { "terminateAt", "dop.terminateAt",
2491 FT_UINT32
, BASE_DEC
, VALS(dop_Time_vals
), 0,
2493 { &hf_dop_unsignedTerminateOperationalBindingArgument
,
2494 { "unsignedTerminateOperationalBindingArgument", "dop.unsignedTerminateOperationalBindingArgument_element",
2495 FT_NONE
, BASE_NONE
, NULL
, 0,
2496 "TerminateOperationalBindingArgumentData", HFILL
}},
2497 { &hf_dop_signedTerminateOperationalBindingArgument
,
2498 { "signedTerminateOperationalBindingArgument", "dop.signedTerminateOperationalBindingArgument_element",
2499 FT_NONE
, BASE_NONE
, NULL
, 0,
2501 { &hf_dop_terminateOperationalBindingArgument
,
2502 { "terminateOperationalBindingArgument", "dop.terminateOperationalBindingArgument_element",
2503 FT_NONE
, BASE_NONE
, NULL
, 0,
2504 "TerminateOperationalBindingArgumentData", HFILL
}},
2505 { &hf_dop_protectedTerminateResult
,
2506 { "protected", "dop.protected_element",
2507 FT_NONE
, BASE_NONE
, NULL
, 0,
2508 "ProtectedTerminateResult", HFILL
}},
2509 { &hf_dop_terminateOperationalBindingResultData
,
2510 { "terminateOperationalBindingResultData", "dop.terminateOperationalBindingResultData_element",
2511 FT_NONE
, BASE_NONE
, NULL
, 0,
2513 { &hf_dop_terminateAtGeneralizedTime
,
2514 { "terminateAt", "dop.terminateAt",
2515 FT_STRING
, BASE_NONE
, NULL
, 0,
2516 "GeneralizedTime", HFILL
}},
2518 { "problem", "dop.problem",
2519 FT_UINT32
, BASE_DEC
, VALS(dop_T_problem_vals
), 0,
2521 { &hf_dop_agreementProposal
,
2522 { "agreementProposal", "dop.agreementProposal_element",
2523 FT_NONE
, BASE_NONE
, NULL
, 0,
2526 { "retryAt", "dop.retryAt",
2527 FT_UINT32
, BASE_DEC
, VALS(dop_Time_vals
), 0,
2531 FT_UINT32
, BASE_DEC
, NULL
, 0,
2532 "RelativeDistinguishedName", HFILL
}},
2533 { &hf_dop_immediateSuperior
,
2534 { "immediateSuperior", "dop.immediateSuperior",
2535 FT_UINT32
, BASE_DEC
, NULL
, 0,
2536 "DistinguishedName", HFILL
}},
2537 { &hf_dop_contextPrefixInfo
,
2538 { "contextPrefixInfo", "dop.contextPrefixInfo",
2539 FT_UINT32
, BASE_DEC
, NULL
, 0,
2540 "DITcontext", HFILL
}},
2541 { &hf_dop_entryInfo
,
2542 { "entryInfo", "dop.entryInfo",
2543 FT_UINT32
, BASE_DEC
, NULL
, 0,
2544 "SET_OF_Attribute", HFILL
}},
2545 { &hf_dop_entryInfo_item
,
2546 { "Attribute", "dop.Attribute_element",
2547 FT_NONE
, BASE_NONE
, NULL
, 0,
2549 { &hf_dop_immediateSuperiorInfo
,
2550 { "immediateSuperiorInfo", "dop.immediateSuperiorInfo",
2551 FT_UINT32
, BASE_DEC
, NULL
, 0,
2552 "SET_OF_Attribute", HFILL
}},
2553 { &hf_dop_immediateSuperiorInfo_item
,
2554 { "Attribute", "dop.Attribute_element",
2555 FT_NONE
, BASE_NONE
, NULL
, 0,
2557 { &hf_dop_DITcontext_item
,
2558 { "Vertex", "dop.Vertex_element",
2559 FT_NONE
, BASE_NONE
, NULL
, 0,
2561 { &hf_dop_admPointInfo
,
2562 { "admPointInfo", "dop.admPointInfo",
2563 FT_UINT32
, BASE_DEC
, NULL
, 0,
2564 "SET_OF_Attribute", HFILL
}},
2565 { &hf_dop_admPointInfo_item
,
2566 { "Attribute", "dop.Attribute_element",
2567 FT_NONE
, BASE_NONE
, NULL
, 0,
2569 { &hf_dop_subentries
,
2570 { "subentries", "dop.subentries",
2571 FT_UINT32
, BASE_DEC
, NULL
, 0,
2572 "SET_OF_SubentryInfo", HFILL
}},
2573 { &hf_dop_subentries_item
,
2574 { "SubentryInfo", "dop.SubentryInfo_element",
2575 FT_NONE
, BASE_NONE
, NULL
, 0,
2577 { &hf_dop_accessPoints
,
2578 { "accessPoints", "dop.accessPoints",
2579 FT_UINT32
, BASE_DEC
, NULL
, 0,
2580 "MasterAndShadowAccessPoints", HFILL
}},
2582 { "info", "dop.info",
2583 FT_UINT32
, BASE_DEC
, NULL
, 0,
2584 "SET_OF_Attribute", HFILL
}},
2585 { &hf_dop_info_item
,
2586 { "Attribute", "dop.Attribute_element",
2587 FT_NONE
, BASE_NONE
, NULL
, 0,
2590 { "alias", "dop.alias",
2591 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
2592 "BOOLEAN", HFILL
}},
2593 { &hf_dop_identificationTag
,
2594 { "identificationTag", "dop.identificationTag",
2595 FT_UINT32
, BASE_DEC
, VALS(x509sat_DirectoryString_vals
), 0,
2596 "DirectoryString", HFILL
}},
2597 { &hf_dop_precedence
,
2598 { "precedence", "dop.precedence",
2599 FT_INT32
, BASE_DEC
, NULL
, 0,
2601 { &hf_dop_authenticationLevel
,
2602 { "authenticationLevel", "dop.authenticationLevel",
2603 FT_UINT32
, BASE_DEC
, VALS(dop_AuthenticationLevel_vals
), 0,
2605 { &hf_dop_itemOrUserFirst
,
2606 { "itemOrUserFirst", "dop.itemOrUserFirst",
2607 FT_UINT32
, BASE_DEC
, VALS(dop_T_itemOrUserFirst_vals
), 0,
2609 { &hf_dop_itemFirst
,
2610 { "itemFirst", "dop.itemFirst_element",
2611 FT_NONE
, BASE_NONE
, NULL
, 0,
2613 { &hf_dop_protectedItems
,
2614 { "protectedItems", "dop.protectedItems_element",
2615 FT_NONE
, BASE_NONE
, NULL
, 0,
2617 { &hf_dop_itemPermissions
,
2618 { "itemPermissions", "dop.itemPermissions",
2619 FT_UINT32
, BASE_DEC
, NULL
, 0,
2620 "SET_OF_ItemPermission", HFILL
}},
2621 { &hf_dop_itemPermissions_item
,
2622 { "ItemPermission", "dop.ItemPermission_element",
2623 FT_NONE
, BASE_NONE
, NULL
, 0,
2625 { &hf_dop_userFirst
,
2626 { "userFirst", "dop.userFirst_element",
2627 FT_NONE
, BASE_NONE
, NULL
, 0,
2629 { &hf_dop_userClasses
,
2630 { "userClasses", "dop.userClasses_element",
2631 FT_NONE
, BASE_NONE
, NULL
, 0,
2633 { &hf_dop_userPermissions
,
2634 { "userPermissions", "dop.userPermissions",
2635 FT_UINT32
, BASE_DEC
, NULL
, 0,
2636 "SET_OF_UserPermission", HFILL
}},
2637 { &hf_dop_userPermissions_item
,
2638 { "UserPermission", "dop.UserPermission_element",
2639 FT_NONE
, BASE_NONE
, NULL
, 0,
2642 { "entry", "dop.entry_element",
2643 FT_NONE
, BASE_NONE
, NULL
, 0,
2645 { &hf_dop_allUserAttributeTypes
,
2646 { "allUserAttributeTypes", "dop.allUserAttributeTypes_element",
2647 FT_NONE
, BASE_NONE
, NULL
, 0,
2649 { &hf_dop_attributeType
,
2650 { "attributeType", "dop.attributeType",
2651 FT_UINT32
, BASE_DEC
, NULL
, 0,
2652 "SET_OF_AttributeType", HFILL
}},
2653 { &hf_dop_attributeType_item
,
2654 { "AttributeType", "dop.AttributeType",
2655 FT_OID
, BASE_NONE
, NULL
, 0,
2657 { &hf_dop_allAttributeValues
,
2658 { "allAttributeValues", "dop.allAttributeValues",
2659 FT_UINT32
, BASE_DEC
, NULL
, 0,
2660 "SET_OF_AttributeType", HFILL
}},
2661 { &hf_dop_allAttributeValues_item
,
2662 { "AttributeType", "dop.AttributeType",
2663 FT_OID
, BASE_NONE
, NULL
, 0,
2665 { &hf_dop_allUserAttributeTypesAndValues
,
2666 { "allUserAttributeTypesAndValues", "dop.allUserAttributeTypesAndValues_element",
2667 FT_NONE
, BASE_NONE
, NULL
, 0,
2669 { &hf_dop_attributeValue
,
2670 { "attributeValue", "dop.attributeValue",
2671 FT_UINT32
, BASE_DEC
, NULL
, 0,
2672 "SET_OF_AttributeTypeAndValue", HFILL
}},
2673 { &hf_dop_attributeValue_item
,
2674 { "AttributeTypeAndValue", "dop.AttributeTypeAndValue_element",
2675 FT_NONE
, BASE_NONE
, NULL
, 0,
2677 { &hf_dop_selfValue
,
2678 { "selfValue", "dop.selfValue",
2679 FT_UINT32
, BASE_DEC
, NULL
, 0,
2680 "SET_OF_AttributeType", HFILL
}},
2681 { &hf_dop_selfValue_item
,
2682 { "AttributeType", "dop.AttributeType",
2683 FT_OID
, BASE_NONE
, NULL
, 0,
2685 { &hf_dop_rangeOfValues
,
2686 { "rangeOfValues", "dop.rangeOfValues",
2687 FT_UINT32
, BASE_DEC
, VALS(dap_Filter_vals
), 0,
2689 { &hf_dop_maxValueCount
,
2690 { "maxValueCount", "dop.maxValueCount",
2691 FT_UINT32
, BASE_DEC
, NULL
, 0,
2692 "SET_OF_MaxValueCount", HFILL
}},
2693 { &hf_dop_maxValueCount_item
,
2694 { "MaxValueCount", "dop.MaxValueCount_element",
2695 FT_NONE
, BASE_NONE
, NULL
, 0,
2697 { &hf_dop_maxImmSub
,
2698 { "maxImmSub", "dop.maxImmSub",
2699 FT_INT32
, BASE_DEC
, NULL
, 0,
2700 "INTEGER", HFILL
}},
2701 { &hf_dop_restrictedBy
,
2702 { "restrictedBy", "dop.restrictedBy",
2703 FT_UINT32
, BASE_DEC
, NULL
, 0,
2704 "SET_OF_RestrictedValue", HFILL
}},
2705 { &hf_dop_restrictedBy_item
,
2706 { "RestrictedValue", "dop.RestrictedValue_element",
2707 FT_NONE
, BASE_NONE
, NULL
, 0,
2710 { "contexts", "dop.contexts",
2711 FT_UINT32
, BASE_DEC
, NULL
, 0,
2712 "SET_OF_ContextAssertion", HFILL
}},
2713 { &hf_dop_contexts_item
,
2714 { "ContextAssertion", "dop.ContextAssertion_element",
2715 FT_NONE
, BASE_NONE
, NULL
, 0,
2718 { "classes", "dop.classes",
2719 FT_UINT32
, BASE_DEC
, VALS(x509if_Refinement_vals
), 0,
2720 "Refinement", HFILL
}},
2722 { "type", "dop.type",
2723 FT_OID
, BASE_NONE
, NULL
, 0,
2724 "AttributeType", HFILL
}},
2726 { "maxCount", "dop.maxCount",
2727 FT_INT32
, BASE_DEC
, NULL
, 0,
2728 "INTEGER", HFILL
}},
2730 { "valuesIn", "dop.valuesIn",
2731 FT_OID
, BASE_NONE
, NULL
, 0,
2732 "AttributeType", HFILL
}},
2734 { "allUsers", "dop.allUsers_element",
2735 FT_NONE
, BASE_NONE
, NULL
, 0,
2737 { &hf_dop_thisEntry
,
2738 { "thisEntry", "dop.thisEntry_element",
2739 FT_NONE
, BASE_NONE
, NULL
, 0,
2742 { "name", "dop.name",
2743 FT_UINT32
, BASE_DEC
, NULL
, 0,
2744 "SET_OF_NameAndOptionalUID", HFILL
}},
2745 { &hf_dop_name_item
,
2746 { "NameAndOptionalUID", "dop.NameAndOptionalUID_element",
2747 FT_NONE
, BASE_NONE
, NULL
, 0,
2749 { &hf_dop_userGroup
,
2750 { "userGroup", "dop.userGroup",
2751 FT_UINT32
, BASE_DEC
, NULL
, 0,
2752 "SET_OF_NameAndOptionalUID", HFILL
}},
2753 { &hf_dop_userGroup_item
,
2754 { "NameAndOptionalUID", "dop.NameAndOptionalUID_element",
2755 FT_NONE
, BASE_NONE
, NULL
, 0,
2758 { "subtree", "dop.subtree",
2759 FT_UINT32
, BASE_DEC
, NULL
, 0,
2760 "SET_OF_SubtreeSpecification", HFILL
}},
2761 { &hf_dop_subtree_item
,
2762 { "SubtreeSpecification", "dop.SubtreeSpecification_element",
2763 FT_NONE
, BASE_NONE
, NULL
, 0,
2765 { &hf_dop_grantsAndDenials
,
2766 { "grantsAndDenials", "dop.grantsAndDenials",
2767 FT_BYTES
, BASE_NONE
, NULL
, 0,
2769 { &hf_dop_basicLevels
,
2770 { "basicLevels", "dop.basicLevels_element",
2771 FT_NONE
, BASE_NONE
, NULL
, 0,
2774 { "level", "dop.level",
2775 FT_UINT32
, BASE_DEC
, VALS(dop_T_level_vals
), 0,
2777 { &hf_dop_localQualifier
,
2778 { "localQualifier", "dop.localQualifier",
2779 FT_INT32
, BASE_DEC
, NULL
, 0,
2780 "INTEGER", HFILL
}},
2782 { "signed", "dop.signed",
2783 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
2784 "BOOLEAN", HFILL
}},
2786 { "other", "dop.other_element",
2787 FT_NONE
, BASE_NONE
, NULL
, 0,
2788 "EXTERNAL", HFILL
}},
2789 { &hf_dop_DSEType_root
,
2790 { "root", "dop.root",
2791 FT_BOOLEAN
, 8, NULL
, 0x80,
2793 { &hf_dop_DSEType_glue
,
2794 { "glue", "dop.glue",
2795 FT_BOOLEAN
, 8, NULL
, 0x40,
2797 { &hf_dop_DSEType_cp
,
2799 FT_BOOLEAN
, 8, NULL
, 0x20,
2801 { &hf_dop_DSEType_entry
,
2802 { "entry", "dop.entry",
2803 FT_BOOLEAN
, 8, NULL
, 0x10,
2805 { &hf_dop_DSEType_alias
,
2806 { "alias", "dop.alias",
2807 FT_BOOLEAN
, 8, NULL
, 0x08,
2809 { &hf_dop_DSEType_subr
,
2810 { "subr", "dop.subr",
2811 FT_BOOLEAN
, 8, NULL
, 0x04,
2813 { &hf_dop_DSEType_nssr
,
2814 { "nssr", "dop.nssr",
2815 FT_BOOLEAN
, 8, NULL
, 0x02,
2817 { &hf_dop_DSEType_supr
,
2818 { "supr", "dop.supr",
2819 FT_BOOLEAN
, 8, NULL
, 0x01,
2821 { &hf_dop_DSEType_xr
,
2823 FT_BOOLEAN
, 8, NULL
, 0x80,
2825 { &hf_dop_DSEType_admPoint
,
2826 { "admPoint", "dop.admPoint",
2827 FT_BOOLEAN
, 8, NULL
, 0x40,
2829 { &hf_dop_DSEType_subentry
,
2830 { "subentry", "dop.subentry",
2831 FT_BOOLEAN
, 8, NULL
, 0x20,
2833 { &hf_dop_DSEType_shadow
,
2834 { "shadow", "dop.shadow",
2835 FT_BOOLEAN
, 8, NULL
, 0x10,
2837 { &hf_dop_DSEType_immSupr
,
2838 { "immSupr", "dop.immSupr",
2839 FT_BOOLEAN
, 8, NULL
, 0x04,
2841 { &hf_dop_DSEType_rhob
,
2842 { "rhob", "dop.rhob",
2843 FT_BOOLEAN
, 8, NULL
, 0x02,
2845 { &hf_dop_DSEType_sa
,
2847 FT_BOOLEAN
, 8, NULL
, 0x01,
2849 { &hf_dop_DSEType_dsSubentry
,
2850 { "dsSubentry", "dop.dsSubentry",
2851 FT_BOOLEAN
, 8, NULL
, 0x80,
2853 { &hf_dop_DSEType_familyMember
,
2854 { "familyMember", "dop.familyMember",
2855 FT_BOOLEAN
, 8, NULL
, 0x40,
2857 { &hf_dop_DSEType_ditBridge
,
2858 { "ditBridge", "dop.ditBridge",
2859 FT_BOOLEAN
, 8, NULL
, 0x20,
2861 { &hf_dop_DSEType_writeableCopy
,
2862 { "writeableCopy", "dop.writeableCopy",
2863 FT_BOOLEAN
, 8, NULL
, 0x10,
2865 { &hf_dop_GrantsAndDenials_grantAdd
,
2866 { "grantAdd", "dop.grantAdd",
2867 FT_BOOLEAN
, 8, NULL
, 0x80,
2869 { &hf_dop_GrantsAndDenials_denyAdd
,
2870 { "denyAdd", "dop.denyAdd",
2871 FT_BOOLEAN
, 8, NULL
, 0x40,
2873 { &hf_dop_GrantsAndDenials_grantDiscloseOnError
,
2874 { "grantDiscloseOnError", "dop.grantDiscloseOnError",
2875 FT_BOOLEAN
, 8, NULL
, 0x20,
2877 { &hf_dop_GrantsAndDenials_denyDiscloseOnError
,
2878 { "denyDiscloseOnError", "dop.denyDiscloseOnError",
2879 FT_BOOLEAN
, 8, NULL
, 0x10,
2881 { &hf_dop_GrantsAndDenials_grantRead
,
2882 { "grantRead", "dop.grantRead",
2883 FT_BOOLEAN
, 8, NULL
, 0x08,
2885 { &hf_dop_GrantsAndDenials_denyRead
,
2886 { "denyRead", "dop.denyRead",
2887 FT_BOOLEAN
, 8, NULL
, 0x04,
2889 { &hf_dop_GrantsAndDenials_grantRemove
,
2890 { "grantRemove", "dop.grantRemove",
2891 FT_BOOLEAN
, 8, NULL
, 0x02,
2893 { &hf_dop_GrantsAndDenials_denyRemove
,
2894 { "denyRemove", "dop.denyRemove",
2895 FT_BOOLEAN
, 8, NULL
, 0x01,
2897 { &hf_dop_GrantsAndDenials_grantBrowse
,
2898 { "grantBrowse", "dop.grantBrowse",
2899 FT_BOOLEAN
, 8, NULL
, 0x80,
2901 { &hf_dop_GrantsAndDenials_denyBrowse
,
2902 { "denyBrowse", "dop.denyBrowse",
2903 FT_BOOLEAN
, 8, NULL
, 0x40,
2905 { &hf_dop_GrantsAndDenials_grantExport
,
2906 { "grantExport", "dop.grantExport",
2907 FT_BOOLEAN
, 8, NULL
, 0x20,
2909 { &hf_dop_GrantsAndDenials_denyExport
,
2910 { "denyExport", "dop.denyExport",
2911 FT_BOOLEAN
, 8, NULL
, 0x10,
2913 { &hf_dop_GrantsAndDenials_grantImport
,
2914 { "grantImport", "dop.grantImport",
2915 FT_BOOLEAN
, 8, NULL
, 0x08,
2917 { &hf_dop_GrantsAndDenials_denyImport
,
2918 { "denyImport", "dop.denyImport",
2919 FT_BOOLEAN
, 8, NULL
, 0x04,
2921 { &hf_dop_GrantsAndDenials_grantModify
,
2922 { "grantModify", "dop.grantModify",
2923 FT_BOOLEAN
, 8, NULL
, 0x02,
2925 { &hf_dop_GrantsAndDenials_denyModify
,
2926 { "denyModify", "dop.denyModify",
2927 FT_BOOLEAN
, 8, NULL
, 0x01,
2929 { &hf_dop_GrantsAndDenials_grantRename
,
2930 { "grantRename", "dop.grantRename",
2931 FT_BOOLEAN
, 8, NULL
, 0x80,
2933 { &hf_dop_GrantsAndDenials_denyRename
,
2934 { "denyRename", "dop.denyRename",
2935 FT_BOOLEAN
, 8, NULL
, 0x40,
2937 { &hf_dop_GrantsAndDenials_grantReturnDN
,
2938 { "grantReturnDN", "dop.grantReturnDN",
2939 FT_BOOLEAN
, 8, NULL
, 0x20,
2941 { &hf_dop_GrantsAndDenials_denyReturnDN
,
2942 { "denyReturnDN", "dop.denyReturnDN",
2943 FT_BOOLEAN
, 8, NULL
, 0x10,
2945 { &hf_dop_GrantsAndDenials_grantCompare
,
2946 { "grantCompare", "dop.grantCompare",
2947 FT_BOOLEAN
, 8, NULL
, 0x08,
2949 { &hf_dop_GrantsAndDenials_denyCompare
,
2950 { "denyCompare", "dop.denyCompare",
2951 FT_BOOLEAN
, 8, NULL
, 0x04,
2953 { &hf_dop_GrantsAndDenials_grantFilterMatch
,
2954 { "grantFilterMatch", "dop.grantFilterMatch",
2955 FT_BOOLEAN
, 8, NULL
, 0x02,
2957 { &hf_dop_GrantsAndDenials_denyFilterMatch
,
2958 { "denyFilterMatch", "dop.denyFilterMatch",
2959 FT_BOOLEAN
, 8, NULL
, 0x01,
2961 { &hf_dop_GrantsAndDenials_grantInvoke
,
2962 { "grantInvoke", "dop.grantInvoke",
2963 FT_BOOLEAN
, 8, NULL
, 0x80,
2965 { &hf_dop_GrantsAndDenials_denyInvoke
,
2966 { "denyInvoke", "dop.denyInvoke",
2967 FT_BOOLEAN
, 8, NULL
, 0x40,
2970 /*--- End of included file: packet-dop-hfarr.c ---*/
2971 #line 245 "../../asn1/dop/packet-dop-template.c"
2974 /* List of subtrees */
2975 static gint
*ett
[] = {
2979 /*--- Included file: packet-dop-ettarr.c ---*/
2980 #line 1 "../../asn1/dop/packet-dop-ettarr.c"
2982 &ett_dop_SupplierOrConsumer
,
2983 &ett_dop_SET_OF_ProtocolInformation
,
2984 &ett_dop_SupplierInformation
,
2985 &ett_dop_SupplierAndConsumers
,
2986 &ett_dop_SET_OF_AccessPoint
,
2987 &ett_dop_EstablishOperationalBindingArgumentData
,
2988 &ett_dop_EstablishArgumentInitiator
,
2989 &ett_dop_EstablishOperationalBindingArgument
,
2990 &ett_dop_T_signedEstablishOperationalBindingArgument
,
2991 &ett_dop_OperationalBindingID
,
2993 &ett_dop_T_validFrom
,
2994 &ett_dop_T_validUntil
,
2996 &ett_dop_EstablishOperationalBindingResult
,
2997 &ett_dop_T_initiator
,
2998 &ett_dop_SEQUENCE_SIZE_1_MAX_OF_Attribute
,
2999 &ett_dop_ModifyOperationalBindingArgumentData
,
3000 &ett_dop_ModifyArgumentInitiator
,
3001 &ett_dop_ModifyOperationalBindingArgument
,
3002 &ett_dop_T_signedModifyOperationalBindingArgument
,
3003 &ett_dop_ModifyOperationalBindingResult
,
3004 &ett_dop_ProtectedModifyResult
,
3005 &ett_dop_ModifyOperationalBindingResultData
,
3006 &ett_dop_TerminateOperationalBindingArgumentData
,
3007 &ett_dop_TerminateArgumentInitiator
,
3008 &ett_dop_TerminateOperationalBindingArgument
,
3009 &ett_dop_T_signedTerminateOperationalBindingArgument
,
3010 &ett_dop_TerminateOperationalBindingResult
,
3011 &ett_dop_ProtectedTerminateResult
,
3012 &ett_dop_TerminateOperationalBindingResultData
,
3013 &ett_dop_OpBindingErrorParam
,
3014 &ett_dop_HierarchicalAgreement
,
3015 &ett_dop_SuperiorToSubordinate
,
3016 &ett_dop_SET_OF_Attribute
,
3017 &ett_dop_DITcontext
,
3019 &ett_dop_SET_OF_SubentryInfo
,
3020 &ett_dop_SubentryInfo
,
3021 &ett_dop_SubordinateToSuperior
,
3022 &ett_dop_SuperiorToSubordinateModification
,
3023 &ett_dop_NonSpecificHierarchicalAgreement
,
3024 &ett_dop_NHOBSuperiorToSubordinate
,
3025 &ett_dop_NHOBSubordinateToSuperior
,
3027 &ett_dop_T_itemOrUserFirst
,
3028 &ett_dop_T_itemFirst
,
3029 &ett_dop_SET_OF_ItemPermission
,
3030 &ett_dop_T_userFirst
,
3031 &ett_dop_SET_OF_UserPermission
,
3032 &ett_dop_ProtectedItems
,
3033 &ett_dop_SET_OF_AttributeType
,
3034 &ett_dop_SET_OF_AttributeTypeAndValue
,
3035 &ett_dop_SET_OF_MaxValueCount
,
3036 &ett_dop_SET_OF_RestrictedValue
,
3037 &ett_dop_SET_OF_ContextAssertion
,
3038 &ett_dop_MaxValueCount
,
3039 &ett_dop_RestrictedValue
,
3040 &ett_dop_UserClasses
,
3041 &ett_dop_SET_OF_NameAndOptionalUID
,
3042 &ett_dop_SET_OF_SubtreeSpecification
,
3043 &ett_dop_ItemPermission
,
3044 &ett_dop_UserPermission
,
3045 &ett_dop_AuthenticationLevel
,
3046 &ett_dop_T_basicLevels
,
3047 &ett_dop_GrantsAndDenials
,
3049 /*--- End of included file: packet-dop-ettarr.c ---*/
3050 #line 252 "../../asn1/dop/packet-dop-template.c"
3053 static ei_register_info ei
[] = {
3054 { &ei_dop_unknown_binding_parameter
, { "dop.unknown_binding_parameter", PI_UNDECODED
, PI_WARN
, "Unknown binding-parameter", EXPFILL
}},
3057 expert_module_t
* expert_dop
;
3058 module_t
*dop_module
;
3060 /* Register protocol */
3061 proto_dop
= proto_register_protocol(PNAME
, PSNAME
, PFNAME
);
3063 new_register_dissector("dop", dissect_dop
, proto_dop
);
3065 dop_dissector_table
= register_dissector_table("dop.oid", "DOP OID Dissectors", FT_STRING
, BASE_NONE
);
3067 /* Register fields and subtrees */
3068 proto_register_field_array(proto_dop
, hf
, array_length(hf
));
3069 proto_register_subtree_array(ett
, array_length(ett
));
3070 expert_dop
= expert_register_protocol(proto_dop
);
3071 expert_register_field_array(expert_dop
, ei
, array_length(ei
));
3073 /* Register our configuration options for DOP, particularly our port */
3075 dop_module
= prefs_register_protocol_subtree("OSI/X.500", proto_dop
, prefs_register_dop
);
3077 prefs_register_uint_preference(dop_module
, "tcp.port", "DOP TCP Port",
3078 "Set the port for DOP operations (if other"
3079 " than the default of 102)",
3080 10, &global_dop_tcp_port
);
3086 /*--- proto_reg_handoff_dop --- */
3087 void proto_reg_handoff_dop(void) {
3088 dissector_handle_t dop_handle
;
3091 /*--- Included file: packet-dop-dis-tab.c ---*/
3092 #line 1 "../../asn1/dop/packet-dop-dis-tab.c"
3093 register_ber_oid_dissector("2.5.12.0", dissect_DSEType_PDU
, proto_dop
, "id-doa-dseType");
3094 register_ber_oid_dissector("2.5.12.5", dissect_SupplierInformation_PDU
, proto_dop
, "id-doa-supplierKnowledge");
3095 register_ber_oid_dissector("2.5.12.6", dissect_ConsumerInformation_PDU
, proto_dop
, "id-doa-consumerKnowledge");
3096 register_ber_oid_dissector("2.5.12.7", dissect_SupplierAndConsumers_PDU
, proto_dop
, "id-doa-secondaryShadows");
3097 dissector_add_string("dop.oid", "agreement.2.5.19.2", create_dissector_handle(dissect_HierarchicalAgreement_PDU
, proto_dop
));
3098 dissector_add_string("dop.oid", "establish.rolea.2.5.19.2", create_dissector_handle(dissect_SuperiorToSubordinate_PDU
, proto_dop
));
3099 dissector_add_string("dop.oid", "modify.rolea.2.5.19.2", create_dissector_handle(dissect_SuperiorToSubordinateModification_PDU
, proto_dop
));
3100 dissector_add_string("dop.oid", "establish.roleb.2.5.19.2", create_dissector_handle(dissect_SubordinateToSuperior_PDU
, proto_dop
));
3101 dissector_add_string("dop.oid", "modify.roleb.2.5.19.2", create_dissector_handle(dissect_SubordinateToSuperior_PDU
, proto_dop
));
3102 dissector_add_string("dop.oid", "agreement.2.5.19.3", create_dissector_handle(dissect_NonSpecificHierarchicalAgreement_PDU
, proto_dop
));
3103 dissector_add_string("dop.oid", "establish.rolea.2.5.19.3", create_dissector_handle(dissect_NHOBSuperiorToSubordinate_PDU
, proto_dop
));
3104 dissector_add_string("dop.oid", "modify.rolea.2.5.19.3", create_dissector_handle(dissect_NHOBSuperiorToSubordinate_PDU
, proto_dop
));
3105 dissector_add_string("dop.oid", "establish.roleb.2.5.19.3", create_dissector_handle(dissect_NHOBSubordinateToSuperior_PDU
, proto_dop
));
3106 dissector_add_string("dop.oid", "modify.roleb.2.5.19.3", create_dissector_handle(dissect_NHOBSubordinateToSuperior_PDU
, proto_dop
));
3107 register_ber_oid_dissector("2.5.24.4", dissect_ACIItem_PDU
, proto_dop
, "id-aca-prescriptiveACI");
3108 register_ber_oid_dissector("2.5.24.5", dissect_ACIItem_PDU
, proto_dop
, "id-aca-entryACI");
3109 register_ber_oid_dissector("2.5.24.6", dissect_ACIItem_PDU
, proto_dop
, "id-aca-subentryACI");
3112 /*--- End of included file: packet-dop-dis-tab.c ---*/
3113 #line 292 "../../asn1/dop/packet-dop-template.c"
3114 /* APPLICATION CONTEXT */
3116 oid_add_from_string("id-ac-directory-operational-binding-management","2.5.3.3");
3118 /* ABSTRACT SYNTAXES */
3120 /* Register DOP with ROS (with no use of RTSE) */
3121 dop_handle
= find_dissector("dop");
3122 register_ros_oid_dissector_handle("2.5.9.4", dop_handle
, 0, "id-as-directory-operational-binding-management", FALSE
);
3126 oid_add_from_string("shadow-agreement","2.5.19.1");
3127 oid_add_from_string("hierarchical-agreement","2.5.19.2");
3128 oid_add_from_string("non-specific-hierarchical-agreement","2.5.19.3");
3130 /* ACCESS CONTROL SCHEMES */
3131 oid_add_from_string("basic-ACS","2.5.28.1");
3132 oid_add_from_string("simplified-ACS","2.5.28.2");
3133 oid_add_from_string("ruleBased-ACS","2.5.28.3");
3134 oid_add_from_string("ruleAndBasic-ACS","2.5.28.4");
3135 oid_add_from_string("ruleAndSimple-ACS","2.5.28.5");
3137 /* ADMINISTRATIVE ROLES */
3138 oid_add_from_string("id-ar-autonomousArea","2.5.23.1");
3139 oid_add_from_string("id-ar-accessControlSpecificArea","2.5.23.2");
3140 oid_add_from_string("id-ar-accessControlInnerArea","2.5.23.3");
3141 oid_add_from_string("id-ar-subschemaAdminSpecificArea","2.5.23.4");
3142 oid_add_from_string("id-ar-collectiveAttributeSpecificArea","2.5.23.5");
3143 oid_add_from_string("id-ar-collectiveAttributeInnerArea","2.5.23.6");
3144 oid_add_from_string("id-ar-contextDefaultSpecificArea","2.5.23.7");
3145 oid_add_from_string("id-ar-serviceSpecificArea","2.5.23.8");
3147 /* remember the tpkt handler for change in preferences */
3148 tpkt_handle
= find_dissector("tpkt");
3153 prefs_register_dop(void)
3155 static guint tcp_port
= 0;
3157 /* de-register the old port */
3158 /* port 102 is registered by TPKT - don't undo this! */
3159 if((tcp_port
> 0) && (tcp_port
!= 102) && tpkt_handle
)
3160 dissector_delete_uint("tcp.port", tcp_port
, tpkt_handle
);
3162 /* Set our port number for future use */
3163 tcp_port
= global_dop_tcp_port
;
3165 if((tcp_port
> 0) && (tcp_port
!= 102) && tpkt_handle
)
3166 dissector_add_uint("tcp.port", tcp_port
, tpkt_handle
);