|
|
1.1 root 1: QuipuDirectoryDefinitions
2: DEFINITIONS ::=
3: BEGIN
4:
5: -- give the module an identifier in QUIPU 6.0
6:
7: IMPORTS
8: EVERYTHING
9: FROM QuipuNameDefinitions
10:
11: mhs-or-addresses
12: FROM MHSDirectoryObjectsAndAttributes
13: {joint-iso-ccitt mhs-motis(6) arch(5) modules(0) directory(1)}
14:
15: ABSTRACT-OPERATION, ABSTRACT-ERROR
16: FROM AbstractServiceNotation {joint-iso-ccitt mhs-motis(6) asdc(2) modules(0) notation(1)}
17:
18: NameError, ServiceError, SecurityError
19: FROM DirctoryAbstractService {joint-iso-ccitt ds(5) modules(1) directoryAbstractService(2)}
20:
21: DistinguishedName, RelativeDistinguishedName, Attribute, AttributeType,
22: ATTRIBUTE, ATTRIBUTE-SYNTAX, OBJECT-CLASS
23: FROM InformationFramework {joint-iso-ccitt ds(5) modules(1) informationFramework(1)}
24:
25: distinguishedNameSyntax, commonName, description, presentationAddress
26: FROM SelectedAttributeTypes {joint-iso-ccitt ds(5) modules(1) selectedAttributeTypes(5)}
27:
28: top, dsa
29: FROM SelectedObjectClasses {joint-iso-ccitt ds(5) modules(1) selectedObjectClasses(6)}
30:
31: AccessPoint
32: FROM DistributedOperations {joint-iso-ccitt ds(5) modules(1) distributedOperations(3)} ;
33:
34: QuipuObject ::= OBJECT-CLASS
35: SUBCLASS OF top
36: MUST CONTAIN {aCL}
37:
38: QuipuNonLeafObject ::= OBJECTCLASS
39: SUBCLASS OF quipuObject
40: MUST CONTAIN {masterDSA}
41: MAY CONTAIN {slaveDSA,treeStructure}
42:
43: QuipuDSA ::= OBJECT-CLASS
44: SUBCLASS OF dsa
45: -- No Attributes, just object class
46: -- to tell you what it is
47:
48: QuipuDSAInfo ::= OBJECT-CLASS -- always has common name "Info"
49: SUBCLASS OF top
50: MUST CONTAIN { commonName, edbInfo, quipuVersion, dSAControl }
51: MAY CONTAIN { presentationAddress, mhs-or-addresses, description }
52:
53:
54: EDBInfoSyntax ::= SEQUENCE {
55: edb DistinguishedName,
56: getFromDSA DistinguishedName OPTIONAL,
57: -- If omitted DSA is master
58: -- Determine mode of update from this DSA
59: sendToDSAs NameList,
60: -- Send these DSAs incremental updates
61: -- Namelist is defined with the ACLs
62: getEDBAllowed NameList
63: -- List of DSAs allowed to pull EDB
64: }
65:
66: EdbInfo ::= ATTRIBUTE
67: WITH ATTRIBUTE-SYNTAX EDBInfo
68: MULTI VALUE
69:
70: MasterDSA ::= ATTRIBUTE
71: WITH ATTRIBUTE-SYNTAX distinguishedNameSyntax
72: -- Master QSR
73: -- Usually, but not necessarily single valued
74:
75: SlaveDSA ::= ATTRIBUTE
76: WITH ATTRIBUTE-SYNTAX distinguishedNameSyntax
77: -- Slave QSR
78:
79: SubordinateReference ::= ATTRIBUTE
80: WITH ATTRIBUTE-SYNTAX AccessPoint
81: SINGLE VALUE
82:
83: CrossReference ::= ATTRIBUTE
84: WITH ATTRIBUTE-SYNTAX AccessPoint
85: SINGLE VALUE
86:
87: NonSpecificSubordinateReference ::= ATTRIBUTE
88: WITH ATTRIBUTE-SYNTAX AccessPoint
89:
90: QuipuVersion ::= ATTRIBUTE
91: WITH ATTRIBUTE-SYNTAX caseIgnoreStringSyntax
92:
93: DSAControl ::= ATTRIBUTE
94: WITH ATTRIBUTE-SYNTAX caseIgnoreStringSyntax
95:
96: ACLInfo ::= SET OF SEQUENCE {
97: AccessSelector,
98: AccessCategories }
99:
100: AccessCategories ::= ENUMERATED {
101: none (0),
102: detect (1),
103: compare (2),
104: read (3),
105: add (4),
106: write (5) }
107:
108: AccessSelector ::= CHOICE {
109: entry [0] NULL,
110: -- DUA identified by the entry
111: other [2] NULL,
112: -- This indicates 'public' rights
113: prefix [3] NameList,
114: -- This identifies a prefix name for specified DUAs
115: -- e.g. anyone in the UK
116: group [4] NameList
117: -- For specifying group rights
118: }
119:
120: NameList ::= SET OF DistinguishedName
121:
122: ACLSyntax ::= SEQUENCE {
123: childACL [0] ACLInfo DEFAULT {{other, read}},
124: entryACL [1] ACLInfo DEFAULT {{other, read}},
125: defaultAttributeACL [2] ACLInfo DEFAULT {{other, read}},
126: [3] SET OF AttributeACL }
127: -- Defaults to a publicly readable
128: -- read only directory
129:
130: AttributeACL ::= SEQUENCE {
131: SET OF AttributeType,
132: ACLInfo }
133:
134: ACL ATTRIBUTE
135: WITH ATTRIBUTE-SYNTAX ACLSyntax
136: SINGLE VALUE
137:
138: TreeStructureSyntax ::= SET {
139: mandatoryObjectClasses [1] SET OF OBJECT IDENTIFIER,
140: optionalObjectClasses [2] SET OF OBJECT IDENTIFIER OPTIONAL,
141: permittedRDNs [3] SET OF SET OF AttributeType }
142:
143: TreeStructure ::= ATTRIBUTE
144: WITH ATTRIBUTE-SYNTAX TreeStructureSyntax
145: MULTI VALUE
146:
147: EntryDataBlock ::= SEQUENCE OF RelativeEntry
148:
149: RelativeEntry ::= SEQUENCE {
150: RelativeDistinguishedName,
151: SET OF Attribute
152: }
153:
154: ReliableROSData ::= SEQUENCE {
155: rosOperation INTEGER,
156: -- the operation being applied
157: data ANY,
158: -- the Operation Argument
159: oldVersion ANY
160: -- data version to which operation should be applied
161: -- version syntax will be defined by the
162: -- Reliable ROS user
163: newVersion ANY
164: -- version number which results from operation
165: }
166:
167: GetEntryDataBlock ABSTRACT-OPERATION
168: ARGUMENT GetEntryDataBlockArgument
169: RESULT GetEntryDataBlockResult
170: ERRORS {NameError,ServiceError,SecurityError}
171:
172: getEntryDataBlock GetEntryDataBlock ::= 10
173:
174: -- will make this an OBJECT IDENTIFER
175: -- when ISODE can support this form
176: -- of operation code
177:
178: GetEntryDataBlockArgument ::= SET {
179: entry [0] DistinguishedName,
180: sendIfMoreRecentThan [1] EDBVersion OPTIONAL
181: -- if omitted, just return version held
182: -- To force send, specify old version
183: }
184:
185: GetEntryDataBlockResult ::= SEQUENCE {
186: versionHeld [0] EDBVersion
187: [1] EntryDataBlock OPTIONAL
188: }
189: }
190:
191:
192: EDBVersion ::= UTCTime
193: END
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.