summaryrefslogtreecommitdiff
path: root/appl/lib/factotum.b
diff options
context:
space:
mode:
Diffstat (limited to 'appl/lib/factotum.b')
-rw-r--r--appl/lib/factotum.b31
1 files changed, 2 insertions, 29 deletions
diff --git a/appl/lib/factotum.b b/appl/lib/factotum.b
index bcf65e6c..97138fe1 100644
--- a/appl/lib/factotum.b
+++ b/appl/lib/factotum.b
@@ -11,8 +11,6 @@ include "sys.m";
include "string.m";
-include "encoding.m";
-
include "factotum.m";
debug := 0;
@@ -185,37 +183,12 @@ rpc(afd: ref Sys->FD, verb: string, a: array of byte): (string, array of byte)
Authinfo.read(fd: ref Sys->FD): ref Authinfo
{
- (o, a) := rpc(fd, "authinfo", nil); # deprecated in p9p factotum
- e := sys->sprint("%r");
- attrs := rpcattrs(fd);
- cuid := findattrval(attrs, "cuid");
- suid := findattrval(attrs, "suid");
- secret16 := findattrval(attrs, "secret");
- secret: array of byte;
- if(secret16 != nil){
- enc16 := load Encoding Encoding->BASE16PATH;
- if(enc16 != nil)
- secret = enc16->dec(secret16);
- }
- cap := findattrval(attrs, "cap");
- if(o != "ok"){
- if(cuid != nil || suid != nil || secret != nil || cap != nil || attrs != nil)
- return ref Authinfo(cuid, suid, cap, secret, attrs);
- sys->werrstr(e);
+ (o, a) := rpc(fd, "authinfo", nil);
+ if(o != "ok")
return nil;
- }
(n, ai) := Authinfo.unpack(a);
if(n <= 0)
sys->werrstr("bad auth info from factotum");
- ai.attrs = attrs;
- if(ai.cuid == nil)
- ai.cuid = cuid;
- if(ai.suid == nil)
- ai.suid = suid;
- if(ai.cap == nil)
- ai.cap = cap;
- if(ai.secret == nil)
- ai.secret = secret;
return ai;
}