|
|
1.1 ! root 1: Authentication: PROGRAM 14 VERSION 2 = ! 2: -- a subset of Authentication, hopefully big enough for some testing -- ! 3: -- $Header: Authentication2.cr,v 2.1 85/11/21 07:32:36 jqj Exp $ ! 4: ! 5: -- $Log: Authentication2.cr,v $ ! 6: -- Revision 2.1 85/11/21 07:32:36 jqj ! 7: -- fixed comment leaders ! 8: -- ! 9: -- Revision 2.0 85/11/21 07:24:28 jqj ! 10: -- 4.3BSD standard release ! 11: -- ! 12: -- Revision 1.2 85/11/20 13:08:26 jqj ! 13: -- 4.3beta version ! 14: ! 15: ! 16: BEGIN ! 17: DEPENDS UPON Time(15) VERSION 2; ! 18: ! 19: -- faked dependency -- ! 20: ! 21: Organization: TYPE = STRING; ! 22: Domain: TYPE = STRING; ! 23: Object: TYPE = STRING; ! 24: ! 25: ThreePartName: TYPE = RECORD [ ! 26: organization: Organization, ! 27: domain: Domain, ! 28: object: Object ! 29: ]; ! 30: ! 31: Clearinghouse_Name: TYPE = ThreePartName; ! 32: ! 33: -- Types -- ! 34: ! 35: CredentialsType: TYPE = {simple(0), strong(1)}; ! 36: ! 37: SimpleCredentials: TYPE = Clearinghouse_Name; ! 38: ! 39: Credentials: TYPE = RECORD [type: CredentialsType, ! 40: value: SimpleCredentials]; ! 41: ! 42: HashedPassword: TYPE = CARDINAL; ! 43: ! 44: SimpleVerifier: TYPE = HashedPassword; ! 45: ! 46: Verifier: TYPE = SEQUENCE 12 OF UNSPECIFIED; ! 47: ! 48: -- errors -- ! 49: ! 50: Problem: TYPE = { ! 51: credentialsInvalid(0), ! 52: verifierInvalid(1), ! 53: verifierExpiered(2), ! 54: verifierReused(3), ! 55: credentialsExpired(4), ! 56: inappropriateCredeitnals(5) }; ! 57: AuthenticationError: ERROR[problem: Problem] = 2; ! 58: ! 59: CallProblem: TYPE = { ! 60: tooBusy(0), ! 61: accessRightsInsufficient(1), ! 62: keysUnavailable(2), ! 63: strongKeyDoesNotExist(3), ! 64: simpleKeyDoesNotExist(4), ! 65: strongKeyAlreadyRegistered(5), ! 66: simpleKeyAlreadyRegistered(6), ! 67: domainForNewKeyUnavailable(7), ! 68: domainForNewKeyUnknown(8), ! 69: badKey(9), ! 70: badName(10), ! 71: databaseFull(11), ! 72: other(12) }; ! 73: Which: TYPE = {notApplicable(0), initiator(1), recipient(2), client(3) }; ! 74: CallError: ERROR [problem: CallProblem, whichArg: Which] = 1; ! 75: ! 76: -- PROCEDURES -- ! 77: ! 78: CheckSimpleCredentials: PROCEDURE [credentials: Credentials, verifier: Verifier] ! 79: RETURNS[ok: BOOLEAN] ! 80: REPORTS[AuthenticationError, CallError] = 2; ! 81: ! 82: END.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.