EAP-MSCHAPv2 support finished
This commit is contained in:
@@ -294,14 +294,12 @@ void eap::peer_ttls_ui::invoke_identity_ui(
|
||||
if (eap::config_method::status_cred_begin <= cfg_method->m_inner->m_last_status && cfg_method->m_inner->m_last_status < eap::config_method::status_cred_end)
|
||||
dlg.AddContent(new wxEAPCredentialWarningPanel(*cfg_prov, cfg_method->m_inner->m_last_status, &dlg));
|
||||
wxEAPCredentialsPanelBase *panel = NULL;
|
||||
const eap::config_method_pap *cfg_inner_pap;
|
||||
const eap::config_method_mschapv2 *cfg_inner_mschapv2;
|
||||
if ((cfg_inner_pap = dynamic_cast<const eap::config_method_pap*>(cfg_method->m_inner.get())) != NULL)
|
||||
panel = new wxPAPCredentialsPanel(*cfg_prov, *cfg_inner_pap, *dynamic_cast<eap::credentials_pass*>(cred->m_inner.get()), &dlg, false);
|
||||
else if ((cfg_inner_mschapv2 = dynamic_cast<const eap::config_method_mschapv2*>(cfg_method->m_inner.get())) != NULL)
|
||||
panel = new wxMSCHAPv2CredentialsPanel(*cfg_prov, *cfg_inner_mschapv2, *dynamic_cast<eap::credentials_pass*>(cred->m_inner.get()), &dlg, false);
|
||||
else
|
||||
assert(0); // Unsupported inner authentication method type.
|
||||
switch (cfg_method->m_inner->get_method_id()) {
|
||||
case eap_type_legacy_pap : panel = new wxPAPCredentialsPanel (*cfg_prov, *dynamic_cast<const eap::config_method_pap *>(cfg_method->m_inner.get()), *dynamic_cast<eap::credentials_pass*>(cred->m_inner.get()), &dlg, false); break;
|
||||
case eap_type_legacy_mschapv2: panel = new wxMSCHAPv2CredentialsPanel(*cfg_prov, *dynamic_cast<const eap::config_method_mschapv2 *>(cfg_method->m_inner.get()), *dynamic_cast<eap::credentials_pass*>(cred->m_inner.get()), &dlg, false); break;
|
||||
case eap_type_mschapv2 : panel = new wxMSCHAPv2CredentialsPanel(*cfg_prov, *dynamic_cast<const eap::config_method_eapmschapv2*>(cfg_method->m_inner.get()), *dynamic_cast<eap::credentials_pass*>(cred->m_inner.get()), &dlg, false); break;
|
||||
default : wxLogError("Unsupported inner authentication method.");
|
||||
}
|
||||
panel->SetRemember(src_inner == eap::credentials::source_storage);
|
||||
dlg.AddContent(panel);
|
||||
|
||||
|
@@ -100,10 +100,11 @@ void wxTTLSConfigPanel::OnUpdateUI(wxUpdateUIEvent& event)
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
wxTTLSConfigWindow::wxTTLSConfigWindow(eap::config_provider &prov, eap::config_method &cfg, wxWindow* parent) :
|
||||
m_cfg_pap (cfg.m_module, cfg.m_level + 1),
|
||||
m_cfg_mschapv2(cfg.m_module, cfg.m_level + 1),
|
||||
m_cfg_pap (cfg.m_module, cfg.m_level + 1),
|
||||
m_cfg_mschapv2 (cfg.m_module, cfg.m_level + 1),
|
||||
m_cfg_eapmschapv2(cfg.m_module, cfg.m_level + 1),
|
||||
#ifdef EAP_INNER_EAPHOST
|
||||
m_cfg_eaphost (cfg.m_module, cfg.m_level + 1),
|
||||
m_cfg_eaphost (cfg.m_module, cfg.m_level + 1),
|
||||
#endif
|
||||
wxEAPConfigWindow(prov, cfg, parent)
|
||||
{
|
||||
@@ -124,6 +125,8 @@ wxTTLSConfigWindow::wxTTLSConfigWindow(eap::config_provider &prov, eap::config_m
|
||||
m_inner_type->AddPage(panel_pap, _("PAP"));
|
||||
wxMSCHAPv2ConfigPanel *panel_mschapv2 = new wxMSCHAPv2ConfigPanel(m_prov, m_cfg_mschapv2, m_inner_type);
|
||||
m_inner_type->AddPage(panel_mschapv2, _("MSCHAPv2"));
|
||||
wxMSCHAPv2ConfigPanel *panel_eapmschapv2 = new wxMSCHAPv2ConfigPanel(m_prov, m_cfg_eapmschapv2, m_inner_type);
|
||||
m_inner_type->AddPage(panel_eapmschapv2, _("EAP-MSCHAPv2"));
|
||||
#ifdef EAP_INNER_EAPHOST
|
||||
wxEapHostConfigPanel *panel_eaphost = new wxEapHostConfigPanel(m_prov, m_cfg_eaphost, m_inner_type);
|
||||
m_inner_type->AddPage(panel_eaphost, _("Other EAP methods..."));
|
||||
@@ -190,6 +193,11 @@ bool wxTTLSConfigWindow::TransferDataToWindow()
|
||||
m_inner_type->SetSelection(1); // 1=MSCHAPv2
|
||||
break;
|
||||
|
||||
case winstd::eap_type_mschapv2:
|
||||
m_cfg_eapmschapv2 = dynamic_cast<eap::config_method_eapmschapv2&>(*cfg_ttls.m_inner);
|
||||
m_inner_type->SetSelection(2); // 2=EAP-MSCHAPv2
|
||||
break;
|
||||
|
||||
default:
|
||||
wxFAIL_MSG(wxT("Unsupported inner authentication method type."));
|
||||
}
|
||||
@@ -198,7 +206,7 @@ bool wxTTLSConfigWindow::TransferDataToWindow()
|
||||
else {
|
||||
// EapHost inner method
|
||||
m_cfg_eaphost = *cfg_inner_eaphost;
|
||||
m_inner_type->SetSelection(2); // 2=EapHost
|
||||
m_inner_type->SetSelection(3); // 3=EapHost
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -225,8 +233,12 @@ bool wxTTLSConfigWindow::TransferDataFromWindow()
|
||||
cfg_ttls.m_inner.reset(new eap::config_method_mschapv2(m_cfg_mschapv2));
|
||||
break;
|
||||
|
||||
case 2: // 2=EAP-MSCHAPv2
|
||||
cfg_ttls.m_inner.reset(new eap::config_method_eapmschapv2(m_cfg_eapmschapv2));
|
||||
break;
|
||||
|
||||
#ifdef EAP_INNER_EAPHOST
|
||||
case 2: // 2=EapHost
|
||||
case 3: // 3=EapHost
|
||||
cfg_ttls.m_inner.reset(new eap::config_method_eaphost(m_cfg_eaphost));
|
||||
break;
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user