diff options
author | marekm72 <35698605+marekm72@users.noreply.github.com> | 2024-07-28 18:22:09 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-07-28 18:22:09 +0200 |
commit | 501c7230a278b62cb161acef8a8b29f8ab647fda (patch) | |
tree | 3bd8a601377318a33527e82edf87b05db02f1ab2 | |
parent | 6afbc5075a3cf88a47f01c9051dd0a7fdcb06299 (diff) | |
download | accel-ppp-xebd-501c7230a278b62cb161acef8a8b29f8ab647fda.tar.gz accel-ppp-xebd-501c7230a278b62cb161acef8a8b29f8ab647fda.zip |
Don't terminate whole PPPoE session in response to client IPV6CP TermReq if IPv6 not required
See https://github.com/accel-ppp/accel-ppp/issues/57 for the bug report, please review.
-rw-r--r-- | accel-pppd/ppp/ppp_ipv6cp.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/accel-pppd/ppp/ppp_ipv6cp.c b/accel-pppd/ppp/ppp_ipv6cp.c index 1194b31..0f4bf79 100644 --- a/accel-pppd/ppp/ppp_ipv6cp.c +++ b/accel-pppd/ppp/ppp_ipv6cp.c @@ -738,7 +738,8 @@ static void ipv6cp_recv(struct ppp_handler_t*h) if (conf_ppp_verbose) log_ppp_info2("recv [IPV6CP TermReq id=%x]\n", hdr->id); ppp_fsm_recv_term_req(&ipv6cp->fsm); - ap_session_terminate(&ipv6cp->ppp->ses, TERM_USER_REQUEST, 0); + if (conf_ipv6 == IPV6_REQUIRE) + ap_session_terminate(&ipv6cp->ppp->ses, TERM_USER_REQUEST, 0); break; case TERMACK: if (conf_ppp_verbose) |