summaryrefslogtreecommitdiff
path: root/accel-pptpd/ppp/lcp_opt_pcomp.c
diff options
context:
space:
mode:
Diffstat (limited to 'accel-pptpd/ppp/lcp_opt_pcomp.c')
-rw-r--r--accel-pptpd/ppp/lcp_opt_pcomp.c106
1 files changed, 0 insertions, 106 deletions
diff --git a/accel-pptpd/ppp/lcp_opt_pcomp.c b/accel-pptpd/ppp/lcp_opt_pcomp.c
deleted file mode 100644
index 1f8532b..0000000
--- a/accel-pptpd/ppp/lcp_opt_pcomp.c
+++ /dev/null
@@ -1,106 +0,0 @@
-#include <stdlib.h>
-#include <string.h>
-#include <arpa/inet.h>
-
-#include "ppp.h"
-#include "ppp_lcp.h"
-#include "log.h"
-
-#include "memdebug.h"
-
-static struct lcp_option_t *pcomp_init(struct ppp_lcp_t *lcp);
-static void pcomp_free(struct ppp_lcp_t *lcp, struct lcp_option_t *opt);
-static int pcomp_send_conf_req(struct ppp_lcp_t *lcp, struct lcp_option_t *opt, uint8_t *ptr);
-static int pcomp_send_conf_nak(struct ppp_lcp_t *lcp, struct lcp_option_t *opt, uint8_t *ptr);
-static int pcomp_recv_conf_req(struct ppp_lcp_t *lcp, struct lcp_option_t *opt, uint8_t *ptr);
-static void pcomp_print(void (*print)(const char *fmt,...),struct lcp_option_t*, uint8_t *ptr);
-
-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=
-{
- .init=pcomp_init,
- .send_conf_req=pcomp_send_conf_req,
- .send_conf_nak=pcomp_send_conf_nak,
- .recv_conf_req=pcomp_recv_conf_req,
- .free=pcomp_free,
- .print=pcomp_print,
-};
-
-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=0;
- pcomp_opt->opt.id=CI_PCOMP;
- pcomp_opt->opt.len=2;
-
- return &pcomp_opt->opt;
-}
-
-static void pcomp_free(struct ppp_lcp_t *lcp, struct lcp_option_t *opt)
-{
- struct pcomp_option_t *pcomp_opt=container_of(opt,typeof(*pcomp_opt),opt);
-
- _free(pcomp_opt);
-}
-
-static int pcomp_send_conf_req(struct ppp_lcp_t *lcp, struct lcp_option_t *opt, uint8_t *ptr)
-{
- struct pcomp_option_t *pcomp_opt=container_of(opt,typeof(*pcomp_opt),opt);
- struct lcp_opt_hdr_t *opt0=(struct lcp_opt_hdr_t*)ptr;
- if (pcomp_opt->pcomp==1 || pcomp_opt->pcomp==3)
- {
- opt0->id=CI_PCOMP;
- opt0->len=2;
- return 2;
- }
- return 0;
-}
-
-static int pcomp_send_conf_nak(struct ppp_lcp_t *lcp, struct lcp_option_t *opt, uint8_t *ptr)
-{
- struct pcomp_option_t *pcomp_opt=container_of(opt,typeof(*pcomp_opt),opt);
- struct lcp_opt_hdr_t *opt0=(struct lcp_opt_hdr_t*)ptr;
- opt0->id=CI_PCOMP;
- opt0->len=2;
- return 2;
-}
-
-static int pcomp_recv_conf_req(struct ppp_lcp_t *lcp, struct lcp_option_t *opt, uint8_t *ptr)
-{
- struct pcomp_option_t *pcomp_opt=container_of(opt,typeof(*pcomp_opt),opt);
- struct lcp_opt_hdr_t *opt0=(struct lcp_opt_hdr_t*)ptr;
-
- /*if (!ptr) {
- if (pcomp_opt->require)
- return LCP_OPT_NAK;
- pcomp_opt->pcomp=0;
- return LCP_OPT_ACK;
- }*/
-
- if (opt0->len != 2)
- return LCP_OPT_REJ;
-
- if (pcomp_opt->pcomp>0)
- {
- pcomp_opt->pcomp=1;
- return LCP_OPT_ACK;
- }else return LCP_OPT_REJ;
-}
-
-static void pcomp_print(void (*print)(const char *fmt,...),struct lcp_option_t *opt, uint8_t *ptr)
-{
- print("<pcomp>");
-}
-
-static void __init pcomp_opt_init()
-{
- lcp_option_register(&pcomp_opt_hnd);
-}
-