- Purge old connections that are ADD_HOSTed.

This commit is contained in:
Guus Sliepen 2000-06-27 20:55:12 +00:00
parent 4aeaea5e59
commit 070ad08118

View file

@ -17,7 +17,7 @@
along with this program; if not, write to the Free Software along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
$Id: protocol.c,v 1.28.4.11 2000/06/27 20:10:48 guus Exp $ $Id: protocol.c,v 1.28.4.12 2000/06/27 20:55:12 guus Exp $
*/ */
#include "config.h" #include "config.h"
@ -488,7 +488,7 @@ cp
old connection that has timed out but we don't know it yet. Because our old connection that has timed out but we don't know it yet. Because our
conn_list entry is not active, lookup_conn will skip ourself. */ conn_list entry is not active, lookup_conn will skip ourself. */
while(old=lookup_conn(cl->vpn_ip)) while(old = lookup_conn(cl->vpn_ip))
terminate_connection(old); terminate_connection(old);
cl->status.active = 1; cl->status.active = 1;
@ -648,7 +648,7 @@ int add_host_h(conn_list_t *cl)
ip_t vpn_mask; ip_t vpn_mask;
unsigned short port; unsigned short port;
int flags; int flags;
conn_list_t *ncn, *fw; conn_list_t *ncn, *old;
cp cp
if(!cl->status.active) if(!cl->status.active)
{ {
@ -664,19 +664,9 @@ cp
return -1; return -1;
} }
/* while(old = lookup_conn(vpn_ip))
Suggestion of Hans Bayle terminate_connection(old);
*/
if((fw = lookup_conn(vpn_ip)))
{
if(fw->nexthop == cl)
notify_others(fw, cl, send_add_host);
else
syslog(LOG_DEBUG, _("Invalid ADD_HOST from " IP_ADDR_S " (%s)"),
IP_ADDR_V(cl->vpn_ip), cl->hostname);
return -1;
}
ncn = new_conn_list(); ncn = new_conn_list();
ncn->real_ip = real_ip; ncn->real_ip = real_ip;
ncn->hostname = hostlookup(htonl(real_ip)); ncn->hostname = hostlookup(htonl(real_ip));