1 -- Module DistributedOperations (X.518:08/2005)
2 DistributedOperations {joint-iso-itu-t ds(5) module(1) distributedOperations(3)
7 -- The types and values defined in this module are exported for use in the other ASN.1 modules contained
8 -- within the Directory Specifications, and for the use of other applications which will use them to access
9 -- Directory services. Other applications may use them for their own purposes, but this will not constrain
10 -- extensions and modifications needed to maintain or improve the Directory service.
12 -- from ITU-T Rec. X.501 | ISO/IEC 9594-2
13 basicAccessControl, dap, directoryAbstractService, enhancedSecurity,
14 informationFramework, selectedAttributeTypes, serviceAdministration
15 FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
16 usefulDefinitions(0) 4}
17 DistinguishedName, Name, RDNSequence, Attribute
18 FROM InformationFramework {joint-iso-itu-t ds(5) module(1)
19 informationFramework(1) 4}
20 MRMapping, SearchRuleId
21 FROM ServiceAdministration {joint-iso-itu-t ds(5) module(1)
22 serviceAdministration(33) 4}
23 -- AuthenticationLevel
24 -- FROM BasicAccessControl {joint-iso-itu-t ds(5) module(1)
25 -- basicAccessControl(24) 4}
26 OPTIONALLY-PROTECTED{}
27 FROM EnhancedSecurity {joint-iso-itu-t ds(5) module(1) enhancedSecurity(28)
29 -- from ITU-T Rec. X.511 | ISO/IEC 9594-3
30 abandon, addEntry, CommonResults, compare, directoryBind, directoryUnbind,
31 list, modifyDN, modifyEntry, read, referral, removeEntry, search,
33 AbandonArgument, AbandonResult, AddEntryArgument, AddEntryResult,
34 CompareArgument, CompareResult, ListArgument, ListResult,
35 ModifyDNArgument, ModifyDNResult, ModifyEntryArgument, ModifyEntryResult,
36 ReadArgument, ReadResult, RemoveEntryArgument, RemoveEntryResult,
37 SearchArgument, SearchResult,
38 DirectoryBindArgument, DirectoryBindResult, DirectoryBindError
39 FROM DirectoryAbstractService {joint-iso-itu-t ds(5) module(1)
40 directoryAbstractService(2) 4}
41 -- from ITU-T Rec. X.519 | ISO/IEC 9594-5
42 id-errcode-dsaReferral
43 FROM DirectoryAccessProtocol {joint-iso-itu-t ds(5) module(1) dap(11) 4}
44 -- from ITU-T Rec. X.520 | ISO/IEC 9594-6
45 DirectoryString{}, PresentationAddress, ProtocolInformation, UniqueIdentifier
46 FROM SelectedAttributeTypes {joint-iso-itu-t ds(5) module(1)
47 selectedAttributeTypes(5) 4}
48 -- from ITU-T Rec. X.880 | ISO/IEC 13712-1
50 FROM Remote-Operations-Information-Objects {joint-iso-itu-t
51 remote-operations(4) informationObjects(5) version1(0)}--;
53 FROM AuthenticationFramework {joint-iso-itu-t ds(5) module(1)
54 authenticationFramework(7) 4};
58 -- parameterized type for deriving chained operations
59 --chained{OPERATION:operation} OPERATION ::= {
60 -- ARGUMENT OPTIONALLY-PROTECTED
61 -- {SET {chainedArgument ChainingArguments,
62 -- argument [0] operation.&ArgumentType}}
63 -- RESULT OPTIONALLY-PROTECTED
64 -- {SET {chainedResult ChainingResults,
65 -- result [0] operation.&ResultType}}
67 -- {operation.&Errors EXCEPT referral | dsaReferral}
68 -- CODE operation.&operationCode
71 -- bind and unbind operations
72 --dSABind OPERATION ::= directoryBind
73 DSASystemBindArgument ::= DirectoryBindArgument
74 DSASystemBindResult ::= DirectoryBindArgument
75 DSASystemBindError ::= DirectoryBindError
78 --dSAUnbind OPERATION ::= directoryUnbind
81 --chainedRead OPERATION ::= chained{read}
83 -- expand chained{} macro
84 ChainedReadArgumentData ::= SET {
85 chainedArgument ChainingArguments,
86 readArgument [0] ReadArgument
89 ChainedReadArgument ::= CHOICE {
90 unsignedChainedReadArgument ChainedReadArgumentData,
91 signedChainedReadArgument SEQUENCE {
92 chainedReadArgument ChainedReadArgumentData,
93 algorithmIdentifier AlgorithmIdentifier,
98 ChainedReadResultData ::= SET {
99 chainedResults ChainingResults,
100 readResult [0] ReadResult
103 ChainedReadResult ::= CHOICE {
104 unsignedChainedReadResult ChainedReadResultData,
105 signedChainedReadResult SEQUENCE {
106 chainedReadResult ChainedReadResultData,
107 algorithmIdentifier AlgorithmIdentifier,
112 --chainedCompare OPERATION ::= chained{compare}
114 -- expand chained{} macro
115 ChainedCompareArgumentData ::= SET {
116 chainedArgument ChainingArguments,
117 compareArgument [0] CompareArgument
120 ChainedCompareArgument ::= CHOICE {
121 unsignedChainedCompareArgument ChainedCompareArgumentData,
122 signedChainedCompareArgument SEQUENCE {
123 chainedCompareArgument ChainedCompareArgumentData,
124 algorithmIdentifier AlgorithmIdentifier,
129 ChainedCompareResultData ::= SET {
130 chainedResults ChainingResults,
131 compareResult [0] CompareResult
134 ChainedCompareResult ::= CHOICE {
135 unsignedChainedCompareResult ChainedCompareResultData,
136 signedChainedCompareResult SEQUENCE {
137 chainedCompareResult ChainedCompareResultData,
138 algorithmIdentifier AlgorithmIdentifier,
143 --chainedAbandon OPERATION ::= abandon
145 ChainedAbandonArgument ::= AbandonArgument
146 ChainedAbandonResult ::= AbandonResult
148 --chainedList OPERATION ::= chained{list}
150 -- expand chained{} macro
151 ChainedListArgumentData ::= SET {
152 chainedArgument ChainingArguments,
153 listArgument [0] ListArgument
156 ChainedListArgument ::= CHOICE {
157 unsignedChainedListArgument ChainedListArgumentData,
158 signedChainedListArgument SEQUENCE {
159 chainedListArgument ChainedListArgumentData,
160 algorithmIdentifier AlgorithmIdentifier,
165 ChainedListResultData ::= SET {
166 chainedResults ChainingResults,
167 listResult [0] ListResult
170 ChainedListResult ::= CHOICE {
171 unsignedChainedListResult ChainedListResultData,
172 signedChainedListResult SEQUENCE {
173 chainedListResult ChainedListResultData,
174 algorithmIdentifier AlgorithmIdentifier,
179 --chainedSearch OPERATION ::= chained{search}
181 -- expand chained{} macro
182 ChainedSearchArgumentData ::= SET {
183 chainedArgument ChainingArguments,
184 searchArgument [0] SearchArgument
187 ChainedSearchArgument ::= CHOICE {
188 unsignedChainedSearchArgument ChainedSearchArgumentData,
189 signedChainedSearchArgument SEQUENCE {
190 chainedSearchArgument ChainedSearchArgumentData,
191 algorithmIdentifier AlgorithmIdentifier,
196 ChainedSearchResultData ::= SET {
197 chainedResults ChainingResults,
198 searchResult [0] SearchResult
201 ChainedSearchResult ::= CHOICE {
202 unsignedChainedSearchResult ChainedSearchResultData,
203 signedChainedSearchResult SEQUENCE {
204 chainedSearchResult ChainedSearchResultData,
205 algorithmIdentifier AlgorithmIdentifier,
210 --chainedAddEntry OPERATION ::= chained{addEntry}
212 -- expand chained{} macro
213 ChainedAddEntryArgumentData ::= SET {
214 chainedArgument ChainingArguments,
215 addEntryArgument [0] AddEntryArgument
218 ChainedAddEntryArgument ::= CHOICE {
219 unsignedChainedAddEntryArgument ChainedAddEntryArgumentData,
220 signedChainedAddEntryArgument SEQUENCE {
221 chainedAddEntryArgument ChainedAddEntryArgumentData,
222 algorithmIdentifier AlgorithmIdentifier,
227 ChainedAddEntryResultData ::= SET {
228 chainedResults ChainingResults,
229 addEntryResult [0] AddEntryResult
232 ChainedAddEntryResult ::= CHOICE {
233 unsignedChainedAddEntryResult ChainedAddEntryResultData,
234 signedChainedAddEntryResult SEQUENCE {
235 chainedAddEntryResult ChainedAddEntryResultData,
236 algorithmIdentifier AlgorithmIdentifier,
241 --chainedRemoveEntry OPERATION ::= chained{removeEntry}
243 -- expand chained{} macro
245 ChainedRemoveEntryArgumentData ::= SET {
246 chainedArgument ChainingArguments,
247 removeEntryArgument [0] RemoveEntryArgument
250 ChainedRemoveEntryArgument ::= CHOICE {
251 unsignedChainedRemoveEntryArgument ChainedRemoveEntryArgumentData,
252 signedChainedRemoveEntryArgument SEQUENCE {
253 chainedRemoveEntryArgument ChainedRemoveEntryArgumentData,
254 algorithmIdentifier AlgorithmIdentifier,
259 ChainedRemoveEntryResultData ::= SET {
260 chainedResults ChainingResults,
261 removeEntryResult [0] RemoveEntryResult
264 ChainedRemoveEntryResult ::= CHOICE {
265 unsignedChainedRemoveEntryResult ChainedRemoveEntryResultData,
266 signedChainedRemoveEntryResult SEQUENCE {
267 chainedRemoveEntryResult ChainedRemoveEntryResultData,
268 algorithmIdentifier AlgorithmIdentifier,
273 --chainedModifyEntry OPERATION ::= chained{modifyEntry}
275 -- expand chained{} macro
277 ChainedModifyEntryArgumentData ::= SET {
278 chainedArgument ChainingArguments,
279 modifyEntryArgument [0] ModifyEntryArgument
282 ChainedModifyEntryArgument ::= CHOICE {
283 unsignedChainedModifyEntryArgument ChainedModifyEntryArgumentData,
284 signedChainedModifyEntryArgument SEQUENCE {
285 chainedModifyEntryArgument ChainedModifyEntryArgumentData,
286 algorithmIdentifier AlgorithmIdentifier,
291 ChainedModifyEntryResultData ::= SET {
292 chainedResults ChainingResults,
293 modifyEntryResult [0] ModifyEntryResult
296 ChainedModifyEntryResult ::= CHOICE {
297 unsignedChainedModifyEntryResult ChainedModifyEntryResultData,
298 signedChainedModifyEntryResult SEQUENCE {
299 chainedModifyEntryResult ChainedModifyEntryResultData,
300 algorithmIdentifier AlgorithmIdentifier,
305 --chainedModifyDN OPERATION ::= chained{modifyDN}
307 -- expand chained{} macro
309 ChainedModifyDNArgumentData ::= SET {
310 chainedArgument ChainingArguments,
311 modifyDNArgument [0] ModifyDNArgument
314 ChainedModifyDNArgument ::= CHOICE {
315 unsignedChainedModifyDNArgument ChainedModifyDNArgumentData,
316 signedChainedModifyDNArgument SEQUENCE {
317 chainedModifyDNArgument ChainedModifyDNArgumentData,
318 algorithmIdentifier AlgorithmIdentifier,
323 ChainedModifyDNResultData ::= SET {
324 chainedResults ChainingResults,
325 modifyDNResult [0] ModifyDNResult
328 ChainedModifyDNResult ::= CHOICE {
329 unsignedChainedModifyDNResult ChainedModifyDNResultData,
330 signedChainedModifyDNResult SEQUENCE {
331 chainedModifyDNResult ChainedModifyDNResultData,
332 algorithmIdentifier AlgorithmIdentifier,
337 -- errors and parameters
338 DSAReferralData -- ERROR-- ::= -- {
339 -- PARAMETER OPTIONALLY-PROTECTED
340 -- {--SET {reference [0] ContinuationReference,
341 contextPrefix [1] DistinguishedName OPTIONAL,
342 -- COMPONENTS OF CommonResults}}
343 securityParameters [30] SecurityParameters OPTIONAL,
344 performer [29] DistinguishedName OPTIONAL,
345 aliasDereferenced [28] BOOLEAN DEFAULT FALSE,
346 notification [27] SEQUENCE --SIZE (1..MAX)-- OF Attribute OPTIONAL
347 -- CODE id-errcode-dsaReferral
350 -- expand OPTIONALLY-PROTECTED macro
351 DSAReferral ::= CHOICE {
352 unsignedDSAReferral DSAReferralData,
353 signedDSAReferral SEQUENCE {
354 dsaReferral DSAReferralData,
355 algorithmIdentifier AlgorithmIdentifier,
361 -- common arguments and results
362 ChainingArguments ::= SET {
363 originator [0] DistinguishedName OPTIONAL,
364 targetObject [1] DistinguishedName OPTIONAL,
365 operationProgress [2] OperationProgress DEFAULT {nameResolutionPhase notStarted},
366 traceInformation [3] TraceInformation,
367 aliasDereferenced [4] BOOLEAN DEFAULT FALSE,
368 aliasedRDNs [5] INTEGER OPTIONAL,
369 -- only present in 1988 systems
370 returnCrossRefs [6] BOOLEAN DEFAULT FALSE,
371 referenceType [7] ReferenceType DEFAULT superior,
372 info [8] DomainInfo OPTIONAL,
373 timeLimit [9] Time OPTIONAL,
374 securityParameters [10] SecurityParameters DEFAULT {},
375 entryOnly [11] BOOLEAN DEFAULT FALSE,
376 uniqueIdentifier [12] UniqueIdentifier OPTIONAL,
377 authenticationLevel [13] AuthenticationLevel OPTIONAL,
378 exclusions [14] Exclusions OPTIONAL,
379 excludeShadows [15] BOOLEAN DEFAULT FALSE,
380 nameResolveOnMaster [16] BOOLEAN DEFAULT FALSE,
381 operationIdentifier [17] INTEGER OPTIONAL,
382 searchRuleId [18] SearchRuleId OPTIONAL,
383 chainedRelaxation [19] MRMapping OPTIONAL,
384 relatedEntry [20] INTEGER OPTIONAL,
385 dspPaging [21] BOOLEAN DEFAULT FALSE,
386 nonDapPdu [22] ENUMERATED { ldap (0) } OPTIONAL,
387 streamedResults [23] INTEGER OPTIONAL,
388 excludeWriteableCopies [24] BOOLEAN DEFAULT FALSE
391 Time ::= CHOICE {utcTime UTCTime,
392 generalizedTime GeneralizedTime
395 DomainInfo ::= --ABSTRACT-SYNTAX.&Type-- OBJECT IDENTIFIER
397 ChainingResults ::= SET {
398 info [0] DomainInfo OPTIONAL,
399 crossReferences [1] SEQUENCE --SIZE (1..MAX)-- OF CrossReference OPTIONAL,
400 securityParameters [2] SecurityParameters DEFAULT {},
401 alreadySearched [3] Exclusions OPTIONAL
404 CrossReference ::= SET {
405 contextPrefix [0] DistinguishedName,
406 accessPoint [1] AccessPointInformation
409 OperationProgress ::= SET {
411 [0] ENUMERATED {notStarted(1), proceeding(2), completed(3)},
412 nextRDNToBeResolved [1] INTEGER OPTIONAL
415 TraceInformation ::= SEQUENCE OF TraceItem
419 targetObject [1] Name OPTIONAL,
420 operationProgress [2] OperationProgress
423 ReferenceType ::= ENUMERATED {
424 superior(1), subordinate(2), cross(3), nonSpecificSubordinate(4),
425 supplier(5), master(6), immediateSuperior(7), self(8), ditBridge(9)}
427 AccessPoint ::= SET {
429 address [1] PresentationAddress,
430 protocolInformation [2] SET --SIZE (1..MAX)-- OF ProtocolInformation OPTIONAL,
431 labeledURI [6] LabeledURI OPTIONAL
434 LabeledURI ::= DirectoryString{--ub-labeledURI--}
436 MasterOrShadowAccessPoint ::= SET {
437 -- COMPONENTS OF AccessPoint,
439 address [1] PresentationAddress,
440 protocolInformation [2] SET --SIZE (1..MAX)-- OF ProtocolInformation OPTIONAL,
441 category [3] ENUMERATED {master(0), shadow(1)} DEFAULT master,
442 chainingRequired [5] BOOLEAN DEFAULT FALSE
445 MasterAndShadowAccessPoints ::= SET --SIZE (1..MAX)-- OF MasterOrShadowAccessPoint
447 AccessPointInformation ::= SET {
448 -- COMPONENTS OF MasterOrShadowAccessPoint,
450 address [1] PresentationAddress,
451 protocolInformation [2] SET --SIZE (1..MAX)-- OF ProtocolInformation OPTIONAL,
452 category [3] ENUMERATED {master(0), shadow(1)} DEFAULT master,
453 chainingRequired [5] BOOLEAN DEFAULT FALSE,
454 additionalPoints [4] MasterAndShadowAccessPoints OPTIONAL
457 DitBridgeKnowledge ::= SEQUENCE {
458 domainLocalID DirectoryString{--ub-domainLocalID--} OPTIONAL,
459 accessPoints MasterAndShadowAccessPoints
462 Exclusions ::= SET --SIZE (1..MAX)-- OF RDNSequence
464 ContinuationReference ::= SET {
465 targetObject [0] Name,
466 aliasedRDNs [1] INTEGER OPTIONAL, -- only present in 1988 systems
467 operationProgress [2] OperationProgress,
468 rdnsResolved [3] INTEGER OPTIONAL,
469 referenceType [4] ReferenceType,
470 accessPoints [5] SET OF AccessPointInformation,
471 entryOnly [6] BOOLEAN DEFAULT FALSE,
472 exclusions [7] Exclusions OPTIONAL,
473 returnToDUA [8] BOOLEAN DEFAULT FALSE,
474 nameResolveOnMaster [9] BOOLEAN DEFAULT FALSE
477 AuthenticationLevel ::= CHOICE {
478 basicLevels SEQUENCE {
479 level ENUMERATED { none(0), simple(1), strong (2) },
480 localQualifier INTEGER OPTIONAL,
481 signed BOOLEAN DEFAULT FALSE
486 END -- DistributedOperations
488 -- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D