EAP_INNER_EAPHOST is now 0/1 #defined

This commit is contained in:
2017-02-02 13:51:17 +01:00
parent 6ef00f3fc2
commit fc0bf839c2
13 changed files with 56 additions and 14 deletions

View File

@@ -83,6 +83,7 @@
<ClInclude Include="..\include\Credentials.h" />
<ClInclude Include="..\include\Method.h" />
<ClInclude Include="..\include\Module.h" />
<ClInclude Include="..\include\TTLS.h" />
<ClInclude Include="..\src\StdAfx.h" />
</ItemGroup>
<ItemGroup>

View File

@@ -26,6 +26,9 @@
<ClInclude Include="..\include\Module.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\include\TTLS.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\src\StdAfx.cpp">

View File

@@ -28,6 +28,7 @@ namespace eap
#pragma once
#include "Credentials.h"
#include "TTLS.h"
#include "../../TLS/include/Config.h"

View File

@@ -25,6 +25,8 @@ namespace eap
#pragma once
#include "TTLS.h"
#include "../../TLS/include/Credentials.h"
#include <memory>

View File

@@ -29,6 +29,7 @@ namespace eap
#include "Config.h"
#include "Credentials.h"
#include "TTLS.h"
#include "../../EAPBase/include/Method.h"

View File

@@ -28,6 +28,7 @@ namespace eap
#include "Config.h"
#include "Credentials.h"
#include "Method.h"
#include "TTLS.h"
namespace eap

31
lib/TTLS/include/TTLS.h Normal file
View File

@@ -0,0 +1,31 @@
/*
Copyright 2015-2017 Amebis
Copyright 2016-2017 GÉANT
This file is part of GÉANTLink.
GÉANTLink is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
GÉANTLink is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GÉANTLink. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
/// \addtogroup EAPBaseMethod
/// @{
#ifndef EAP_INNER_EAPHOST
///
/// EapHost inner method support
///
#define EAP_INNER_EAPHOST 0
#endif
/// @}

View File

@@ -268,7 +268,7 @@ eap::config_method* eap::config_method_ttls::make_config_method(_In_ winstd::eap
case eap_type_legacy_pap : return new config_method_pap (m_module, m_level + 1);
case eap_type_legacy_mschapv2: return new config_method_mschapv2 (m_module, m_level + 1);
case eap_type_mschapv2 : return new config_method_eapmschapv2(m_module, m_level + 1);
#ifdef EAP_INNER_EAPHOST
#if EAP_INNER_EAPHOST
default : return new config_method_eaphost (m_module, m_level + 1); // EapHost peer method handles all other method types
#else
default : throw invalid_argument(string_printf(__FUNCTION__ " Unsupported inner authentication method (%d).", eap_type));
@@ -282,7 +282,7 @@ eap::config_method* eap::config_method_ttls::make_config_method(_In_ const wchar
if (_wcsicmp(eap_type, L"PAP" ) == 0) return new config_method_pap (m_module, m_level + 1);
else if (_wcsicmp(eap_type, L"MSCHAPv2" ) == 0) return new config_method_mschapv2 (m_module, m_level + 1);
else if (_wcsicmp(eap_type, L"EAP-MSCHAPv2") == 0) return new config_method_eapmschapv2(m_module, m_level + 1);
#ifdef EAP_INNER_EAPHOST
#if EAP_INNER_EAPHOST
else if (_wcsicmp(eap_type, L"EapHost" ) == 0) return new config_method_eaphost (m_module, m_level + 1);
#endif
else throw invalid_argument(string_printf(__FUNCTION__ " Unsupported inner authentication method (%ls).", eap_type));

View File

@@ -53,7 +53,7 @@ void eap::peer_ttls::initialize()
MsiUseFeature(_T(PRODUCT_VERSION_GUID), _T("featEAPTTLS"));
#endif
#ifdef EAP_INNER_EAPHOST
#if EAP_INNER_EAPHOST
// Initialize EapHost based inner authentication methods.
DWORD dwResult = EapHostPeerInitialize();
if (dwResult != ERROR_SUCCESS)
@@ -73,7 +73,7 @@ void eap::peer_ttls::shutdown()
}
WaitForMultipleObjects((DWORD)chks.size(), chks.data(), TRUE, 10000);
#ifdef EAP_INNER_EAPHOST
#if EAP_INNER_EAPHOST
// Uninitialize EapHost. It was initialized for EapHost based inner authentication methods.
EapHostPeerUninitialize();
#endif
@@ -243,7 +243,7 @@ EAP_SESSION_HANDLE eap::peer_ttls::begin_session(
unique_ptr<method> meth_inner;
auto cfg_inner = cfg_method->m_inner.get();
auto cred_inner = dynamic_cast<credentials_ttls*>(s->m_cred.m_cred.get())->m_inner.get();
#ifdef EAP_INNER_EAPHOST
#if EAP_INNER_EAPHOST
auto cfg_inner_eaphost = dynamic_cast<config_method_eaphost*>(cfg_inner);
if (!cfg_inner_eaphost)
#endif
@@ -259,7 +259,7 @@ EAP_SESSION_HANDLE eap::peer_ttls::begin_session(
default: throw invalid_argument(__FUNCTION__ " Unsupported inner authentication method.");
}
}
#ifdef EAP_INNER_EAPHOST
#if EAP_INNER_EAPHOST
else {
// EapHost inner method
meth_inner.reset(

View File

@@ -20,6 +20,8 @@
#pragma once
#include "../include/TTLS.h"
#include "../include/Config.h"
#include "../include/Credentials.h"
#include "../include/Method.h"