mirror of
https://github.com/lwip-tcpip/lwip.git
synced 2025-02-24 09:39:59 +00:00
PPP, moved PAP configuration to ppp_settings struct
This commit is contained in:
parent
31d7293b17
commit
c719ba7bf3
@ -224,6 +224,14 @@ typedef struct ppp_settings_s {
|
||||
char remote_name[MAXNAMELEN + 1]; /* Peer's name for authentication */
|
||||
#endif /* PPP_REMOTENAME */
|
||||
|
||||
#if PAP_SUPPORT
|
||||
u8_t pap_timeout_time; /* Timeout (seconds) for auth-req retrans. */
|
||||
u8_t pap_max_transmits; /* Number of auth-reqs sent */
|
||||
#if PPP_SERVER
|
||||
u8_t pap_req_timeout; /* Time to wait for auth-req from peer */
|
||||
#endif /* PPP_SERVER */
|
||||
#endif /* PAP_SUPPPORT */
|
||||
|
||||
#if CHAP_SUPPORT
|
||||
u8_t chap_timeout_time; /* Timeout (seconds) for retransmitting req */
|
||||
u8_t chap_max_transmits; /* max # times to send challenge */
|
||||
|
@ -107,12 +107,7 @@ typedef struct upap_state {
|
||||
u8_t us_serverstate; /* Server state */
|
||||
#endif /* PPP_SERVER */
|
||||
u8_t us_id; /* Current id */
|
||||
u8_t us_timeouttime; /* Timeout (seconds) for auth-req retrans. */
|
||||
u8_t us_transmits; /* Number of auth-reqs sent */
|
||||
u8_t us_maxtransmits; /* Maximum number of auth-reqs to send */
|
||||
#if PPP_SERVER
|
||||
u8_t us_reqtimeout; /* Time to wait for auth-req from peer */
|
||||
#endif /* PPP_SERVER */
|
||||
} upap_state;
|
||||
#endif /* PAP_SUPPORT */
|
||||
|
||||
|
@ -257,6 +257,13 @@ ppp_pcb *ppp_new(void) {
|
||||
|
||||
/* default configuration */
|
||||
pcb->settings.usepeerdns = 1;
|
||||
#if PAP_SUPPORT
|
||||
pcb->settings.pap_timeout_time = UPAP_DEFTIMEOUT;
|
||||
pcb->settings.pap_max_transmits = UPAP_DEFTRANSMITS;
|
||||
#if PPP_SERVER
|
||||
pcb->settings.pap_req_timeout = UPAP_DEFREQTIME;
|
||||
#endif /* PPP_SERVER */
|
||||
#endif /* PAP_SUPPORT */
|
||||
#if CHAP_SUPPORT
|
||||
pcb->settings.chap_timeout_time = CHAP_DEFTIMEOUT;
|
||||
pcb->settings.chap_max_transmits = CHAP_DEFTRANSMITS;
|
||||
|
@ -143,11 +143,6 @@ static void upap_init(ppp_pcb *pcb) {
|
||||
pcb->upap.us_serverstate = UPAPSS_INITIAL;
|
||||
#endif /* PPP_SERVER */
|
||||
pcb->upap.us_id = 0;
|
||||
pcb->upap.us_timeouttime = UPAP_DEFTIMEOUT;
|
||||
pcb->upap.us_maxtransmits = UPAP_DEFTRANSMITS;
|
||||
#if PPP_SERVER
|
||||
pcb->upap.us_reqtimeout = UPAP_DEFREQTIME;
|
||||
#endif /* PPP_SERVER */
|
||||
}
|
||||
|
||||
|
||||
@ -194,8 +189,8 @@ void upap_authpeer(ppp_pcb *pcb) {
|
||||
}
|
||||
|
||||
pcb->upap.us_serverstate = UPAPSS_LISTEN;
|
||||
if (pcb->upap.us_reqtimeout > 0)
|
||||
TIMEOUT(upap_reqtimeout, pcb, pcb->upap.us_reqtimeout);
|
||||
if (pcb->settings.pap_req_timeout > 0)
|
||||
TIMEOUT(upap_reqtimeout, pcb, pcb->settings.pap_req_timeout);
|
||||
}
|
||||
#endif /* PPP_SERVER */
|
||||
|
||||
@ -208,7 +203,7 @@ static void upap_timeout(void *arg) {
|
||||
if (pcb->upap.us_clientstate != UPAPCS_AUTHREQ)
|
||||
return;
|
||||
|
||||
if (pcb->upap.us_transmits >= pcb->upap.us_maxtransmits) {
|
||||
if (pcb->upap.us_transmits >= pcb->settings.pap_max_transmits) {
|
||||
/* give up in disgust */
|
||||
ppp_error("No response to PAP authenticate-requests");
|
||||
pcb->upap.us_clientstate = UPAPCS_BADAUTH;
|
||||
@ -254,8 +249,8 @@ static void upap_lowerup(ppp_pcb *pcb) {
|
||||
pcb->upap.us_serverstate = UPAPSS_CLOSED;
|
||||
else if (pcb->upap.us_serverstate == UPAPSS_PENDING) {
|
||||
pcb->upap.us_serverstate = UPAPSS_LISTEN;
|
||||
if (pcb->upap.us_reqtimeout > 0)
|
||||
TIMEOUT(upap_reqtimeout, pcb, pcb->upap.us_reqtimeout);
|
||||
if (pcb->settings.pap_req_timeout > 0)
|
||||
TIMEOUT(upap_reqtimeout, pcb, pcb->settings.pap_req_timeout);
|
||||
}
|
||||
#endif /* PPP_SERVER */
|
||||
}
|
||||
@ -271,7 +266,7 @@ static void upap_lowerdown(ppp_pcb *pcb) {
|
||||
if (pcb->upap.us_clientstate == UPAPCS_AUTHREQ) /* Timeout pending? */
|
||||
UNTIMEOUT(upap_timeout, pcb); /* Cancel timeout */
|
||||
#if PPP_SERVER
|
||||
if (pcb->upap.us_serverstate == UPAPSS_LISTEN && pcb->upap.us_reqtimeout > 0)
|
||||
if (pcb->upap.us_serverstate == UPAPSS_LISTEN && pcb->settings.pap_req_timeout > 0)
|
||||
UNTIMEOUT(upap_reqtimeout, pcb);
|
||||
#endif /* PPP_SERVER */
|
||||
|
||||
@ -448,7 +443,7 @@ static void upap_rauthreq(ppp_pcb *pcb, u_char *inp, int id, int len) {
|
||||
auth_peer_fail(pcb, PPP_PAP);
|
||||
}
|
||||
|
||||
if (pcb->upap.us_reqtimeout > 0)
|
||||
if (pcb->settings.pap_req_timeout > 0)
|
||||
UNTIMEOUT(upap_reqtimeout, pcb);
|
||||
}
|
||||
#endif /* PPP_SERVER */
|
||||
@ -554,7 +549,7 @@ static void upap_sauthreq(ppp_pcb *pcb) {
|
||||
|
||||
ppp_write(pcb, p);
|
||||
|
||||
TIMEOUT(upap_timeout, pcb, pcb->upap.us_timeouttime);
|
||||
TIMEOUT(upap_timeout, pcb, pcb->settings.pap_timeout_time);
|
||||
++pcb->upap.us_transmits;
|
||||
pcb->upap.us_clientstate = UPAPCS_AUTHREQ;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user