diff options
-rw-r--r-- | src/cmd/auth/factotum/fs.c | 6 | ||||
-rw-r--r-- | src/cmd/auth/factotum/rpc.c | 14 |
2 files changed, 10 insertions, 10 deletions
diff --git a/src/cmd/auth/factotum/fs.c b/src/cmd/auth/factotum/fs.c index 5e3a64e6..68e86289 100644 --- a/src/cmd/auth/factotum/fs.c +++ b/src/cmd/auth/factotum/fs.c @@ -349,18 +349,18 @@ fsread(Req *r) logread(r); break; case Qctl: - r->fid->aux = (void*)readlist((int)r->fid->aux, keylist, r); + r->fid->aux = (void*)(uintptr)readlist((uintptr)r->fid->aux, keylist, r); respond(r, nil); break; case Qneedkey: needkeyread(r); break; case Qprotolist: - r->fid->aux = (void*)readlist((int)r->fid->aux, protolist, r); + r->fid->aux = (void*)(uintptr)readlist((uintptr)r->fid->aux, protolist, r); respond(r, nil); break; case Qconv: - r->fid->aux = (void*)readlist((int)r->fid->aux, convlist, r); + r->fid->aux = (void*)(uintptr)readlist((uintptr)r->fid->aux, convlist, r); respond(r, nil); break; } diff --git a/src/cmd/auth/factotum/rpc.c b/src/cmd/auth/factotum/rpc.c index 400b7de5..350a0795 100644 --- a/src/cmd/auth/factotum/rpc.c +++ b/src/cmd/auth/factotum/rpc.c @@ -108,24 +108,24 @@ convthread(void *v) } c->attr = a; proto = strfindattr(a, "proto"); - role = strfindattr(a, "role"); - if(proto == nil){ werrstr("no proto in attrs"); goto out; } - if(role == nil){ - werrstr("no role in attrs"); - goto out; - } p = protolookup(proto); if(p == nil){ werrstr("unknown proto %s", proto); goto out; } - c->proto = p; + + role = strfindattr(a, "role"); + if(role == nil){ + werrstr("no role in attrs"); + goto out; + } + for(r=p->roles; r->name; r++){ if(strcmp(r->name, role) != 0) continue; |