1 #include <u.h> 2 #include <libc.h> 3 #include <authsrv.h> 4 #include <bio.h> 5 #include <ndb.h> 6 7 int 8 authdial(char *netroot, char *dom) 9 { 10 char *p; 11 int rv; 12 13 if(dom != nil){ 14 /* look up an auth server in an authentication domain */ 15 p = csgetvalue(netroot, "authdom", dom, "auth", nil); 16 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 } 32