1-- Module DirectoryShadowAbstractService (X.525:08/1997)
2DirectoryShadowAbstractService {joint-iso-itu-t ds(5) module(1)
3  directoryShadowAbstractService(15) 4} DEFINITIONS IMPLICIT TAGS ::=
4BEGIN
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.
11IMPORTS
12  -- from ITU-T Rec. X.501 | ISO/IEC 9594-2
13  directoryAbstractService, directoryOperationalBindingTypes,
14    informationFramework, disp, distributedOperations,
15    dsaOperationalAttributeTypes, enhancedSecurity, opBindingManagement
16    FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
17      usefulDefinitions(0) 3}
18  Attribute, AttributeType, CONTEXT, DistinguishedName,
19    RelativeDistinguishedName, SubtreeSpecification
20    FROM InformationFramework {joint-iso-itu-t ds(5) module(1)
21      informationFramework(1) 3}
22  OPERATIONAL-BINDING, OperationalBindingID
23    FROM OperationalBindingManagement {joint-iso-itu-t ds(5) module(1)
24      opBindingManagement(18) 3}
25  DSEType, SupplierAndConsumers
26    FROM DSAOperationalAttributeTypes {joint-iso-itu-t ds(5) module(1)
27      dsaOperationalAttributeTypes(22) 3}
28  OPTIONALLY-PROTECTED{}, OPTIONALLY-PROTECTED-SEQ{}
29    FROM EnhancedSecurity {joint-iso-itu-t ds(5) module(1) enhancedSecurity(28)
30      1}
31  -- from ITU-T Rec. X.511 | ISO/IEC 9594-3
32  CommonResultsSeq, ContextSelection, directoryBind, directoryUnbind,
33    EntryModification, SecurityParameters
34    FROM DirectoryAbstractService {joint-iso-itu-t ds(5) module(1)
35      directoryAbstractService(2) 3}
36  -- from ITU-T Rec. X.518 | ISO/IEC 9594-4
37  AccessPoint
38    FROM DistributedOperations {joint-iso-itu-t ds(5) module(1)
39      distributedOperations(3) 3}
40  -- from ITU-T Rec. X.519 | ISO/IEC 9594-5
41  id-op-binding-shadow
42    FROM DirectoryOperationalBindingTypes {joint-iso-itu-t ds(5) module(1)
43      directoryOperationalBindingTypes(25) 3}
44  id-errcode-shadowError, id-opcode-coordinateShadowUpdate,
45    id-opcode-requestShadowUpdate, id-opcode-updateShadow,
46    reliableShadowSupplierInitiatedAC, reliableShadowConsumerInitiatedAC,
47    shadowConsumerInitiatedAC, shadowSupplierInitiatedAC
48    FROM DirectoryInformationShadowProtocol {joint-iso-itu-t ds(5) module(1)
49      disp(16) 3}
50  -- from ITU-T Rec. X.880 | ISO/IEC 13712-1
51  ERROR, OPERATION
52    FROM Remote-Operations-Information-Objects {joint-iso-itu-t
53      remote-operations(4) informationObjects(5) version1(0)};
54
55-- bind and unbind operations
56dSAShadowBind OPERATION ::= directoryBind
57
58dSAShadowUnbind OPERATION ::= directoryUnbind
59
60-- shadow operational binding
61shadowOperationalBinding OPERATIONAL-BINDING ::= {
62  AGREEMENT             ShadowingAgreementInfo
63  APPLICATION CONTEXTS
64    {{shadowSupplierInitiatedAC
65      APPLIES TO  {All-operations-supplier-initiated}} |
66      {shadowConsumerInitiatedAC
67       APPLIES TO  {All-operations-consumer-initiated}} |
68      {reliableShadowSupplierInitiatedAC
69       APPLIES TO  {All-operations-supplier-initiated}} |
70      {reliableShadowConsumerInitiatedAC
71       APPLIES TO  {All-operations-consumer-initiated}}}
72  ASYMMETRIC ROLE-A
73    { -- shadow supplier roleESTABLISHMENT-INITIATOR  TRUE
74                             ESTABLISHMENT-PARAMETER  NULL
75                             MODIFICATION-INITIATOR   TRUE
76                             TERMINATION-INITIATOR    TRUE}
77  ROLE-B
78    { -- shadow consumer roleESTABLISHMENT-INITIATOR  TRUE
79                             ESTABLISHMENT-PARAMETER  NULL
80                             MODIFICATION-INITIATOR   TRUE
81                             MODIFICATION-PARAMETER   ModificationParameter
82                             TERMINATION-INITIATOR    TRUE}
83  ID                    id-op-binding-shadow
84}
85
86-- types
87ModificationParameter ::= SEQUENCE {
88  secondaryShadows  SET OF SupplierAndConsumers
89}
90
91AgreementID ::= OperationalBindingID
92
93ShadowingAgreementInfo ::= SEQUENCE {
94  shadowSubject     UnitOfReplication,
95  updateMode        UpdateMode DEFAULT supplierInitiated:onChange:TRUE,
96  master            AccessPoint OPTIONAL,
97  secondaryShadows  [2]  BOOLEAN DEFAULT FALSE
98}
99
100UnitOfReplication ::= SEQUENCE {
101  area              AreaSpecification,
102  attributes        AttributeSelection,
103  knowledge         Knowledge OPTIONAL,
104  subordinates      BOOLEAN DEFAULT FALSE,
105  contextSelection  ContextSelection OPTIONAL,
106  supplyContexts
107    [0]  CHOICE {allContexts       NULL,
108                 selectedContexts  SET SIZE (1..MAX) OF CONTEXT.&id} OPTIONAL
109}
110
111AreaSpecification ::= SEQUENCE {
112  contextPrefix    DistinguishedName,
113  replicationArea  SubtreeSpecification
114}
115
116Knowledge ::= SEQUENCE {
117  knowledgeType      ENUMERATED {master(0), shadow(1), both(2)},
118  extendedKnowledge  BOOLEAN DEFAULT FALSE
119}
120
121AttributeSelection ::= SET OF ClassAttributeSelection
122
123ClassAttributeSelection ::= SEQUENCE {
124  class            OBJECT IDENTIFIER OPTIONAL,
125  classAttributes  ClassAttributes DEFAULT allAttributes:NULL
126}
127
128ClassAttributes ::= CHOICE {
129  allAttributes  NULL,
130  include        [0]  AttributeTypes,
131  exclude        [1]  AttributeTypes
132}
133
134AttributeTypes ::= SET OF AttributeType
135
136UpdateMode ::= CHOICE {
137  supplierInitiated  [0]  SupplierUpdateMode,
138  consumerInitiated  [1]  ConsumerUpdateMode
139}
140
141SupplierUpdateMode ::= CHOICE {
142  onChange   BOOLEAN,
143  scheduled  SchedulingParameters
144}
145
146ConsumerUpdateMode ::= SchedulingParameters
147
148SchedulingParameters ::= SEQUENCE {
149  periodic    PeriodicStrategy OPTIONAL, -- must be present if othertimes is set to FALSE
150  othertimes  BOOLEAN DEFAULT FALSE
151}
152
153PeriodicStrategy ::= SEQUENCE {
154  beginTime       Time OPTIONAL,
155  windowSize      INTEGER,
156  updateInterval  INTEGER
157}
158
159Time ::= GeneralizedTime
160
161-- as per 34.2 b) and c) of CCITT Rec. X.208 and ISO/IEC 8824
162-- shadow operations, arguments, and results
163All-operations-consumer-initiated OPERATION ::=
164  {requestShadowUpdate | updateShadow}
165
166All-operations-supplier-initiated OPERATION ::=
167  {coordinateShadowUpdate | updateShadow}
168
169coordinateShadowUpdate OPERATION ::= {
170  ARGUMENT  CoordinateShadowUpdateArgument
171  RESULT    CoordinateShadowUpdateResult
172  ERRORS    {shadowError}
173  CODE      id-opcode-coordinateShadowUpdate
174}
175
176CoordinateShadowUpdateArgument ::=
177  OPTIONALLY-PROTECTED
178    {[0]  SEQUENCE {agreementID         AgreementID,
179                    lastUpdate          Time OPTIONAL,
180                    updateStrategy
181                      CHOICE {standard
182                                ENUMERATED {noChanges(0), incremental(1),
183                                            total(2)},
184                              other     EXTERNAL},
185                    securityParameters  SecurityParameters OPTIONAL}}
186
187CoordinateShadowUpdateResult ::= CHOICE {
188  null         NULL,
189  information
190    OPTIONALLY-PROTECTED{[0]  SEQUENCE {greementID  AgreementID,
191                                        lastUpdate  Time OPTIONAL,
192                                        COMPONENTS OF CommonResultsSeq
193      }}
194}
195
196requestShadowUpdate OPERATION ::= {
197  ARGUMENT  RequestShadowUpdateArgument
198  RESULT    RequestShadowUpdateResult
199  ERRORS    {shadowError}
200  CODE      id-opcode-requestShadowUpdate
201}
202
203RequestShadowUpdateArgument ::=
204  OPTIONALLY-PROTECTED
205    {[0]  SEQUENCE {agreementID         AgreementID,
206                    lastUpdate          Time OPTIONAL,
207                    requestedStrategy
208                      CHOICE {standard  ENUMERATED {incremental(1), total(2)},
209                              other     EXTERNAL},
210                    securityParameters  SecurityParameters OPTIONAL}}
211
212RequestShadowUpdateResult ::= CHOICE {
213  null         NULL,
214  information
215    OPTIONALLY-PROTECTED{[0]  SEQUENCE {agreementID  AgreementID,
216                                        lastUpdate   Time OPTIONAL,
217                                        COMPONENTS OF CommonResultsSeq
218      }}
219}
220
221updateShadow OPERATION ::= {
222  ARGUMENT  UpdateShadowArgument
223  RESULT    UpdateShadowResult
224  ERRORS    {shadowError}
225  CODE      id-opcode-updateShadow
226}
227
228UpdateShadowArgument ::=
229  OPTIONALLY-PROTECTED
230    {[0]  SEQUENCE {agreementID         AgreementID,
231                    updateTime          Time,
232                    updateWindow        UpdateWindow OPTIONAL,
233                    updatedInfo         RefreshInformation,
234                    securityParameters  SecurityParameters OPTIONAL}}
235
236UpdateShadowResult ::= CHOICE {
237  null         NULL,
238  information
239    OPTIONALLY-PROTECTED{[0]  SEQUENCE {agreementID  AgreementID,
240                                        lastUpdate   Time OPTIONAL,
241                                        COMPONENTS OF CommonResultsSeq
242      }}
243}
244
245UpdateWindow ::= SEQUENCE {start  Time,
246                           stop   Time
247}
248
249RefreshInformation ::= CHOICE {
250  noRefresh      NULL,
251  total          [0]  TotalRefresh,
252  incremental    [1]  IncrementalRefresh,
253  otherStrategy  EXTERNAL
254}
255
256TotalRefresh ::= SEQUENCE {
257  sDSE     SDSEContent OPTIONAL,
258  subtree  SET SIZE (1..MAX) OF Subtree OPTIONAL
259}
260
261SDSEContent ::= SEQUENCE {
262  sDSEType          SDSEType,
263  subComplete       [0]  BOOLEAN DEFAULT FALSE,
264  attComplete       [1]  BOOLEAN OPTIONAL,
265  attributes        SET OF Attribute,
266  attValIncomplete  SET OF AttributeType DEFAULT {}
267}
268
269SDSEType ::= DSEType
270
271Subtree ::= SEQUENCE {
272  rdn  RelativeDistinguishedName,
273  COMPONENTS OF TotalRefresh
274}
275
276IncrementalRefresh ::= SEQUENCE OF IncrementalStepRefresh
277
278IncrementalStepRefresh ::= SEQUENCE {
279  sDSEChanges
280    CHOICE {add     [0]  SDSEContent,
281            remove  NULL,
282            modify  [1]  ContentChange} OPTIONAL,
283  subordinateUpdates  SEQUENCE SIZE (1..MAX) OF SubordinateChanges OPTIONAL
284}
285
286ContentChange ::= SEQUENCE {
287  rename
288    CHOICE {newRDN  RelativeDistinguishedName,
289            newDN   DistinguishedName} OPTIONAL,
290  attributeChanges
291    CHOICE {replace  [0]  SET SIZE (1..MAX) OF Attribute,
292            changes  [1]  SEQUENCE SIZE (1..MAX) OF EntryModification
293  } OPTIONAL,
294  sDSEType          SDSEType,
295  subComplete       [2]  BOOLEAN DEFAULT FALSE,
296  attComplete       [3]  BOOLEAN OPTIONAL,
297  attValIncomplete  SET OF AttributeType DEFAULT {}
298}
299
300SubordinateChanges ::= SEQUENCE {
301  subordinate  RelativeDistinguishedName,
302  changes      IncrementalStepRefresh
303}
304
305-- errors and parameters
306shadowError ERROR ::= {
307  PARAMETER OPTIONALLY-PROTECTED-SEQ
308    {SEQUENCE {problem       ShadowProblem,
309               lastUpdate    Time OPTIONAL,
310               updateWindow  UpdateWindow OPTIONAL,
311               COMPONENTS OF CommonResultsSeq}}
312  CODE                                id-errcode-shadowError
313}
314
315ShadowProblem ::= INTEGER {
316  invalidAgreementID(1), inactiveAgreement(2), invalidInformationReceived(3),
317  unsupportedStrategy(4), missedPrevious(5), fullUpdateRequired(6),
318  unwillingToPerform(7), unsuitableTiming(8), updateAlreadyReceived(9),
319  invalidSequencing(10), insufficientResources(11)}
320
321END -- DirectoryShadowAbstractService
322
323-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
324
325