12345678910111213141516171819202122232425262728293031 |
- #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);
- }
- }
|