X-Git-Url: https://git.distorted.org.uk/~mdw/become/blobdiff_plain/030c25b77f357ef0657460d7590cc662b6f7a9b3..af4f4d6a77aceba8e2d6f58d15e894df320e7c24:/src/daemon.c diff --git a/src/daemon.c b/src/daemon.c index fbaf26b..a91a8a5 100644 --- a/src/daemon.c +++ b/src/daemon.c @@ -1,6 +1,6 @@ /* -*-c-*- * - * $Id: daemon.c,v 1.14 2003/10/17 16:30:22 mdw Exp $ + * $Id: daemon.c,v 1.17 2004/04/08 01:36:20 mdw Exp $ * * Running a `become' daemon * @@ -26,59 +26,6 @@ * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -/*----- Revision history --------------------------------------------------* - * - * $Log: daemon.c,v $ - * Revision 1.14 2003/10/17 16:30:22 mdw - * Reload keys and config files automatically. - * - * Revision 1.13 2003/10/12 10:00:06 mdw - * Fix for daemon mode. Oops. - * - * Revision 1.12 2003/10/12 00:14:55 mdw - * Major overhaul. Now uses DSA signatures rather than the bogus symmetric - * encrypt-and-hope thing. Integrated with mLib and Catacomb. - * - * Revision 1.11 1999/05/04 16:17:12 mdw - * Change to header file name for parser. See log for `parse.h' for - * details. - * - * Revision 1.10 1998/04/23 13:23:09 mdw - * Support new interface to configuration file parser. - * - * Revision 1.9 1998/01/12 16:45:59 mdw - * Fix copyright date. - * - * Revision 1.8 1997/09/26 09:14:58 mdw - * Merged blowfish branch into trunk. - * - * Revision 1.7.2.1 1997/09/26 09:08:05 mdw - * Use the Blowfish encryption algorithm instead of IDEA. This is partly - * because I prefer Blowfish (without any particularly strong evidence) but - * mainly because IDEA is patented and Blowfish isn't. - * - * Revision 1.7 1997/09/17 10:23:23 mdw - * Fix a typo. Port numbers are in network order now, so don't change them. - * - * Revision 1.6 1997/09/09 18:17:06 mdw - * Allow default port to be given as a service name or port number. - * - * 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. - * - * Revision 1.1 1997/07/21 13:47:50 mdw - * Initial revision - * - */ - /*----- Header files ------------------------------------------------------*/ /* --- ANSI headers --- */ @@ -138,13 +85,12 @@ /*----- Arbitrary constants -----------------------------------------------*/ -/* #define daemon__awakeEvery (5 * 60) /\* Awaken this often to rescan *\/ */ #define daemon__awakeEvery (10) /* Awaken this often to rescan */ /*----- Static variables --------------------------------------------------*/ static int daemon__port = -1; /* No particular port yet */ -static fwatch daemon__cwatch, daemon__kwatch; /* Watching key / config files */ +static fwatch daemon__cwatch, daemon__kwatch; /* Watching key/config files */ static sel_timer daemon__timer; /* Timer for reading */ static sel_state daemon__sel; /* Select context */ static sel_file daemon__listen; /* Listening socket selector */ @@ -222,10 +168,10 @@ void daemon_readKey(const char *kf) mp_copy(daemon__key.dp.g); mp_copy(daemon__key.x); mp_copy(daemon__key.y); + daemon__keyfile = kf; } key_fetchdone(kp); key_close(&f); - daemon__keyfile = kf; } /* --- @daemon__readConfig@ --- * @@ -535,9 +481,10 @@ void daemon_init(const char *cf, int port, unsigned f) if (daemon__port == 0) { struct servent *se = getservbyname(quis(), "udp"); - if (!se) - die(1, "no idea which port to listen to"); - daemon__port = se->s_port; + if (se) + daemon__port = se->s_port; + else + daemon__port = htons(SERVER_PORT); } /* --- Now set up a socket --- */