summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorGuillaume Nault <g.nault@alphalink.fr>2013-01-24 16:14:18 +0100
committerKozlov Dmitry <xeb@mail.ru>2013-01-25 00:04:53 +0400
commit459720a96d868e31b8ab859fdf488c1c208b2647 (patch)
treebfd574523f3027cd4bc4127189f1fd9a97717031 /CMakeLists.txt
parenta478611de8d0454389225d296a0c210d261a1b5b (diff)
downloadaccel-ppp-459720a96d868e31b8ab859fdf488c1c208b2647.tar.gz
accel-ppp-459720a96d868e31b8ab859fdf488c1c208b2647.zip
l2tp: Fix PPP session disconnection
When a PPP session terminates on its own (i.e. not on behalf of a L2TP tunnel/session request), the l2tp_ppp_finished() callback calls the L2TP session disconnection function without updating the session's state. Session disconnection code then works like if the PPP session was still up: it tries to disconnect the PPP by calling ap_session_terminate(). But since the PPP is already terminated, it returns immediately, without calling the l2tp_ppp_finished() callback; so session cleanup won't happen. This patch updates the session's state upon PPP disconnection, so that the session disconnection code won't try to disconnect the PPP in __l2tp_session_free(). The stat_active counter is now updated inside the l2tp_ppp_finished() callback so that it gets called upon any PPP disconnection. Sending of the EV_CTRL_FINISHED event has also been moved. It is now performed in the generic part of __l2tp_session_free() because it has to be done every time the session really terminates. Signed-off-by: Guillaume Nault <g.nault@alphalink.fr>
Diffstat (limited to 'CMakeLists.txt')
0 files changed, 0 insertions, 0 deletions