summaryrefslogtreecommitdiff
path: root/accel-pptpd/ppp/ppp_ccp.c
diff options
context:
space:
mode:
authorKozlov Dmitry <dima@server>2010-10-05 17:51:23 +0400
committerKozlov Dmitry <dima@server>2010-10-05 17:51:23 +0400
commit5cf93f33f2350ed3b92f73ead1d2829a6883810a (patch)
treeab1d7fe7b27ca44ef3ee6618636d275c26f98c76 /accel-pptpd/ppp/ppp_ccp.c
parent7f16563bd5a4ef21b970e8dcbab0e5cbe02bfe97 (diff)
downloadaccel-ppp-5cf93f33f2350ed3b92f73ead1d2829a6883810a.tar.gz
accel-ppp-5cf93f33f2350ed3b92f73ead1d2829a6883810a.zip
tidied logs
Diffstat (limited to 'accel-pptpd/ppp/ppp_ccp.c')
-rw-r--r--accel-pptpd/ppp/ppp_ccp.c456
1 files changed, 239 insertions, 217 deletions
diff --git a/accel-pptpd/ppp/ppp_ccp.c b/accel-pptpd/ppp/ppp_ccp.c
index ca128927..ae9e6375 100644
--- a/accel-pptpd/ppp/ppp_ccp.c
+++ b/accel-pptpd/ppp/ppp_ccp.c
@@ -43,14 +43,12 @@ static void ccp_options_init(struct ppp_ccp_t *ccp)
ccp->conf_req_len = sizeof(struct ccp_hdr_t);
- list_for_each_entry(h,&option_handlers,entry)
- {
- lopt=h->init(ccp);
- if (lopt)
- {
- lopt->h=h;
- list_add_tail(&lopt->entry,&ccp->options);
- ccp->conf_req_len+=lopt->len;
+ list_for_each_entry(h, &option_handlers, entry) {
+ lopt = h->init(ccp);
+ if (lopt) {
+ lopt->h = h;
+ list_add_tail(&lopt->entry, &ccp->options);
+ ccp->conf_req_len += lopt->len;
}
}
}
@@ -59,11 +57,10 @@ static void ccp_options_free(struct ppp_ccp_t *ccp)
{
struct ccp_option_t *lopt;
- while(!list_empty(&ccp->options))
- {
- lopt=list_entry(ccp->options.next,typeof(*lopt),entry);
+ while (!list_empty(&ccp->options)) {
+ lopt = list_entry(ccp->options.next, typeof(*lopt), entry);
list_del(&lopt->entry);
- lopt->h->free(ccp,lopt);
+ lopt->h->free(ccp, lopt);
}
}
@@ -89,18 +86,18 @@ static int ccp_set_flags(int fd, int isopen, int isup)
static struct ppp_layer_data_t *ccp_layer_init(struct ppp_t *ppp)
{
- struct ppp_ccp_t *ccp=_malloc(sizeof(*ccp));
- memset(ccp,0,sizeof(*ccp));
+ struct ppp_ccp_t *ccp = _malloc(sizeof(*ccp));
+ memset(ccp, 0, sizeof(*ccp));
log_ppp_debug("ccp_layer_init\n");
- ccp->ppp=ppp;
- ccp->fsm.ppp=ppp;
+ ccp->ppp = ppp;
+ ccp->fsm.ppp = ppp;
- ccp->hnd.proto=PPP_CCP;
- ccp->hnd.recv=ccp_recv;
+ ccp->hnd.proto = PPP_CCP;
+ ccp->hnd.recv = ccp_recv;
- ppp_register_unit_handler(ppp,&ccp->hnd);
+ ppp_register_unit_handler(ppp, &ccp->hnd);
INIT_LIST_HEAD(&ccp->options);
ccp_options_init(ccp);
@@ -110,14 +107,14 @@ static struct ppp_layer_data_t *ccp_layer_init(struct ppp_t *ppp)
ccp->fsm.proto = PPP_CCP;
ppp_fsm_init(&ccp->fsm);
- ccp->fsm.layer_up=ccp_layer_up;
- ccp->fsm.layer_finished=ccp_layer_down;
- ccp->fsm.send_conf_req=send_conf_req;
- ccp->fsm.send_conf_ack=send_conf_ack;
- ccp->fsm.send_conf_nak=send_conf_nak;
- ccp->fsm.send_conf_rej=send_conf_rej;
- ccp->fsm.send_term_req=send_term_req;
- ccp->fsm.send_term_ack=send_term_ack;
+ ccp->fsm.layer_up = ccp_layer_up;
+ ccp->fsm.layer_finished = ccp_layer_down;
+ ccp->fsm.send_conf_req = send_conf_req;
+ ccp->fsm.send_conf_ack = send_conf_ack;
+ ccp->fsm.send_conf_nak = send_conf_nak;
+ ccp->fsm.send_conf_rej = send_conf_rej;
+ ccp->fsm.send_term_req = send_term_req;
+ ccp->fsm.send_term_ack = send_term_ack;
INIT_LIST_HEAD(&ccp->ropt_list);
@@ -126,7 +123,7 @@ static struct ppp_layer_data_t *ccp_layer_init(struct ppp_t *ppp)
int ccp_layer_start(struct ppp_layer_data_t *ld)
{
- struct ppp_ccp_t *ccp=container_of(ld,typeof(*ccp),ld);
+ struct ppp_ccp_t *ccp = container_of(ld, typeof(*ccp), ld);
log_ppp_debug("ccp_layer_start\n");
@@ -149,23 +146,23 @@ int ccp_layer_start(struct ppp_layer_data_t *ld)
void ccp_layer_finish(struct ppp_layer_data_t *ld)
{
- struct ppp_ccp_t *ccp=container_of(ld,typeof(*ccp),ld);
+ struct ppp_ccp_t *ccp = container_of(ld, typeof(*ccp), ld);
log_ppp_debug("ccp_layer_finish\n");
ccp_set_flags(ccp->ppp->unit_fd, 0, 0);
ccp->fsm.fsm_state = FSM_Closed;
- ppp_layer_finished(ccp->ppp,&ccp->ld);
+ ppp_layer_finished(ccp->ppp, &ccp->ld);
}
void ccp_layer_free(struct ppp_layer_data_t *ld)
{
- struct ppp_ccp_t *ccp=container_of(ld,typeof(*ccp),ld);
+ struct ppp_ccp_t *ccp = container_of(ld, typeof(*ccp), ld);
log_ppp_debug("ccp_layer_free\n");
- ppp_unregister_handler(ccp->ppp,&ccp->hnd);
+ ppp_unregister_handler(ccp->ppp, &ccp->hnd);
ccp_options_free(ccp);
ppp_fsm_free(&ccp->fsm);
@@ -174,7 +171,8 @@ void ccp_layer_free(struct ppp_layer_data_t *ld)
static void ccp_layer_up(struct ppp_fsm_t *fsm)
{
- struct ppp_ccp_t *ccp=container_of(fsm,typeof(*ccp),fsm);
+ struct ppp_ccp_t *ccp = container_of(fsm, typeof(*ccp), fsm);
+
log_ppp_debug("ccp_layer_started\n");
if (!ccp->started) {
@@ -183,31 +181,32 @@ static void ccp_layer_up(struct ppp_fsm_t *fsm)
ppp_terminate(ccp->ppp, 0);
return;
}
- ppp_layer_started(ccp->ppp,&ccp->ld);
+ ppp_layer_started(ccp->ppp, &ccp->ld);
}
}
static void ccp_layer_down(struct ppp_fsm_t *fsm)
{
- struct ppp_ccp_t *ccp=container_of(fsm,typeof(*ccp),fsm);
+ struct ppp_ccp_t *ccp = container_of(fsm, typeof(*ccp), fsm);
+
log_ppp_debug("ccp_layer_finished\n");
+
if (!ccp->started)
ppp_layer_started(ccp->ppp, &ccp->ld);
ccp->started = 0;
- ppp_layer_finished(ccp->ppp,&ccp->ld);
+ ppp_layer_finished(ccp->ppp, &ccp->ld);
}
static void print_ropt(struct recv_opt_t *ropt)
{
int i;
- uint8_t *ptr=(uint8_t*)ropt->hdr;
+ uint8_t *ptr = (uint8_t*)ropt->hdr;
- log_ppp_debug(" <");
- for(i=0; i<ropt->len; i++)
- {
- log_ppp_debug(" %x",ptr[i]);
+ log_ppp_info("<");
+ for (i = 0; i < ropt->len; i++) {
+ log_ppp_info(" %x", ptr[i]);
}
- log_ppp_debug(" >");
+ log_ppp_info(" >");
}
static int send_conf_req(struct ppp_fsm_t *fsm)
@@ -233,24 +232,27 @@ static int send_conf_req(struct ppp_fsm_t *fsm)
ptr = (uint8_t*)(ccp_hdr + 1);
- log_ppp_debug("send [CCP ConfReq id=%x", ccp_hdr->id);
+ if (conf_ppp_verbose)
+ log_ppp_info("send [CCP ConfReq id=%x", ccp_hdr->id);
- list_for_each_entry(lopt,&ccp->options,entry) {
- n = lopt->h->send_conf_req(ccp,lopt,ptr);
+ list_for_each_entry(lopt, &ccp->options, entry) {
+ n = lopt->h->send_conf_req(ccp, lopt, ptr);
if (n < 0)
return -1;
if (n) {
- log_ppp_debug(" ");
- lopt->h->print(log_ppp_debug, lopt, NULL);
- lopt->state = CCP_OPT_ACK;
+ if (conf_ppp_verbose) {
+ log_ppp_info(" ");
+ lopt->h->print(log_ppp_info, lopt, NULL);
+ }
}
ptr += n;
}
- log_ppp_debug("]\n");
+ if (conf_ppp_verbose)
+ log_ppp_info("]\n");
- ccp_hdr->len = htons((ptr-buf)-2);
- ppp_unit_send(ccp->ppp, ccp_hdr, ptr-buf);
+ ccp_hdr->len = htons(ptr - buf - 2);
+ ppp_unit_send(ccp->ppp, ccp_hdr, ptr - buf);
_free(buf);
@@ -259,86 +261,94 @@ static int send_conf_req(struct ppp_fsm_t *fsm)
static void send_conf_ack(struct ppp_fsm_t *fsm)
{
- struct ppp_ccp_t *ccp=container_of(fsm,typeof(*ccp),fsm);
- struct ccp_hdr_t *hdr=(struct ccp_hdr_t*)ccp->ppp->unit_buf;
+ struct ppp_ccp_t *ccp = container_of(fsm, typeof(*ccp), fsm);
+ struct ccp_hdr_t *hdr = (struct ccp_hdr_t*)ccp->ppp->unit_buf;
+
+ hdr->code = CONFACK;
- hdr->code=CONFACK;
- log_ppp_debug("send [CCP ConfAck id=%x ]\n",ccp->fsm.recv_id);
+ if (conf_ppp_verbose)
+ log_ppp_info("send [CCP ConfAck id=%x]\n", ccp->fsm.recv_id);
ppp_unit_send(ccp->ppp,hdr,ntohs(hdr->len)+2);
}
static void send_conf_nak(struct ppp_fsm_t *fsm)
{
- struct ppp_ccp_t *ccp=container_of(fsm,typeof(*ccp),fsm);
- uint8_t *buf=_malloc(ccp->conf_req_len), *ptr=buf;
- struct ccp_hdr_t *ccp_hdr=(struct ccp_hdr_t*)ptr;
+ struct ppp_ccp_t *ccp = container_of(fsm, typeof(*ccp), fsm);
+ uint8_t *buf = _malloc(ccp->conf_req_len), *ptr = buf;
+ struct ccp_hdr_t *ccp_hdr = (struct ccp_hdr_t*)ptr;
struct recv_opt_t *ropt;
- log_ppp_debug("send [CCP ConfNak id=%x",ccp->fsm.recv_id);
+ if (conf_ppp_verbose)
+ log_ppp_info("send [CCP ConfNak id=%x", ccp->fsm.recv_id);
- ccp_hdr->proto=htons(PPP_CCP);
- ccp_hdr->code=CONFNAK;
- ccp_hdr->id=ccp->fsm.recv_id;
- ccp_hdr->len=0;
+ ccp_hdr->proto = htons(PPP_CCP);
+ ccp_hdr->code = CONFNAK;
+ ccp_hdr->id = ccp->fsm.recv_id;
+ ccp_hdr->len = 0;
- ptr+=sizeof(*ccp_hdr);
+ ptr += sizeof(*ccp_hdr);
- list_for_each_entry(ropt,&ccp->ropt_list,entry)
- {
- if (ropt->state==CCP_OPT_NAK)
- {
- log_ppp_debug(" ");
- ropt->lopt->h->print(log_ppp_debug,ropt->lopt,NULL);
- ptr+=ropt->lopt->h->send_conf_nak(ccp,ropt->lopt,ptr);
+ list_for_each_entry(ropt, &ccp->ropt_list, entry) {
+ if (ropt->state == CCP_OPT_NAK) {
+ if (conf_ppp_verbose) {
+ log_ppp_info(" ");
+ ropt->lopt->h->print(log_ppp_info, ropt->lopt, NULL);
+ }
+ ptr += ropt->lopt->h->send_conf_nak(ccp, ropt->lopt, ptr);
}
}
- log_ppp_debug("]\n");
+ if (conf_ppp_verbose)
+ log_ppp_info("]\n");
- ccp_hdr->len=htons((ptr-buf)-2);
- ppp_unit_send(ccp->ppp,ccp_hdr,ptr-buf);
+ ccp_hdr->len = htons(ptr - buf - 2);
+ ppp_unit_send(ccp->ppp, ccp_hdr, ptr - buf);
_free(buf);
}
static void send_conf_rej(struct ppp_fsm_t *fsm)
{
- struct ppp_ccp_t *ccp=container_of(fsm,typeof(*ccp),fsm);
- uint8_t *buf=_malloc(ccp->ropt_len + sizeof(struct ccp_hdr_t)), *ptr=buf;
- struct ccp_hdr_t *ccp_hdr=(struct ccp_hdr_t*)ptr;
+ struct ppp_ccp_t *ccp = container_of(fsm, typeof(*ccp), fsm);
+ uint8_t *buf = _malloc(ccp->ropt_len + sizeof(struct ccp_hdr_t)), *ptr = buf;
+ struct ccp_hdr_t *ccp_hdr = (struct ccp_hdr_t*)ptr;
struct recv_opt_t *ropt;
- log_ppp_debug("send [CCP ConfRej id=%x ",ccp->fsm.recv_id);
+ if (conf_ppp_verbose)
+ log_ppp_info("send [CCP ConfRej id=%x", ccp->fsm.recv_id);
- ccp_hdr->proto=htons(PPP_CCP);
- ccp_hdr->code=CONFREJ;
- ccp_hdr->id=ccp->fsm.recv_id;
- ccp_hdr->len=0;
+ ccp_hdr->proto = htons(PPP_CCP);
+ ccp_hdr->code = CONFREJ;
+ ccp_hdr->id = ccp->fsm.recv_id;
+ ccp_hdr->len = 0;
- ptr+=sizeof(*ccp_hdr);
+ ptr += sizeof(*ccp_hdr);
- list_for_each_entry(ropt,&ccp->ropt_list,entry)
- {
- if (ropt->state==CCP_OPT_REJ)
- {
- log_ppp_debug(" ");
- if (ropt->lopt) ropt->lopt->h->print(log_ppp_debug,ropt->lopt,(uint8_t*)ropt->hdr);
- else print_ropt(ropt);
- memcpy(ptr,ropt->hdr,ropt->len);
- ptr+=ropt->len;
+ list_for_each_entry(ropt, &ccp->ropt_list, entry) {
+ if (ropt->state == CCP_OPT_REJ) {
+ if (conf_ppp_verbose) {
+ log_ppp_info(" ");
+ if (ropt->lopt)
+ ropt->lopt->h->print(log_ppp_info, ropt->lopt, (uint8_t*)ropt->hdr);
+ else
+ print_ropt(ropt);
+ }
+ memcpy(ptr, ropt->hdr, ropt->len);
+ ptr += ropt->len;
}
}
- log_ppp_debug("]\n");
+ if (conf_ppp_verbose)
+ log_ppp_info("]\n");
- ccp_hdr->len=htons((ptr-buf)-2);
- ppp_unit_send(ccp->ppp,ccp_hdr,ptr-buf);
+ ccp_hdr->len = htons(ptr - buf - 2);
+ ppp_unit_send(ccp->ppp, ccp_hdr, ptr-buf);
_free(buf);
}
-static int ccp_recv_conf_req(struct ppp_ccp_t *ccp,uint8_t *data,int size)
+static int ccp_recv_conf_req(struct ppp_ccp_t *ccp, uint8_t *data, int size)
{
struct ccp_opt_hdr_t *hdr;
struct recv_opt_t *ropt;
@@ -348,30 +358,35 @@ static int ccp_recv_conf_req(struct ppp_ccp_t *ccp,uint8_t *data,int size)
ccp->need_req = 0;
ccp->ropt_len = size;
- while(size>0)
- {
- hdr=(struct ccp_opt_hdr_t *)data;
-
- ropt=_malloc(sizeof(*ropt));
- memset(ropt,0,sizeof(*ropt));
- if (hdr->len>size) ropt->len=size;
- else ropt->len=hdr->len;
- ropt->hdr=hdr;
- ropt->state=CCP_OPT_NONE;
- list_add_tail(&ropt->entry,&ccp->ropt_list);
-
- data+=ropt->len;
- size-=ropt->len;
+ while (size > 0) {
+ hdr = (struct ccp_opt_hdr_t *)data;
+
+ ropt = _malloc(sizeof(*ropt));
+ memset(ropt, 0, sizeof(*ropt));
+
+ if (hdr->len > size)
+ ropt->len = size;
+ else
+ ropt->len = hdr->len;
+
+ ropt->hdr = hdr;
+ ropt->state = CCP_OPT_NONE;
+ list_add_tail(&ropt->entry, &ccp->ropt_list);
+
+ data += ropt->len;
+ size -= ropt->len;
}
- log_ppp_debug("recv [CCP ConfReq id=%x", ccp->fsm.recv_id);
- list_for_each_entry(ropt, &ccp->ropt_list, entry)
- {
- list_for_each_entry(lopt, &ccp->options, entry)
- {
+ if (conf_ppp_verbose)
+ log_ppp_info("recv [CCP ConfReq id=%x", ccp->fsm.recv_id);
+
+ list_for_each_entry(ropt, &ccp->ropt_list, entry) {
+ list_for_each_entry(lopt, &ccp->options, entry) {
if (lopt->id == ropt->hdr->id) {
- log_ppp_debug(" ");
- lopt->h->print(log_ppp_debug, lopt, (uint8_t*)ropt->hdr);
+ if (conf_ppp_verbose) {
+ log_ppp_info(" ");
+ lopt->h->print(log_ppp_info, lopt, (uint8_t*)ropt->hdr);
+ }
r = lopt->h->recv_conf_req(ccp, lopt, (uint8_t*)ropt->hdr);
if (ack) {
lopt->state = CCP_OPT_REJ;
@@ -391,13 +406,17 @@ static int ccp_recv_conf_req(struct ppp_ccp_t *ccp,uint8_t *data,int size)
if (ropt->state == CCP_OPT_ACK || ropt->state == CCP_OPT_NAK)
ack = 1;
else if (!ropt->lopt) {
- log_ppp_debug(" ");
- print_ropt(ropt);
+ if (conf_ppp_verbose) {
+ log_ppp_info(" ");
+ print_ropt(ropt);
+ }
ropt->state = CCP_OPT_REJ;
ret = CCP_OPT_REJ;
}
}
- log_ppp_debug("]\n");
+
+ if (conf_ppp_verbose)
+ log_ppp_info("]\n");
/*list_for_each_entry(lopt,&ccp->options,entry)
{
@@ -416,130 +435,136 @@ static void ccp_free_conf_req(struct ppp_ccp_t *ccp)
{
struct recv_opt_t *ropt;
- while(!list_empty(&ccp->ropt_list))
- {
- ropt=list_entry(ccp->ropt_list.next,typeof(*ropt),entry);
+ while (!list_empty(&ccp->ropt_list)) {
+ ropt = list_entry(ccp->ropt_list.next, typeof(*ropt), entry);
list_del(&ropt->entry);
_free(ropt);
}
}
-static int ccp_recv_conf_rej(struct ppp_ccp_t *ccp,uint8_t *data,int size)
+static int ccp_recv_conf_rej(struct ppp_ccp_t *ccp, uint8_t *data, int size)
{
struct ccp_opt_hdr_t *hdr;
struct ccp_option_t *lopt;
- int res=0;
+ int res = 0;
- log_ppp_debug("recv [CCP ConfRej id=%x",ccp->fsm.recv_id);
+ if (conf_ppp_verbose)
+ log_ppp_info("recv [CCP ConfRej id=%x", ccp->fsm.recv_id);
- if (ccp->fsm.recv_id!=ccp->fsm.id)
- {
- log_ppp_debug(": id mismatch ]\n");
+ if (ccp->fsm.recv_id != ccp->fsm.id) {
+ if (conf_ppp_verbose)
+ log_ppp_info(": id mismatch ]\n");
return 0;
}
- while(size>0)
- {
- hdr=(struct ccp_opt_hdr_t *)data;
+ while (size > 0) {
+ hdr = (struct ccp_opt_hdr_t *)data;
- list_for_each_entry(lopt,&ccp->options,entry)
- {
- if (lopt->id==hdr->id)
- {
+ list_for_each_entry(lopt, &ccp->options, entry) {
+ if (lopt->id == hdr->id) {
if (!lopt->h->recv_conf_rej)
- res=-1;
- else if (lopt->h->recv_conf_rej(ccp,lopt,data))
- res=-1;
+ res = -1;
+ else if (lopt->h->recv_conf_rej(ccp, lopt, data))
+ res = -1;
break;
}
}
- data+=hdr->len;
- size-=hdr->len;
+ data += hdr->len;
+ size -= hdr->len;
}
- log_ppp_debug("]\n");
+
+ if (conf_ppp_verbose)
+ log_ppp_info("]\n");
+
return res;
}
-static int ccp_recv_conf_nak(struct ppp_ccp_t *ccp,uint8_t *data,int size)
+static int ccp_recv_conf_nak(struct ppp_ccp_t *ccp, uint8_t *data, int size)
{
struct ccp_opt_hdr_t *hdr;
struct ccp_option_t *lopt;
- int res=0;
+ int res = 0;
- log_ppp_debug("recv [CCP ConfNak id=%x",ccp->fsm.recv_id);
+ if (conf_ppp_verbose)
+ log_ppp_info("recv [CCP ConfNak id=%x", ccp->fsm.recv_id);
- if (ccp->fsm.recv_id!=ccp->fsm.id)
- {
- log_ppp_debug(": id mismatch ]\n");
+ if (ccp->fsm.recv_id != ccp->fsm.id) {
+ if (conf_ppp_verbose)
+ log_ppp_info(": id mismatch ]\n");
return 0;
}
- while(size>0)
- {
- hdr=(struct ccp_opt_hdr_t *)data;
+ while (size > 0) {
+ hdr = (struct ccp_opt_hdr_t *)data;
- list_for_each_entry(lopt,&ccp->options,entry)
- {
- if (lopt->id==hdr->id)
- {
- log_ppp_debug(" ");
- lopt->h->print(log_ppp_debug,lopt,data);
- if (lopt->h->recv_conf_nak(ccp,lopt,data))
- res=-1;
+ list_for_each_entry(lopt, &ccp->options, entry) {
+ if (lopt->id == hdr->id) {
+ if (conf_ppp_verbose) {
+ log_ppp_info(" ");
+ lopt->h->print(log_ppp_info, lopt, data);
+ }
+ if (lopt->h->recv_conf_nak(ccp, lopt, data))
+ res = -1;
break;
}
}
- data+=hdr->len;
- size-=hdr->len;
+ data += hdr->len;
+ size -= hdr->len;
}
- log_ppp_debug("]\n");
+
+ if (conf_ppp_verbose)
+ log_ppp_info("]\n");
+
return res;
}
-static int ccp_recv_conf_ack(struct ppp_ccp_t *ccp,uint8_t *data,int size)
+static int ccp_recv_conf_ack(struct ppp_ccp_t *ccp, uint8_t *data, int size)
{
struct ccp_opt_hdr_t *hdr;
struct ccp_option_t *lopt;
- int res=0;
+ int res = 0;
- log_ppp_debug("recv [CCP ConfAck id=%x",ccp->fsm.recv_id);
+ if (conf_ppp_verbose)
+ log_ppp_info("recv [CCP ConfAck id=%x", ccp->fsm.recv_id);
- if (ccp->fsm.recv_id!=ccp->fsm.id)
- {
- log_ppp_debug(": id mismatch ]\n");
+ if (ccp->fsm.recv_id != ccp->fsm.id) {
+ if (conf_ppp_verbose)
+ log_ppp_info(": id mismatch ]\n");
return 0;
}
- while(size>0)
- {
- hdr=(struct ccp_opt_hdr_t *)data;
+ while (size > 0) {
+ hdr = (struct ccp_opt_hdr_t *)data;
- list_for_each_entry(lopt,&ccp->options,entry)
- {
- if (lopt->id==hdr->id)
- {
- log_ppp_debug(" ");
- lopt->h->print(log_ppp_debug,lopt,data);
+ list_for_each_entry(lopt, &ccp->options, entry) {
+ if (lopt->id == hdr->id) {
+ if (conf_ppp_verbose) {
+ log_ppp_info(" ");
+ lopt->h->print(log_ppp_info,lopt,data);
+ }
if (!lopt->h->recv_conf_ack)
break;
- if (lopt->h->recv_conf_ack(ccp,lopt,data))
- res=-1;
+ if (lopt->h->recv_conf_ack(ccp, lopt, data))
+ res = -1;
break;
}
}
- data+=hdr->len;
- size-=hdr->len;
+ data += hdr->len;
+ size -= hdr->len;
}
- log_ppp_debug("]\n");
+
+ if (conf_ppp_verbose)
+ log_ppp_info("]\n");
+
return res;
}
static void send_term_req(struct ppp_fsm_t *fsm)
{
- struct ppp_ccp_t *ccp=container_of(fsm,typeof(*ccp),fsm);
+ struct ppp_ccp_t *ccp = container_of(fsm, typeof(*ccp), fsm);
struct ccp_hdr_t hdr = {
.proto = htons(PPP_CCP),
.code = TERMREQ,
@@ -547,14 +572,15 @@ static void send_term_req(struct ppp_fsm_t *fsm)
.len = htons(4),
};
- log_ppp_debug("send [CCP TermReq id=%i \"\"]\n",hdr.id);
+ if (conf_ppp_verbose)
+ log_ppp_info("send [CCP TermReq id=%i]\n", hdr.id);
ppp_chan_send(ccp->ppp, &hdr, 6);
}
static void send_term_ack(struct ppp_fsm_t *fsm)
{
- struct ppp_ccp_t *ccp=container_of(fsm,typeof(*ccp),fsm);
+ struct ppp_ccp_t *ccp = container_of(fsm, typeof(*ccp), fsm);
struct ccp_hdr_t hdr = {
.proto = htons(PPP_CCP),
.code = TERMACK,
@@ -562,7 +588,8 @@ static void send_term_ack(struct ppp_fsm_t *fsm)
.len = htons(4),
};
- log_ppp_debug("send [CCP TermAck id=%i \"\"]\n", hdr.id);
+ if (conf_ppp_verbose)
+ log_ppp_info("send [CCP TermAck id=%i]\n", hdr.id);
ppp_chan_send(ccp->ppp, &hdr, 6);
}
@@ -570,37 +597,32 @@ static void send_term_ack(struct ppp_fsm_t *fsm)
static void ccp_recv(struct ppp_handler_t*h)
{
struct ccp_hdr_t *hdr;
- struct ppp_ccp_t *ccp=container_of(h,typeof(*ccp),hnd);
+ struct ppp_ccp_t *ccp = container_of(h, typeof(*ccp), hnd);
int r;
- char *term_msg;
- if (ccp->fsm.fsm_state==FSM_Initial || ccp->fsm.fsm_state==FSM_Closed)
- {
- log_ppp_warn("CCP: discaring packet\n");
+ if (ccp->fsm.fsm_state == FSM_Initial || ccp->fsm.fsm_state == FSM_Closed) {
+ if (conf_ppp_verbose)
+ log_ppp_warn("CCP: discaring packet\n");
lcp_send_proto_rej(ccp->ppp, htons(PPP_CCP));
return;
}
- if (ccp->ppp->unit_buf_size<PPP_HEADERLEN+2)
- {
+ if (ccp->ppp->unit_buf_size < PPP_HEADERLEN + 2) {
log_ppp_warn("CCP: short packet received\n");
return;
}
- hdr=(struct ccp_hdr_t *)ccp->ppp->unit_buf;
- if (ntohs(hdr->len)<PPP_HEADERLEN)
- {
+ hdr = (struct ccp_hdr_t *)ccp->ppp->unit_buf;
+ if (ntohs(hdr->len) < PPP_HEADERLEN) {
log_ppp_warn("CCP: short packet received\n");
return;
}
- ccp->fsm.recv_id=hdr->id;
- switch(hdr->code)
- {
+ ccp->fsm.recv_id = hdr->id;
+ switch(hdr->code) {
case CONFREQ:
- r=ccp_recv_conf_req(ccp,(uint8_t*)(hdr+1),ntohs(hdr->len)-PPP_HDRLEN);
- switch(r)
- {
+ r = ccp_recv_conf_req(ccp, (uint8_t*)(hdr + 1), ntohs(hdr->len) - PPP_HDRLEN);
+ switch(r) {
case CCP_OPT_ACK:
ppp_fsm_recv_conf_req_ack(&ccp->fsm);
break;
@@ -621,7 +643,7 @@ static void ccp_recv(struct ppp_handler_t*h)
ppp_terminate(ccp->ppp, 0);
break;
case CONFACK:
- if (ccp_recv_conf_ack(ccp,(uint8_t*)(hdr+1),ntohs(hdr->len)-PPP_HDRLEN))
+ if (ccp_recv_conf_ack(ccp, (uint8_t*)(hdr + 1), ntohs(hdr->len) - PPP_HDRLEN))
ppp_terminate(ccp->ppp, 0);
else {
ppp_fsm_recv_conf_ack(&ccp->fsm);
@@ -630,30 +652,29 @@ static void ccp_recv(struct ppp_handler_t*h)
}
break;
case CONFNAK:
- ccp_recv_conf_nak(ccp,(uint8_t*)(hdr+1),ntohs(hdr->len)-PPP_HDRLEN);
+ ccp_recv_conf_nak(ccp, (uint8_t*)(hdr + 1), ntohs(hdr->len) - PPP_HDRLEN);
ppp_fsm_recv_conf_rej(&ccp->fsm);
break;
case CONFREJ:
- if (ccp_recv_conf_rej(ccp,(uint8_t*)(hdr+1),ntohs(hdr->len)-PPP_HDRLEN))
+ if (ccp_recv_conf_rej(ccp, (uint8_t*)(hdr + 1),ntohs(hdr->len) - PPP_HDRLEN))
ppp_terminate(ccp->ppp, 0);
else
ppp_fsm_recv_conf_rej(&ccp->fsm);
break;
case TERMREQ:
- term_msg=_strndup((char*)(hdr+1),ntohs(hdr->len) - 4);
- log_ppp_debug("recv [CCP TermReq id=%x \"%s\"]\n",hdr->id,term_msg);
- _free(term_msg);
+ if (conf_ppp_verbose)
+ log_ppp_info("recv [CCP TermReq id=%x]\n", hdr->id);
ppp_fsm_recv_term_req(&ccp->fsm);
ppp_fsm_close(&ccp->fsm);
break;
case TERMACK:
- term_msg=_strndup((char*)(hdr+1),ntohs(hdr->len) - 4);
- log_ppp_debug("recv [CCP TermAck id=%x \"%s\"]\n",hdr->id,term_msg);
- _free(term_msg);
+ if (conf_ppp_verbose)
+ log_ppp_info("recv [CCP TermAck id=%x]\n", hdr->id);
ppp_fsm_recv_term_ack(&ccp->fsm);
break;
case CODEREJ:
- log_ppp_debug("recv [CCP CodeRej id=%x]\n",hdr->id);
+ if (conf_ppp_verbose)
+ log_ppp_info("recv [CCP CodeRej id=%x]\n", hdr->id);
ppp_fsm_recv_code_rej_bad(&ccp->fsm);
break;
default:
@@ -690,13 +711,14 @@ struct ccp_option_t *ccp_find_option(struct ppp_t *ppp, struct ccp_option_handle
static struct ppp_layer_t ccp_layer=
{
- .init=ccp_layer_init,
- .start=ccp_layer_start,
- .finish=ccp_layer_finish,
- .free=ccp_layer_free,
+ .init = ccp_layer_init,
+ .start = ccp_layer_start,
+ .finish = ccp_layer_finish,
+ .free = ccp_layer_free,
};
static void __init ccp_init(void)
{
- ppp_register_layer("ccp",&ccp_layer);
+ ppp_register_layer("ccp", &ccp_layer);
}
+