/******************************************** * * Set up anything that we will need for EAPoL. This includes setting the * default values for the state machine. * ********************************************/ int eapol_init(struct interface_data *newint) { if (!newint) { debug_printf(DEBUG_NORMAL, "NULL data passed in to eapol_init()!\n"); return XEMALLOC; } statemachine_init(newint); eap_init(newint); return XENONE; }
/** called when the lcp is up */ void ppp_lcp_up(npppd_ppp *_this) { #ifdef USE_NPPPD_MPPE if (MPPE_REQUIRED(_this) && !MPPE_MUST_NEGO(_this)) { ppp_log(_this, LOG_ERR, "MPPE is required, auth protocol must " "be MS-CHAP-V2 or EAP"); ppp_stop(_this, "Encryption required"); return; } #endif /* * Use our MRU value even if the peer insists on larger value. * We set the peer_mtu here, the value will be used as the MTU of the * routing entry. So we will not receive packets larger than the MTU. */ if (_this->peer_mru > _this->mru) _this->peer_mru = _this->mru; if (_this->peer_auth != 0 && _this->auth_runonce == 0) { if (AUTH_IS_PAP(_this)) { pap_start(&_this->pap); _this->auth_runonce = 1; return; } if (AUTH_IS_CHAP(_this)) { chap_start(&_this->chap); _this->auth_runonce = 1; return; } #ifdef USE_NPPPD_EAP_RADIUS if (AUTH_IS_EAP(_this)) { eap_init(&_this->eap, _this); eap_start(&_this->eap); return; } #endif } if (_this->peer_auth == 0) ppp_auth_ok(_this); }