|
|
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.