mirror of
https://github.com/lwip-tcpip/lwip.git
synced 2024-10-05 22:29:49 +00:00
PPP, CCP, various compiler warnings fix
This commit is contained in:
parent
b92ac33022
commit
794c93b540
@ -223,7 +223,7 @@ static void ccp_up (fsm *);
|
|||||||
static void ccp_down (fsm *);
|
static void ccp_down (fsm *);
|
||||||
static int ccp_extcode (fsm *, int, int, u_char *, int);
|
static int ccp_extcode (fsm *, int, int, u_char *, int);
|
||||||
static void ccp_rack_timeout (void *);
|
static void ccp_rack_timeout (void *);
|
||||||
static char *method_name (ccp_options *, ccp_options *);
|
static const char *method_name (ccp_options *, ccp_options *);
|
||||||
|
|
||||||
static const fsm_callbacks ccp_callbacks = {
|
static const fsm_callbacks ccp_callbacks = {
|
||||||
ccp_resetci,
|
ccp_resetci,
|
||||||
@ -471,6 +471,8 @@ static void ccp_input(ppp_pcb *pcb, u_char *p, int len) {
|
|||||||
*/
|
*/
|
||||||
static int ccp_extcode(fsm *f, int code, int id, u_char *p, int len) {
|
static int ccp_extcode(fsm *f, int code, int id, u_char *p, int len) {
|
||||||
ppp_pcb *pcb = f->pcb;
|
ppp_pcb *pcb = f->pcb;
|
||||||
|
LWIP_UNUSED_ARG(p);
|
||||||
|
LWIP_UNUSED_ARG(len);
|
||||||
|
|
||||||
switch (code) {
|
switch (code) {
|
||||||
case CCP_RESETREQ:
|
case CCP_RESETREQ:
|
||||||
@ -500,7 +502,9 @@ static int ccp_extcode(fsm *f, int code, int id, u_char *p, int len) {
|
|||||||
*/
|
*/
|
||||||
static void ccp_protrej(ppp_pcb *pcb) {
|
static void ccp_protrej(ppp_pcb *pcb) {
|
||||||
fsm *f = &pcb->ccp_fsm;
|
fsm *f = &pcb->ccp_fsm;
|
||||||
|
#ifdef MPPE
|
||||||
ccp_options *go = &pcb->ccp_gotoptions;
|
ccp_options *go = &pcb->ccp_gotoptions;
|
||||||
|
#endif
|
||||||
|
|
||||||
ccp_flags_set(pcb, 0, 0);
|
ccp_flags_set(pcb, 0, 0);
|
||||||
fsm_lowerdown(f);
|
fsm_lowerdown(f);
|
||||||
@ -877,10 +881,11 @@ static int ccp_nakci(fsm *f, u_char *p, int len, int treat_as_reject) {
|
|||||||
ppp_pcb *pcb = f->pcb;
|
ppp_pcb *pcb = f->pcb;
|
||||||
ccp_options *go = &pcb->ccp_gotoptions;
|
ccp_options *go = &pcb->ccp_gotoptions;
|
||||||
ccp_options no; /* options we've seen already */
|
ccp_options no; /* options we've seen already */
|
||||||
ccp_options try; /* options to ask for next time */
|
ccp_options try_; /* options to ask for next time */
|
||||||
|
LWIP_UNUSED_ARG(treat_as_reject);
|
||||||
|
|
||||||
memset(&no, 0, sizeof(no));
|
memset(&no, 0, sizeof(no));
|
||||||
try = *go;
|
try_ = *go;
|
||||||
|
|
||||||
#ifdef MPPE
|
#ifdef MPPE
|
||||||
if (go->mppe && len >= CILEN_MPPE
|
if (go->mppe && len >= CILEN_MPPE
|
||||||
@ -890,16 +895,16 @@ static int ccp_nakci(fsm *f, u_char *p, int len, int treat_as_reject) {
|
|||||||
* Peer wants us to use a different strength or other setting.
|
* Peer wants us to use a different strength or other setting.
|
||||||
* Fail if we aren't willing to use his suggestion.
|
* Fail if we aren't willing to use his suggestion.
|
||||||
*/
|
*/
|
||||||
MPPE_CI_TO_OPTS(&p[2], try.mppe);
|
MPPE_CI_TO_OPTS(&p[2], try_.mppe);
|
||||||
if ((try.mppe & MPPE_OPT_STATEFUL) && refuse_mppe_stateful) {
|
if ((try_.mppe & MPPE_OPT_STATEFUL) && refuse_mppe_stateful) {
|
||||||
ppp_error("Refusing MPPE stateful mode offered by peer");
|
ppp_error("Refusing MPPE stateful mode offered by peer");
|
||||||
try.mppe = 0;
|
try_.mppe = 0;
|
||||||
} else if (((go->mppe | MPPE_OPT_STATEFUL) & try.mppe) != try.mppe) {
|
} else if (((go->mppe | MPPE_OPT_STATEFUL) & try_.mppe) != try_.mppe) {
|
||||||
/* Peer must have set options we didn't request (suggest) */
|
/* Peer must have set options we didn't request (suggest) */
|
||||||
try.mppe = 0;
|
try_.mppe = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!try.mppe) {
|
if (!try_.mppe) {
|
||||||
ppp_error("MPPE required but peer negotiation failed");
|
ppp_error("MPPE required but peer negotiation failed");
|
||||||
lcp_close(pcb, "MPPE required but peer negotiation failed");
|
lcp_close(pcb, "MPPE required but peer negotiation failed");
|
||||||
}
|
}
|
||||||
@ -916,9 +921,9 @@ static int ccp_nakci(fsm *f, u_char *p, int len, int treat_as_reject) {
|
|||||||
if (DEFLATE_METHOD(p[2]) != DEFLATE_METHOD_VAL
|
if (DEFLATE_METHOD(p[2]) != DEFLATE_METHOD_VAL
|
||||||
|| DEFLATE_SIZE(p[2]) < DEFLATE_MIN_WORKS
|
|| DEFLATE_SIZE(p[2]) < DEFLATE_MIN_WORKS
|
||||||
|| p[3] != DEFLATE_CHK_SEQUENCE)
|
|| p[3] != DEFLATE_CHK_SEQUENCE)
|
||||||
try.deflate = 0;
|
try_.deflate = 0;
|
||||||
else if (DEFLATE_SIZE(p[2]) < go->deflate_size)
|
else if (DEFLATE_SIZE(p[2]) < go->deflate_size)
|
||||||
try.deflate_size = DEFLATE_SIZE(p[2]);
|
try_.deflate_size = DEFLATE_SIZE(p[2]);
|
||||||
p += CILEN_DEFLATE;
|
p += CILEN_DEFLATE;
|
||||||
len -= CILEN_DEFLATE;
|
len -= CILEN_DEFLATE;
|
||||||
if (go->deflate_correct && go->deflate_draft
|
if (go->deflate_correct && go->deflate_draft
|
||||||
@ -937,9 +942,9 @@ static int ccp_nakci(fsm *f, u_char *p, int len, int treat_as_reject) {
|
|||||||
* or a different version.
|
* or a different version.
|
||||||
*/
|
*/
|
||||||
if (BSD_VERSION(p[2]) != BSD_CURRENT_VERSION)
|
if (BSD_VERSION(p[2]) != BSD_CURRENT_VERSION)
|
||||||
try.bsd_compress = 0;
|
try_.bsd_compress = 0;
|
||||||
else if (BSD_NBITS(p[2]) < go->bsd_bits)
|
else if (BSD_NBITS(p[2]) < go->bsd_bits)
|
||||||
try.bsd_bits = BSD_NBITS(p[2]);
|
try_.bsd_bits = BSD_NBITS(p[2]);
|
||||||
p += CILEN_BSD_COMPRESS;
|
p += CILEN_BSD_COMPRESS;
|
||||||
len -= CILEN_BSD_COMPRESS;
|
len -= CILEN_BSD_COMPRESS;
|
||||||
}
|
}
|
||||||
@ -951,7 +956,7 @@ static int ccp_nakci(fsm *f, u_char *p, int len, int treat_as_reject) {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
if (f->state != PPP_FSM_OPENED)
|
if (f->state != PPP_FSM_OPENED)
|
||||||
*go = try;
|
*go = try_;
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -961,9 +966,9 @@ static int ccp_nakci(fsm *f, u_char *p, int len, int treat_as_reject) {
|
|||||||
static int ccp_rejci(fsm *f, u_char *p, int len) {
|
static int ccp_rejci(fsm *f, u_char *p, int len) {
|
||||||
ppp_pcb *pcb = f->pcb;
|
ppp_pcb *pcb = f->pcb;
|
||||||
ccp_options *go = &pcb->ccp_gotoptions;
|
ccp_options *go = &pcb->ccp_gotoptions;
|
||||||
ccp_options try; /* options to request next time */
|
ccp_options try_; /* options to request next time */
|
||||||
|
|
||||||
try = *go;
|
try_ = *go;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Cope with empty configure-rejects by ceasing to send
|
* Cope with empty configure-rejects by ceasing to send
|
||||||
@ -986,7 +991,7 @@ static int ccp_rejci(fsm *f, u_char *p, int len) {
|
|||||||
if (p[2] != DEFLATE_MAKE_OPT(go->deflate_size)
|
if (p[2] != DEFLATE_MAKE_OPT(go->deflate_size)
|
||||||
|| p[3] != DEFLATE_CHK_SEQUENCE)
|
|| p[3] != DEFLATE_CHK_SEQUENCE)
|
||||||
return 0; /* Rej is bad */
|
return 0; /* Rej is bad */
|
||||||
try.deflate_correct = 0;
|
try_.deflate_correct = 0;
|
||||||
p += CILEN_DEFLATE;
|
p += CILEN_DEFLATE;
|
||||||
len -= CILEN_DEFLATE;
|
len -= CILEN_DEFLATE;
|
||||||
}
|
}
|
||||||
@ -995,29 +1000,29 @@ static int ccp_rejci(fsm *f, u_char *p, int len) {
|
|||||||
if (p[2] != DEFLATE_MAKE_OPT(go->deflate_size)
|
if (p[2] != DEFLATE_MAKE_OPT(go->deflate_size)
|
||||||
|| p[3] != DEFLATE_CHK_SEQUENCE)
|
|| p[3] != DEFLATE_CHK_SEQUENCE)
|
||||||
return 0; /* Rej is bad */
|
return 0; /* Rej is bad */
|
||||||
try.deflate_draft = 0;
|
try_.deflate_draft = 0;
|
||||||
p += CILEN_DEFLATE;
|
p += CILEN_DEFLATE;
|
||||||
len -= CILEN_DEFLATE;
|
len -= CILEN_DEFLATE;
|
||||||
}
|
}
|
||||||
if (!try.deflate_correct && !try.deflate_draft)
|
if (!try_.deflate_correct && !try_.deflate_draft)
|
||||||
try.deflate = 0;
|
try_.deflate = 0;
|
||||||
if (go->bsd_compress && len >= CILEN_BSD_COMPRESS
|
if (go->bsd_compress && len >= CILEN_BSD_COMPRESS
|
||||||
&& p[0] == CI_BSD_COMPRESS && p[1] == CILEN_BSD_COMPRESS) {
|
&& p[0] == CI_BSD_COMPRESS && p[1] == CILEN_BSD_COMPRESS) {
|
||||||
if (p[2] != BSD_MAKE_OPT(BSD_CURRENT_VERSION, go->bsd_bits))
|
if (p[2] != BSD_MAKE_OPT(BSD_CURRENT_VERSION, go->bsd_bits))
|
||||||
return 0;
|
return 0;
|
||||||
try.bsd_compress = 0;
|
try_.bsd_compress = 0;
|
||||||
p += CILEN_BSD_COMPRESS;
|
p += CILEN_BSD_COMPRESS;
|
||||||
len -= CILEN_BSD_COMPRESS;
|
len -= CILEN_BSD_COMPRESS;
|
||||||
}
|
}
|
||||||
if (go->predictor_1 && len >= CILEN_PREDICTOR_1
|
if (go->predictor_1 && len >= CILEN_PREDICTOR_1
|
||||||
&& p[0] == CI_PREDICTOR_1 && p[1] == CILEN_PREDICTOR_1) {
|
&& p[0] == CI_PREDICTOR_1 && p[1] == CILEN_PREDICTOR_1) {
|
||||||
try.predictor_1 = 0;
|
try_.predictor_1 = 0;
|
||||||
p += CILEN_PREDICTOR_1;
|
p += CILEN_PREDICTOR_1;
|
||||||
len -= CILEN_PREDICTOR_1;
|
len -= CILEN_PREDICTOR_1;
|
||||||
}
|
}
|
||||||
if (go->predictor_2 && len >= CILEN_PREDICTOR_2
|
if (go->predictor_2 && len >= CILEN_PREDICTOR_2
|
||||||
&& p[0] == CI_PREDICTOR_2 && p[1] == CILEN_PREDICTOR_2) {
|
&& p[0] == CI_PREDICTOR_2 && p[1] == CILEN_PREDICTOR_2) {
|
||||||
try.predictor_2 = 0;
|
try_.predictor_2 = 0;
|
||||||
p += CILEN_PREDICTOR_2;
|
p += CILEN_PREDICTOR_2;
|
||||||
len -= CILEN_PREDICTOR_2;
|
len -= CILEN_PREDICTOR_2;
|
||||||
}
|
}
|
||||||
@ -1026,7 +1031,7 @@ static int ccp_rejci(fsm *f, u_char *p, int len) {
|
|||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (f->state != PPP_FSM_OPENED)
|
if (f->state != PPP_FSM_OPENED)
|
||||||
*go = try;
|
*go = try_;
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
@ -1322,7 +1327,7 @@ static int ccp_reqci(fsm *f, u_char *p, int *lenp, int dont_nak) {
|
|||||||
/*
|
/*
|
||||||
* Make a string name for a compression method (or 2).
|
* Make a string name for a compression method (or 2).
|
||||||
*/
|
*/
|
||||||
static char *method_name(ccp_options *opt, ccp_options *opt2) {
|
static const char *method_name(ccp_options *opt, ccp_options *opt2) {
|
||||||
static char result[64];
|
static char result[64];
|
||||||
|
|
||||||
if (!ANY_COMPRESS(opt))
|
if (!ANY_COMPRESS(opt))
|
||||||
@ -1418,7 +1423,9 @@ static void ccp_up(fsm *f) {
|
|||||||
*/
|
*/
|
||||||
static void ccp_down(fsm *f) {
|
static void ccp_down(fsm *f) {
|
||||||
ppp_pcb *pcb = f->pcb;
|
ppp_pcb *pcb = f->pcb;
|
||||||
|
#ifdef MPPE
|
||||||
ccp_options *go = &pcb->ccp_gotoptions;
|
ccp_options *go = &pcb->ccp_gotoptions;
|
||||||
|
#endif
|
||||||
|
|
||||||
if (pcb->ccp_localstate & RACK_PENDING)
|
if (pcb->ccp_localstate & RACK_PENDING)
|
||||||
UNTIMEOUT(ccp_rack_timeout, f);
|
UNTIMEOUT(ccp_rack_timeout, f);
|
||||||
@ -1440,7 +1447,7 @@ static void ccp_down(fsm *f) {
|
|||||||
/*
|
/*
|
||||||
* Print the contents of a CCP packet.
|
* Print the contents of a CCP packet.
|
||||||
*/
|
*/
|
||||||
static char *ccp_codenames[] = {
|
static const char *ccp_codenames[] = {
|
||||||
"ConfReq", "ConfAck", "ConfNak", "ConfRej",
|
"ConfReq", "ConfAck", "ConfNak", "ConfRej",
|
||||||
"TermReq", "TermAck", "CodeRej",
|
"TermReq", "TermAck", "CodeRej",
|
||||||
NULL, NULL, NULL, NULL, NULL, NULL,
|
NULL, NULL, NULL, NULL, NULL, NULL,
|
||||||
@ -1461,7 +1468,7 @@ static int ccp_printpkt(u_char *p, int plen, void (*printer) (void *, const char
|
|||||||
if (len < HEADERLEN || len > plen)
|
if (len < HEADERLEN || len > plen)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if (code >= 1 && code <= sizeof(ccp_codenames) / sizeof(char *)
|
if (code >= 1 && code <= (int)(sizeof(ccp_codenames) / sizeof(char *))
|
||||||
&& ccp_codenames[code-1] != NULL)
|
&& ccp_codenames[code-1] != NULL)
|
||||||
printer(arg, " %s", ccp_codenames[code-1]);
|
printer(arg, " %s", ccp_codenames[code-1]);
|
||||||
else
|
else
|
||||||
@ -1538,6 +1545,8 @@ static int ccp_printpkt(u_char *p, int plen, void (*printer) (void *, const char
|
|||||||
p += CILEN_PREDICTOR_2;
|
p += CILEN_PREDICTOR_2;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
while (p < optend)
|
while (p < optend)
|
||||||
printer(arg, " %.2x", *p++);
|
printer(arg, " %.2x", *p++);
|
||||||
@ -1553,6 +1562,8 @@ static int ccp_printpkt(u_char *p, int plen, void (*printer) (void *, const char
|
|||||||
len = 0;
|
len = 0;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* dump out the rest of the packet in hex */
|
/* dump out the rest of the packet in hex */
|
||||||
@ -1577,7 +1588,11 @@ static int ccp_printpkt(u_char *p, int plen, void (*printer) (void *, const char
|
|||||||
*/
|
*/
|
||||||
static void ccp_datainput(ppp_pcb *pcb, u_char *pkt, int len) {
|
static void ccp_datainput(ppp_pcb *pcb, u_char *pkt, int len) {
|
||||||
fsm *f;
|
fsm *f;
|
||||||
|
#ifdef MPPE
|
||||||
ccp_options *go = &pcb->ccp_gotoptions;
|
ccp_options *go = &pcb->ccp_gotoptions;
|
||||||
|
#endif
|
||||||
|
LWIP_UNUSED_ARG(pkt);
|
||||||
|
LWIP_UNUSED_ARG(len);
|
||||||
|
|
||||||
f = &pcb->ccp_fsm;
|
f = &pcb->ccp_fsm;
|
||||||
if (f->state == PPP_FSM_OPENED) {
|
if (f->state == PPP_FSM_OPENED) {
|
||||||
|
Loading…
Reference in New Issue
Block a user