avoid Code-Reject loop

This commit is contained in:
bodea 2005-08-31 12:38:38 +00:00
parent 273a0220a2
commit 3646374c82
4 changed files with 14 additions and 11 deletions

View file

@ -1,3 +1,6 @@
* Wed Aug 31 2005 Brendan O'Dea <bod@optus.net> 2.1.5
- Avoid Code-Reject loop.
* Mon Aug 29 2005 Brendan O'Dea <bod@optus.net> 2.1.4 * Mon Aug 29 2005 Brendan O'Dea <bod@optus.net> 2.1.4
- Drop level of "Unexpected CHAP message" log. - Drop level of "Unexpected CHAP message" log.
- Fix parsing of ProtocolRej (allow 1 or two byte protocols). - Fix parsing of ProtocolRej (allow 1 or two byte protocols).

View file

@ -1,5 +1,5 @@
// L2TPNS Global Stuff // L2TPNS Global Stuff
// $Id: l2tpns.h,v 1.85 2005/08/29 06:17:53 bodea Exp $ // $Id: l2tpns.h,v 1.86 2005/08/31 12:38:38 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.4" #define VERSION "2.1.5"
// 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.4 Version: 2.1.5
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
* Mon Aug 29 2005 Brendan O'Dea <bod@optus.net> 2.1.4-1 * Wed Aug 31 2005 Brendan O'Dea <bod@optus.net> 2.1.5-1
- 2.1.4 release, see /usr/share/doc/l2tpns-2.1.4/Changes - 2.1.5 release, see /usr/share/doc/l2tpns-2.1.5/Changes

12
ppp.c
View file

@ -1,6 +1,6 @@
// L2TPNS PPP Stuff // L2TPNS PPP Stuff
char const *cvs_id_ppp = "$Id: ppp.c,v 1.77 2005/08/29 06:17:53 bodea Exp $"; char const *cvs_id_ppp = "$Id: ppp.c,v 1.78 2005/08/31 12:38:38 bodea Exp $";
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
@ -866,7 +866,7 @@ void processlcp(sessionidt s, tunnelidt t, uint8_t *p, uint16_t l)
{ {
// Ignore it, last_packet time is set earlier than this. // Ignore it, last_packet time is set earlier than this.
} }
else else if (*p != CodeRej)
{ {
int code = *p; int code = *p;
int mru = session[s].mru; int mru = session[s].mru;
@ -1109,7 +1109,7 @@ void processipcp(sessionidt s, tunnelidt t, uint8_t *p, uint16_t l)
tunnelsend(b, l + (q - b), t); tunnelsend(b, l + (q - b), t);
change_state(s, ipcp, Stopped); change_state(s, ipcp, Stopped);
} }
else else if (*p != CodeRej)
{ {
int code = *p; int code = *p;
int mru = session[s].mru; int mru = session[s].mru;
@ -1330,7 +1330,7 @@ void processipv6cp(sessionidt s, tunnelidt t, uint8_t *p, uint16_t l)
tunnelsend(b, l + (q - b), t); tunnelsend(b, l + (q - b), t);
change_state(s, ipv6cp, Stopped); change_state(s, ipv6cp, Stopped);
} }
else else if (*p != CodeRej)
{ {
int code = *p; int code = *p;
int mru = session[s].mru; int mru = session[s].mru;
@ -1627,7 +1627,7 @@ void processccp(sessionidt s, tunnelidt t, uint8_t *p, uint16_t l)
else // compression requested--reject else // compression requested--reject
*p = ConfigRej; *p = ConfigRej;
q = makeppp(b, sizeof(b), p, l, s, t, PPPCCP); q = makeppp(b,sizeof(b), p, l, s, t, PPPCCP);
if (!q) return; if (!q) return;
switch (session[s].ppp.ccp) switch (session[s].ppp.ccp)
@ -1691,7 +1691,7 @@ void processccp(sessionidt s, tunnelidt t, uint8_t *p, uint16_t l)
tunnelsend(b, l + (q - b), t); tunnelsend(b, l + (q - b), t);
change_state(s, ccp, Stopped); change_state(s, ccp, Stopped);
} }
else else if (*p != CodeRej)
{ {
int code = *p; int code = *p;
int mru = session[s].mru; int mru = session[s].mru;