From 2455ce5da0ac335d3f09c24aab803bd080cd90fb Mon Sep 17 00:00:00 2001 From: bodea Date: Thu, 18 Nov 2004 13:15:28 +0000 Subject: [PATCH] Allow LCP re-negotiation after connection completes --- Changes | 1 + ppp.c | 8 ++++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/Changes b/Changes index 6ff4fec..73c8112 100644 --- a/Changes +++ b/Changes @@ -10,6 +10,7 @@ - Revise nsctl to allow arbitrary strings/args to be passed to plugins. - Add snoopctl, throttlectl plugins. - Fix deletion from linked list. +- Allow LCP re-negotiation after connection completes (thanks Yuri). * Mon Nov 15 2004 Brendan O'Dea 2.0.7 - Fix socket creation in host_unreachable() (thanks to Bjørn Augestad) diff --git a/ppp.c b/ppp.c index 54e473d..81727e9 100644 --- a/ppp.c +++ b/ppp.c @@ -1,6 +1,6 @@ // L2TPNS PPP Stuff -char const *cvs_id_ppp = "$Id: ppp.c,v 1.26 2004/11/16 07:54:32 bodea Exp $"; +char const *cvs_id_ppp = "$Id: ppp.c,v 1.27 2004/11/18 13:15:28 bodea Exp $"; #include #include @@ -600,6 +600,10 @@ void processipcp(tunnelidt t, sessionidt s, u8 *p, u16 l) session[s].flags |= SF_IPCP_ACKED; LOG(3, session[s].ip, s, t, "IPCP Acked, session is now active\n"); + + // clear LCP_ACKED flag for possible fast renegotiaion for routers + session[s].flags &= ~SF_LCP_ACKED; + return; } if (*p != ConfigReq) @@ -840,7 +844,7 @@ void processccp(tunnelidt t, sessionidt s, u8 *p, u16 l) *p = TerminateAck; // close if (!(q = makeppp(b, sizeof(b), p, l, t, s, PPPCCP))) { - LOG(1,0,0,0, "Failed to send CCP packet.\n"); + LOG(1,0,0,0, "Failed to send CCP packet.\n"); return; } tunnelsend(b, l + (q - b), t); // send it -- 2.20.1