|
|
BSD 4.3
BasicAuthentication: PROGRAM 14 VERSION 2 =
-- a subset of Authentication, hopefully big enough for some testing --
BEGIN
DEPENDS UPON Time(15) VERSION 2;
-- faked dependency --
Organization: TYPE = STRING;
Domain: TYPE = STRING;
Object: TYPE = STRING;
ThreePartName: TYPE = RECORD [
organization: Organization,
domain: Domain,
object: Object
];
Clearinghouse_Name: TYPE = ThreePartName;
-- Types --
CredentialsType: TYPE = {simple(0), strong(1)};
Credentials: TYPE = RECORD [type: CredentialsType,
value:SEQUENCE OF UNSPECIFIED];
SimpleCredentials: TYPE = Clearinghouse_Name;
HashedPassword: TYPE = CARDINAL;
SimpleVerifier: TYPE = HashedPassword;
Verifier: TYPE = SEQUENCE 12 OF UNSPECIFIED;
-- errors --
Problem: TYPE = {
credentialsInvalid(0),
verifierInvalid(1),
verifierExpiered(2),
verifierReused(3),
credentialsExpired(4),
inappropriateCredeitnals(5) };
AuthenticationError: ERROR[problem: Problem] = 2;
CallProblem: TYPE = {
tooBusy(0),
accessRightsInsufficient(1),
keysUnavailable(2),
strongKeyDoesNotExist(3),
simpleKeyDoesNotExist(4),
strongKeyAlreadyRegistered(5),
simpleKeyAlreadyRegistered(6),
domainForNewKeyUnavailable(7),
domainForNewKeyUnknown(8),
badKey(9),
badName(10),
databaseFull(11),
other(12) };
Which: TYPE = {notApplicable(0), initiator(1), recipient(2), client(3) };
CallError: ERROR [problem: CallProblem, whichArg: Which] = 1;
-- PROCEDURES --
CheckSimpleCredentials: PROCEDURE [credentials: Credentials, verifier: Verifier]
RETURNS[ok: BOOLEAN]
REPORTS[AuthenticationError, CallError] = 2;
END.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.