summaryrefslogtreecommitdiff
path: root/accel-pptpd/ppp_lcp.c
diff options
context:
space:
mode:
authorKozlov Dmitry <dima@server>2010-08-11 17:06:20 +0400
committerKozlov Dmitry <dima@server>2010-08-11 17:06:20 +0400
commitab418b16bf2c9a57dbb7c18141af2eb283c44447 (patch)
tree360039811b0fa2fea82e285a00626c4d649f429c /accel-pptpd/ppp_lcp.c
parent5286c9d19031c93a785a4d8729abf9e6a1710f98 (diff)
downloadaccel-ppp-ab418b16bf2c9a57dbb7c18141af2eb283c44447.tar.gz
accel-ppp-ab418b16bf2c9a57dbb7c18141af2eb283c44447.zip
nothing interesting, just writing code ...
Diffstat (limited to 'accel-pptpd/ppp_lcp.c')
-rw-r--r--accel-pptpd/ppp_lcp.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/accel-pptpd/ppp_lcp.c b/accel-pptpd/ppp_lcp.c
index 50ad444f..2d1dee0f 100644
--- a/accel-pptpd/ppp_lcp.c
+++ b/accel-pptpd/ppp_lcp.c
@@ -20,13 +20,15 @@ char* auth="pap,eap,mschap-v2";
char* mppe="allow,disabled";
char* pwdb="radius";
+static void lcp_layer_up(struct ppp_layer_t*);
+static void lcp_layer_down(struct ppp_layer_t*);
static void send_conf_req(struct ppp_layer_t*);
static void send_conf_ack(struct ppp_layer_t*);
static void send_conf_nak(struct ppp_layer_t*);
static void send_conf_rej(struct ppp_layer_t*);
static void lcp_recv(struct ppp_layer_t*);
-struct ppp_layer_t* ppp_lcp_init(struct ppp_t *ppp)
+void lcp_start(struct ppp_t *ppp)
{
struct ppp_layer_t *layer=malloc(sizeof(*layer));
memset(layer,0,sizeof(*layer));
@@ -37,16 +39,26 @@ struct ppp_layer_t* ppp_lcp_init(struct ppp_t *ppp)
layer->ppp=ppp;
ppp_fsm_init(layer);
+ layer->layer_started=lcp_layer_started;
layer->send_conf_req=send_conf_req;
layer->send_conf_ack=send_conf_ack;
layer->send_conf_nak=send_conf_nak;
layer->send_conf_rej=send_conf_rej;
ppp_fsm_init(layer);
+ ppp_fsm_lower_up(layer);
+ ppp_fsm_open(layer);
ppp_register_handler(&layer->h);
+}
- return layer;
+static void lcp_layer_up(struct ppp_layer_t *l)
+{
+ ppp_layer_started(l->ppp);
+}
+static void lcp_layer_down(struct ppp_layer_t *l)
+{
+ ppp_terminate(l->ppp);
}
static void send_conf_req(struct ppp_layer_t*l)