summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKozlov Dmitry <dima@server>2010-09-28 14:31:40 +0400
committerKozlov Dmitry <dima@server>2010-09-28 14:31:40 +0400
commit06858ad4c7468ac8b226b34126b68db2128877f1 (patch)
tree70c4aea3f3db24c6cf5aa4646f25acd7d21eb258
parentfa48d5a3e19c1228903b00585be5c4d42d7bc190 (diff)
downloadaccel-ppp-xebd-06858ad4c7468ac8b226b34126b68db2128877f1.tar.gz
accel-ppp-xebd-06858ad4c7468ac8b226b34126b68db2128877f1.zip
pptp: Set-Link-Info
lcp: Ident
-rw-r--r--accel-pptpd/ctrl/pptp.c4
-rw-r--r--accel-pptpd/ppp/ppp_fsm.h1
-rw-r--r--accel-pptpd/ppp/ppp_lcp.c6
3 files changed, 10 insertions, 1 deletions
diff --git a/accel-pptpd/ctrl/pptp.c b/accel-pptpd/ctrl/pptp.c
index 3534493..641a45f 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 4252a55..6010240 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 02fafab..1328764 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);