increase size of PPP buffers to MAXETHER

This commit is contained in:
Brendan O'Dea 2005-08-31 12:41:09 +00:00
parent 3fdc1ce373
commit bdc2baa573
4 changed files with 17 additions and 16 deletions

View file

@ -1,5 +1,6 @@
* Wed Aug 31 2005 Brendan O'Dea <bod@optus.net> 2.1.5
- Avoid Code-Reject loop.
- Increase size of PPP buffers to MAXETHER.
* Mon Aug 29 2005 Brendan O'Dea <bod@optus.net> 2.1.4
- Drop level of "Unexpected CHAP message" log.

View file

@ -4,7 +4,7 @@
// Copyright (c) 2002 FireBrick (Andrews & Arnold Ltd / Watchfront Ltd) - GPL licenced
// vim: sw=8 ts=8
char const *cvs_id_l2tpns = "$Id: l2tpns.c,v 1.125 2005-08-29 11:24:31 bodea Exp $";
char const *cvs_id_l2tpns = "$Id: l2tpns.c,v 1.126 2005-08-31 12:41:09 bodea Exp $";
#include <arpa/inet.h>
#include <assert.h>
@ -1580,7 +1580,7 @@ void sessionshutdown(sessionidt s, char *reason, int result, int error)
void sendipcp(sessionidt s, tunnelidt t)
{
uint8_t buf[MAXCONTROL];
uint8_t buf[MAXETHER];
uint8_t *q;
CSTAT(sendipcp);
@ -1592,7 +1592,7 @@ void sendipcp(sessionidt s, tunnelidt t)
session[s].unique_id = last_id;
}
q = makeppp(buf,sizeof(buf), 0, 0, s, t, PPPIPCP);
q = makeppp(buf, sizeof(buf), 0, 0, s, t, PPPIPCP);
if (!q) return;
*q = ConfigReq;
@ -1609,13 +1609,13 @@ void sendipcp(sessionidt s, tunnelidt t)
void sendipv6cp(sessionidt s, tunnelidt t)
{
uint8_t buf[MAXCONTROL];
uint8_t buf[MAXETHER];
uint8_t *q;
CSTAT(sendipv6cp);
LOG(3, s, t, "IPV6CP: send ConfigReq\n");
q = makeppp(buf,sizeof(buf), 0, 0, s, t, PPPIPV6CP);
q = makeppp(buf, sizeof(buf), 0, 0, s, t, PPPIPV6CP);
if (!q) return;
*q = ConfigReq;
@ -2833,7 +2833,7 @@ static void regular_cleanups(double period)
// No data in ECHO_TIMEOUT seconds, send LCP ECHO
if (session[s].ppp.phase >= Establish && (time_now - session[s].last_packet >= ECHO_TIMEOUT))
{
uint8_t b[MAXCONTROL] = {0};
uint8_t b[MAXETHER];
uint8_t *q = makeppp(b, sizeof(b), 0, 0, s, session[s].tunnel, PPPLCP);
if (!q) continue;

16
ppp.c
View file

@ -1,6 +1,6 @@
// L2TPNS PPP Stuff
char const *cvs_id_ppp = "$Id: ppp.c,v 1.78 2005-08-31 12:38:38 bodea Exp $";
char const *cvs_id_ppp = "$Id: ppp.c,v 1.79 2005-08-31 12:41:09 bodea Exp $";
#include <stdio.h>
#include <string.h>
@ -88,7 +88,7 @@ void processpap(sessionidt s, tunnelidt t, uint8_t *p, uint16_t l)
if (session[s].ip || !(r = radiusnew(s)))
{
// respond now, either no RADIUS available or already authenticated
uint8_t b[MAXCONTROL];
uint8_t b[MAXETHER];
uint8_t id = p[1];
uint8_t *p = makeppp(b, sizeof(b), 0, 0, s, t, PPPPAP);
if (!p) return;
@ -447,7 +447,7 @@ static uint8_t *ppp_nak(sessionidt s, uint8_t *buf, size_t blen, uint16_t mtype,
// Process LCP messages
void processlcp(sessionidt s, tunnelidt t, uint8_t *p, uint16_t l)
{
uint8_t b[MAXCONTROL];
uint8_t b[MAXETHER];
uint8_t *q = NULL;
uint32_t magicno = 0;
uint16_t hl;
@ -911,7 +911,7 @@ static void ipcp_open(sessionidt s, tunnelidt t)
// Process IPCP messages
void processipcp(sessionidt s, tunnelidt t, uint8_t *p, uint16_t l)
{
uint8_t b[MAXCONTROL];
uint8_t b[MAXETHER];
uint8_t *q = 0;
uint16_t hl;
@ -1143,7 +1143,7 @@ static void ipv6cp_open(sessionidt s, tunnelidt t)
// Process IPV6CP messages
void processipv6cp(sessionidt s, tunnelidt t, uint8_t *p, uint16_t l)
{
uint8_t b[MAXCONTROL];
uint8_t b[MAXETHER];
uint8_t *q = 0;
uint16_t hl;
@ -1575,7 +1575,7 @@ void send_ipin(sessionidt s, uint8_t *buf, int len)
// Process CCP messages
void processccp(sessionidt s, tunnelidt t, uint8_t *p, uint16_t l)
{
uint8_t b[MAXCONTROL];
uint8_t b[MAXETHER];
uint8_t *q;
CSTAT(processccp);
@ -1627,7 +1627,7 @@ void processccp(sessionidt s, tunnelidt t, uint8_t *p, uint16_t l)
else // compression requested--reject
*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;
switch (session[s].ppp.ccp)
@ -1713,7 +1713,7 @@ void processccp(sessionidt s, tunnelidt t, uint8_t *p, uint16_t l)
// send a CHAP challenge
void sendchap(sessionidt s, tunnelidt t)
{
uint8_t b[MAXCONTROL];
uint8_t b[MAXETHER];
uint16_t r;
uint8_t *q;

View file

@ -1,6 +1,6 @@
// L2TPNS Radius Stuff
char const *cvs_id_radius = "$Id: radius.c,v 1.40 2005-08-12 13:48:19 bodea Exp $";
char const *cvs_id_radius = "$Id: radius.c,v 1.41 2005-08-31 12:41:09 bodea Exp $";
#include <time.h>
#include <stdio.h>
@ -414,7 +414,7 @@ static void handle_avpair(sessionidt s, uint8_t *avp, int len)
// process RADIUS response
void processrad(uint8_t *buf, int len, char socket_index)
{
uint8_t b[MAXCONTROL];
uint8_t b[MAXETHER];
MD5_CTX ctx;
uint16_t r;
sessionidt s;