summaryrefslogtreecommitdiff
path: root/accel-pptpd/ppp
diff options
context:
space:
mode:
authorKozlov Dmitry <dima@server>2010-10-14 14:30:53 +0400
committerKozlov Dmitry <dima@server>2010-10-14 14:30:53 +0400
commit84ff56a83a9f6b29d3300aff13ede9afc73b5a68 (patch)
tree9284cb5b797dd7d68350cd937da11cc2f579114f /accel-pptpd/ppp
parent763fe9e3ba0faeea25cc423152a065900f901a53 (diff)
downloadaccel-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.c3
-rw-r--r--accel-pptpd/ppp/ppp_lcp.c7
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;