|
|
1.1 root 1: -- das-prn.py - manually augmented DirectoryAbstractService module
2:
3: -- $Header: /f/osi/dsap/x500as/RCS/das-prn.py,v 7.0 89/11/23 21:50:20 mrose Rel $
4: --
5: --
6: -- $Log: das-prn.py,v $
7: -- Revision 7.0 89/11/23 21:50:20 mrose
8: -- Release 6.0
9: --
10:
11: --
12: -- NOTICE
13: --
14: -- Acquisition, use, and distribution of this module and related
15: -- materials are subject to the restrictions of a license agreement.
16: -- Consult the Preface in the User's Manual for the full terms of
17: -- this agreement.
18: --
19: --
20:
21:
22: DAS
23: {
24: joint-iso-ccitt
25: ds(5)
26: modules(1)
27: directoryAbstractService(2)
28: }
29:
30: DEFINITIONS ::=
31:
32: PREFIXES encode decode print
33:
34: BEGIN
35:
36: -- EXPORTS
37: -- DirectoryBindArgument ,
38: -- ReadArgument ,
39: -- ReadResult ,
40: -- AbandonArgument ,
41: -- AbandonResult ,
42: -- CompareArgument ,
43: -- CompareResult ,
44: -- ListArgument ,
45: -- ListResult ,
46: -- SearchArgument ,
47: -- SearchResult ,
48: -- AddEntryArgument ,
49: -- AddEntryResult ,
50: -- RemoveEntryArgument ,
51: -- RemoveEntryResult ,
52: -- ModifyEntryArgument ,
53: -- ModifyEntryResult ,
54: -- ModifyRDNArgument ,
55: -- ModifyRDNResult ,
56: -- AbandonFailedParm ,
57: -- AttributeErrorParm ,
58: -- NameErrorParm ,
59: -- ReferralParm ,
60: -- SecurityErrorParm ,
61: -- ServiceErrorParm ,
62: -- UpdateErrorParm;
63:
64: IMPORTS
65: Attribute ,
66: AttributeType ,
67: AttributeValue ,
68: AttributeValueAssertion ,
69: DistinguishedName ,
70: Name ,
71: RelativeDistinguishedName
72: FROM IF
73: {
74: joint-iso-ccitt
75: ds(5)
76: modules(1)
77: informationFramework(1)
78: }
79:
80: OperationProgress ,
81: ContinuationReference ,
82: InvokeID
83: FROM DO
84: {
85: joint-iso-ccitt
86: ds(5)
87: modules(1)
88: distributedOperations(3)
89: }
90:
91: Certificate ,
92: CertificationPath ,
93: AlgorithmIdentifier
94: FROM AF
95: {
96: joint-iso-ccitt
97: ds(5)
98: modules(1)
99: authenticationFramework(7)
100: };
101:
102: PRINTER print
103:
104: SimpleCredentials
105: ::=
106: SEQUENCE
107: {
108: name
109: [0] DistinguishedName ,
110: validity
111: [1] SET
112: {
113: time1
114: [0] UTCTime OPTIONAL ,
115: time2
116: [1] UTCTime OPTIONAL ,
117: random1
118: [2] BIT STRING OPTIONAL ,
119: random2
120: [3] BIT STRING OPTIONAL
121: } OPTIONAL ,
122: password
123: [2] OCTET STRING
124: OPTIONAL
125: }
126:
127: TokenToSign
128: ::=
129: SEQUENCE
130: {
131: algorithm
132: [0] AlgorithmIdentifier ,
133: name
134: [1] DistinguishedName ,
135: time
136: [2] UTCTime ,
137: random
138: [3] BIT STRING
139: }
140:
141: Token
142: ::=
143: SEQUENCE
144: {
145: TokenToSign ,
146: AlgorithmIdentifier ,
147: BIT STRING
148: }
149:
150: StrongCredentials
151: ::=
152: SET
153: {
154: certificationPath
155: [0] CertificationPath
156: OPTIONAL ,
157: bindToken
158: [1] Token
159: }
160:
161: Credentials
162: ::=
163: CHOICE
164: {
165: simple
166: [0] SimpleCredentials ,
167: strong
168: [1] StrongCredentials ,
169: externalProcedure
170: [2] EXTERNAL
171: }
172:
173: Versions
174: ::=
175: BIT STRING
176: {
177: v1988(0)
178: }
179:
180: SecurityProblem
181: ::=
182: INTEGER
183: {
184: inappropriateAuthentication(1) ,
185: invalidCredentials(2) ,
186: insufficientAccessRights(3) ,
187: invalidSignature(4) ,
188: protectionRequired(5) ,
189: noInformation(6)
190: }
191:
192: ServiceProblem
193: ::=
194: INTEGER
195: {
196: busy(1) ,
197: unavailable(2) ,
198: unwillingToPerform(3) ,
199: chainingRequired(4) ,
200: unableToProceed(5) ,
201: invalidReference(6) ,
202: timeLimitExceeded(7) ,
203: administrativeLimitExceeded(8) ,
204: loopDetected(9) ,
205: unavailableCriticalExtension(10) ,
206: outOfScope(11) ,
207: ditError(12)
208: }
209:
210: EntryInformationSelection
211: ::=
212: SET
213: {
214: attributeTypes
215: CHOICE
216: {
217: allAttributes
218: [0] NULL ,
219: select
220: [1] SET OF
221: AttributeType
222: }
223: -- DEFAULT allAttributes NULL ,
224: OPTIONAL ,
225: infoTypes
226: [2] INTEGER
227: {
228: attributeTypesOnly(0) ,
229: attributeTypesAndValues(1)
230: }
231: -- DEFAULT attributeTypesAndValues
232: OPTIONAL
233: }
234:
235: ServiceControls
236: ::=
237: SET
238: {
239: options
240: [0] BIT STRING
241: {
242: preferChaining(0) ,
243: chainingProhibited(1) ,
244: localScope(2) ,
245: dontUseCopy(3) ,
246: dontDereferenceAliases(4)
247: }
248: -- DEFAULT {} ,
249: OPTIONAL ,
250: priority
251: [1] INTEGER
252: {
253: low(0) ,
254: medium(1) ,
255: high(2)
256: }
257: -- DEFAULT medium ,
258: OPTIONAL ,
259: timeLimit
260: [2] INTEGER
261: OPTIONAL ,
262: sizeLimit
263: [3] INTEGER
264: OPTIONAL ,
265: scopeOfReferral
266: [4] INTEGER
267: {
268: dmd(0) ,
269: country(1)
270: }
271: OPTIONAL
272: }
273:
274: ProtectionRequest
275: ::=
276: INTEGER
277: {
278: none (0) ,
279: signed (1)
280: }
281:
282: SecurityParameters
283: ::=
284: SET
285: {
286: certificationPath
287: [0] CertificationPath
288: OPTIONAL ,
289: name
290: [1] DistinguishedName
291: OPTIONAL ,
292: time
293: [2] UTCTime
294: OPTIONAL ,
295: random
296: [3] BIT STRING
297: OPTIONAL ,
298: target
299: [4] ProtectionRequest
300: OPTIONAL
301: }
302:
303: Extension
304: ::=
305: SET
306: {
307: identifier
308: [0] INTEGER ,
309: critical
310: [1] BOOLEAN
311: -- DEFAULT FALSE ,
312: OPTIONAL ,
313: item
314: [2] ANY DEFINED BY identifier
315: }
316:
317: EntryInformation
318: ::=
319: SEQUENCE
320: {
321: DistinguishedName ,
322: fromEntry
323: BOOLEAN
324: -- DEFAULT TRUE ,
325: OPTIONAL ,
326: SET OF
327: CHOICE
328: {
329: AttributeType ,
330: Attribute
331: }
332: OPTIONAL
333: }
334:
335: LimitProblem
336: ::=
337: INTEGER
338: {
339: timeLimitExceeded(0) ,
340: sizeLimitExceeded(1) ,
341: administrativeLimitExceeded(2)
342: }
343:
344: PartialOutcomeQualifier
345: ::=
346: SET
347: {
348: limitProblem
349: [0] LimitProblem
350: OPTIONAL ,
351: unexplored
352: [1] SET OF
353: ContinuationReference
354: OPTIONAL ,
355: unavailableCriticalExtensions
356: [2] BOOLEAN
357: -- DEFAULT FALSE
358: OPTIONAL
359: }
360:
361: FilterItem
362: ::=
363: CHOICE
364: {
365: equality
366: [0] AttributeValueAssertion ,
367: substrings
368: [1] SEQUENCE
369: {
370: type
371: AttributeType ,
372: strings
373: SEQUENCE OF
374: CHOICE
375: {
376: initial
377: [0] AttributeValue ,
378: any
379: [1] AttributeValue ,
380: final
381: [2] AttributeValue
382: }
383: } ,
384: greaterOrEqual
385: [2] AttributeValueAssertion ,
386: lessOrEqual
387: [3] AttributeValueAssertion ,
388: present
389: [4] AttributeType ,
390: approximateMatch
391: [5] AttributeValueAssertion
392: }
393:
394: Filter
395: ::=
396: CHOICE
397: {
398: item
399: [0] FilterItem ,
400: and
401: [1] SET OF
402: Filter ,
403: or
404: [2] SET OF
405: Filter ,
406: not
407: [3] Filter
408: }
409:
410: EntryModification
411: ::=
412: CHOICE
413: {
414: addAttribute
415: [0] Attribute ,
416: removeAttribute
417: [1] AttributeType ,
418: addValues
419: [2] Attribute ,
420: removeValues
421: [3] Attribute
422: }
423:
424: AbandonProblem
425: ::=
426: INTEGER
427: {
428: noSuchOperation(1) ,
429: tooLate(2) ,
430: cannotAbandon(3)
431: }
432:
433: AttributeProblem
434: ::=
435: INTEGER
436: {
437: noSuchAttributeOrValue(1) ,
438: invalidAttributeSyntax(2) ,
439: undefinedAttributeType(3) ,
440: inappropriateMatching(4) ,
441: constraintViolation(5) ,
442: attributeOrValueAlreadyExists(6)
443: }
444:
445: NameProblem
446: ::=
447: INTEGER
448: {
449: noSuchObject(1) ,
450: aliasProblem(2) ,
451: invalidAttributeSyntax(3) ,
452: aliasDereferencingProblem(4)
453: }
454:
455: UpdateProblem
456: ::=
457: INTEGER
458: {
459: namingViolation(1) ,
460: objectClassViolation(2) ,
461: notAllowedOnNonLeaf(3) ,
462: notAllowedOnRDN(4) ,
463: entryAlreadyExists(5) ,
464: affectsMultipleDSAs(6) ,
465: objectClassModificationProhibited(7)
466: }
467:
468: DirectoryBindArgument
469: ::=
470: SET
471: {
472: credentials
473: [0] Credentials
474: OPTIONAL ,
475: versions
476: [1] Versions
477: -- DEFAULT v1988
478: OPTIONAL
479: }
480:
481: DirectoryBindResult
482: ::=
483: DirectoryBindArgument
484:
485: ReadArgumentData
486: ::=
487: SET
488: {
489: object
490: [0] Name ,
491: selection
492: [1] EntryInformationSelection
493: -- DEFAULT {} ,
494: OPTIONAL ,
495: [30] ServiceControls
496: -- DEFAULT {} ,
497: OPTIONAL ,
498: [29] SecurityParameters
499: -- DEFAULT {} ,
500: OPTIONAL ,
501: requestor
502: [28] DistinguishedName
503: OPTIONAL ,
504: [27] OperationProgress
505: OPTIONAL ,
506: aliasedRDNs
507: [26] INTEGER
508: OPTIONAL ,
509: extensions
510: [25] SET OF
511: Extension
512: OPTIONAL
513: }
514:
515: ReadArgument
516: ::=
517: CHOICE
518: {
519: ReadArgumentData ,
520: SEQUENCE
521: {
522: ReadArgumentData ,
523: AlgorithmIdentifier ,
524: BIT STRING
525: }
526: }
527:
528: ReadResultData
529: ::=
530: SET
531: {
532: entry
533: [0] EntryInformation ,
534: [30] SecurityParameters
535: OPTIONAL ,
536: performer
537: [29] DistinguishedName
538: OPTIONAL ,
539: aliasDereferenced
540: [28] BOOLEAN
541: -- DEFAULT FALSE
542: OPTIONAL
543: }
544:
545: ReadResult
546: ::=
547: CHOICE
548: {
549: ReadResultData ,
550: SEQUENCE
551: {
552: ReadResultData ,
553: AlgorithmIdentifier ,
554: BIT STRING
555: }
556: }
557:
558: CompareArgumentData
559: ::=
560: SET
561: {
562: object
563: [0] Name ,
564: purported
565: [1] AttributeValueAssertion ,
566: [30] ServiceControls
567: -- DEFAULT {} ,
568: OPTIONAL ,
569: [29] SecurityParameters
570: -- DEFAULT {} ,
571: OPTIONAL ,
572: requestor
573: [28] DistinguishedName
574: OPTIONAL ,
575: [27] OperationProgress
576: OPTIONAL ,
577: aliasedRDNs
578: [26] INTEGER
579: OPTIONAL ,
580: extensions
581: [25] SET OF
582: Extension
583: OPTIONAL
584: }
585:
586: CompareArgument
587: ::=
588: CHOICE
589: {
590: CompareArgumentData ,
591: SEQUENCE
592: {
593: CompareArgumentData ,
594: AlgorithmIdentifier ,
595: BIT STRING
596: }
597: }
598:
599: CompareResultData
600: ::=
601: SET
602: {
603: DistinguishedName
604: OPTIONAL ,
605: matched
606: [0] BOOLEAN ,
607: fromEntry
608: [1] BOOLEAN
609: -- DEFAULT TRUE ,
610: OPTIONAL ,
611: [30] SecurityParameters
612: OPTIONAL ,
613: performer
614: [29] DistinguishedName
615: OPTIONAL ,
616: aliasDereferenced
617: [28] BOOLEAN
618: -- DEFAULT FALSE
619: OPTIONAL
620: }
621:
622: CompareResult
623: ::=
624: CHOICE
625: {
626: CompareResultData ,
627: SEQUENCE
628: {
629: CompareResultData ,
630: AlgorithmIdentifier ,
631: BIT STRING
632: }
633: }
634:
635: AbandonArgument
636: ::=
637: SEQUENCE
638: {
639: invokeID
640: [0] InvokeID
641: }
642:
643: AbandonResult ::= NULL
644:
645: ListArgumentData
646: ::=
647: SET
648: {
649: object
650: [0] Name ,
651: [30] ServiceControls
652: -- DEFAULT {} ,
653: OPTIONAL ,
654: [29] SecurityParameters
655: -- DEFAULT {} ,
656: OPTIONAL ,
657: requestor
658: [28] DistinguishedName
659: OPTIONAL ,
660: [27] OperationProgress
661: OPTIONAL ,
662: aliasedRDNs
663: [26] INTEGER
664: OPTIONAL ,
665: extensions
666: [25] SET OF
667: Extension
668: OPTIONAL
669: }
670:
671: ListArgument
672: ::=
673: CHOICE
674: {
675: ListArgumentData ,
676: SEQUENCE
677: {
678: ListArgumentData ,
679: AlgorithmIdentifier ,
680: BIT STRING
681: }
682: }
683:
684: ListResultData
685: ::=
686: CHOICE
687: {
688: listInfo
689: SET
690: {
691: DistinguishedName
692: OPTIONAL ,
693: subordinates
694: [1] SET OF
695: SEQUENCE
696: {
697: RelativeDistinguishedName ,
698: aliasEntry
699: [0] BOOLEAN
700: -- DEFAULT FALSE ,
701: OPTIONAL ,
702: fromEntry
703: [1] BOOLEAN
704: -- DEFAULT TRUE
705: OPTIONAL
706: } ,
707: partialOutcomeQualifier
708: [2] PartialOutcomeQualifier
709: OPTIONAL ,
710: [30] SecurityParameters
711: OPTIONAL ,
712: performer
713: [29] DistinguishedName
714: OPTIONAL ,
715: aliasDereferenced
716: [28] BOOLEAN
717: -- DEFAULT FALSE
718: OPTIONAL
719: } ,
720: uncorrelatedListInfo
721: [0] SET OF
722: ListResult
723: }
724:
725: ListResult
726: ::=
727: CHOICE
728: {
729: ListResultData ,
730: SEQUENCE
731: {
732: ListResultData ,
733: AlgorithmIdentifier ,
734: BIT STRING
735: }
736: }
737:
738: SearchArgumentData
739: ::=
740: SET
741: {
742: baseObject
743: [0] Name ,
744: subset
745: [1] INTEGER
746: {
747: baseObject(0) ,
748: oneLevel(1) ,
749: wholeSubtree(2)
750: }
751: -- DEFAULT baseObject ,
752: OPTIONAL ,
753: filter
754: [2] Filter
755: -- DEFAULT and {} ,
756: OPTIONAL ,
757: searchAliases
758: [3] BOOLEAN
759: -- DEFAULT TRUE ,
760: OPTIONAL ,
761: selection
762: [4] EntryInformationSelection
763: -- DEFAULT {} ,
764: OPTIONAL ,
765: [30] ServiceControls
766: -- DEFAULT {} ,
767: OPTIONAL ,
768: [29] SecurityParameters
769: -- DEFAULT {} ,
770: OPTIONAL ,
771: requestor
772: [28] DistinguishedName
773: OPTIONAL ,
774: [27] OperationProgress
775: OPTIONAL ,
776: aliasedRDNs
777: [26] INTEGER
778: OPTIONAL ,
779: extensions
780: [25] SET OF
781: Extension
782: OPTIONAL
783: }
784:
785: SearchArgument
786: ::=
787: CHOICE
788: {
789: SearchArgumentData ,
790: SEQUENCE
791: {
792: SearchArgumentData ,
793: AlgorithmIdentifier ,
794: BIT STRING
795: }
796: }
797:
798: SearchResultData
799: ::=
800: CHOICE
801: {
802: searchInfo
803: SET
804: {
805: DistinguishedName
806: OPTIONAL ,
807: entries
808: [0] SET OF
809: EntryInformation ,
810: partialOutcomeQualifier
811: [2] PartialOutcomeQualifier
812: OPTIONAL ,
813: [30] SecurityParameters
814: OPTIONAL ,
815: performer
816: [29] DistinguishedName
817: OPTIONAL ,
818: aliasDereferenced
819: [28] BOOLEAN
820: -- DEFAULT FALSE
821: OPTIONAL
822: } ,
823: uncorrelatedSearchInfo
824: [0] SET OF
825: SearchResult
826: }
827:
828: SearchResult
829: ::=
830: CHOICE
831: {
832: SearchResultData ,
833: SEQUENCE
834: {
835: SearchResultData ,
836: AlgorithmIdentifier ,
837: BIT STRING
838: }
839: }
840:
841: AddEntryArgumentData
842: ::=
843: SET
844: {
845: object
846: [0] DistinguishedName ,
847: entry
848: [1] SET OF
849: Attribute ,
850: [30] ServiceControls
851: -- DEFAULT {} ,
852: OPTIONAL ,
853: [29] SecurityParameters
854: -- DEFAULT {} ,
855: OPTIONAL ,
856: requestor
857: [28] DistinguishedName
858: OPTIONAL ,
859: [27] OperationProgress
860: OPTIONAL ,
861: aliasedRDNs
862: [26] INTEGER
863: OPTIONAL ,
864: extensions
865: [25] SET OF
866: Extension
867: OPTIONAL
868: }
869:
870: AddEntryArgument
871: ::=
872: CHOICE
873: {
874: AddEntryArgumentData ,
875: SEQUENCE
876: {
877: AddEntryArgumentData ,
878: AlgorithmIdentifier ,
879: BIT STRING
880: }
881: }
882:
883: AddEntryResult ::= NULL
884:
885: RemoveEntryArgumentData
886: ::=
887: SET
888: {
889: object
890: [0] DistinguishedName ,
891: [30] ServiceControls
892: -- DEFAULT {} ,
893: OPTIONAL ,
894: [29] SecurityParameters
895: -- DEFAULT {} ,
896: OPTIONAL ,
897: requestor
898: [28] DistinguishedName
899: OPTIONAL ,
900: [27] OperationProgress
901: OPTIONAL ,
902: aliasedRDNs
903: [26] INTEGER
904: OPTIONAL ,
905: extensions
906: [25] SET OF
907: Extension
908: OPTIONAL
909: }
910:
911: RemoveEntryArgument
912: ::=
913: CHOICE
914: {
915: RemoveEntryArgumentData ,
916: SEQUENCE
917: {
918: RemoveEntryArgumentData ,
919: AlgorithmIdentifier ,
920: BIT STRING
921: }
922: }
923:
924: RemoveEntryResult ::= NULL
925:
926: ModifyEntryArgumentData
927: ::=
928: SET
929: {
930: object
931: [0] DistinguishedName ,
932: changes
933: [1] SEQUENCE OF
934: EntryModification ,
935: [30] ServiceControls
936: -- DEFAULT {} ,
937: OPTIONAL ,
938: [29] SecurityParameters
939: -- DEFAULT {} ,
940: OPTIONAL ,
941: requestor
942: [28] DistinguishedName
943: OPTIONAL ,
944: [27] OperationProgress
945: OPTIONAL ,
946: aliasedRDNs
947: [26] INTEGER
948: OPTIONAL ,
949: extensions
950: [25] SET OF
951: Extension
952: OPTIONAL
953: }
954:
955: ModifyEntryArgument
956: ::=
957: CHOICE
958: {
959: ModifyEntryArgumentData ,
960: SEQUENCE
961: {
962: ModifyEntryArgumentData ,
963: AlgorithmIdentifier ,
964: BIT STRING
965: }
966: }
967:
968: ModifyEntryResult ::= NULL
969:
970: ModifyRDNArgumentData
971: ::=
972: SET
973: {
974: object
975: [0] DistinguishedName ,
976: newRDN
977: [1] RelativeDistinguishedName ,
978: deleteRDN
979: [2] BOOLEAN
980: -- DEFAULT FALSE ,
981: OPTIONAL ,
982: [30] ServiceControls
983: -- DEFAULT {} ,
984: OPTIONAL ,
985: [29] SecurityParameters
986: -- DEFAULT {} ,
987: OPTIONAL ,
988: requestor
989: [28] DistinguishedName
990: OPTIONAL ,
991: [27] OperationProgress
992: OPTIONAL ,
993: aliasedRDNs
994: [26] INTEGER
995: OPTIONAL ,
996: extensions
997: [25] SET OF
998: Extension
999: OPTIONAL
1000: }
1001:
1002: ModifyRDNArgument
1003: ::=
1004: CHOICE
1005: {
1006: ModifyRDNArgumentData ,
1007: SEQUENCE
1008: {
1009: ModifyRDNArgumentData ,
1010: AlgorithmIdentifier ,
1011: BIT STRING
1012: }
1013: }
1014:
1015: ModifyRDNResult ::= NULL
1016:
1017: DirectoryBindError
1018: ::=
1019: SET
1020: {
1021: versions
1022: [0] Versions
1023: -- DEFAULT v1988 ,
1024: OPTIONAL ,
1025: CHOICE
1026: {
1027: serviceError
1028: [1] ServiceProblem ,
1029: securityError
1030: [2] SecurityProblem
1031: }
1032: }
1033:
1034: AbandonFailedParm
1035: ::=
1036: SET
1037: {
1038: problem
1039: [0] AbandonProblem ,
1040: operation
1041: [1] InvokeID
1042: }
1043:
1044: AttributeErrorParm
1045: ::=
1046: SET
1047: {
1048: object
1049: [0] Name ,
1050: problems
1051: [1] SET OF
1052: SEQUENCE
1053: {
1054: problem
1055: [0] AttributeProblem ,
1056: type
1057: [1] AttributeType ,
1058: value
1059: [2] AttributeValue
1060: OPTIONAL
1061: }
1062: }
1063:
1064: NameErrorParm
1065: ::=
1066: SET
1067: {
1068: problem
1069: [0] NameProblem ,
1070: matched
1071: [1] Name
1072: }
1073:
1074: ReferralParm
1075: ::=
1076: SET
1077: {
1078: candidate
1079: [0] ContinuationReference
1080: }
1081:
1082: SecurityErrorParm
1083: ::=
1084: SET
1085: {
1086: problem
1087: [0] SecurityProblem
1088: }
1089:
1090: ServiceErrorParm
1091: ::=
1092: SET
1093: {
1094: problem
1095: [0] ServiceProblem
1096: }
1097:
1098: UpdateErrorParm
1099: ::=
1100: SET
1101: {
1102: problem
1103: [0] UpdateProblem
1104: }
1105:
1106: END
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.