357 lines
10 KiB
Groff
357 lines
10 KiB
Groff
DirectoryShadowAbstractService {joint-iso-itu-t ds(5) module(1) directoryShadowAbstractService(15) 8}
|
|
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 Rec. ITU-T X.501 | ISO/IEC 9594-2
|
|
|
|
commonProtocolSpecification, directoryAbstractService,
|
|
directoryOperationalBindingTypes, informationFramework,
|
|
directoryOSIProtocols, distributedOperations, dsaOperationalAttributeTypes,
|
|
enhancedSecurity, opBindingManagement
|
|
FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1) usefulDefinitions(0) 8}
|
|
|
|
Attribute{}, AttributeType, CONTEXT, DistinguishedName,
|
|
RelativeDistinguishedName, SubtreeSpecification, SupportedAttributes
|
|
FROM InformationFramework informationFramework
|
|
|
|
OPERATIONAL-BINDING, OperationalBindingID
|
|
FROM OperationalBindingManagement opBindingManagement
|
|
|
|
DSEType, SupplierAndConsumers
|
|
FROM DSAOperationalAttributeTypes dsaOperationalAttributeTypes
|
|
|
|
OPTIONALLY-PROTECTED{}, OPTIONALLY-PROTECTED-SEQ{}
|
|
FROM EnhancedSecurity enhancedSecurity
|
|
|
|
-- from Rec. ITU-T X.511 | ISO/IEC 9594-3
|
|
|
|
CommonResultsSeq, ContextSelection, EntryModification, SecurityParameters
|
|
FROM DirectoryAbstractService directoryAbstractService
|
|
|
|
-- from Rec. ITU-T X.518 | ISO/IEC 9594-4
|
|
|
|
AccessPoint, dSABind
|
|
FROM DistributedOperations distributedOperations
|
|
|
|
-- from Rec. ITU-T X.519 | ISO/IEC 9594-5
|
|
|
|
id-op-binding-shadow
|
|
FROM DirectoryOperationalBindingTypes directoryOperationalBindingTypes
|
|
|
|
shadowConsumerInitiatedAC, shadowSupplierInitiatedAC
|
|
FROM DirectoryOSIProtocols directoryOSIProtocols
|
|
|
|
ERROR, OPERATION, id-errcode-shadowError, id-opcode-coordinateShadowUpdate,
|
|
id-opcode-requestShadowUpdate, id-opcode-updateShadow
|
|
FROM CommonProtocolSpecification commonProtocolSpecification;
|
|
|
|
-- bind operation
|
|
|
|
dSAShadowBind OPERATION ::= dSABind
|
|
|
|
-- shadow operational binding
|
|
|
|
shadowOperationalBinding OPERATIONAL-BINDING ::= {
|
|
AGREEMENT ShadowingAgreementInfo
|
|
APPLICATION CONTEXTS
|
|
{{shadowSupplierInitiatedAC
|
|
APPLIES TO {All-operations-supplier-initiated}} |
|
|
{shadowConsumerInitiatedAC
|
|
APPLIES TO {All-operations-consumer-initiated}}}
|
|
ASYMMETRIC
|
|
ROLE-A { -- shadow supplier role
|
|
ESTABLISHMENT-INITIATOR TRUE
|
|
ESTABLISHMENT-PARAMETER NULL
|
|
MODIFICATION-INITIATOR TRUE
|
|
TERMINATION-INITIATOR TRUE }
|
|
ROLE-B { -- shadow consumer role
|
|
ESTABLISHMENT-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 46.3 b) and c) of Rec. ITU-T X.680 | ISO/IEC 8824-1
|
|
|
|
-- 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 { CoordinateShadowUpdateArgumentData }
|
|
|
|
CoordinateShadowUpdateArgumentData ::= [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{ CoordinateShadowUpdateResultData },
|
|
...}
|
|
|
|
CoordinateShadowUpdateResultData ::= [0] SEQUENCE {
|
|
agreementID AgreementID,
|
|
lastUpdate Time OPTIONAL,
|
|
...,
|
|
...,
|
|
COMPONENTS OF CommonResultsSeq }
|
|
|
|
requestShadowUpdate OPERATION ::= {
|
|
ARGUMENT RequestShadowUpdateArgument
|
|
RESULT RequestShadowUpdateResult
|
|
ERRORS {shadowError}
|
|
CODE id-opcode-requestShadowUpdate
|
|
}
|
|
|
|
RequestShadowUpdateArgument ::= OPTIONALLY-PROTECTED { RequestShadowUpdateArgumentData }
|
|
|
|
RequestShadowUpdateArgumentData ::= [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{ RequestShadowUpdateResultData },
|
|
...
|
|
}
|
|
|
|
RequestShadowUpdateResultData ::= [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 {UpdateShadowArgumentData }
|
|
|
|
UpdateShadowArgumentData ::= [0] SEQUENCE {
|
|
agreementID AgreementID,
|
|
updateTime Time,
|
|
updateWindow UpdateWindow OPTIONAL,
|
|
updatedInfo RefreshInformation,
|
|
securityParameters SecurityParameters OPTIONAL,
|
|
...}
|
|
|
|
UpdateShadowResult ::= CHOICE {
|
|
null NULL,
|
|
information OPTIONALLY-PROTECTED{ UpdateShadowResultData },
|
|
...}
|
|
|
|
UpdateShadowResultData ::= [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{{SupportedAttributes}},
|
|
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{{SupportedAttributes}},
|
|
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 { ShadowErrorData }
|
|
CODE id-errcode-shadowError }
|
|
|
|
ShadowErrorData ::= SEQUENCE {
|
|
problem ShadowProblem,
|
|
lastUpdate Time OPTIONAL,
|
|
updateWindow UpdateWindow OPTIONAL,
|
|
...,
|
|
...,
|
|
COMPONENTS OF CommonResultsSeq }
|
|
|
|
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 |