DIRECTORY Convert, Rope, AuthenticationP14V2, AuthenticationP14V2Aux, CHNameP2V0Aux; AuthenticationP14V2AuxImpl: CEDAR PROGRAM IMPORTS Convert, Rope, CHNameP2V0Aux EXPORTS AuthenticationP14V2Aux ~ { OPEN AuthenticationP14V2, AuthenticationP14V2Aux; ROPE: TYPE ~ Rope.ROPE; ExposeSeqWords: PUBLIC PROC [arg: SeqWords, level: NAT] RETURNS [res: ROPE] ~ { res _ "["; FOR i: CARDINAL IN [0..arg.length) DO res _ Rope.Cat[res, IF i>0 THEN ", " ELSE NIL, Convert.RopeFromCard[arg.body[i]]]; ENDLOOP; res _ Rope.Concat[res, "]"]; }; ExposeBlock: PUBLIC PROC [arg: Block, level: NAT] RETURNS [res: ROPE] ~ { res _ "["; FOR i: CARDINAL IN [0..4) DO res _ Rope.Cat[res, IF i>0 THEN ", " ELSE NIL, Convert.RopeFromCard[arg[i]]]; ENDLOOP; res _ Rope.Concat[res, "]"]; }; ExposeCredentialsPackage: PUBLIC PROC [arg: CredentialsPackage, level: NAT] RETURNS [res: ROPE] ~ { res _ "["; res _ Rope.Cat[res, "credentials~", ExposeCredentials[arg.credentials, (level+1)], ", "]; res _ Rope.Cat[res, "nonce~", Convert.RopeFromCard[arg.nonce], ", "]; res _ Rope.Cat[res, "recipient~", CHNameP2V0Aux.ExposeThreePartName[arg.recipient, (level+1)], ", "]; res _ Rope.Cat[res, "conversationKey~", ExposeBlock[arg.conversationKey, (level+1)], "]"]; }; ExposeStrongVerifier: PUBLIC PROC [arg: StrongVerifier, level: NAT] RETURNS [res: ROPE] ~ { res _ "["; res _ Rope.Cat[res, "timeStamp~", Convert.RopeFromCard[arg.timeStamp], ", "]; res _ Rope.Cat[res, "ticks~", Convert.RopeFromCard[arg.ticks], "]"]; }; ExposeCredentialsType: PUBLIC PROC [arg: CredentialsType, level: NAT] RETURNS [res: ROPE] ~ { SELECT arg FROM simple => res _ "simple"; strong => res _ "strong"; ENDCASE => ERROR }; ExposeCallProblem: PUBLIC PROC [arg: CallProblem, level: NAT] RETURNS [res: ROPE] ~ { SELECT arg FROM tooBusy => res _ "tooBusy"; accessRightsInsufficient => res _ "accessRightsInsufficient"; keysUnavailable => res _ "keysUnavailable"; strongKeyDoesNotExist => res _ "strongKeyDoesNotExist"; simpleKeyDoesNotExist => res _ "simpleKeyDoesNotExist"; strongKeyAlreadyRegistered => res _ "strongKeyAlreadyRegistered"; simpleKeyAlreadyRegistered => res _ "simpleKeyAlreadyRegistered"; domainForNewKeyUnavailable => res _ "domainForNewKeyUnavailable"; domainForNewKeyUnknown => res _ "domainForNewKeyUnknown"; badKey => res _ "badKey"; badName => res _ "badName"; databaseFull => res _ "databaseFull"; other => res _ "other"; ENDCASE => ERROR }; ExposeStrongCredentials: PUBLIC PROC [arg: StrongCredentials, level: NAT] RETURNS [res: ROPE] ~ { res _ "["; res _ Rope.Cat[res, "conversationKey~", ExposeBlock[arg.conversationKey, (level+1)], ", "]; res _ Rope.Cat[res, "expirationTime~", Convert.RopeFromCard[arg.expirationTime], ", "]; res _ Rope.Cat[res, "initiator~", CHNameP2V0Aux.ExposeThreePartName[arg.initiator, (level+1)], "]"]; }; ExposeWhich: PUBLIC PROC [arg: Which, level: NAT] RETURNS [res: ROPE] ~ { SELECT arg FROM notApplicable => res _ "notApplicable"; initiator => res _ "initiator"; recipient => res _ "recipient"; client => res _ "client"; ENDCASE => ERROR }; ExposeCredentials: PUBLIC PROC [arg: Credentials, level: NAT] RETURNS [res: ROPE] ~ { res _ "["; res _ Rope.Cat[res, "type~", ExposeCredentialsType[arg.type, (level+1)], ", "]; res _ Rope.Cat[res, "value~", ExposeSeqWords[arg.value, (level+1)], "]"]; }; ExposeProblem: PUBLIC PROC [arg: Problem, level: NAT] RETURNS [res: ROPE] ~ { SELECT arg FROM credentialsInvalid => res _ "credentialsInvalid"; verifierInvalid => res _ "verifierInvalid"; verifierExpired => res _ "verifierExpired"; verifierReused => res _ "verifierReused"; credentialsExpired => res _ "credentialsExpired"; inappropriateCredentials => res _ "inappropriateCredentials"; ENDCASE => ERROR }; }... ÔAuthenticationP14V2AuxImpl.Mesa Copyright (C) 1986 by Xerox Corporation. All rights reserved. Generated by Demers.pa at January 6, 1987 4:10:37 pm PST using Sirocco [2.0] of January 6, 1987 4:07:33 pm PST ÊM˜šœ™Jšœ>™>Jšœ8™8Jšœ5™5J˜—šÏk ˜ J˜J˜J˜J˜J˜—J˜šÏnœœ˜)Jšœ˜$Jšœ˜"Jšœ-˜1J˜Jšœœœ˜J˜š žœœœœœœ˜OJ˜ šœœœ˜%Jš œœœœœ%˜RJšœ˜—J˜J˜—J˜š ž œœœœœœ˜IJ˜ šœœœ˜Jš œœœœœ ˜MJšœ˜—J˜J˜—J˜š žœœœ"œœœ˜cJ˜ J˜YJ˜EJ˜eJ˜ZJ˜—J˜š žœœœœœœ˜[J˜ J˜MJ˜DJ˜—J˜š žœœœœœœ˜]šœ˜J˜J˜Jšœ˜—J˜—J˜š žœœœœœœ˜Ušœ˜J˜J˜=J˜+J˜7J˜7J˜AJ˜AJ˜AJ˜9J˜J˜J˜%J˜Jšœ˜—J˜—J˜š žœœœ!œœœ˜aJ˜ J˜[J˜WJ˜dJ˜—J˜š ž œœœœœœ˜Išœ˜J˜'J˜J˜J˜Jšœ˜—J˜—J˜š žœœœœœœ˜UJ˜ J˜OJ˜IJ˜—J˜š ž œœœœœœ˜Mšœ˜J˜1J˜+J˜+J˜)J˜1J˜=Jšœ˜—J˜—J˜—J˜J˜—…—„¥