Execute tinc-down BEFORE tap device is closed. This is a. more symmetric
[tinc] / src / net.c
index 59ec5f9..2e84a72 100644 (file)
--- a/src/net.c
+++ b/src/net.c
@@ -17,7 +17,7 @@
     along with this program; if not, write to the Free Software
     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 
-    $Id: net.c,v 1.35.4.112 2001/06/05 19:39:54 guus Exp $
+    $Id: net.c,v 1.35.4.117 2001/06/29 10:30:18 guus Exp $
 */
 
 #include "config.h"
@@ -99,7 +99,7 @@ int total_socket_in = 0;
 int total_socket_out = 0;
 
 config_t *upstreamcfg;
-static int seconds_till_retry;
+int seconds_till_retry = 5;
 
 int keylifetime = 0;
 int keyexpires = 0;
@@ -180,6 +180,8 @@ cp
   outlen += outpad;
   outpkt.len = outlen - sizeof(outpkt.salt);
 
+  total_socket_in += outlen;
+
   receive_packet(cl, &outpkt);
 cp
 }
@@ -342,12 +344,12 @@ cp
   /* Set default MAC address for ethertap devices */
 
   mymac.type = SUBNET_MAC;
-  mymac.net.mac.address.x[0] = 0xfe;
-  mymac.net.mac.address.x[1] = 0xfd;
-  mymac.net.mac.address.x[2] = 0x00;
-  mymac.net.mac.address.x[3] = 0x00;
-  mymac.net.mac.address.x[4] = 0x00;
-  mymac.net.mac.address.x[5] = 0x00;
+  mymac.net.mac.address.x[0] = 0xff;
+  mymac.net.mac.address.x[1] = 0xff;
+  mymac.net.mac.address.x[2] = 0xff;
+  mymac.net.mac.address.x[3] = 0xff;
+  mymac.net.mac.address.x[4] = 0xff;
+  mymac.net.mac.address.x[5] = 0xff;
 
 #ifdef HAVE_LINUX
  #ifdef HAVE_TUNTAP
@@ -1017,11 +1019,10 @@ cp
         myself = NULL;
       }
 
-  close(tap_fd);
-
-  /* Execute tinc-down script right after shutting down the interface */
   execute_script("tinc-down");
 
+  close(tap_fd);
+
   destroy_connection_tree();
 cp
   return;
@@ -1198,9 +1199,8 @@ cp
     {
       cl->status.outgoing = 0;
       signal(SIGALRM, sigalrm_handler);
-      seconds_till_retry = 5;
       alarm(seconds_till_retry);
-      syslog(LOG_NOTICE, _("Trying to re-establish outgoing connection in 5 seconds"));
+      syslog(LOG_NOTICE, _("Trying to re-establish outgoing connection in %d seconds"), seconds_till_retry);
     }
 
   /* Deactivate */