AuthenticationP14V2ClientImpl.Mesa
Copyright (C) 1986 by Xerox Corporation. All rights reserved.
Generated by Demers.pa at January 6, 1987 4:10:38 pm PST
using Sirocco [2.0] of January 6, 1987 4:07:33 pm PST
AuthenticationP14V2ClientImpl:
CEDAR
PROGRAM
IMPORTS CrRPC
EXPORTS AuthenticationP14V2 ~ {
OPEN AuthenticationP14V2;
Remote Procedures --
CheckSimpleCredentials:
PUBLIC CheckSimpleCredentialsType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
CrRPC.PutCard16[s, ORD[credentials.type]];
MProc1[h, s, credentials.value];
MProc1[h, s, verifier];
};
GetResults: CrRPC.GetResultsProc ~ {
ok ← CrRPC.GetBool[s];
};
CrRPC.Call[h~h, remotePgm~14, remotePgmVersion~2, remoteProc~2 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
ChangeStrongKey:
PUBLIC ChangeStrongKeyType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
CrRPC.PutCard16[s, ORD[credentials.type]];
MProc1[h, s, credentials.value];
MProc1[h, s, verifier];
FOR i2:
CARDINAL
IN [0..4)
DO
CrRPC.PutCard16[s, newKey[i2]];
ENDLOOP;
};
GetResults: CrRPC.GetResultsProc ~ {
NULL
};
CrRPC.Call[h~h, remotePgm~14, remotePgmVersion~2, remoteProc~4 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
DeleteStrongKey:
PUBLIC DeleteStrongKeyType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
CrRPC.PutCard16[s, ORD[credentials.type]];
MProc1[h, s, credentials.value];
MProc1[h, s, verifier];
CrRPC.PutRope[s, name.organization];
CrRPC.PutRope[s, name.domain];
CrRPC.PutRope[s, name.object];
};
GetResults: CrRPC.GetResultsProc ~ {
NULL
};
CrRPC.Call[h~h, remotePgm~14, remotePgmVersion~2, remoteProc~5 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
CreateStrongKey:
PUBLIC CreateStrongKeyType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
CrRPC.PutCard16[s, ORD[credentials.type]];
MProc1[h, s, credentials.value];
MProc1[h, s, verifier];
CrRPC.PutRope[s, name.organization];
CrRPC.PutRope[s, name.domain];
CrRPC.PutRope[s, name.object];
FOR i3:
CARDINAL
IN [0..4)
DO
CrRPC.PutCard16[s, key[i3]];
ENDLOOP;
};
GetResults: CrRPC.GetResultsProc ~ {
NULL
};
CrRPC.Call[h~h, remotePgm~14, remotePgmVersion~2, remoteProc~3 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
ChangeSimpleKey:
PUBLIC ChangeSimpleKeyType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
CrRPC.PutCard16[s, ORD[credentials.type]];
MProc1[h, s, credentials.value];
MProc1[h, s, verifier];
CrRPC.PutCard16[s, newKey];
};
GetResults: CrRPC.GetResultsProc ~ {
NULL
};
CrRPC.Call[h~h, remotePgm~14, remotePgmVersion~2, remoteProc~7 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
DeleteSimpleKey:
PUBLIC DeleteSimpleKeyType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
CrRPC.PutCard16[s, ORD[credentials.type]];
MProc1[h, s, credentials.value];
MProc1[h, s, verifier];
CrRPC.PutRope[s, name.organization];
CrRPC.PutRope[s, name.domain];
CrRPC.PutRope[s, name.object];
};
GetResults: CrRPC.GetResultsProc ~ {
NULL
};
CrRPC.Call[h~h, remotePgm~14, remotePgmVersion~2, remoteProc~8 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
CreateSimpleKey:
PUBLIC CreateSimpleKeyType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
CrRPC.PutCard16[s, ORD[credentials.type]];
MProc1[h, s, credentials.value];
MProc1[h, s, verifier];
CrRPC.PutRope[s, name.organization];
CrRPC.PutRope[s, name.domain];
CrRPC.PutRope[s, name.object];
CrRPC.PutCard16[s, key];
};
GetResults: CrRPC.GetResultsProc ~ {
NULL
};
CrRPC.Call[h~h, remotePgm~14, remotePgmVersion~2, remoteProc~6 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
GetStrongCredentials:
PUBLIC GetStrongCredentialsType ~ {
PutArgs: CrRPC.PutArgsProc ~ {
CrRPC.PutRope[s, initiator.organization];
CrRPC.PutRope[s, initiator.domain];
CrRPC.PutRope[s, initiator.object];
CrRPC.PutRope[s, recipient.organization];
CrRPC.PutRope[s, recipient.domain];
CrRPC.PutRope[s, recipient.object];
CrRPC.PutCard32[s, nonce];
};
GetResults: CrRPC.GetResultsProc ~ {
encryptedCredentialsPackage ← UProc4[h, s];
};
CrRPC.Call[h~h, remotePgm~14, remotePgmVersion~2, remoteProc~1 , putArgs~PutArgs, getResults~GetResults, getError~GetError];
};
Unmarshal / Marshal Procs --
UProc4:
PROC [h: CrRPC.Handle, s: CrRPC.
STREAM]
RETURNS [res: SeqWords] ~ {
{
length6: CARDINAL ~ CrRPC.GetCard16[s];
res ← NEW[SeqWordsObject[length6]];
FOR i5:
CARDINAL
IN [0..length6)
DO
res.body[i5] ← CrRPC.GetCard16[s];
ENDLOOP;
};
};
MProc1:
PROC [h: CrRPC.Handle, s: CrRPC.
STREAM, val: SeqWords] ~ {
CrRPC.PutCard16[s, val.length];
FOR i7:
CARDINAL
IN [0..val.length)
DO
CrRPC.PutCard16[s, val.body[i7]];
ENDLOOP;
};
}...