any traffic on a tunnel resets lastrec, not just control messages

This commit is contained in:
Brendan O'Dea 2005-09-12 05:16:42 +00:00
parent 001d0de973
commit 30a697b2b1
4 changed files with 14 additions and 9 deletions

View file

@ -1,3 +1,6 @@
* Mon Sep 12 2005 Brendan O'Dea <bod@optus.net> 2.1.6
- Any traffic on a tunnel resets lastrec, not just control messages.
* Sat Sep 3 2005 Brendan O'Dea <bod@optus.net> 2.1.5 * Sat Sep 3 2005 Brendan O'Dea <bod@optus.net> 2.1.5
- Avoid Code-Reject loop. - Avoid Code-Reject loop.
- Increase size of PPP buffers to MAXETHER. - Increase size of PPP buffers to MAXETHER.

View file

@ -4,7 +4,7 @@
// Copyright (c) 2002 FireBrick (Andrews & Arnold Ltd / Watchfront Ltd) - GPL licenced // Copyright (c) 2002 FireBrick (Andrews & Arnold Ltd / Watchfront Ltd) - GPL licenced
// vim: sw=8 ts=8 // vim: sw=8 ts=8
char const *cvs_id_l2tpns = "$Id: l2tpns.c,v 1.128 2005-09-02 23:59:56 bodea Exp $"; char const *cvs_id_l2tpns = "$Id: l2tpns.c,v 1.129 2005-09-12 05:16:42 bodea Exp $";
#include <arpa/inet.h> #include <arpa/inet.h>
#include <assert.h> #include <assert.h>
@ -1827,6 +1827,11 @@ void processudp(uint8_t *buf, int len, struct sockaddr_in *addr)
return; return;
} }
l -= (p - buf); l -= (p - buf);
// used to time out old tunnels
if (t && tunnel[t].state == TUNNELOPEN)
tunnel[t].lastrec = time_now;
if (*buf & 0x80) if (*buf & 0x80)
{ // control { // control
uint16_t message = 0xFFFF; // message type uint16_t message = 0xFFFF; // message type
@ -1914,9 +1919,6 @@ void processudp(uint8_t *buf, int len, struct sockaddr_in *addr)
return; return;
} }
// This is used to time out old tunnels
tunnel[t].lastrec = time_now;
// check sequence of this message // check sequence of this message
{ {
int skip = tunnel[t].window; // track how many in-window packets are still in queue int skip = tunnel[t].window; // track how many in-window packets are still in queue

View file

@ -1,5 +1,5 @@
// L2TPNS Global Stuff // L2TPNS Global Stuff
// $Id: l2tpns.h,v 1.87 2005-09-02 23:59:56 bodea Exp $ // $Id: l2tpns.h,v 1.88 2005-09-12 05:16:42 bodea Exp $
#ifndef __L2TPNS_H__ #ifndef __L2TPNS_H__
#define __L2TPNS_H__ #define __L2TPNS_H__
@ -15,7 +15,7 @@
#include <sys/types.h> #include <sys/types.h>
#include <libcli.h> #include <libcli.h>
#define VERSION "2.1.5" #define VERSION "2.1.6"
// Limits // Limits
#define MAXTUNNEL 500 // could be up to 65535 #define MAXTUNNEL 500 // could be up to 65535

View file

@ -1,6 +1,6 @@
Summary: A high-speed clustered L2TP LNS Summary: A high-speed clustered L2TP LNS
Name: l2tpns Name: l2tpns
Version: 2.1.5 Version: 2.1.6
Release: 1 Release: 1
Copyright: GPL Copyright: GPL
Group: System Environment/Daemons Group: System Environment/Daemons
@ -43,5 +43,5 @@ rm -rf %{buildroot}
%attr(644,root,root) /usr/share/man/man[58]/* %attr(644,root,root) /usr/share/man/man[58]/*
%changelog %changelog
* Sat Sep 3 2005 Brendan O'Dea <bod@optus.net> 2.1.5-1 * Mon Sep 12 2005 Brendan O'Dea <bod@optus.net> 2.1.6-1
- 2.1.5 release, see /usr/share/doc/l2tpns-2.1.5/Changes - 2.1.6 release, see /usr/share/doc/l2tpns-2.1.6/Changes