#include <u.h> | |
#include <libc.h> | |
#include <authsrv.h> | |
#include <bio.h> | |
#include <ndb.h> | |
int | |
authdial(char *netroot, char *dom) | |
{ | |
char *p; | |
int rv; | |
if(dom != nil){ | |
/* look up an auth server in an authentication domain */ | |
p = csgetvalue(netroot, "authdom", dom, "auth", nil); | |
/* if that didn't work, just try the IP domain */ | |
if(p == nil) | |
p = csgetvalue(netroot, "dom", dom, "auth", nil); | |
if(p == nil){ | |
werrstr("no auth server found for %s", dom); | |
return -1; | |
} | |
rv = dial(netmkaddr(p, netroot, "ticket"), 0, 0, 0); | |
free(p); | |
return rv; | |
} else { | |
/* look for one relative to my machine */ | |
return dial(netmkaddr("$auth", netroot, "ticket"), 0, 0, 0); | |
} | |
} |