-- Module DirectoryShadowAbstractService (X.525:02/2001) DirectoryShadowAbstractService {joint-iso-itu-t ds(5) module(1) directoryShadowAbstractService(15) 4} DEFINITIONS IMPLICIT TAGS ::= 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 directoryAbstractService, directoryOperationalBindingTypes, informationFramework, disp, distributedOperations, dsaOperationalAttributeTypes, enhancedSecurity, opBindingManagement FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1) usefulDefinitions(0) 4} Attribute, AttributeType, CONTEXT, DistinguishedName, RelativeDistinguishedName, SubtreeSpecification FROM InformationFramework {joint-iso-itu-t ds(5) module(1) informationFramework(1) 4} OPERATIONAL-BINDING, OperationalBindingID FROM OperationalBindingManagement {joint-iso-itu-t ds(5) module(1) opBindingManagement(18) 4} DSEType, SupplierAndConsumers FROM DSAOperationalAttributeTypes {joint-iso-itu-t ds(5) module(1) dsaOperationalAttributeTypes(22) 4} OPTIONALLY-PROTECTED{}, OPTIONALLY-PROTECTED-SEQ{} FROM EnhancedSecurity {joint-iso-itu-t ds(5) module(1) enhancedSecurity(28) 4} -- from ITU-T Rec. X.511 | ISO/IEC 9594-3 CommonResultsSeq, ContextSelection, directoryBind, directoryUnbind, DirectoryBindArgument, DirectoryBindError, EntryModification, SecurityParameters FROM DirectoryAbstractService {joint-iso-itu-t ds(5) module(1) directoryAbstractService(2) 4} -- from ITU-T Rec. X.518 | ISO/IEC 9594-4 AccessPoint FROM DistributedOperations {joint-iso-itu-t ds(5) module(1) distributedOperations(3) 4} -- from ITU-T Rec. X.519 | ISO/IEC 9594-5 id-op-binding-shadow FROM DirectoryOperationalBindingTypes {joint-iso-itu-t ds(5) module(1) directoryOperationalBindingTypes(25) 4} id-errcode-shadowError, id-opcode-coordinateShadowUpdate, id-opcode-requestShadowUpdate, id-opcode-updateShadow, reliableShadowSupplierInitiatedAC, reliableShadowConsumerInitiatedAC, shadowConsumerInitiatedAC, shadowSupplierInitiatedAC FROM DirectoryInformationShadowProtocol {joint-iso-itu-t ds(5) module(1) disp(16) 4} AlgorithmIdentifier, CertificationPath, ENCRYPTED{}, SIGNATURE{}, SIGNED{} FROM AuthenticationFramework {joint-iso-itu-t ds(5) module(1) authenticationFramework(7) 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)}; -- bind and unbind operations dSAShadowBind OPERATION ::= directoryBind DSAShadowBindArgument ::= DirectoryBindArgument DSAShadowBindResult ::= DirectoryBindArgument DSAShadowBindError ::= DirectoryBindError dSAShadowUnbind OPERATION ::= directoryUnbind -- shadow operational binding --shadowOperationalBinding OPERATIONAL-BINDING ::= { -- AGREEMENT ShadowingAgreementInfo -- APPLICATION CONTEXTS -- {{shadowSupplierInitiatedAC -- APPLIES TO {All-operations-supplier-initiated}} | -- {shadowConsumerInitiatedAC -- APPLIES TO {All-operations-consumer-initiated}} | -- {reliableShadowSupplierInitiatedAC -- APPLIES TO {All-operations-supplier-initiated}} | -- {reliableShadowConsumerInitiatedAC -- APPLIES TO {All-operations-consumer-initiated}}} -- ASYMMETRIC ROLE-A -- { - - shadow supplier roleESTABLISHMENT-INITIATOR TRUE -- ESTABLISHMENT-PARAMETER NULL -- MODIFICATION-INITIATOR TRUE -- TERMINATION-INITIATOR TRUE} -- ROLE-B -- { - - shadow consumer roleESTABLISHMENT-INITIATOR TRUE -- ESTABLISHMENT-PARAMETER NULL -- MODIFICATION-INITIATOR TRUE -- MODIFICATION-PARAMETER ModificationParameter -- TERMINATION-INITIATOR TRUE} -- ID id-op-binding-shadow --} -- types EstablishParameter ::= NULL ModificationParameter ::= SEQUENCE { secondaryShadows SET OF SupplierAndConsumers } AgreementID ::= OperationalBindingID ShadowingAgreementInfo ::= SEQUENCE { shadowSubject UnitOfReplication, updateMode UpdateMode -- DEFAULT supplierInitiated:onChange:TRUE--, master AccessPoint OPTIONAL, secondaryShadows [2] BOOLEAN DEFAULT FALSE } UnitOfReplication ::= SEQUENCE { area AreaSpecification, attributes AttributeSelection, knowledge Knowledge OPTIONAL, subordinates BOOLEAN DEFAULT FALSE, contextSelection ContextSelection OPTIONAL, supplyContexts [0] CHOICE {allContexts NULL, selectedContexts SET --SIZE (1..MAX)-- OF --CONTEXT.&id-- OBJECT IDENTIFIER } OPTIONAL } AreaSpecification ::= SEQUENCE { contextPrefix DistinguishedName, replicationArea SubtreeSpecification } Knowledge ::= SEQUENCE { knowledgeType ENUMERATED {master(0), shadow(1), both(2)}, extendedKnowledge BOOLEAN DEFAULT FALSE } AttributeSelection ::= SET OF ClassAttributeSelection ClassAttributeSelection ::= SEQUENCE { class OBJECT IDENTIFIER OPTIONAL, classAttributes ClassAttributes -- DEFAULT allAttributes:NULL -- OPTIONAL } ClassAttributes ::= CHOICE { allAttributes NULL, include [0] AttributeTypes, exclude [1] AttributeTypes } AttributeTypes ::= SET OF AttributeType UpdateMode ::= CHOICE { supplierInitiated [0] SupplierUpdateMode, consumerInitiated [1] ConsumerUpdateMode } SupplierUpdateMode ::= CHOICE { onChange BOOLEAN, scheduled SchedulingParameters } ConsumerUpdateMode ::= SchedulingParameters SchedulingParameters ::= SEQUENCE { periodic PeriodicStrategy OPTIONAL, -- shall be present if othertimes is set to FALSE othertimes BOOLEAN DEFAULT FALSE } PeriodicStrategy ::= SEQUENCE { beginTime Time OPTIONAL, windowSize INTEGER, updateInterval INTEGER } Time ::= GeneralizedTime -- as per 34.2 b) and c) of CCITT Rec. X.208 and ISO/IEC 8824 -- shadow operations, arguments, and results --All-operations-consumer-initiated OPERATION ::= -- {requestShadowUpdate | updateShadow} --All-operations-supplier-initiated OPERATION ::= -- {coordinateShadowUpdate | updateShadow} --coordinateShadowUpdate OPERATION ::= { -- ARGUMENT CoordinateShadowUpdateArgument -- RESULT CoordinateShadowUpdateResult -- ERRORS {shadowError} -- CODE id-opcode-coordinateShadowUpdate --} CoordinateShadowUpdateArgumentData ::= -- OPTIONALLY-PROTECTED -- {[0] -- SEQUENCE {agreementID AgreementID, lastUpdate Time OPTIONAL, updateStrategy CHOICE {standard ENUMERATED {noChanges(0), incremental(1), total(2)}, other EXTERNAL}, securityParameters SecurityParameters OPTIONAL} --} -- expand OPTIONALLY-PROTECTED macro CoordinateShadowUpdateArgument ::= CHOICE { unsignedCoordinateShadowUpdateArgument [0] CoordinateShadowUpdateArgumentData, signedCoordinateShadowUpdateArgument SEQUENCE { coordinateShadowUpdateArgument [0] CoordinateShadowUpdateArgumentData, algorithmIdentifier AlgorithmIdentifier, encrypted BIT STRING } } CoordinateShadowUpdateResult ::= CHOICE { null NULL, information Information -- OPTIONALLY-PROTECTED{ [0] SEQUENCE {agreementID AgreementID, -- lastUpdate Time OPTIONAL, -- COMPONENTS OF CommonResultsSeq -- }} } InformationData ::= SEQUENCE { agreementID AgreementID, lastUpdate Time OPTIONAL, -- COMPONENTS OF CommonResultsSeq securityParameters [30] SecurityParameters OPTIONAL, performer [29] DistinguishedName OPTIONAL, aliasDereferenced [28] BOOLEAN DEFAULT FALSE, notification [27] SEQUENCE --SIZE (1..MAX)-- OF Attribute OPTIONAL } -- expand OPTIONALLY-PROTECTED macro Information ::= CHOICE { unsignedInformation [0] InformationData, signedInformation SEQUENCE { information [0] InformationData, algorithmIdentifier AlgorithmIdentifier, encrypted BIT STRING } } --requestShadowUpdate OPERATION ::= { -- ARGUMENT RequestShadowUpdateArgument -- RESULT RequestShadowUpdateResult -- ERRORS {shadowError} -- CODE id-opcode-requestShadowUpdate --} RequestShadowUpdateArgumentData ::= -- OPTIONALLY-PROTECTED -- { [0] -- SEQUENCE {agreementID AgreementID, lastUpdate Time OPTIONAL, requestedStrategy CHOICE {standard ENUMERATED {incremental(1), total(2)}, other EXTERNAL}, securityParameters SecurityParameters OPTIONAL} --} -- expand OPTIONALLY-PROTECTED macro RequestShadowUpdateArgument ::= CHOICE { unsignedRequestShadowUpdateArgument [0] RequestShadowUpdateArgumentData, signedRequestShadowUpdateArgument SEQUENCE { requestShadowUpdateArgument [0] RequestShadowUpdateArgumentData, algorithmIdentifier AlgorithmIdentifier, encrypted BIT STRING } } RequestShadowUpdateResult ::= CHOICE { null NULL, information Information -- OPTIONALLY-PROTECTED{[0] SEQUENCE {agreementID AgreementID, -- lastUpdate Time OPTIONAL, -- COMPONENTS OF CommonResultsSeq -- }} } --updateShadow OPERATION ::= { -- ARGUMENT UpdateShadowArgument -- RESULT UpdateShadowResult -- ERRORS {shadowError} -- CODE id-opcode-updateShadow --} UpdateShadowArgumentData ::= -- OPTIONALLY-PROTECTED -- { [0] -- SEQUENCE {agreementID AgreementID, updateTime Time, updateWindow UpdateWindow OPTIONAL, updatedInfo RefreshInformation, securityParameters SecurityParameters OPTIONAL} --} -- expand OPTIONALLY-PROTECTED macro UpdateShadowArgument ::= CHOICE { unsignedUpdateShadowArgument [0] UpdateShadowArgumentData, signedUpdateShadowArgument SEQUENCE { updateShadowArgument [0] UpdateShadowArgumentData, algorithmIdentifier AlgorithmIdentifier, encrypted BIT STRING } } UpdateShadowResult ::= CHOICE { null NULL, information Information -- OPTIONALLY-PROTECTED{ [0] SEQUENCE {agreementID AgreementID, -- lastUpdate Time OPTIONAL, -- COMPONENTS OF CommonResultsSeq -- }} } UpdateWindow ::= SEQUENCE {start Time, stop Time } RefreshInformation ::= CHOICE { noRefresh NULL, total [0] TotalRefresh, incremental [1] IncrementalRefresh, otherStrategy EXTERNAL } TotalRefresh ::= SEQUENCE { sDSE SDSEContent OPTIONAL, subtree SET --SIZE (1..MAX)-- OF Subtree OPTIONAL } SDSEContent ::= SEQUENCE { sDSEType SDSEType, subComplete [0] BOOLEAN DEFAULT FALSE, attComplete [1] BOOLEAN OPTIONAL, attributes SET OF Attribute, attValIncomplete SET OF AttributeType DEFAULT {} } SDSEType ::= DSEType Subtree ::= SEQUENCE { rdn RelativeDistinguishedName, -- COMPONENTS OF TotalRefresh sDSE SDSEContent OPTIONAL, subtree SET --SIZE (1..MAX)-- OF Subtree OPTIONAL } IncrementalRefresh ::= SEQUENCE OF IncrementalStepRefresh IncrementalStepRefresh ::= SEQUENCE { sDSEChanges CHOICE {add [0] SDSEContent, remove NULL, modify [1] ContentChange} OPTIONAL, subordinateUpdates SEQUENCE --SIZE (1..MAX)-- OF SubordinateChanges OPTIONAL } ContentChange ::= SEQUENCE { rename CHOICE {newRDN RelativeDistinguishedName, newDN DistinguishedName} OPTIONAL, attributeChanges CHOICE {replace [0] SET --SIZE (1..MAX)-- OF Attribute, changes [1] SEQUENCE --SIZE (1..MAX)-- OF EntryModification } OPTIONAL, sDSEType SDSEType, subComplete [2] BOOLEAN DEFAULT FALSE, attComplete [3] BOOLEAN OPTIONAL, attValIncomplete SET OF AttributeType DEFAULT {} } SubordinateChanges ::= SEQUENCE { subordinate RelativeDistinguishedName, changes IncrementalStepRefresh } -- errors and parameters ShadowErrorData ::= -- ERROR ::= { -- PARAMETER OPTIONALLY-PROTECTED-SEQ -- { --SEQUENCE {problem ShadowProblem, lastUpdate Time OPTIONAL, updateWindow UpdateWindow OPTIONAL, -- COMPONENTS OF CommonResultsSeq}} securityParameters [30] SecurityParameters OPTIONAL, performer [29] DistinguishedName OPTIONAL, aliasDereferenced [28] BOOLEAN DEFAULT FALSE, notification [27] SEQUENCE --SIZE (1..MAX)-- OF Attribute OPTIONAL -- CODE id-errcode-shadowError } -- OPTIONALLY-PROTECTED-SEQ macro expansion ShadowError ::= CHOICE { unsignedShadowError ShadowErrorData, signedShadowError [0] SEQUENCE { shadowError ShadowErrorData, algorithmIdentifier AlgorithmIdentifier, encrypted BIT STRING } } ShadowProblem ::= INTEGER { invalidAgreementID(1), inactiveAgreement(2), invalidInformationReceived(3), unsupportedStrategy(4), missedPrevious(5), fullUpdateRequired(6), unwillingToPerform(7), unsuitableTiming(8), updateAlreadyReceived(9), invalidSequencing(10), insufficientResources(11)} END -- DirectoryShadowAbstractService -- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D