diff options
author | Kozlov Dmitry <dima@server> | 2010-08-23 14:34:37 +0400 |
---|---|---|
committer | Kozlov Dmitry <dima@server> | 2010-08-23 18:33:09 +0400 |
commit | 5ec458e9d936e6aee1d8382290473c0f5ba68e48 (patch) | |
tree | c5025ea42ff1e998afc3a687562238ceccd0efd2 /accel-pptpd/ppp.c | |
parent | 76615aa33fb294f2fdfdee3e4687de94bb5efce9 (diff) | |
download | accel-ppp-5ec458e9d936e6aee1d8382290473c0f5ba68e48.tar.gz accel-ppp-5ec458e9d936e6aee1d8382290473c0f5ba68e48.zip |
implemented IPCP primary/secondary dns configuration option
Diffstat (limited to 'accel-pptpd/ppp.c')
-rw-r--r-- | accel-pptpd/ppp.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/accel-pptpd/ppp.c b/accel-pptpd/ppp.c index 40f5ff7b..518f7572 100644 --- a/accel-pptpd/ppp.c +++ b/accel-pptpd/ppp.c @@ -255,7 +255,10 @@ void ppp_layer_started(struct ppp_t *ppp, struct ppp_layer_data_t *d) { n=list_entry(n->entry.next,typeof(*n),entry); list_for_each_entry(d,&n->items,entry) + { + d->starting=1; d->layer->start(d); + } } } @@ -263,13 +266,14 @@ void ppp_layer_finished(struct ppp_t *ppp, struct ppp_layer_data_t *d) { struct layer_node_t *n=d->node; + d->starting=0; d->started=0; list_for_each_entry(n,&ppp->layers,entry) { list_for_each_entry(d,&n->items,entry) { - if (d->started) + if (d->starting) return; } } @@ -288,7 +292,7 @@ void ppp_terminate(struct ppp_t *ppp) { list_for_each_entry(d,&n->items,entry) { - if (d->started) + if (d->starting) { s=1; d->layer->finish(d); @@ -394,7 +398,10 @@ static void start_first_layer(struct ppp_t *ppp) n=list_entry(ppp->layers.next,typeof(*n),entry); list_for_each_entry(d,&n->items,entry) + { + d->starting=1; d->layer->start(d); + } } struct ppp_layer_data_t *ppp_find_layer_data(struct ppp_t *ppp, struct ppp_layer_t *layer) |