X-Git-Url: https://www.tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=src%2Fprotocol.c;h=3c20f3b2762a8f06efedeafbee2a85cdf519eb3d;hp=a6f302906cb90118addb95433d9506eb024a320b;hb=1a1ebefd572c18d6af187750847b024ce07551ae;hpb=0f9ad1f047efec53590dc43f07d225e5f20456cb diff --git a/src/protocol.c b/src/protocol.c index a6f30290..3c20f3b2 100644 --- a/src/protocol.c +++ b/src/protocol.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: protocol.c,v 1.28.4.17 2000/06/29 19:47:03 guus Exp $ + $Id: protocol.c,v 1.28.4.19 2000/06/30 21:03:51 guus Exp $ */ #include "config.h" @@ -507,7 +507,8 @@ cp while(old = lookup_conn(cl->vpn_ip)) { - syslog(LOG_NOTICE, _("Removing old entry for %s at %s in favour of new connection from %s"), + if(debug_lvl > 1) + syslog(LOG_NOTICE, _("Removing old entry for %s at %s in favour of new connection from %s"), cl->vpn_hostname, old->real_hostname, cl->real_hostname); old->status.active = 0; terminate_connection(old); @@ -535,7 +536,8 @@ cp cl->status.active = 1; - syslog(LOG_NOTICE, _("Connection with %s (%s) activated"), + if(debug_lvl > 0) + syslog(LOG_NOTICE, _("Connection with %s (%s) activated"), cl->vpn_hostname, cl->real_hostname); notify_others(cl, NULL, send_add_host); @@ -613,6 +615,15 @@ cp return 0; } + /* Connections lists are really messed up if this happens */ + if(vpn_ip == myself->vpn_ip) + { + syslog(LOG_ERR, _("Warning: got DEL_HOST from %s (%s) for ourself, restarting"), + cl->vpn_hostname, cl->real_hostname); + sighup = 1; + return 0; + } + if(debug_lvl > 1) syslog(LOG_DEBUG, _("Got DEL_HOST for %s (%s) from %s (%s)"), fw->vpn_hostname, fw->real_hostname, cl->vpn_hostname, cl->real_hostname); @@ -709,6 +720,15 @@ cp terminate_connection(old); } } + + /* Connections lists are really messed up if this happens */ + if(vpn_ip == myself->vpn_ip) + { + syslog(LOG_ERR, _("Warning: got ADD_HOST from %s (%s) for ourself, restarting"), + cl->vpn_hostname, cl->real_hostname); + sighup = 1; + return 0; + } ncn = new_conn_list(); ncn->real_ip = real_ip;