server/tripe.c: Don't start privsep helper unless some tunnel needs it.
authorMark Wooding <mdw@distorted.org.uk>
Sat, 12 May 2018 09:58:53 +0000 (10:58 +0100)
committerMark Wooding <mdw@distorted.org.uk>
Fri, 25 Jan 2019 12:10:31 +0000 (12:10 +0000)
It just saves having a useless process hanging off the side.

server/tripe.c

index b843885..ed54c5e 100644 (file)
@@ -304,7 +304,14 @@ int main(int argc, char *argv[])
       af |= AF_FOREGROUND;
     a_create(STDIN_FILENO, STDOUT_FILENO, af);
   }
-  ps_split(f & f_daemon);
+
+  for (i = 0; tunnels[i]; i++) {
+    if (tunnels[i]->flags&TUNF_PRIVOPEN) {
+      ps_split(f & f_daemon);
+      break;
+    }
+  }
+
   a_init(csock, u, g, csockmode);
   u_setugid(u, g);
   km_init(kr_priv, kr_pub, tag_priv);