diff --git a/accel-pptpd/ctrl/pptp.c b/accel-pptpd/ctrl/pptp.c index 35344933fa7478d5d1f6d2c1e8bcff8965fcfc08..641a45f0e503bd0068e34f1c27e508f803c581ae 100644 --- a/accel-pptpd/ctrl/pptp.c +++ b/accel-pptpd/ctrl/pptp.c @@ -434,6 +434,10 @@ static int process_packet(struct pptp_conn_t *conn) return pptp_echo_rply(conn); case PPTP_CALL_CLEAR_RQST: return pptp_call_clear_rqst(conn); + case PPTP_SET_LINK_INFO: + if (conf_verbose) + log_ppp_info("recv [PPTP Set-Link-Info]\n"); + return 0; default: log_ppp_warn("recv [PPTP Unknown (%x)]\n", ntohs(hdr->ctrl_type)); } diff --git a/accel-pptpd/ppp/ppp_fsm.h b/accel-pptpd/ppp/ppp_fsm.h index 4252a557be9c07aea09ebc83d4029b6e499e357f..6010240a25531fcc1bb8a7f3d94840f2dc44f497 100644 --- a/accel-pptpd/ppp/ppp_fsm.h +++ b/accel-pptpd/ppp/ppp_fsm.h @@ -15,6 +15,7 @@ typedef enum {FSM_Initial=0,FSM_Starting,FSM_Closed,FSM_Stopped,FSM_Closing,FSM_ #define PROTOREJ 8 /* Code Reject */ #define ECHOREQ 9 /* Echo Request */ #define ECHOREP 10 /* Echo Reply */ +#define IDENT 12 /* Identification */ struct ppp_t; diff --git a/accel-pptpd/ppp/ppp_lcp.c b/accel-pptpd/ppp/ppp_lcp.c index 02fafab8dc5600428f2456d583f73524d67247dc..1328764c70c76ada6195d05f05220d0aa574e07d 100644 --- a/accel-pptpd/ppp/ppp_lcp.c +++ b/accel-pptpd/ppp/ppp_lcp.c @@ -637,7 +637,6 @@ void lcp_send_proto_rej(struct ppp_t *ppp, uint16_t proto) ppp_chan_send(lcp->ppp, &msg, sizeof(msg)); } - static void lcp_recv(struct ppp_handler_t*h) { struct lcp_hdr_t *hdr; @@ -728,6 +727,11 @@ static void lcp_recv(struct ppp_handler_t*h) case PROTOREJ: log_ppp_debug("recv [LCP ProtoRej id=%x <%x>]\n",hdr->code, hdr->id, *(uint16_t*)(hdr + 1)); break; + case IDENT: + term_msg = _strndup((char*)(hdr + 1) + 4, ntohs(hdr->len) - 4 - 4); + log_ppp_debug("recv [LCP Ident id=%x <%s>]\n", hdr->id, term_msg); + _free(term_msg); + break; default: log_ppp_debug("recv [LCP Unknown %x]\n",hdr->code); ppp_fsm_recv_unk(&lcp->fsm);