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