- Improved handling of errors on connection attempts.
[tinc] / src / protocol.c
index b918d5b..1fe75e7 100644 (file)
@@ -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: protocol.c,v 1.28.4.8 2000/06/26 19:39:34 guus Exp $
+    $Id: protocol.c,v 1.28.4.11 2000/06/27 20:10:48 guus Exp $
 */
 
 #include "config.h"
@@ -62,7 +62,8 @@ cp
       return -1;
     }
 
-  syslog(LOG_NOTICE, _("Connection with " IP_ADDR_S " (%s) activated"),
+  if(debug_lvl > 0)
+    syslog(LOG_NOTICE, _("Connection with " IP_ADDR_S " (%s) activated"),
                        IP_ADDR_V(cl->vpn_ip), cl->hostname);
 cp
   return 0;
@@ -508,6 +509,7 @@ cp
   cl->status.active = 1;
   syslog(LOG_NOTICE, _("Connection with " IP_ADDR_S " (%s) activated"),
               IP_ADDR_V(cl->vpn_ip), cl->hostname);
+  upstreamindex = 0;
 cp
   return 0;
 }
@@ -527,11 +529,12 @@ cp
              IP_ADDR_V(cl->vpn_ip), cl->hostname);
   
   cl->status.termreq = 1;
-  cl->status.active = 0;
 
   if(cl->status.active)
     notify_others(cl, NULL, send_del_host);
 
+  cl->status.active = 0;
+
   terminate_connection(cl);
 cp
   return 0;
@@ -587,9 +590,11 @@ cp
       return 0;
     }
 
-  notify_others(cl, fw, send_del_host);
+  notify_others(fw, cl, send_del_host);
 
   fw->status.termreq = 1;
+  fw->status.active = 0;
+
   terminate_connection(fw);
 cp
   return 0;
@@ -885,7 +890,7 @@ cp
   ik->status.validkey = 0;
   ik->status.waitingforkey = 0;
 
-  notify_others(cl, ik, send_key_changed);
+  notify_others(ik, cl, send_key_changed);
 cp
   return 0;
 }