#include #include #include #include #include int authdial(char *netroot, char *dom) { char *p; int rv; Ndb *db; char *file; if(dom){ file = unsharp("#9/ndb/local"); db = ndbopen(file); if(db == nil){ fprint(2, "open %s: %r\n", file); free(file); return -1; } free(file); p = ndbgetvalue(db, nil, "authdom", dom, "auth", nil); if(p == nil) p = ndbgetvalue(db, nil, "dom", dom, "auth", nil); if(p == nil) p = dom; rv = dial(netmkaddr(p, "tcp", "ticket"), 0, 0, 0); if(p != dom) free(p); ndbclose(db); return rv; } p = getenv("auth"); if(p == nil) p = "$auth"; return dial(netmkaddr(p, "tcp", "ticket"), 0, 0, 0); }