pycrate/pycrate_asn1dir/ITUT_X509_2012-10/DirectoryShadowAbstractServ...

357 lines
10 KiB
Groff

DirectoryShadowAbstractService {joint-iso-itu-t ds(5) module(1)
directoryShadowAbstractService(15) 7} 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) 7}
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