ipcp: try to re-send CHAP ack on timeout
If it was lost, some clients (e.g. pppd) may not try to re-send their CHAP reply.
This commit is contained in:
parent
b3b052a483
commit
366faaea76
3 changed files with 24 additions and 10 deletions
7
l2tpns.c
7
l2tpns.c
|
|
@ -5488,6 +5488,11 @@ static void regular_cleanups(double period)
|
|||
if (sess_local[s].ipcp.conf_sent < config->ppp_max_configure)
|
||||
{
|
||||
LOG(3, s, session[s].tunnel, "No ACK for IPCP ConfigReq... resending\n");
|
||||
if (sess_local[s].lcp_authtype == AUTHCHAP && sess_local[s].ipcp.conf_sent % 3 == 2)
|
||||
{
|
||||
LOG(3, s, session[s].tunnel, "Trying to re-send CHAP ack\n");
|
||||
resendchapack(s, session[s].tunnel, sess_local[s].auth_id);
|
||||
}
|
||||
sendipcp(s, session[s].tunnel);
|
||||
change_state(s, ipcp, next_state);
|
||||
}
|
||||
|
|
@ -7780,7 +7785,7 @@ int sessionsetup(sessionidt s, tunnelidt t)
|
|||
// Add the route for this session.
|
||||
routesset(s, &session[s], 1);
|
||||
|
||||
sess_local[s].lcp_authtype = 0; // RADIUS authentication complete
|
||||
sess_local[s].lcp_authdone = 1; // RADIUS authentication complete
|
||||
lcp_open(s, t); // transition to Network phase and send initial IPCP
|
||||
|
||||
// Run the plugin's against this new session.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue