chiark / gitweb /
Useful functions (u_daemon and versioncmp) moved to mLib.
[tripe] / server / tripe.c
index be37617a1e57204778fc93f87e2c11cd63fba284..f9cf0e86ecca9956ec6d8ea8644cd15055f99efb 100644 (file)
@@ -96,10 +96,7 @@ static void usage(FILE *fp)
        [-k PRIV-KEYRING] [-K PUB-KEYRING] [-t KEY-TAG]\n");
 }
 
-static void version(FILE *fp)
-{
-  pquis(fp, "$, version " VERSION "\n");
-}
+static void version(FILE *fp) { pquis(fp, "$, version " VERSION "\n"); }
 
 static void help(FILE *fp)
 {
@@ -155,6 +152,8 @@ int main(int argc, char *argv[])
 
   if ((p = getenv("TRIPEDIR")) != 0)
     dir = p;
+  if ((p = getenv("TRIPESOCK")) != 0)
+    csock = p;
   tun_default = tunnels[0];
 
   for (;;) {
@@ -331,7 +330,7 @@ int main(int argc, char *argv[])
   km_init(kr_priv, kr_pub, tag_priv);
   a_init(csock);
   if (f & f_daemon) {
-    if (u_daemon())
+    if (daemonize())
       die(EXIT_FAILURE, "couldn't become a daemon: %s", strerror(errno));
     a_daemon();
   }
@@ -341,6 +340,7 @@ int main(int argc, char *argv[])
   sel_addtimer(&sel, &it, &tv, interval, 0);
 
   for (;;) {
+    a_preselect();
     if (!sel_select(&sel))
       selerr = 0;
     else if (errno != EINTR && errno != EAGAIN) {