/* -*-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.
*
#include "idea.h"
#include "lexer.h"
#include "name.h"
+#include "netg.h"
#include "parser.h"
#include "rule.h"
#include "tx.h"
/*----- Arbitrary constants -----------------------------------------------*/
-#define daemon__awakeEvery (5 * 60) /* Awaken this often to rescan */
+#define daemon__awakeEvery (30 * 60) /* Awaken this often to rescan */
/*----- Static variables --------------------------------------------------*/
* user wants me to start on a funny port.
*/
- seteuid(getuid());
+ setuid(getuid());
/* --- Initialise bits of the program --- */
userdb_init();
userdb_local();
userdb_yp();
+ netg_init();
name_init();
rule_init();
openlog(quis(), 0, LOG_DAEMON);
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;