summaryrefslogtreecommitdiff
path: root/accel-pptpd/ppp/lcp_opt_pcomp.c
diff options
context:
space:
mode:
authorDmitry Kozlov <xeb@mail.ru>2010-09-27 23:55:11 +0400
committerDmitry Kozlov <xeb@mail.ru>2010-09-27 23:55:11 +0400
commit2902ea733331c1a083487666dbdd847518a0f117 (patch)
treec0d9239c735a5ef14561af4e6e866f16c154c723 /accel-pptpd/ppp/lcp_opt_pcomp.c
parentf9bc7d57b20a0165862cfab7259f6147fcb15733 (diff)
parent0325cc5f07ac992414129b4f47ae4aae017dbd2b (diff)
downloadaccel-ppp-2902ea733331c1a083487666dbdd847518a0f117.tar.gz
accel-ppp-2902ea733331c1a083487666dbdd847518a0f117.zip
radius: implemented Session-Timeout attribute
Diffstat (limited to 'accel-pptpd/ppp/lcp_opt_pcomp.c')
-rw-r--r--accel-pptpd/ppp/lcp_opt_pcomp.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/accel-pptpd/ppp/lcp_opt_pcomp.c b/accel-pptpd/ppp/lcp_opt_pcomp.c
index 0ff4d11f..a1ceb8e8 100644
--- a/accel-pptpd/ppp/lcp_opt_pcomp.c
+++ b/accel-pptpd/ppp/lcp_opt_pcomp.c
@@ -19,6 +19,7 @@ struct pcomp_option_t
{
struct lcp_option_t opt;
int pcomp; // 0 - disabled, 1 - enabled, 2 - allow,disabled, 3 - allow,enabled
+ int require;
};
static struct lcp_option_handler_t pcomp_opt_hnd=
@@ -75,6 +76,13 @@ static int pcomp_recv_conf_req(struct ppp_lcp_t *lcp, struct lcp_option_t *opt,
{
struct pcomp_option_t *pcomp_opt=container_of(opt,typeof(*pcomp_opt),opt);
+ if (!ptr) {
+ if (pcomp_opt->require)
+ return LCP_OPT_NAK;
+ pcomp_opt->pcomp=0;
+ return LCP_OPT_ACK;
+ }
+
if (pcomp_opt->pcomp>0)
{
pcomp_opt->pcomp=1;