From 59d9616d73973c529b08578f3596acaa081cd8bf Mon Sep 17 00:00:00 2001 From: Kozlov Dmitry Date: Mon, 27 Sep 2010 13:27:12 +0400 Subject: bug fixes --- accel-pptpd/ppp/ppp_ccp.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'accel-pptpd/ppp/ppp_ccp.c') diff --git a/accel-pptpd/ppp/ppp_ccp.c b/accel-pptpd/ppp/ppp_ccp.c index 301c238..e2ee48a 100644 --- a/accel-pptpd/ppp/ppp_ccp.c +++ b/accel-pptpd/ppp/ppp_ccp.c @@ -78,6 +78,7 @@ static struct ppp_layer_data_t *ccp_layer_init(struct ppp_t *ppp) ppp_register_unit_handler(ppp,&ccp->hnd); + ccp->fsm.proto = PPP_CCP; ppp_fsm_init(&ccp->fsm); ccp->fsm.layer_up=ccp_layer_up; @@ -544,14 +545,13 @@ static void ccp_recv(struct ppp_handler_t*h) ppp_fsm_recv_conf_rej(&ccp->fsm); break; case TERMREQ: - term_msg=_strndup((char*)(hdr+1),ntohs(hdr->len)); + term_msg=_strndup((char*)(hdr+1),ntohs(hdr->len) - 4); log_ppp_debug("recv [CCP TermReq id=%x \"%s\"]\n",hdr->id,term_msg); _free(term_msg); ppp_fsm_recv_term_req(&ccp->fsm); - ppp_terminate(ccp->ppp, 0); break; case TERMACK: - term_msg=_strndup((char*)(hdr+1),ntohs(hdr->len)); + term_msg=_strndup((char*)(hdr+1),ntohs(hdr->len) - 4); log_ppp_debug("recv [CCP TermAck id=%x \"%s\"]\n",hdr->id,term_msg); _free(term_msg); ppp_fsm_recv_term_ack(&ccp->fsm); -- cgit v1.2.3