try outgoing connections before chroot/drop_privs
authorMichael Tokarev <mjt@tls.msk.ru>
Fri, 5 Jun 2009 09:33:58 +0000 (13:33 +0400)
committerGuus Sliepen <guus@tinc-vpn.org>
Fri, 5 Jun 2009 09:40:08 +0000 (11:40 +0200)
When chrooted, we either need to force-initialize resolver
and/or nsswitch somehow (no clean way) or resolve all the
names we want before entering chroot jail.  The latter
looks cleaner, easier and it is actually safe because
we still don't talk with the remote nodes there, only
initiating outgoing connections.

src/tincd.c

index d3594255f2877f4ce341102fc0cc158da65ddf04..bec16cd3a062e0df465ea86c7f8521be1697d319 100644 (file)
@@ -589,7 +589,11 @@ int main2(int argc, char **argv)
        if(!setup_network())
                goto end;
 
-        /* Change process priority */
+       /* Initiate all outgoing connections. */
+
+       try_outgoing_connections();
+
+       /* Change process priority */
 
         char *priority = 0;
 
@@ -610,10 +614,6 @@ int main2(int argc, char **argv)
        if (!drop_privs())
                goto end;
 
-       /* Initiate all outgoing connections. */
-
-       try_outgoing_connections();
-
        /* Start main loop. It only exits when tinc is killed. */
 
        status = main_loop();