Remove redundant entry for `HAVE_LIBEFENCE'.
[become] / src / daemon.c
index 3f1fa93..5b5df85 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: daemon.c,v 1.2 1997/08/04 10:24:21 mdw Exp $
+ * $Id: daemon.c,v 1.5 1997/08/20 16:17:10 mdw Exp $
  *
  * Running a `become' daemon
  *
 /*----- Revision history --------------------------------------------------*
  *
  * $Log: daemon.c,v $
+ * Revision 1.5  1997/08/20 16:17:10  mdw
+ * More sensible restart routine: `_reinit' functions replaced by `_end' and
+ * `_init' functions.
+ *
+ * Revision 1.4  1997/08/07 10:00:37  mdw
+ * (Log entry for previous version is bogus.)  Read netgroups database.
+ * Give up privileges permanently on startup.
+ *
  * Revision 1.2  1997/08/04 10:24:21  mdw
  * Sources placed under CVS control.
  *
@@ -71,6 +79,7 @@
 #include "idea.h"
 #include "lexer.h"
 #include "name.h"
+#include "netg.h"
 #include "parser.h"
 #include "rule.h"
 #include "tx.h"
@@ -79,7 +88,7 @@
 
 /*----- Arbitrary constants -----------------------------------------------*/
 
-#define daemon__awakeEvery (5 * 60)    /* Awaken this often to rescan */
+#define daemon__awakeEvery (30 * 60)   /* Awaken this often to rescan */
 
 /*----- Static variables --------------------------------------------------*/
 
@@ -286,7 +295,7 @@ void daemon_init(const char *cf, int port)
    * user wants me to start on a funny port.
    */
 
-  seteuid(getuid());
+  setuid(getuid());
 
   /* --- Initialise bits of the program --- */
 
@@ -295,6 +304,7 @@ void daemon_init(const char *cf, int port)
   userdb_init();
   userdb_local();
   userdb_yp();
+  netg_init();
   name_init();
   rule_init();
   openlog(quis(), 0, LOG_DAEMON);
@@ -420,11 +430,16 @@ void daemon_init(const char *cf, int port)
       if (daemon__rescan || time(0) - when > 0) {
        daemon__rescan = 0;
        syslog(LOG_INFO, "rescanning configuration file");
-       userdb_reinit();
+       name_end();
+       rule_end();
+       netg_end();
+       userdb_end();
+       userdb_init();
        userdb_local();
        userdb_yp();
-       rule_reinit();
-       name_reinit();
+       netg_init();
+       rule_init();
+       name_init();
        if (daemon__readConfig(cf))
          syslog(LOG_ERR, "error reading configuration file");
        when = time(0) + daemon__awakeEvery;