chiark / gitweb /
Allow admin clients to filter out async messages. Send notifications
[tripe] / tripe.c
diff --git a/tripe.c b/tripe.c
index 0ba169b22cc69218aeb7cc1d61a3ffd7a188a43c..78a3d726c583f948cc387d02f3d2e4ab59906498 100644 (file)
--- a/tripe.c
+++ b/tripe.c
@@ -95,6 +95,7 @@ Options:\n\
 -h, --help             Display this help text.\n\
 -v, --version          Display version number.\n\
 -u, --usage            Display pointless usage message.\n\
+    --tunnel           Display IP tunnelling technique and exit.\n\
 \n\
 -D, --daemon           Run in the background.\n\
 -d, --directory=DIR    Switch to directory DIR [default " CONFIGDIR "].\n\
@@ -273,8 +274,13 @@ int main(int argc, char *argv[])
   signal(SIGPIPE, SIG_IGN);
   tun_init();
   p_init(baddr, port);
-  if (!(f & f_daemon))
-    a_create(STDIN_FILENO, STDOUT_FILENO);
+  if (!(f & f_daemon)) {
+#ifndef NTRACE
+    a_create(STDIN_FILENO, STDOUT_FILENO, AF_TRACE | AF_WARN);
+#else
+    a_create(STDIN_FILENO, STDOUT_FILENO, AF_WARN);
+#endif
+  }
   if (g != (gid_t)-1) {
     if (setgid(g) || (getuid() == 0 && setgroups(1, &g))) {
       die(EXIT_FAILURE, "couldn't setgid to %u: %s",
@@ -308,11 +314,11 @@ int main(int argc, char *argv[])
       if (!sel_select(&sel))
         selerr = 0;
       else if (errno != EINTR && errno != EAGAIN) {
-       a_warn("select failed: %s", strerror(errno));
+       a_warn("SERVER select-error -- %s", strerror(errno));
        selerr++;
        if (selerr > 8) {
-         a_warn("too many select errors: bailing out");
-         a_quit();
+         a_warn("ABORT repeated-select-errors");
+         abort();
        }
       }
     }