ref: 8a788aea84aad3bfbd5b39d78c1925654f3b9e14
dir: /appl/cmd/auth/factotum/proto/pass.b/
implement Authproto;
include "sys.m";
sys: Sys;
include "../authio.m";
authio: Authio;
Attr, IO: import authio;
init(f: Authio): string
{
sys = load Sys Sys->PATH;
authio = f;
return nil;
}
interaction(attrs: list of ref Attr, io: ref Authio->IO): string
{
(key, err) := io.findkey(attrs, "user? !password?");
if(key == nil)
return err;
user := authio->lookattrval(key.attrs, "user");
if(user == nil)
return "unknown user";
pass := authio->lookattrval(key.secrets, "!password");
a := sys->aprint("%q %q", user, pass);
io.write(a, len a);
return nil;
}
keycheck(nil: ref Authio->Key): string
{
return nil;
}