summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Kozlov <xeb@mail.ru>2015-11-23 11:30:35 +0300
committerDmitry Kozlov <xeb@mail.ru>2015-11-23 11:30:35 +0300
commit44ba310b79265b0417bd236b4a661801e9d4f892 (patch)
tree94afebfc0e12ac8de28cda9fc10043d782812dc3
parent22b51c9cdff9e5a0e44697a0b45f23dc6e742001 (diff)
downloadaccel-ppp-44ba310b79265b0417bd236b4a661801e9d4f892.tar.gz
accel-ppp-44ba310b79265b0417bd236b4a661801e9d4f892.zip
ppp: do not send double ConfAck when LCP is started
-rw-r--r--accel-pppd/ppp/ppp_lcp.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/accel-pppd/ppp/ppp_lcp.c b/accel-pppd/ppp/ppp_lcp.c
index 2641cf34..107e29e5 100644
--- a/accel-pppd/ppp/ppp_lcp.c
+++ b/accel-pppd/ppp/ppp_lcp.c
@@ -792,9 +792,11 @@ static void lcp_recv(struct ppp_handler_t*h)
case CONFREQ:
r = lcp_recv_conf_req(lcp, (uint8_t*)(hdr + 1), ntohs(hdr->len) - PPP_HDRLEN);
if (lcp->started) {
- if (r == LCP_OPT_ACK)
+ if (r == LCP_OPT_ACK) {
send_conf_ack(&lcp->fsm);
- else
+ lcp_free_conf_req(lcp);
+ break;
+ } else
r = LCP_OPT_FAIL;
}
switch(r) {