-- 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, 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} -- 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 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 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} 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 } 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 } CoordinateShadowUpdateArgument ::= OPTIONALLY-PROTECTED {[0] SEQUENCE {agreementID AgreementID, lastUpdate Time OPTIONAL, updateStrategy CHOICE {standard ENUMERATED {noChanges(0), incremental(1), total(2)}, other EXTERNAL}, securityParameters SecurityParameters OPTIONAL}} CoordinateShadowUpdateResult ::= CHOICE { null NULL, information OPTIONALLY-PROTECTED{[0] SEQUENCE {greementID AgreementID, lastUpdate Time OPTIONAL, COMPONENTS OF CommonResultsSeq }} } requestShadowUpdate OPERATION ::= { ARGUMENT RequestShadowUpdateArgument RESULT RequestShadowUpdateResult ERRORS {shadowError} CODE id-opcode-requestShadowUpdate } RequestShadowUpdateArgument ::= OPTIONALLY-PROTECTED {[0] SEQUENCE {agreementID AgreementID, lastUpdate Time OPTIONAL, requestedStrategy CHOICE {standard ENUMERATED {incremental(1), total(2)}, other EXTERNAL}, securityParameters SecurityParameters OPTIONAL}} RequestShadowUpdateResult ::= CHOICE { null NULL, 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 } UpdateShadowArgument ::= OPTIONALLY-PROTECTED {[0] SEQUENCE {agreementID AgreementID, updateTime Time, updateWindow UpdateWindow OPTIONAL, updatedInfo RefreshInformation, securityParameters SecurityParameters OPTIONAL}} UpdateShadowResult ::= CHOICE { null NULL, 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 } 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 shadowError ERROR ::= { PARAMETER OPTIONALLY-PROTECTED-SEQ {SEQUENCE {problem ShadowProblem, lastUpdate Time OPTIONAL, updateWindow UpdateWindow OPTIONAL, COMPONENTS OF CommonResultsSeq}} CODE id-errcode-shadowError } 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