summaryrefslogtreecommitdiff
path: root/accel-pptpd
diff options
context:
space:
mode:
authorKozlov Dmitry <dima@server>2010-08-18 16:56:26 +0400
committerKozlov Dmitry <dima@server>2010-08-18 16:56:26 +0400
commit128961dd4ccfae1fc6c973be704d55a27932a280 (patch)
treeb0971e02cfd3e5be84a4eb6857c1d75bff697f53 /accel-pptpd
parent760d8427f133df486a145e6e7ac7610caf2356fc (diff)
downloadaccel-ppp-xebd-128961dd4ccfae1fc6c973be704d55a27932a280.tar.gz
accel-ppp-xebd-128961dd4ccfae1fc6c973be704d55a27932a280.zip
snapshot
Diffstat (limited to 'accel-pptpd')
-rw-r--r--accel-pptpd/lcp_opt_accomp.c4
-rw-r--r--accel-pptpd/lcp_opt_pcomp.c4
-rw-r--r--accel-pptpd/ppp_fsm.c2
3 files changed, 5 insertions, 5 deletions
diff --git a/accel-pptpd/lcp_opt_accomp.c b/accel-pptpd/lcp_opt_accomp.c
index 9191563..c4c221c 100644
--- a/accel-pptpd/lcp_opt_accomp.c
+++ b/accel-pptpd/lcp_opt_accomp.c
@@ -33,7 +33,7 @@ static struct lcp_option_t *accomp_init(struct ppp_lcp_t *lcp)
{
struct accomp_option_t *accomp_opt=malloc(sizeof(*accomp_opt));
memset(accomp_opt,0,sizeof(*accomp_opt));
- accomp_opt->accomp=2;
+ accomp_opt->accomp=0;
accomp_opt->opt.id=CI_ACCOMP;
accomp_opt->opt.len=2;
@@ -77,7 +77,7 @@ static int accomp_recv_conf_req(struct ppp_lcp_t *lcp, struct lcp_option_t *opt,
{
accomp_opt->accomp=1;
return LCP_OPT_ACK;
- }else return LCP_OPT_NAK;
+ }else return LCP_OPT_REJ;
}
static void accomp_print(void (*print)(const char *fmt,...),struct lcp_option_t *opt, uint8_t *ptr)
diff --git a/accel-pptpd/lcp_opt_pcomp.c b/accel-pptpd/lcp_opt_pcomp.c
index 79d77c6..8700bf4 100644
--- a/accel-pptpd/lcp_opt_pcomp.c
+++ b/accel-pptpd/lcp_opt_pcomp.c
@@ -33,7 +33,7 @@ static struct lcp_option_t *pcomp_init(struct ppp_lcp_t *lcp)
{
struct pcomp_option_t *pcomp_opt=malloc(sizeof(*pcomp_opt));
memset(pcomp_opt,0,sizeof(*pcomp_opt));
- pcomp_opt->pcomp=2;
+ pcomp_opt->pcomp=0;
pcomp_opt->opt.id=CI_PCOMP;
pcomp_opt->opt.len=2;
@@ -77,7 +77,7 @@ static int pcomp_recv_conf_req(struct ppp_lcp_t *lcp, struct lcp_option_t *opt,
{
pcomp_opt->pcomp=1;
return LCP_OPT_ACK;
- }else return LCP_OPT_NAK;
+ }else return LCP_OPT_REJ;
}
static void pcomp_print(void (*print)(const char *fmt,...),struct lcp_option_t *opt, uint8_t *ptr)
diff --git a/accel-pptpd/ppp_fsm.c b/accel-pptpd/ppp_fsm.c
index e2884c2..b68b63f 100644
--- a/accel-pptpd/ppp_fsm.c
+++ b/accel-pptpd/ppp_fsm.c
@@ -100,7 +100,6 @@ void ppp_fsm_open(struct ppp_fsm_t *layer)
break;
case FSM_Closing:
case FSM_Stopping:
- layer->fsm_state=FSM_Stopping;
case FSM_Stopped:
case FSM_Opened:
ppp_fsm_lower_down(layer);
@@ -347,6 +346,7 @@ void ppp_fsm_recv_term_req(struct ppp_fsm_t *layer)
case FSM_Opened:
if (layer->layer_down) layer->layer_down(layer);
send_term_req(layer);
+ send_term_ack(layer);
//if (layer->zero_req_cnt) layer->zero_req_cnt(layer);
zero_req_counter(layer);
layer->fsm_state=FSM_Stopping;