summaryrefslogtreecommitdiff
path: root/asn1/DistributedOperations.asn
blob: a6da31b4dc3425f54703558ef578b87ebd992a60 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
-- Module DistributedOperations (X.518:02/2001)
DistributedOperations {joint-iso-itu-t ds(5) module(1) distributedOperations(3)
  4} DEFINITIONS ::=
BEGIN

-- EXPORTS All 
-- The types and values defined in this module are exported for use in the other ASN.1 modules contained 
-- within the Directory Specifications, and for the use of other applications which will use them to access 
-- Directory services. Other applications may use them for their own purposes, but this will not constrain
-- extensions and modifications needed to maintain or improve the Directory service.
IMPORTS
  -- from ITU-T Rec. X.501 | ISO/IEC 9594-2
  basicAccessControl, dap, directoryAbstractService, enhancedSecurity,
    informationFramework, selectedAttributeTypes, serviceAdministration
    FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
      usefulDefinitions(0) 4}
  DistinguishedName, Name, RDNSequence
    FROM InformationFramework {joint-iso-itu-t ds(5) module(1)
      informationFramework(1) 4}
  MRMapping, SearchRuleId
    FROM ServiceAdministration {joint-iso-itu-t ds(5) module(1)
      serviceAdministration(33) 4}
  AuthenticationLevel
    FROM BasicAccessControl {joint-iso-itu-t ds(5) module(1)
      basicAccessControl(24) 4}
  OPTIONALLY-PROTECTED{}
    FROM EnhancedSecurity {joint-iso-itu-t ds(5) module(1) enhancedSecurity(28)
      4}
  -- from ITU-T Rec. X.511 | ISO/IEC 9594-3
  abandon, addEntry, CommonResults, compare, directoryBind, directoryUnbind,
    list, modifyDN, modifyEntry, read, referral, removeEntry, search,
    SecurityParameters
    FROM DirectoryAbstractService {joint-iso-itu-t ds(5) module(1)
      directoryAbstractService(2) 4}
  -- from ITU-T Rec. X.519 | ISO/IEC 9594-5
  id-errcode-dsaReferral
    FROM DirectoryAccessProtocol {joint-iso-itu-t ds(5) module(1) dap(11) 4}
  -- from ITU-T Rec. X.520 | ISO/IEC 9594-6
  PresentationAddress, ProtocolInformation, UniqueIdentifier
    FROM SelectedAttributeTypes {joint-iso-itu-t ds(5) module(1)
      selectedAttributeTypes(5) 4}
  -- from ITU-T Rec. X.880 | ISO/IEC 13712-1
  ERROR, OPERATION
    FROM Remote-Operations-Information-Objects {joint-iso-itu-t
      remote-operations(4) informationObjects(5) version1(0)};

-- parameterized type for deriving chained operations 
chained{OPERATION:operation} OPERATION ::= {
  ARGUMENT OPTIONALLY-PROTECTED
    {SET {chainedArgument  ChainingArguments,
          argument         [0]  operation.&ArgumentType}}
  RESULT OPTIONALLY-PROTECTED
    {SET {chainedResult  ChainingResults,
          result         [0]  operation.&ResultType}}
  ERRORS
    {operation.&Errors EXCEPT referral | dsaReferral}
  CODE                           operation.&operationCode
}

--  bind and unbind operations 
dSABind OPERATION ::= directoryBind

dSAUnbind OPERATION ::= directoryUnbind

--  chained operations 
chainedRead OPERATION ::= chained{read}

chainedCompare OPERATION ::= chained{compare}

chainedAbandon OPERATION ::= abandon

chainedList OPERATION ::= chained{list}

chainedSearch OPERATION ::= chained{search}

chainedAddEntry OPERATION ::= chained{addEntry}

chainedRemoveEntry OPERATION ::= chained{removeEntry}

chainedModifyEntry OPERATION ::= chained{modifyEntry}

chainedModifyDN OPERATION ::= chained{modifyDN}

-- errors and parameters 
dsaReferral ERROR ::= {
  PARAMETER OPTIONALLY-PROTECTED
    {SET {reference      [0]  ContinuationReference,
          contextPrefix  [1]  DistinguishedName OPTIONAL,
          COMPONENTS OF CommonResults}}
  CODE                            id-errcode-dsaReferral
}

--  common arguments and results 
ChainingArguments ::= SET {
  originator           [0]  DistinguishedName OPTIONAL,
  targetObject         [1]  DistinguishedName OPTIONAL,
  operationProgress
    [2]  OperationProgress DEFAULT {nameResolutionPhase notStarted},
  traceInformation     [3]  TraceInformation,
  aliasDereferenced    [4]  BOOLEAN DEFAULT FALSE,
  aliasedRDNs          [5]  INTEGER OPTIONAL,
  -- only present in 1988 systems
  returnCrossRefs      [6]  BOOLEAN DEFAULT FALSE,
  referenceType        [7]  ReferenceType DEFAULT superior,
  info                 [8]  DomainInfo OPTIONAL,
  timeLimit            [9]  Time OPTIONAL,
  securityParameters   [10]  SecurityParameters DEFAULT {},
  entryOnly            [11]  BOOLEAN DEFAULT FALSE,
  uniqueIdentifier     [12]  UniqueIdentifier OPTIONAL,
  authenticationLevel  [13]  AuthenticationLevel OPTIONAL,
  exclusions           [14]  Exclusions OPTIONAL,
  excludeShadows       [15]  BOOLEAN DEFAULT FALSE,
  nameResolveOnMaster  [16]  BOOLEAN DEFAULT FALSE,
  operationIdentifier  [17]  INTEGER OPTIONAL,
  searchRuleId         [18]  SearchRuleId OPTIONAL,
  chainedRelaxation    [19]  MRMapping OPTIONAL,
  relatedEntry         [20]  INTEGER OPTIONAL
}

Time ::= CHOICE {utcTime          UTCTime,
                 generalizedTime  GeneralizedTime
}

DomainInfo ::= ABSTRACT-SYNTAX.&Type

ChainingResults ::= SET {
  info                [0]  DomainInfo OPTIONAL,
  crossReferences     [1]  SEQUENCE SIZE (1..MAX) OF CrossReference OPTIONAL,
  securityParameters  [2]  SecurityParameters DEFAULT {},
  alreadySearched     [3]  Exclusions OPTIONAL
}

CrossReference ::= SET {
  contextPrefix  [0]  DistinguishedName,
  accessPoint    [1]  AccessPointInformation
}

OperationProgress ::= SET {
  nameResolutionPhase
    [0]  ENUMERATED {notStarted(1), proceeding(2), completed(3)},
  nextRDNToBeResolved  [1]  INTEGER OPTIONAL
}

TraceInformation ::= SEQUENCE OF TraceItem

TraceItem ::= SET {
  dsa                [0]  Name,
  targetObject       [1]  Name OPTIONAL,
  operationProgress  [2]  OperationProgress
}

ReferenceType ::= ENUMERATED {
  superior(1), subordinate(2), cross(3), nonSpecificSubordinate(4),
  supplier(5), master(6), immediateSuperior(7), self(8)}

AccessPoint ::= SET {
  ae-title             [0]  Name,
  address              [1]  PresentationAddress,
  protocolInformation  [2]  SET SIZE (1..MAX) OF ProtocolInformation OPTIONAL
}

MasterOrShadowAccessPoint ::= SET {
  COMPONENTS OF AccessPoint,
  category          [3]  ENUMERATED {master(0), shadow(1)} DEFAULT master,
  chainingRequired  [5]  BOOLEAN DEFAULT FALSE
}

MasterAndShadowAccessPoints ::= SET SIZE (1..MAX) OF MasterOrShadowAccessPoint

AccessPointInformation ::= SET {
  COMPONENTS OF MasterOrShadowAccessPoint,
  additionalPoints  [4]  MasterAndShadowAccessPoints OPTIONAL
}

Exclusions ::= SET SIZE (1..MAX) OF RDNSequence

ContinuationReference ::= SET {
  targetObject         [0]  Name,
  aliasedRDNs          [1]  INTEGER OPTIONAL, -- only present in 1988 systems
  operationProgress    [2]  OperationProgress,
  rdnsResolved         [3]  INTEGER OPTIONAL,
  referenceType        [4]  ReferenceType,
  accessPoints         [5]  SET OF AccessPointInformation,
  entryOnly            [6]  BOOLEAN DEFAULT FALSE,
  exclusions           [7]  Exclusions OPTIONAL,
  returnToDUA          [8]  BOOLEAN DEFAULT FALSE,
  nameResolveOnMaster  [9]  BOOLEAN DEFAULT FALSE
}

END -- DistributedOperations

-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D