Blob
1 #include <u.h>2 #include <libc.h>3 #include <authsrv.h>4 #include <bio.h>5 #include <ndb.h>7 int8 authdial(char *netroot, char *dom)9 {10 char *p;11 int rv;13 if(dom != nil){14 /* look up an auth server in an authentication domain */15 p = csgetvalue(netroot, "authdom", dom, "auth", nil);17 /* if that didn't work, just try the IP domain */18 if(p == nil)19 p = csgetvalue(netroot, "dom", dom, "auth", nil);20 if(p == nil){21 werrstr("no auth server found for %s", dom);22 return -1;23 }24 rv = dial(netmkaddr(p, netroot, "ticket"), 0, 0, 0);25 free(p);26 return rv;27 } else {28 /* look for one relative to my machine */29 return dial(netmkaddr("$auth", netroot, "ticket"), 0, 0, 0);30 }31 }