M3AP: fix dissection of IPAddress field
[metze/wireshark/wip.git] / asn1 / dsp / dsp.asn
1 -- Module DistributedOperations (X.518:08/2005)
2 DistributedOperations {joint-iso-itu-t ds(5) module(1) distributedOperations(3)
3   4} DEFINITIONS ::=
4 BEGIN
5
6 -- EXPORTS All 
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.
11 IMPORTS
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)
28       4}
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,
32     SecurityParameters,
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
49   ERROR, OPERATION
50     FROM Remote-Operations-Information-Objects {joint-iso-itu-t
51       remote-operations(4) informationObjects(5) version1(0)}--;
52   AlgorithmIdentifier
53     FROM AuthenticationFramework {joint-iso-itu-t ds(5) module(1)
54       authenticationFramework(7) 4};
55
56
57
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}}
66 --  ERRORS
67 --    {operation.&Errors EXCEPT referral | dsaReferral}
68 --  CODE                           operation.&operationCode
69 --}
70
71 --  bind and unbind operations 
72 --dSABind OPERATION ::= directoryBind
73 DSASystemBindArgument ::= DirectoryBindArgument
74 DSASystemBindResult ::= DirectoryBindArgument
75 DSASystemBindError ::= DirectoryBindError
76
77
78 --dSAUnbind OPERATION ::= directoryUnbind
79
80 --  chained operations 
81 --chainedRead OPERATION ::= chained{read}
82
83 -- expand chained{} macro
84 ChainedReadArgumentData ::= SET {
85   chainedArgument       ChainingArguments,
86   readArgument          [0] ReadArgument
87 }
88
89 ChainedReadArgument ::= CHOICE {
90   unsignedChainedReadArgument ChainedReadArgumentData,
91   signedChainedReadArgument SEQUENCE {
92     chainedReadArgument ChainedReadArgumentData,
93     algorithmIdentifier AlgorithmIdentifier,
94     encrypted           BIT STRING
95     }
96 }
97
98 ChainedReadResultData ::= SET {
99   chainedResults        ChainingResults,
100   readResult            [0] ReadResult
101 }
102
103 ChainedReadResult ::= CHOICE {
104   unsignedChainedReadResult ChainedReadResultData,
105   signedChainedReadResult SEQUENCE {
106     chainedReadResult   ChainedReadResultData,
107     algorithmIdentifier AlgorithmIdentifier,
108     encrypted           BIT STRING
109     }
110 }
111
112 --chainedCompare OPERATION ::= chained{compare}
113
114 -- expand chained{} macro
115 ChainedCompareArgumentData ::= SET {
116   chainedArgument       ChainingArguments,
117   compareArgument       [0] CompareArgument
118 }
119
120 ChainedCompareArgument ::= CHOICE {
121   unsignedChainedCompareArgument ChainedCompareArgumentData,
122   signedChainedCompareArgument SEQUENCE {
123     chainedCompareArgument      ChainedCompareArgumentData,
124     algorithmIdentifier         AlgorithmIdentifier,
125     encrypted                   BIT STRING
126     }
127 }
128
129 ChainedCompareResultData ::= SET {
130   chainedResults        ChainingResults,
131   compareResult         [0] CompareResult
132 }
133
134 ChainedCompareResult ::= CHOICE {
135   unsignedChainedCompareResult ChainedCompareResultData,
136   signedChainedCompareResult SEQUENCE {
137     chainedCompareResult        ChainedCompareResultData,
138     algorithmIdentifier         AlgorithmIdentifier,
139     encrypted                   BIT STRING
140     }
141 }
142
143 --chainedAbandon OPERATION ::= abandon
144
145 ChainedAbandonArgument ::= AbandonArgument
146 ChainedAbandonResult ::= AbandonResult
147
148 --chainedList OPERATION ::= chained{list}
149
150 -- expand chained{} macro
151 ChainedListArgumentData ::= SET {
152   chainedArgument       ChainingArguments,
153   listArgument          [0] ListArgument
154 }
155
156 ChainedListArgument ::= CHOICE {
157   unsignedChainedListArgument ChainedListArgumentData,
158   signedChainedListArgument SEQUENCE {
159     chainedListArgument ChainedListArgumentData,
160     algorithmIdentifier AlgorithmIdentifier,
161     encrypted           BIT STRING
162     }
163 }
164
165 ChainedListResultData ::= SET {
166   chainedResults        ChainingResults,
167   listResult            [0] ListResult
168 }
169
170 ChainedListResult ::= CHOICE {
171   unsignedChainedListResult ChainedListResultData,
172   signedChainedListResult SEQUENCE {
173     chainedListResult   ChainedListResultData,
174     algorithmIdentifier AlgorithmIdentifier,
175     encrypted           BIT STRING
176     }
177 }
178
179 --chainedSearch OPERATION ::= chained{search}
180
181 -- expand chained{} macro
182 ChainedSearchArgumentData ::= SET {
183   chainedArgument       ChainingArguments,
184   searchArgument        [0] SearchArgument
185 }
186
187 ChainedSearchArgument ::= CHOICE {
188   unsignedChainedSearchArgument ChainedSearchArgumentData,
189   signedChainedSearchArgument SEQUENCE {
190     chainedSearchArgument       ChainedSearchArgumentData,
191     algorithmIdentifier         AlgorithmIdentifier,
192     encrypted                   BIT STRING
193     }
194 }
195
196 ChainedSearchResultData ::= SET {
197   chainedResults        ChainingResults,
198   searchResult          [0] SearchResult
199 }
200
201 ChainedSearchResult ::= CHOICE {
202   unsignedChainedSearchResult ChainedSearchResultData,
203   signedChainedSearchResult SEQUENCE {
204     chainedSearchResult ChainedSearchResultData,
205     algorithmIdentifier AlgorithmIdentifier,
206     encrypted           BIT STRING
207     }
208 }
209
210 --chainedAddEntry OPERATION ::= chained{addEntry}
211
212 -- expand chained{} macro
213 ChainedAddEntryArgumentData ::= SET {
214   chainedArgument       ChainingArguments,
215   addEntryArgument      [0] AddEntryArgument
216 }
217
218 ChainedAddEntryArgument ::= CHOICE {
219   unsignedChainedAddEntryArgument ChainedAddEntryArgumentData,
220   signedChainedAddEntryArgument SEQUENCE {
221     chainedAddEntryArgument     ChainedAddEntryArgumentData,
222     algorithmIdentifier         AlgorithmIdentifier,
223     encrypted                   BIT STRING
224     }
225 }
226
227 ChainedAddEntryResultData ::= SET {
228   chainedResults        ChainingResults,
229   addEntryResult        [0] AddEntryResult
230 }
231
232 ChainedAddEntryResult ::= CHOICE {
233   unsignedChainedAddEntryResult ChainedAddEntryResultData,
234   signedChainedAddEntryResult SEQUENCE {
235     chainedAddEntryResult       ChainedAddEntryResultData,
236     algorithmIdentifier         AlgorithmIdentifier,
237     encrypted                   BIT STRING
238     }
239 }
240
241 --chainedRemoveEntry OPERATION ::= chained{removeEntry}
242
243 -- expand chained{} macro
244
245 ChainedRemoveEntryArgumentData ::= SET {
246   chainedArgument       ChainingArguments,
247   removeEntryArgument   [0] RemoveEntryArgument
248 }
249
250 ChainedRemoveEntryArgument ::= CHOICE {
251   unsignedChainedRemoveEntryArgument ChainedRemoveEntryArgumentData,
252   signedChainedRemoveEntryArgument SEQUENCE {
253     chainedRemoveEntryArgument  ChainedRemoveEntryArgumentData,
254     algorithmIdentifier         AlgorithmIdentifier,
255     encrypted                   BIT STRING
256     }
257 }
258
259 ChainedRemoveEntryResultData ::= SET {
260   chainedResults        ChainingResults,
261   removeEntryResult     [0] RemoveEntryResult
262 }
263
264 ChainedRemoveEntryResult ::= CHOICE {
265   unsignedChainedRemoveEntryResult ChainedRemoveEntryResultData,
266   signedChainedRemoveEntryResult SEQUENCE {
267     chainedRemoveEntryResult    ChainedRemoveEntryResultData,
268     algorithmIdentifier         AlgorithmIdentifier,
269     encrypted                   BIT STRING
270     }
271 }
272
273 --chainedModifyEntry OPERATION ::= chained{modifyEntry}
274
275 -- expand chained{} macro
276
277 ChainedModifyEntryArgumentData ::= SET {
278   chainedArgument       ChainingArguments,
279   modifyEntryArgument   [0] ModifyEntryArgument
280 }
281
282 ChainedModifyEntryArgument ::= CHOICE {
283   unsignedChainedModifyEntryArgument ChainedModifyEntryArgumentData,
284   signedChainedModifyEntryArgument SEQUENCE {
285     chainedModifyEntryArgument  ChainedModifyEntryArgumentData,
286     algorithmIdentifier         AlgorithmIdentifier,
287     encrypted                   BIT STRING
288     }
289 }
290
291 ChainedModifyEntryResultData ::= SET {
292   chainedResults        ChainingResults,
293   modifyEntryResult     [0] ModifyEntryResult
294 }
295
296 ChainedModifyEntryResult ::= CHOICE {
297   unsignedChainedModifyEntryResult ChainedModifyEntryResultData,
298   signedChainedModifyEntryResult SEQUENCE {
299     chainedModifyEntryResult    ChainedModifyEntryResultData,
300     algorithmIdentifier         AlgorithmIdentifier,
301     encrypted                   BIT STRING
302     }
303 }
304
305 --chainedModifyDN OPERATION ::= chained{modifyDN}
306
307 -- expand chained{} macro
308
309 ChainedModifyDNArgumentData ::= SET {
310   chainedArgument       ChainingArguments,
311   modifyDNArgument      [0] ModifyDNArgument
312 }
313
314 ChainedModifyDNArgument ::= CHOICE {
315   unsignedChainedModifyDNArgument ChainedModifyDNArgumentData,
316   signedChainedModifyDNArgument SEQUENCE {
317     chainedModifyDNArgument     ChainedModifyDNArgumentData,
318     algorithmIdentifier         AlgorithmIdentifier,
319     encrypted                   BIT STRING
320     }
321 }
322
323 ChainedModifyDNResultData ::= SET {
324   chainedResults        ChainingResults,
325   modifyDNResult        [0] ModifyDNResult
326 }
327
328 ChainedModifyDNResult ::= CHOICE {
329   unsignedChainedModifyDNResult ChainedModifyDNResultData,
330   signedChainedModifyDNResult SEQUENCE {
331     chainedModifyDNResult       ChainedModifyDNResultData,
332     algorithmIdentifier         AlgorithmIdentifier,
333     encrypted                   BIT STRING
334     }
335 }
336
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
348 }
349
350 -- expand OPTIONALLY-PROTECTED macro
351 DSAReferral ::= CHOICE {
352   unsignedDSAReferral DSAReferralData,
353   signedDSAReferral SEQUENCE {
354     dsaReferral         DSAReferralData,
355     algorithmIdentifier AlgorithmIdentifier,
356     encrypted           BIT STRING
357     }
358 }
359
360
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
389 }
390
391 Time ::= CHOICE {utcTime          UTCTime,
392                  generalizedTime  GeneralizedTime
393 }
394
395 DomainInfo ::= --ABSTRACT-SYNTAX.&Type-- OBJECT IDENTIFIER
396
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
402 }
403
404 CrossReference ::= SET {
405   contextPrefix  [0]  DistinguishedName,
406   accessPoint    [1]  AccessPointInformation
407 }
408
409 OperationProgress ::= SET {
410   nameResolutionPhase
411     [0]  ENUMERATED {notStarted(1), proceeding(2), completed(3)},
412   nextRDNToBeResolved  [1]  INTEGER OPTIONAL
413 }
414
415 TraceInformation ::= SEQUENCE OF TraceItem
416
417 TraceItem ::= SET {
418   dsa                [0]  Name,
419   targetObject       [1]  Name OPTIONAL,
420   operationProgress  [2]  OperationProgress
421 }
422
423 ReferenceType ::= ENUMERATED {
424   superior(1), subordinate(2), cross(3), nonSpecificSubordinate(4),
425   supplier(5), master(6), immediateSuperior(7), self(8), ditBridge(9)}
426
427 AccessPoint ::= SET {
428   ae-title             [0]  Name,
429   address              [1]  PresentationAddress,
430   protocolInformation  [2]  SET --SIZE (1..MAX)-- OF ProtocolInformation OPTIONAL,
431   labeledURI           [6]  LabeledURI OPTIONAL
432 }
433
434 LabeledURI ::= DirectoryString{--ub-labeledURI--}
435
436 MasterOrShadowAccessPoint ::= SET {
437 --  COMPONENTS OF AccessPoint,
438   ae-title             [0]  Name,
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
443 }
444
445 MasterAndShadowAccessPoints ::= SET --SIZE (1..MAX)-- OF MasterOrShadowAccessPoint
446
447 AccessPointInformation ::= SET {
448 --  COMPONENTS OF MasterOrShadowAccessPoint,
449   ae-title             [0]  Name,
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
455 }
456
457 DitBridgeKnowledge ::= SEQUENCE {
458   domainLocalID          DirectoryString{--ub-domainLocalID--} OPTIONAL,
459   accessPoints           MasterAndShadowAccessPoints
460 }
461
462 Exclusions ::= SET --SIZE (1..MAX)-- OF RDNSequence
463
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
475 }
476
477 AuthenticationLevel ::= CHOICE {
478   basicLevels   SEQUENCE {
479     level               ENUMERATED { none(0), simple(1), strong (2) },
480     localQualifier      INTEGER OPTIONAL,
481     signed              BOOLEAN DEFAULT FALSE
482   },
483   other EXTERNAL
484 }
485
486 END -- DistributedOperations
487
488 -- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
489