diff options
author | Kozlov Dmitry <dima@server> | 2010-10-14 14:30:53 +0400 |
---|---|---|
committer | Kozlov Dmitry <dima@server> | 2010-10-14 14:30:53 +0400 |
commit | 84ff56a83a9f6b29d3300aff13ede9afc73b5a68 (patch) | |
tree | 9284cb5b797dd7d68350cd937da11cc2f579114f /accel-pptpd/ppp | |
parent | 763fe9e3ba0faeea25cc423152a065900f901a53 (diff) | |
download | accel-ppp-xebd-84ff56a83a9f6b29d3300aff13ede9afc73b5a68.tar.gz accel-ppp-xebd-84ff56a83a9f6b29d3300aff13ede9afc73b5a68.zip |
due to libnl-1 is not thread safe, l2tp and shaper updated to use libnl-2
Diffstat (limited to 'accel-pptpd/ppp')
-rw-r--r-- | accel-pptpd/ppp/ppp_ccp.c | 3 | ||||
-rw-r--r-- | accel-pptpd/ppp/ppp_lcp.c | 7 |
2 files changed, 9 insertions, 1 deletions
diff --git a/accel-pptpd/ppp/ppp_ccp.c b/accel-pptpd/ppp/ppp_ccp.c index 4f30aa9..9f8419f 100644 --- a/accel-pptpd/ppp/ppp_ccp.c +++ b/accel-pptpd/ppp/ppp_ccp.c @@ -607,7 +607,8 @@ static void ccp_recv(struct ppp_handler_t*h) if (ccp->fsm.fsm_state == FSM_Initial || ccp->fsm.fsm_state == FSM_Closed) { if (conf_ppp_verbose) log_ppp_warn("CCP: discaring packet\n"); - lcp_send_proto_rej(ccp->ppp, htons(PPP_CCP)); + if (ccp->fsm.fsm_state == FSM_Closed) + lcp_send_proto_rej(ccp->ppp, htons(PPP_CCP)); return; } diff --git a/accel-pptpd/ppp/ppp_lcp.c b/accel-pptpd/ppp/ppp_lcp.c index 0eae8fc..e5063f3 100644 --- a/accel-pptpd/ppp/ppp_lcp.c +++ b/accel-pptpd/ppp/ppp_lcp.c @@ -690,6 +690,13 @@ static void lcp_recv(struct ppp_handler_t*h) int r; char *term_msg; + if (lcp->fsm.fsm_state == FSM_Initial || lcp->fsm.fsm_state == FSM_Closed) { + /*if (conf_ppp_verbose) + log_ppp_warn("LCP: discaring packet\n"); + lcp_send_proto_rej(ccp->ppp, htons(PPP_CCP));*/ + return; + } + if (lcp->ppp->chan_buf_size < PPP_HEADERLEN + 2) { log_ppp_warn("LCP: short packet received\n"); return; |