From b32b63631a38e947f4824bf6c1d705bceff40a5a Mon Sep 17 00:00:00 2001 From: Simon Rozman Date: Wed, 3 Aug 2016 12:36:29 +0200 Subject: [PATCH] Guests are not allowed to save credentials --- lib/TTLS_UI/src/Module.cpp | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/lib/TTLS_UI/src/Module.cpp b/lib/TTLS_UI/src/Module.cpp index 98ee9d8..0dddbbb 100644 --- a/lib/TTLS_UI/src/Module.cpp +++ b/lib/TTLS_UI/src/Module.cpp @@ -76,16 +76,24 @@ bool eap::peer_ttls_ui::invoke_identity_ui( _Out_ LPWSTR *ppwszIdentity, _Out_ EAP_ERROR **ppEapError) { - UNREFERENCED_PARAMETER(dwFlags); - if (cfg.m_providers.empty() || cfg.m_providers.front().m_methods.empty()) { *ppEapError = make_error(ERROR_INVALID_PARAMETER, _T(__FUNCTION__) _T(" Configuration has no providers and/or methods.")); return false; } const config_provider &cfg_prov(cfg.m_providers.front()); - const config_method_ttls *cfg_method = dynamic_cast(cfg_prov.m_methods.front().get()); + config_method_ttls *cfg_method = dynamic_cast(cfg_prov.m_methods.front().get()); assert(cfg_method); + config_method_pap *cfg_inner_pap = dynamic_cast(cfg_method->m_inner.get()); + + if (dwFlags & EAP_FLAG_GUEST_ACCESS) { + // Disable credential saving for guests. + cfg_method->m_outer.m_allow_save = false; + if (cfg_inner_pap) + cfg_inner_pap->m_allow_save = false; + else + assert(0); // Unsupported inner authentication method type. + } // Initialize application. new wxApp();