DIRECTORY CrRPC, TimeP15V2, CHNameP2V0, AuthenticationP14V2; AuthenticationP14V2ClientImpl: CEDAR PROGRAM IMPORTS CrRPC EXPORTS AuthenticationP14V2 ~ { OPEN AuthenticationP14V2; CallError: PUBLIC CallErrorType ~ CODE; AuthenticationError: PUBLIC AuthenticationErrorType ~ CODE; GetError: CrRPC.GetErrorProc ~ { SELECT errNum FROM 1 => { problem: CallProblem; whichArg: Which; problem _ VAL[CrRPC.GetCard16[s]]; whichArg _ VAL[CrRPC.GetCard16[s]]; ERROR CallError[problem, whichArg] }; 2 => { problem: Problem; problem _ VAL[CrRPC.GetCard16[s]]; ERROR AuthenticationError[problem] }; ENDCASE => { ERROR CrRPC.Error[h, remoteError, "Unexpected Remote Error"]; }; }; 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]; }; 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; }; }... 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 Errors GetErrorProc Remote Procedures -- Unmarshal / Marshal Procs -- ʶ˜šœ"™"Jšœ>™>Jšœ8™8Jšœ5™5J˜—šÏk ˜ J˜J˜ J˜ J˜—J˜šÏnœœ˜,Jšœ˜ Jšœ˜Jšœ˜—J˜šœ™J˜J˜Jšž œœœ˜'J˜Jšžœœœ˜;J˜—šœ ™ J˜šžœ˜ šœ˜˜J˜J˜Jšœ œ˜"Jšœ œ˜#Jšœ˜"J˜—˜J˜Jšœ œ˜"Jšœ˜"J˜—šœ˜ Jšœ8˜=J˜——J˜—J˜—šœ™J˜šžœœ˜=šžœ˜Jšœœ˜*J˜ J˜J˜—šž œ˜$J˜J˜J˜—J˜|J˜—J˜šžœœ˜/šžœ˜Jšœœ˜*J˜ J˜šœœœ˜J˜Jšœ˜—J˜—šž œ˜$Jš˜J˜J˜—J˜|J˜—J˜šžœœ˜/šžœ˜Jšœœ˜*J˜ J˜J˜$J˜J˜J˜—šž œ˜$Jš˜J˜J˜—J˜|J˜—J˜šžœœ˜/šžœ˜Jšœœ˜*J˜ J˜J˜$J˜J˜šœœœ˜J˜Jšœ˜—J˜—šž œ˜$Jš˜J˜J˜—J˜|J˜—J˜šžœœ˜/šžœ˜Jšœœ˜*J˜ J˜J˜J˜—šž œ˜$Jš˜J˜J˜—J˜|J˜—J˜šžœœ˜/šžœ˜Jšœœ˜*J˜ J˜J˜$J˜J˜J˜—šž œ˜$Jš˜J˜J˜—J˜|J˜—J˜šžœœ˜/šžœ˜Jšœœ˜*J˜ J˜J˜$J˜J˜J˜J˜—šž œ˜$Jš˜J˜J˜—J˜|J˜—J˜šžœœ˜9šžœ˜J˜)J˜#J˜#J˜)J˜#J˜#J˜J˜—šž œ˜$J˜+J˜J˜—J˜|J˜—J˜—šœ™J˜J˜šžœœœœ˜K˜Jšœ œ˜'Jšœœ˜$šœœœ˜#J˜"Jšœ˜—J˜—J˜—J˜šžœœœ˜BJ˜šœœœ˜&J˜!Jšœ˜—J˜—J˜—J˜J˜—…—¸Œ