From a7eaf069a979a923f0411584ed2154fff5e86036 Mon Sep 17 00:00:00 2001 From: Dmitry Kozlov Date: Tue, 25 Jan 2011 20:38:21 +0300 Subject: ppp, radius: Acct-Terminate-Cause=Lost-Carrier when ppp terminates by lcp reply absence --- accel-pppd/ctrl/pptp/pptp.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'accel-pppd/ctrl') diff --git a/accel-pppd/ctrl/pptp/pptp.c b/accel-pppd/ctrl/pptp/pptp.c index 687aecb..17087fa 100644 --- a/accel-pppd/ctrl/pptp/pptp.c +++ b/accel-pppd/ctrl/pptp/pptp.c @@ -83,7 +83,7 @@ static void disconnect(struct pptp_conn_t *conn) if (conn->state == STATE_PPP) { __sync_sub_and_fetch(&stat_active, 1); conn->state = STATE_CLOSE; - ppp_terminate(&conn->ppp, TERM_USER_REQUEST, 1); + ppp_terminate(&conn->ppp, TERM_LOST_CARRIER, 1); } else if (conn->state != STATE_CLOSE) __sync_sub_and_fetch(&stat_starting, 1); @@ -366,6 +366,9 @@ static int pptp_call_clear_rqst(struct pptp_conn_t *conn) if (conf_verbose) log_ppp_info2("recv [PPTP Call-Clear-Request ]\n", ntohs(rqst->call_id)); + if (conn->echo_timer.tpd) + triton_timer_del(&conn->echo_timer); + if (conn->state == STATE_PPP) { __sync_sub_and_fetch(&stat_active, 1); conn->state = STATE_CLOSE; -- cgit v1.2.3