/* $Header: */ /* * Copyright (c) 1986, 1987 Xerox Corporation. */ /* contains: * Auth_GetFirstAuth */ /* $Log: Authlookup.c,v $ * Revision 1.2 87/03/23 10:25:34 ed * Minor change. * * Revision 1.1 87/01/05 11:50:16 ed * Initial revision * */ #include <stdio.h> #include <sys/types.h> #include <netns/ns.h> #include <xnscourier/courier.h> #include <xnscourier/courierconnection.h> #include <xnscourier/except.h> #include <sys/file.h> #ifndef BFS #define BFS "/usr/new/xnsbfs -a" #endif BFS struct ns_addr *chaddr; CourierConnection* Auth_GetFirstAuth() { extern struct ns_addr *getXNSaddr(); char buf[BUFSIZ]; CourierConnection *result; FILE *chfile; int i; result = (CourierConnection *) NULL; /* broadcast for Authentication server */ /* -- this could be more efficient! */ if ((chfile = popen(BFS,"r")) != NULL) { while (fgets(buf, BUFSIZ, chfile) != NULL) if ((buf[0] != '#') && (chaddr = getXNSaddr(buf)) && (result = CourierOpen(chaddr))) { pclose(chfile); return(result); } pclose(chfile); } return(result); }