Compare commits

...

32 Commits
1.3e ... master

Author SHA1 Message Date
5293dfc1a7 Upgrade code signing
This adds support for Microsoft Azure Trusted Signing and removes
signing of the Debug binaries to minimize the Trusted Signing API
volume.

Signed-off-by: Simon Rozman <simon@rozman.si>
2024-11-19 10:49:17 +01:00
2a918254f6 WinStd, stdex, wxExtend: Update
Signed-off-by: Simon Rozman <simon@rozman.si>
2024-11-19 10:44:41 +01:00
0f3070033f Stop reusing winstd::eap_attr after moved from
MSVC C26800 warned us an object is not guaranteed to be cleared after
being moved from. At least in std C++ implementations.

Thou winstd does clear all objects after being moved from, we could just
silence C26800 warning. But what if some day winstd behavior changes and
with us having this warning silenced?

std::eap_attr has no clear() method, therefore revert to using scope and
temporary object. It achieves the same effect as clear after moved from
does.

Signed-off-by: Simon Rozman <simon@rozman.si>
2022-10-28 14:07:00 +02:00
887129ccc0 WinStd: Update
Signed-off-by: Simon Rozman <simon@rozman.si>
2022-10-28 14:04:59 +02:00
511b8c04ea WinStd: Update
Signed-off-by: Simon Rozman <simon@rozman.si>
2022-10-13 12:39:47 +02:00
a174e42b3b Preset version to 1.3h
Signed-off-by: Simon Rozman <simon@rozman.si>
2022-10-03 19:35:40 +02:00
0ad6f61e15 WinStd, stdex: Update
Signed-off-by: Simon Rozman <simon@rozman.si>
2022-10-03 19:09:37 +02:00
5cffd63cf5 MSI: Install WLANManager.exe to user computer
It was being deployed as a satellite assembly since GÉANT didn't really
use it. For other deployments it proves useful. It is required to run it
on the user computer anyway, so no harm if the WLANManager.exe gets
installed.

Signed-off-by: Simon Rozman <simon@rozman.si>
2022-10-03 19:09:37 +02:00
3215cc0cc7 Makefile: Discontinue publishing binaries to GitHub
Publishing binaries to https://github.com/Amebis/GEANTLink-dist was a
customer requirement. As GÉANT is no longer deploying GÉANTLink, this
makes no sense any more.

Should anybody require this feature, please contact me.

Signed-off-by: Simon Rozman <simon@rozman.si>
2022-10-03 19:09:37 +02:00
97958040a3 Makefile: Cleanup
Signed-off-by: Simon Rozman <simon@rozman.si>
2022-10-03 19:09:37 +02:00
4f69180e3d Update translations from Transifex
Signed-off-by: Simon Rozman <simon@rozman.si>
2022-10-03 19:09:37 +02:00
232b374488 Preset version to 1.3g
Signed-off-by: Simon Rozman <simon@rozman.si>
2022-10-03 19:09:37 +02:00
b049b7eeb8 Set version to 1.3f
Signed-off-by: Simon Rozman <simon@rozman.si>
2022-04-07 08:58:57 +02:00
4d67075ff4 Update translations from Transifex
Signed-off-by: Simon Rozman <simon@rozman.si>
2022-04-07 08:56:55 +02:00
af7bbb5ae4 WinStd: Update
Signed-off-by: Simon Rozman <simon@rozman.si>
2022-04-07 08:52:22 +02:00
b0a7c5fd16 Enable MSVC Spectre mitigation
Signed-off-by: Simon Rozman <simon@rozman.si>
2022-03-21 09:17:11 +01:00
53845c6abe MSI: Simplify ProgramFiles(64)Folder property use
Signed-off-by: Simon Rozman <simon@rozman.si>
2022-03-14 11:37:33 +01:00
609d55cfeb stdex: Update
Signed-off-by: Simon Rozman <simon@rozman.si>
2022-03-07 11:46:45 +01:00
a2cab07a30 WinStd: Update
Signed-off-by: Simon Rozman <simon@rozman.si>
2022-03-03 18:02:31 +01:00
831dcf680c wxExtend: Update
Signed-off-by: Simon Rozman <simon@rozman.si>
2022-03-02 15:43:50 +01:00
52b29a48b8 MSIBuild: Update
Signed-off-by: Simon Rozman <simon@rozman.si>
2022-03-02 15:43:48 +01:00
8304e666a3 MSI: Discontinue prefixed row IDs in tables
humanSimon, is this really you? 😉

Signed-off-by: Simon Rozman <simon@rozman.si>
2022-02-15 12:50:30 +01:00
05d51ce6b6 WinStd: Update
Signed-off-by: Simon Rozman <simon@rozman.si>
2022-02-15 12:49:08 +01:00
4ed294171e WinStd, stdex: Update
Signed-off-by: Simon Rozman <simon@rozman.si>
2022-02-04 14:46:54 +01:00
db34e71705 Move vector_queue from WinStd to stdex
Signed-off-by: Simon Rozman <simon@rozman.si>
2022-02-04 14:45:07 +01:00
280e9206f2 stdex: Update
Signed-off-by: Simon Rozman <simon@rozman.si>
2022-02-03 15:42:04 +01:00
47b602e1fa WinStd: Update
Signed-off-by: Simon Rozman <simon@rozman.si>
2022-02-03 15:42:04 +01:00
19c523509b Move Hex from WinStd to stdex
Signed-off-by: Simon Rozman <simon@rozman.si>
2022-02-03 15:42:04 +01:00
a254dd527a Move Base64 from WinStd to stdex
Signed-off-by: Simon Rozman <simon@rozman.si>
2022-02-03 14:16:47 +01:00
6f92e82598 WinStd: Update
Signed-off-by: Simon Rozman <simon@rozman.si>
2022-02-03 13:03:59 +01:00
5e7f55880a Update Copyright and build year
Signed-off-by: Simon Rozman <simon@rozman.si>
2022-01-07 11:21:33 +01:00
84fae77ed3 Prepare PDB.zip file locally
The GEANTLink-dist repo is hosted on GitHub and hit the file size limit.

Signed-off-by: Simon Rozman <simon@rozman.si>
2021-12-01 15:35:36 +01:00
209 changed files with 510 additions and 460 deletions

3
.gitmodules vendored
View File

@ -7,3 +7,6 @@
[submodule "lib/wxExtend"]
path = lib/wxExtend
url = https://github.com/Amebis/wxExtend.git
[submodule "lib/stdex"]
path = lib/stdex
url = https://github.com/Amebis/stdex.git

Binary file not shown.

View File

@ -58,7 +58,7 @@
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>..\lib\Events\build\temp\Events.$(Platform).$(Configuration).$(PlatformToolset);..\lib\WinStd\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>..\lib\Events\build\temp\Events.$(Platform).$(Configuration).$(PlatformToolset);..\lib\WinStd\include;..\lib\stdex\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
@ -86,9 +86,6 @@
<ProjectReference Include="..\lib\TLS\build\TLS.vcxproj">
<Project>{4d40cb8a-812e-4f12-b23a-31af743878e8}</Project>
</ProjectReference>
<ProjectReference Include="..\lib\WinStd\build\WinStd.vcxproj">
<Project>{47399d91-7eb9-41de-b521-514ba5db0c43}</Project>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<None Include="README.md" />

View File

@ -1,12 +1,13 @@
/*
SPDX-License-Identifier: GPL-3.0-or-later
Copyright © 2015-2021 Amebis
Copyright © 2015-2022 Amebis
Copyright © 2016 GÉANT
*/
#include "PCH.h"
using namespace std;
using namespace stdex;
using namespace winstd;
class module_dummy : public eap::module {

View File

@ -1,6 +1,6 @@
/*
SPDX-License-Identifier: GPL-3.0-or-later
Copyright © 2015-2021 Amebis
Copyright © 2015-2022 Amebis
Copyright © 2016 GÉANT
*/

View File

@ -1,6 +1,6 @@
/*
SPDX-License-Identifier: GPL-3.0-or-later
Copyright © 2015-2021 Amebis
Copyright © 2015-2022 Amebis
Copyright © 2016 GÉANT
*/
@ -11,8 +11,8 @@
#include "../lib/EAPBase/include/Module.h"
#include <WinStd/Common.h>
#include <WinStd/Base64.h>
#include <WinStd/Win.h>
#include <stdex/base64.hpp>
#include <Windows.h>
#include <eaptypes.h> // Must include after <Windows.h>

View File

@ -10,7 +10,7 @@
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(ProjectDir);..\lib\Events\build\temp\Events.$(Platform).$(Configuration).$(PlatformToolset);..\lib\WinStd\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>$(ProjectDir);..\lib\Events\build\temp\Events.$(Platform).$(Configuration).$(PlatformToolset);..\lib\WinStd\include;..\lib\stdex\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
@ -20,8 +20,5 @@
<ProjectReference Include="..\lib\Events\build\Events.vcxproj">
<Project>{d63f24bd-92a0-4d6b-8b69-ed947e4d2b1b}</Project>
</ProjectReference>
<ProjectReference Include="..\lib\WinStd\build\WinStd.vcxproj">
<Project>{47399d91-7eb9-41de-b521-514ba5db0c43}</Project>
</ProjectReference>
</ItemGroup>
</Project>

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,6 +1,6 @@
/*
SPDX-License-Identifier: GPL-3.0-or-later
Copyright © 2015-2021 Amebis
Copyright © 2015-2022 Amebis
Copyright © 2016 GÉANT
*/

View File

@ -1,6 +1,6 @@
/*
SPDX-License-Identifier: GPL-3.0-or-later
Copyright © 2015-2021 Amebis
Copyright © 2015-2022 Amebis
Copyright © 2016 GÉANT
*/
@ -171,7 +171,7 @@ DWORD WINAPI EapPeerConfigBlob2Xml(
// Create configuration XML document.
com_obj<IXMLDOMDocument2> pConfigDoc;
if (FAILED(hr = pConfigDoc.create(CLSID_DOMDocument60, NULL, CLSCTX_INPROC_SERVER)))
if (FAILED(hr = CoCreateInstance(CLSID_DOMDocument60, NULL, CLSCTX_INPROC_SERVER, pConfigDoc)))
return dwResult = g_peer.log_error(ppEapError, HRESULT_CODE(hr), _T(__FUNCTION__) _T(" Error creating XML document."));
pConfigDoc->put_async(VARIANT_FALSE);

View File

@ -1,6 +1,6 @@
/*
SPDX-License-Identifier: GPL-3.0-or-later
Copyright © 2015-2021 Amebis
Copyright © 2015-2022 Amebis
Copyright © 2016 GÉANT
*/

View File

@ -1,6 +1,6 @@
/*
SPDX-License-Identifier: GPL-3.0-or-later
Copyright © 2015-2021 Amebis
Copyright © 2015-2022 Amebis
Copyright © 2016 GÉANT
*/

View File

@ -1,6 +1,6 @@
/*
SPDX-License-Identifier: GPL-3.0-or-later
Copyright © 2015-2021 Amebis
Copyright © 2015-2022 Amebis
Copyright © 2016 GÉANT
*/

View File

@ -1,6 +1,6 @@
/*
SPDX-License-Identifier: GPL-3.0-or-later
Copyright © 2015-2021 Amebis
Copyright © 2015-2022 Amebis
Copyright © 2016 GÉANT
*/

View File

@ -1,6 +1,6 @@
/*
SPDX-License-Identifier: GPL-3.0-or-later
Copyright © 2020-2021 Amebis
Copyright © 2020-2022 Amebis
Copyright © 2016 GÉANT
*/
@ -44,12 +44,15 @@ STDAPI DllRegisterServer()
try {
tstring sz, sz2;
reg_key key_methods, key_author, key_method;
if (!key_methods.open(HKEY_LOCAL_MACHINE, _T("SYSTEM\\CurrentControlSet\\services\\EapHost\\Methods"), 0, KEY_CREATE_SUB_KEY)) throw win_runtime_error();
LSTATUS s = RegOpenKeyEx(HKEY_LOCAL_MACHINE, _T("SYSTEM\\CurrentControlSet\\services\\EapHost\\Methods"), 0, KEY_CREATE_SUB_KEY, key_methods);
if (s != ERROR_SUCCESS) throw win_runtime_error(s);
sprintf(sz, _T("%u"), EAPMETHOD_AUTHOR_ID);
if (!key_author.create(key_methods, sz.c_str(), NULL, REG_OPTION_NON_VOLATILE, KEY_WRITE)) throw win_runtime_error();
s = RegCreateKeyEx(key_methods, sz.c_str(), NULL, NULL, REG_OPTION_NON_VOLATILE, KEY_WRITE, NULL, key_author, NULL);
if (s != ERROR_SUCCESS) throw win_runtime_error(s);
set_value(key_author, NULL, _T(PRODUCT_NAME_STR));
sprintf(sz, _T("%u"), EAPMETHOD_TYPE);
if (!key_method.create(key_author, sz.c_str(), NULL, REG_OPTION_NON_VOLATILE, KEY_WRITE)) throw win_runtime_error();
s = RegCreateKeyEx(key_author, sz.c_str(), NULL, NULL, REG_OPTION_NON_VOLATILE, KEY_WRITE, NULL, key_method, NULL);
if (s != ERROR_SUCCESS) throw win_runtime_error(s);
if (!GetModuleFileName(g_peer.m_instance, sz)) throw win_runtime_error("GetModuleFileName failed.");
sprintf(sz2, _T("@%s,-1"), sz.c_str());
set_value(key_method, _T("PeerDllPath") , sz);
@ -77,7 +80,8 @@ STDAPI DllUnregisterServer()
try {
tstring sz;
reg_key key_methods;
if (!key_methods.open(HKEY_LOCAL_MACHINE, _T("SYSTEM\\CurrentControlSet\\services\\EapHost\\Methods"), 0, KEY_READ)) throw win_runtime_error();
LSTATUS s = RegOpenKeyEx(HKEY_LOCAL_MACHINE, _T("SYSTEM\\CurrentControlSet\\services\\EapHost\\Methods"), 0, KEY_READ, key_methods);
if (s != ERROR_SUCCESS) throw win_runtime_error(s);
sprintf(sz, _T("%u\\%u"), EAPMETHOD_AUTHOR_ID, EAPMETHOD_TYPE);
if (!key_methods.delete_subkey(sz.c_str())) throw win_runtime_error();
} catch(...) {}

View File

@ -1,6 +1,6 @@
/*
SPDX-License-Identifier: GPL-3.0-or-later
Copyright © 2020-2021 Amebis
Copyright © 2020-2022 Amebis
Copyright © 2016 GÉANT
*/
@ -44,12 +44,15 @@ STDAPI DllRegisterServer()
try {
tstring sz;
reg_key key_methods, key_author, key_method;
if (!key_methods.open(HKEY_LOCAL_MACHINE, _T("SYSTEM\\CurrentControlSet\\services\\EapHost\\Methods"), 0, KEY_CREATE_SUB_KEY)) throw win_runtime_error();
LSTATUS s = RegOpenKeyEx(HKEY_LOCAL_MACHINE, _T("SYSTEM\\CurrentControlSet\\services\\EapHost\\Methods"), 0, KEY_CREATE_SUB_KEY, key_methods);
if (s != ERROR_SUCCESS) throw win_runtime_error(s);
sprintf(sz, _T("%u"), EAPMETHOD_AUTHOR_ID);
if (!key_author.create(key_methods, sz.c_str(), NULL, REG_OPTION_NON_VOLATILE, KEY_WRITE)) throw win_runtime_error();
s = RegCreateKeyEx(key_methods, sz.c_str(), NULL, NULL, REG_OPTION_NON_VOLATILE, KEY_WRITE, NULL, key_author, NULL);
if (s != ERROR_SUCCESS) throw win_runtime_error(s);
set_value(key_author, NULL, _T(PRODUCT_NAME_STR));
sprintf(sz, _T("%u"), EAPMETHOD_TYPE);
if (!key_method.create(key_author, sz.c_str(), NULL, REG_OPTION_NON_VOLATILE, KEY_WRITE)) throw win_runtime_error();
s = RegCreateKeyEx(key_author, sz.c_str(), NULL, NULL, REG_OPTION_NON_VOLATILE, KEY_WRITE, NULL, key_method, NULL);
if (s != ERROR_SUCCESS) throw win_runtime_error(s);
if (!GetModuleFileName(g_peer.m_instance, sz)) throw win_runtime_error("GetModuleFileName failed.");
set_value(key_method, _T("PeerConfigUIPath") , sz);
set_value(key_method, _T("PeerIdentityPath") , sz);
@ -78,7 +81,8 @@ STDAPI DllUnregisterServer()
try {
tstring sz;
reg_key key_methods;
if (!key_methods.open(HKEY_LOCAL_MACHINE, _T("SYSTEM\\CurrentControlSet\\services\\EapHost\\Methods"), 0, KEY_READ)) throw win_runtime_error();
LSTATUS s = RegOpenKeyEx(HKEY_LOCAL_MACHINE, _T("SYSTEM\\CurrentControlSet\\services\\EapHost\\Methods"), 0, KEY_READ, key_methods);
if (s != ERROR_SUCCESS) throw win_runtime_error(s);
sprintf(sz, _T("%u\\%u"), EAPMETHOD_AUTHOR_ID, EAPMETHOD_TYPE);
key_methods.delete_subkey(sz.c_str());
} catch(...) {}

View File

@ -15,7 +15,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: es\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
"X-Generator: Poedit 2.3\n"
"X-Poedit-Basepath: ../..\n"
"X-Poedit-KeywordsList: _\n"

View File

@ -1,7 +1,7 @@
#
# Translators:
# Dubravko Penezic <dpenezic@gmail.com>, 2018
# Simon Rozman <simon@rozman.si>, 2020
# Dubravko Penezic <dpenezic@gmail.com>, 2022
#
#, fuzzy
msgid ""
@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: EAPMethods\n"
"POT-Creation-Date: 2020-04-17 14:55+0200\n"
"PO-Revision-Date: 2016-08-25 06:18+0000\n"
"Last-Translator: Simon Rozman <simon@rozman.si>, 2020\n"
"Last-Translator: Dubravko Penezic <dpenezic@gmail.com>, 2022\n"
"Language-Team: Croatian (Croatia) (https://www.transifex.com/eduroam_devel/teams/11799/hr_HR/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@ -600,7 +600,7 @@ msgstr ""
#: lib/TLS_UI/src/TLS_UI.cpp:118
msgid "No certificate selected"
msgstr ""
msgstr "Nije odabran certifikat"
#: lib/TLS_UI/src/TLS_UI.cpp:118
msgid "Validation conflict"

View File

@ -2,6 +2,7 @@
# Translators:
# Daniele Albrizio <daniele@albrizio.it>, 2018
# Simon Rozman <simon@rozman.si>, 2020
# Daniele Albrizio <dalbrizio@gmail.com>, 2022
#
#, fuzzy
msgid ""
@ -9,13 +10,13 @@ msgstr ""
"Project-Id-Version: EAPMethods\n"
"POT-Creation-Date: 2020-04-17 14:55+0200\n"
"PO-Revision-Date: 2016-08-25 06:18+0000\n"
"Last-Translator: Simon Rozman <simon@rozman.si>, 2020\n"
"Last-Translator: Daniele Albrizio <dalbrizio@gmail.com>, 2022\n"
"Language-Team: Italian (Italy) (https://www.transifex.com/eduroam_devel/teams/11799/it_IT/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: it_IT\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
"X-Generator: Poedit 2.3\n"
"X-Poedit-Basepath: ../..\n"
"X-Poedit-KeywordsList: _\n"
@ -75,7 +76,7 @@ msgstr "Cancellazione delle credenziali non riuscita (errore %u)."
#: lib/EAPBase_UI/include/EAP_UI.h:924 lib/EAPBase_UI/include/EAP_UI.h:943
#: lib/EAPBase_UI/include/EAP_UI.h:952
msgid "(none)"
msgstr ""
msgstr "(nessuno)"
#: lib/EAPBase_UI/include/EAP_UI.h:928
#, c-format
@ -88,7 +89,7 @@ msgstr "(errore)"
#: lib/EAPBase_UI/include/EAP_UI.h:943 lib/EAPBase_UI/include/EAP_UI.h:952
msgid "(blank ID)"
msgstr ""
msgstr "(ID vuoto)"
#: lib/EAPBase_UI/include/EAP_UI.h:992
msgid "&Remember"
@ -329,6 +330,7 @@ msgstr "Identità"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:711
msgid "Select the user ID supplicant introduces itself as to authenticator:"
msgstr ""
"Seleziona l'ID utente con cui il supplicant si presenta all'autenticatore:"
#: lib/EAPBase_UI/res/wxEAP_UI.cpp:718
msgid "&True identity"
@ -528,6 +530,7 @@ msgstr "Fiducia nel Server"
#: lib/TLS_UI/res/wxTLS_UI.cpp:28
msgid "Describe the servers you trust to prevent man-in-the-middle attacks."
msgstr ""
"Descrivi i server di cui ti fidi per prevenire attacchi man-in-the-middle."
#: lib/TLS_UI/res/wxTLS_UI.cpp:35
msgid "Acceptable Certificate Authorities:"
@ -610,7 +613,7 @@ msgstr ""
#: lib/TLS_UI/src/TLS_UI.cpp:118
msgid "No certificate selected"
msgstr ""
msgstr "Nessun certificato selezionato "
#: lib/TLS_UI/src/TLS_UI.cpp:118
msgid "Validation conflict"
@ -714,7 +717,7 @@ msgstr "EAP-TTLS"
#: EAPMethods/MSIBuild.EAP-TTLS/en_US.Win32.Release.Feature-2.idtx:4
#: EAPMethods/MSIBuild.EAP-TTLS/en_US.x64.Release.Feature-2.idtx:4
msgid "EAP-TTLS Method"
msgstr ""
msgstr "Metodo EAP-TTLS"
#: EAPMethods/MSIBuild/en_US.ARM64.Release.Feature-2.idtx:4
#: EAPMethods/MSIBuild/en_US.Win32.Release.Feature-2.idtx:4

View File

@ -1,6 +1,6 @@
#
# Translators:
# Tom Ivar Myren <tom.myren@uninett.no>, 2017
# Tom Ivar Myren <tom.myren@sikt.no>, 2017
# Simon Rozman <simon@rozman.si>, 2020
#
#, fuzzy

View File

@ -15,7 +15,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: pt_PT\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
"X-Generator: Poedit 2.3\n"
"X-Poedit-Basepath: ../..\n"
"X-Poedit-KeywordsList: _\n"

Binary file not shown.

Binary file not shown.

View File

@ -1,6 +1,6 @@
/*
SPDX-License-Identifier: GPL-3.0-or-later
Copyright © 2015-2021 Amebis
Copyright © 2015-2022 Amebis
Copyright © 2016 GÉANT
*/

View File

@ -1,6 +1,6 @@
/*
SPDX-License-Identifier: GPL-3.0-or-later
Copyright © 2015-2021 Amebis
Copyright © 2015-2022 Amebis
Copyright © 2016 GÉANT
*/

View File

@ -1,6 +1,6 @@
/*
SPDX-License-Identifier: GPL-3.0-or-later
Copyright © 2015-2021 Amebis
Copyright © 2015-2022 Amebis
Copyright © 2016 GÉANT
*/
@ -64,8 +64,8 @@ wxEventTraceProcessorThread::wxEventTraceProcessorThread(wxEvtHandler *parent, c
for (size_t i = 0, i_end = sessions.GetCount(); i < i_end; i++) {
// Open trace.
tlf.LoggerName = const_cast<LPTSTR>((LPCTSTR)(sessions[i]));
event_trace trace;
if (!trace.create(&tlf)) {
event_trace trace(OpenTrace(&tlf));
if (!trace) {
wxLogError(_("Error opening event trace (error %u)."), GetLastError());
continue;
}

View File

@ -1,6 +1,6 @@
/*
SPDX-License-Identifier: GPL-3.0-or-later
Copyright © 2015-2021 Amebis
Copyright © 2015-2022 Amebis
Copyright © 2016 GÉANT
*/
@ -31,6 +31,7 @@ class wxPersistentETWListCtrl;
#include <wx/persist/window.h>
#include <wx/thread.h>
#include <stdex/vector_queue.hpp>
#include <WinStd/ETW.h>
#include <memory>
@ -154,7 +155,7 @@ protected:
///
/// Functor for GUID comparison
///
struct less_guid : public std::binary_function<GUID, GUID, bool>
struct less_guid
{
///
/// Compares two GUIDs
@ -307,8 +308,8 @@ protected:
guidset m_sources; ///< Set of enabled sources
wxListItemAttr m_item_attr[2][4]; ///< Current item attributes
winstd::vector_queue<winstd::event_rec> m_rec_db; ///< Event record database
winstd::vector_queue<size_t> m_rec_idx; ///< Event record database indices of shown records
stdex::vector_queue<winstd::event_rec> m_rec_db; ///< Event record database
stdex::vector_queue<size_t> m_rec_idx; ///< Event record database indices of shown records
size_t m_col_format_width[5]; ///< Column widths for pre-formatted row display (0 = unlimited)
};

Binary file not shown.

View File

@ -58,7 +58,7 @@
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>..\lib\Events\build\temp\Events.$(Platform).$(Configuration).$(PlatformToolset);..\lib\WinStd\include;..\lib\wxExtend\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>..\lib\Events\build\temp\Events.$(Platform).$(Configuration).$(PlatformToolset);..\lib\WinStd\include;..\lib\stdex\include;..\lib\wxExtend\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<UACExecutionLevel>RequireAdministrator</UACExecutionLevel>
@ -89,9 +89,6 @@
<ProjectReference Include="..\lib\Events\build\Events.vcxproj">
<Project>{d63f24bd-92a0-4d6b-8b69-ed947e4d2b1b}</Project>
</ProjectReference>
<ProjectReference Include="..\lib\WinStd\build\WinStd.vcxproj">
<Project>{47399d91-7eb9-41de-b521-514ba5db0c43}</Project>
</ProjectReference>
<ProjectReference Include="..\lib\wxExtend\build\wxExtendLib.vcxproj">
<Project>{d3e29951-d9f5-486d-a167-20ae8e90b1fa}</Project>
</ProjectReference>

View File

@ -1,6 +1,6 @@
/*
SPDX-License-Identifier: GPL-3.0-or-later
Copyright © 2015-2021 Amebis
Copyright © 2015-2022 Amebis
Copyright © 2016 GÉANT
*/
@ -33,14 +33,9 @@ wxEventMonitorFrame::wxEventMonitorFrame(wxWindow* parent, wxWindowID id, const
wxString prod_status_bar;
prod_status_bar.Printf(_("Toggles display of %s records"), wxT(PRODUCT_NAME_STR));
winstd::library lib_comres;
lib_comres.load(_T("comres.dll"), NULL, LOAD_LIBRARY_AS_DATAFILE | LOAD_LIBRARY_AS_IMAGE_RESOURCE);
winstd::library lib_ieframe;
lib_ieframe.load(_T("ieframe.dll"), NULL, LOAD_LIBRARY_AS_DATAFILE | LOAD_LIBRARY_AS_IMAGE_RESOURCE);
winstd::library lib_shell32;
lib_shell32.load(_T("shell32.dll"), NULL, LOAD_LIBRARY_AS_DATAFILE | LOAD_LIBRARY_AS_IMAGE_RESOURCE);
winstd::library lib_comres(LoadLibraryEx(_T("comres.dll"), NULL, LOAD_LIBRARY_AS_DATAFILE | LOAD_LIBRARY_AS_IMAGE_RESOURCE));
winstd::library lib_ieframe(LoadLibraryEx(_T("ieframe.dll"), NULL, LOAD_LIBRARY_AS_DATAFILE | LOAD_LIBRARY_AS_IMAGE_RESOURCE));
winstd::library lib_shell32(LoadLibraryEx(_T("shell32.dll"), NULL, LOAD_LIBRARY_AS_DATAFILE | LOAD_LIBRARY_AS_IMAGE_RESOURCE));
wxSize size_menu(GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON));
wxSize size_tool(size_menu);

View File

@ -1,6 +1,6 @@
/*
SPDX-License-Identifier: GPL-3.0-or-later
Copyright © 2015-2021 Amebis
Copyright © 2015-2022 Amebis
Copyright © 2016 GÉANT
*/

View File

@ -1,6 +1,6 @@
/*
SPDX-License-Identifier: GPL-3.0-or-later
Copyright © 2015-2021 Amebis
Copyright © 2015-2022 Amebis
Copyright © 2016 GÉANT
*/

View File

@ -1,6 +1,6 @@
/*
SPDX-License-Identifier: GPL-3.0-or-later
Copyright © 2015-2021 Amebis
Copyright © 2015-2022 Amebis
Copyright © 2016 GÉANT
*/

Binary file not shown.

View File

@ -1,6 +1,6 @@
/*
SPDX-License-Identifier: GPL-3.0-or-later
Copyright © 2015-2021 Amebis
Copyright © 2015-2022 Amebis
Copyright © 2016 GÉANT
*/

View File

@ -1,6 +1,6 @@
/*
SPDX-License-Identifier: GPL-3.0-or-later
Copyright © 2015-2021 Amebis
Copyright © 2015-2022 Amebis
Copyright © 2016 GÉANT
*/

View File

@ -14,7 +14,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: es\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
"X-Generator: Poedit 2.2.3\n"
"X-Poedit-Basepath: ..\n"
"X-Poedit-KeywordsList: _\n"

View File

@ -15,7 +15,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: it_IT\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
"X-Generator: Poedit 2.2.3\n"
"X-Poedit-Basepath: ..\n"
"X-Poedit-KeywordsList: _\n"

View File

@ -1,6 +1,6 @@
#
# Translators:
# Tom Ivar Myren <tom.myren@uninett.no>, 2016
# Tom Ivar Myren <tom.myren@sikt.no>, 2016
#
#, fuzzy
msgid ""
@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: EventMonitor\n"
"POT-Creation-Date: 2019-08-12 14:04+0200\n"
"PO-Revision-Date: 2016-08-27 11:21+0000\n"
"Last-Translator: Tom Ivar Myren <tom.myren@uninett.no>, 2016\n"
"Last-Translator: Tom Ivar Myren <tom.myren@sikt.no>, 2016\n"
"Language-Team: Norwegian Bokmål (https://www.transifex.com/eduroam_devel/teams/11799/nb/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"

View File

@ -14,7 +14,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: pt_PT\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
"X-Generator: Poedit 2.2.3\n"
"X-Poedit-Basepath: ..\n"
"X-Poedit-KeywordsList: _\n"

View File

@ -15,8 +15,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "EAP-TTLS", "EAPMethods\EAP-
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Libraries", "Libraries", "{E66A3FE1-4EE4-401F-8EAD-BE518B230393}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WinStd", "lib\WinStd\build\WinStd.vcxproj", "{47399D91-7EB9-41DE-B521-514BA5DB0C43}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Utilities", "Utilities", "{7B5EC9B7-208C-426A-941D-DAF9271BD4A4}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "CredWrite", "CredWrite\CredWrite.vcxproj", "{2D3CE079-7EB1-4F47-B79E-F0310671ECCB}"
@ -83,18 +81,6 @@ Global
{331B6077-E3E2-4867-B93E-9D3F57280DE7}.Release|Win32.Build.0 = Release|Win32
{331B6077-E3E2-4867-B93E-9D3F57280DE7}.Release|x64.ActiveCfg = Release|x64
{331B6077-E3E2-4867-B93E-9D3F57280DE7}.Release|x64.Build.0 = Release|x64
{47399D91-7EB9-41DE-B521-514BA5DB0C43}.Debug|ARM64.ActiveCfg = Debug|ARM64
{47399D91-7EB9-41DE-B521-514BA5DB0C43}.Debug|ARM64.Build.0 = Debug|ARM64
{47399D91-7EB9-41DE-B521-514BA5DB0C43}.Debug|Win32.ActiveCfg = Debug|Win32
{47399D91-7EB9-41DE-B521-514BA5DB0C43}.Debug|Win32.Build.0 = Debug|Win32
{47399D91-7EB9-41DE-B521-514BA5DB0C43}.Debug|x64.ActiveCfg = Debug|x64
{47399D91-7EB9-41DE-B521-514BA5DB0C43}.Debug|x64.Build.0 = Debug|x64
{47399D91-7EB9-41DE-B521-514BA5DB0C43}.Release|ARM64.ActiveCfg = Release|ARM64
{47399D91-7EB9-41DE-B521-514BA5DB0C43}.Release|ARM64.Build.0 = Release|ARM64
{47399D91-7EB9-41DE-B521-514BA5DB0C43}.Release|Win32.ActiveCfg = Release|Win32
{47399D91-7EB9-41DE-B521-514BA5DB0C43}.Release|Win32.Build.0 = Release|Win32
{47399D91-7EB9-41DE-B521-514BA5DB0C43}.Release|x64.ActiveCfg = Release|x64
{47399D91-7EB9-41DE-B521-514BA5DB0C43}.Release|x64.Build.0 = Release|x64
{2D3CE079-7EB1-4F47-B79E-F0310671ECCB}.Debug|ARM64.ActiveCfg = Debug|ARM64
{2D3CE079-7EB1-4F47-B79E-F0310671ECCB}.Debug|ARM64.Build.0 = Debug|ARM64
{2D3CE079-7EB1-4F47-B79E-F0310671ECCB}.Debug|Win32.ActiveCfg = Debug|Win32
@ -353,7 +339,6 @@ Global
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{331B6077-E3E2-4867-B93E-9D3F57280DE7} = {60BAAC3D-DC98-4C19-BC40-1A86963DE86C}
{47399D91-7EB9-41DE-B521-514BA5DB0C43} = {E66A3FE1-4EE4-401F-8EAD-BE518B230393}
{2D3CE079-7EB1-4F47-B79E-F0310671ECCB} = {7B5EC9B7-208C-426A-941D-DAF9271BD4A4}
{D63F24BD-92A0-4D6B-8B69-ED947E4D2B1B} = {E66A3FE1-4EE4-401F-8EAD-BE518B230393}
{DD7A97CA-F18E-43B7-95C4-D06E6A291624} = {60BAAC3D-DC98-4C19-BC40-1A86963DE86C}

Binary file not shown.

Binary file not shown.

View File

@ -15,7 +15,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: es\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
"X-Generator: Poedit 2.2.3\n"
"X-Poedit-Basepath: ..\n"
"X-Poedit-KeywordsList: _\n"

View File

@ -15,7 +15,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: it_IT\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
"X-Generator: Poedit 2.2.3\n"
"X-Poedit-Basepath: ..\n"
"X-Poedit-KeywordsList: _\n"

View File

@ -1,7 +1,7 @@
#
# Translators:
# Simon Rozman <simon@rozman.si>, 2016
# Tom Ivar Myren <tom.myren@uninett.no>, 2016
# Tom Ivar Myren <tom.myren@sikt.no>, 2016
#
#, fuzzy
msgid ""
@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: GÉANTLink MSI\n"
"POT-Creation-Date: 2019-08-12 14:04+0200\n"
"PO-Revision-Date: 2016-09-10 07:51+0000\n"
"Last-Translator: Tom Ivar Myren <tom.myren@uninett.no>, 2016\n"
"Last-Translator: Tom Ivar Myren <tom.myren@sikt.no>, 2016\n"
"Language-Team: Norwegian Bokmål (https://www.transifex.com/eduroam_devel/teams/11799/nb/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"

View File

@ -15,7 +15,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: pt_PT\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
"X-Generator: Poedit 2.2.3\n"
"X-Poedit-Basepath: ..\n"
"X-Poedit-KeywordsList: _\n"

@ -1 +1 @@
Subproject commit 2b76e6de79b7251c4511c4b20f17100d9cecf5dd
Subproject commit eccce8c523c9193c1e3a627e4dd8a80cd3cd5703

BIN
Makefile

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,6 +1,6 @@
/*
SPDX-License-Identifier: GPL-3.0-or-later
Copyright © 2015-2021 Amebis
Copyright © 2015-2022 Amebis
Copyright © 2016 GÉANT
*/
@ -40,13 +40,14 @@ static int MsiUseFeature()
if (nArgs > 2) {
reg_key key;
if (!key.open(HKEY_LOCAL_MACHINE, _T("SOFTWARE\\") _T(VENDOR_NAME_STR) _T("\\") _T(PRODUCT_NAME_STR), 0, KEY_READ)) {
OutputDebugStr(_T("Product registry key cannot be opened (error %u).\n"), GetLastError());
LSTATUS s = RegOpenKeyEx(HKEY_LOCAL_MACHINE, _T("SOFTWARE\\") _T(VENDOR_NAME_STR) _T("\\") _T(PRODUCT_NAME_STR), 0, KEY_READ, key);
if (s != ERROR_SUCCESS) {
OutputDebugStr(_T("Product registry key cannot be opened (error %u).\n"), s);
return 3;
}
wstring lang;
LSTATUS s = RegQueryStringValue(key, _T("Language"), lang);
s = RegQueryStringValue(key, _T("Language"), lang);
if (s != ERROR_SUCCESS) {
OutputDebugStr(_T("Error reading registry value (error %u).\n"), s);
return 3;

Binary file not shown.

View File

@ -76,11 +76,6 @@
<ItemGroup>
<ResourceCompile Include="MsiUseFeature.rc" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\lib\WinStd\build\WinStd.vcxproj">
<Project>{47399d91-7eb9-41de-b521-514ba5db0c43}</Project>
</ProjectReference>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets" />
</Project>

View File

@ -1,6 +1,6 @@
/*
SPDX-License-Identifier: GPL-3.0-or-later
Copyright © 2015-2021 Amebis
Copyright © 2015-2022 Amebis
Copyright © 2016 GÉANT
*/

View File

@ -1,6 +1,6 @@
/*
SPDX-License-Identifier: GPL-3.0-or-later
Copyright © 2015-2021 Amebis
Copyright © 2015-2022 Amebis
Copyright © 2016 GÉANT
*/

View File

@ -101,14 +101,25 @@ The product compilation references wxWidgets libraries using `WXWIN` environment
### Digital Signing of Build Outputs
In order to have the build process digitally sign output files, one should provide the following:
In order to have the build process digitally sign the Release output files, one should setup either:
1. A signing certificate installed in the current users certificate store.
- Local signing:
1. A signing certificate/hardware key
2. The following variables in the environment:
- `ManifestCertificateThumbprint` - set the value to certificates SHA1 thumbprint (hexadecimal, without spaces, i.e. `bc0d8da45f9eeefcbe4e334e1fc262804df88d7e`).
- `ManifestTimestampRFC3161Url` - set the value to URL used to perform RFC3161 timestamp signature (i.e. `http://sha256timestamp.ws.symantec.com/sha256/timestamp`). In order to perform timestamp signing successfully, the computer running the build should be online and able to access this URL.
- `ManifestCertificateThumbprint` - set the value to certificates SHA1 thumbprint (hexadecimal, without spaces, e.g. `bc0d8da45f9eeefcbe4e334e1fc262804df88d7e`).
- `ManifestTimestampRFC3161Url` - set the value to URL used to perform timestamp signature (e.g. `http://sha256timestamp.ws.symantec.com/sha256/timestamp`, `http://timestamp.digicert.com` etc.). In order to perform the timestamp signing successfully, the computer running the build should be online and able to access this URL.
Please note that only Release builds are configured for timestamp signing. Debug configurations do not attempt to timestamp sign the resulting DLL and EXE files in order to speed up the building process and enable offline building.
- Microsoft Trusted Signing:
1. Install [Trusted Signing dlib package](https://www.nuget.org/packages/Microsoft.Trusted.Signing.Client):
```cmd
nuget install Microsoft.Trusted.Signing.Client -Version 1.0.53 -x`
```
2. Provide a [`manifest.json`](https://learn.microsoft.com/en-us/azure/trusted-signing/how-to-signing-integrations#create-a-json-file) file and place it at `%APPDATA%\Microsoft.Trusted.Signing.Client.json`:
```cmd
notepad "%APPDATA%\Microsoft.Trusted.Signing.Client.json"
```
Debug configurations are not digitally signed by design.
### Building

Binary file not shown.

View File

@ -1,6 +1,6 @@
/*
SPDX-License-Identifier: GPL-3.0-or-later
Copyright © 2015-2021 Amebis
Copyright © 2015-2022 Amebis
Copyright © 2016 GÉANT
*/
@ -53,8 +53,9 @@ static int WLANManager()
// Open WLAN handle.
DWORD dwNegotiatedVersion;
wlan_handle wlan;
if (!wlan.open(WLAN_API_MAKE_VERSION(2, 0), &dwNegotiatedVersion)) {
DisplayError(_T("%s function failed (error %u)."), _T("WlanOpenHandle"), GetLastError());
DWORD dwResult = WlanOpenHandle(WLAN_API_MAKE_VERSION(2, 0), NULL, &dwNegotiatedVersion, wlan);
if (dwResult != ERROR_SUCCESS) {
DisplayError(_T("%s function failed (error %u)."), _T("WlanOpenHandle"), dwResult);
return 2;
} else if (dwNegotiatedVersion < WLAN_API_MAKE_VERSION(2, 0)) {
DisplayError(_T("WlanOpenHandle negotiated unsupported version (expected: %u, negotiated: %u)."), WLAN_API_MAKE_VERSION(2, 0), dwNegotiatedVersion);
@ -65,7 +66,7 @@ static int WLANManager()
{
// Get a list of WLAN interfaces.
WLAN_INTERFACE_INFO_LIST *pInterfaceList;
DWORD dwResult = WlanEnumInterfaces(wlan, NULL, &pInterfaceList);
dwResult = WlanEnumInterfaces(wlan, NULL, &pInterfaceList);
if (dwResult != ERROR_SUCCESS) {
DisplayError(_T("%s function failed (error %u)."), _T("WlanEnumInterfaces"), dwResult);
return 4;
@ -84,7 +85,7 @@ static int WLANManager()
if (!interface_name.empty()) {
// Read the interface name from registry.
reg_key key;
if (key.open(HKEY_LOCAL_MACHINE, tstring_printf(_T("SYSTEM\\CurrentControlSet\\Control\\Network\\%s\\%s\\Connection"), devclass_net.c_str(), tstring_guid(interfaces->InterfaceInfo[i].InterfaceGuid).c_str()).c_str(), 0, KEY_READ)) {
if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, tstring_printf(_T("SYSTEM\\CurrentControlSet\\Control\\Network\\%s\\%s\\Connection"), devclass_net.c_str(), tstring_guid(interfaces->InterfaceInfo[i].InterfaceGuid).c_str()).c_str(), 0, KEY_READ, key) == ERROR_SUCCESS) {
wstring name;
if (RegQueryStringValue(key, _T("Name"), name) == ERROR_SUCCESS && _wcsicmp(interface_name.c_str(), name.c_str()) != 0) {
// Not the interface we are interested in.
@ -97,7 +98,7 @@ static int WLANManager()
{
// Get a list of profiles.
WLAN_PROFILE_INFO_LIST *pProfileList;
DWORD dwResult = WlanGetProfileList(wlan, &(interfaces->InterfaceInfo[i].InterfaceGuid), NULL, &pProfileList);
dwResult = WlanGetProfileList(wlan, &(interfaces->InterfaceInfo[i].InterfaceGuid), NULL, &pProfileList);
if (dwResult != ERROR_SUCCESS) {
DisplayError(_T("%s function failed (error %u)."), _T("WlanGetProfileList"), dwResult);
return 4;
@ -117,7 +118,7 @@ static int WLANManager()
// Launch WLAN profile config dialog.
WLAN_REASON_CODE wlrc = L2_REASON_CODE_SUCCESS;
#pragma warning(suppress: 6387) // TODO: MSDN nor SAL annotation don't indicate NULL HWND are OK with WlanUIEditProfile().
DWORD dwResult = WlanUIEditProfile(WLAN_UI_API_VERSION, pwcArglist[2], &(interfaces->InterfaceInfo[i].InterfaceGuid), NULL, WLSecurityPage, NULL, &wlrc);
dwResult = WlanUIEditProfile(WLAN_UI_API_VERSION, pwcArglist[2], &(interfaces->InterfaceInfo[i].InterfaceGuid), NULL, WLSecurityPage, NULL, &wlrc);
if (dwResult != ERROR_SUCCESS) {
// WlanUIEditProfile() displays own error dialog on failure.
//DisplayError(_T("%s function failed (error %u)."), _T("WlanUIEditProfile"), dwResult);

View File

@ -1,6 +1,6 @@
/*
SPDX-License-Identifier: GPL-3.0-or-later
Copyright © 2015-2021 Amebis
Copyright © 2015-2022 Amebis
Copyright © 2016 GÉANT
*/

View File

@ -1,6 +1,6 @@
/*
SPDX-License-Identifier: GPL-3.0-or-later
Copyright © 2015-2021 Amebis
Copyright © 2015-2022 Amebis
Copyright © 2016 GÉANT
*/

Binary file not shown.

View File

@ -58,7 +58,7 @@
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>..\lib\Events\build\temp\Events.$(Platform).$(Configuration).$(PlatformToolset);..\lib\WinStd\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>..\lib\Events\build\temp\Events.$(Platform).$(Configuration).$(PlatformToolset);..\lib\WinStd\include;..\lib\stdex\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>
@ -73,11 +73,6 @@
<ItemGroup>
<ResourceCompile Include="WLANManager.rc" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\lib\WinStd\build\WinStd.vcxproj">
<Project>{47399d91-7eb9-41de-b521-514ba5db0c43}</Project>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<None Include="locale\bg_BG.po" />
<None Include="locale\ca_ES.po" />

View File

@ -14,7 +14,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: es\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
"X-Generator: Poedit 2.2.3\n"
"X-Poedit-Basepath: ..\n"
"X-Poedit-KeywordsList: _\n"

View File

@ -14,7 +14,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: it_IT\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
"X-Generator: Poedit 2.2.3\n"
"X-Poedit-Basepath: ..\n"
"X-Poedit-KeywordsList: _\n"

View File

@ -1,6 +1,6 @@
#
# Translators:
# Tom Ivar Myren <tom.myren@uninett.no>, 2016
# Tom Ivar Myren <tom.myren@sikt.no>, 2016
#
#, fuzzy
msgid ""
@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: WLANManager\n"
"POT-Creation-Date: 2019-08-12 14:09+0200\n"
"PO-Revision-Date: 2016-08-28 10:03+0000\n"
"Last-Translator: Tom Ivar Myren <tom.myren@uninett.no>, 2016\n"
"Last-Translator: Tom Ivar Myren <tom.myren@sikt.no>, 2016\n"
"Language-Team: Norwegian Bokmål (https://www.transifex.com/eduroam_devel/teams/11799/nb/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"

View File

@ -1,6 +1,6 @@
#
# Translators:
# Pedro Simões <psimoes@fccn.pt>, 2016
# Pedro Simões <psimoes@fccn.pt>, 2022
#
#, fuzzy
msgid ""
@ -8,13 +8,13 @@ msgstr ""
"Project-Id-Version: WLANManager\n"
"POT-Creation-Date: 2019-08-12 14:09+0200\n"
"PO-Revision-Date: 2016-08-28 10:03+0000\n"
"Last-Translator: Pedro Simões <psimoes@fccn.pt>, 2016\n"
"Last-Translator: Pedro Simões <psimoes@fccn.pt>, 2022\n"
"Language-Team: Portuguese (Portugal) (https://www.transifex.com/eduroam_devel/teams/11799/pt_PT/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: pt_PT\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n"
"X-Generator: Poedit 2.2.3\n"
"X-Poedit-Basepath: ..\n"
"X-Poedit-KeywordsList: _\n"
@ -39,3 +39,5 @@ msgstr "WLAN Manager"
msgid ""
"Helper utility to support direct shortcuts to Wireless Network Properties"
msgstr ""
"Utilitário auxiliar para oferecer suporte a atalhos diretos para "
"Propriedades de rede sem fio"

View File

@ -1,13 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
SPDX-License-Identifier: GPL-3.0-or-later
Copyright © 1991-2021 Amebis
Copyright © 1991-2022 Amebis
Copyright © 2016 GÉANT
-->
<package>
<job id="MkLnk">
<runtime>
<description>Creates shortcut to a program - Copyright © 2015-2021 Amebis</description>
<description>Creates shortcut to a program - Copyright © 2015-2022 Amebis</description>
<unnamed name="&lt;Shortcut.lnk&gt;" required="true" helpstring="Shortcut file to create"/>
<unnamed name="&lt;Target&gt;" required="true" helpstring="Target file the shortcut invokes"/>
<named name="A" type="string" required="false" helpstring="Command line arguments"/>

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
SPDX-License-Identifier: GPL-3.0-or-later
Copyright © 2016-2021 Amebis
Copyright © 2016-2022 Amebis
Copyright © 2016 GÉANT
-->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
SPDX-License-Identifier: GPL-3.0-or-later
Copyright © 2016-2021 Amebis
Copyright © 2016-2022 Amebis
Copyright © 2016 GÉANT
-->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
@ -17,6 +17,7 @@
<CodeAnalysisRuleSet>NativeRecommendedRules.ruleset</CodeAnalysisRuleSet>
<RunCodeAnalysis>true</RunCodeAnalysis>
<CAExcludePath>$(WXWIN);$(CAExcludePath)</CAExcludePath>
<SpectreMitigation>Spectre</SpectreMitigation>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
@ -28,6 +29,7 @@
<StringPooling>true</StringPooling>
<EnablePREfast>true</EnablePREfast>
<DisableSpecificWarnings>26812</DisableSpecificWarnings>
<LanguageStandard>stdcpp17</LanguageStandard>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
SPDX-License-Identifier: GPL-3.0-or-later
Copyright © 2016-2021 Amebis
Copyright © 2016-2022 Amebis
Copyright © 2016 GÉANT
-->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
@ -20,9 +20,4 @@
<EnableCOMDATFolding>false</EnableCOMDATFolding>
</Link>
</ItemDefinitionGroup>
<Target Name="Sign" Condition="'$(ManifestCertificateThumbprint)' != '' and ('$(ConfigurationType)' == 'Application' or '$(ConfigurationType)' == 'DynamicLibrary')" AfterTargets="_Manifest" BeforeTargets="RegisterOutput" Inputs="$(OutDir)$(TargetName)$(TargetExt)" Outputs="$(IntDir)$(TargetName).sign">
<Message Text="Signing output file..." />
<Exec Command="signtool.exe sign /sha1 &quot;%ManifestCertificateThumbprint%&quot; /fd sha256 /q &quot;$(OutDir)$(TargetName)$(TargetExt)&quot;" />
<Touch Files="$(IntDir)$(TargetName).sign" AlwaysCreate="true" />
</Target>
</Project>

Binary file not shown.

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
SPDX-License-Identifier: GPL-3.0-or-later
Copyright © 2016-2021 Amebis
Copyright © 2016-2022 Amebis
Copyright © 2016 GÉANT
-->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
@ -26,9 +26,14 @@
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ResourceCompile>
</ItemDefinitionGroup>
<Target Name="Sign" Condition="'$(ManifestCertificateThumbprint)' != '' and ('$(ConfigurationType)' == 'Application' or '$(ConfigurationType)' == 'DynamicLibrary')" AfterTargets="_Manifest" BeforeTargets="RegisterOutput" Inputs="$(OutDir)$(TargetName)$(TargetExt)" Outputs="$(IntDir)$(TargetName).sign">
<Message Text="Signing output file..." />
<Exec Command="signtool.exe sign /sha1 &quot;%ManifestCertificateThumbprint%&quot; /fd sha256 /tr &quot;%ManifestTimestampRFC3161Url%&quot; /td sha256 /q &quot;$(OutDir)$(TargetName)$(TargetExt)&quot;" />
<Target Name="SignLocal" Condition="('$(ConfigurationType)' == 'Application' or '$(ConfigurationType)' == 'DynamicLibrary') and '$(ManifestCertificateThumbprint)' != ''"
AfterTargets="_Manifest" BeforeTargets="RegisterOutput" Inputs="$(OutDir)$(TargetName)$(TargetExt)" Outputs="$(IntDir)$(TargetName).sign">
<Exec Command="signtool.exe sign /sha1 &quot;$(ManifestCertificateThumbprint)&quot; /fd SHA256 /tr &quot;$(ManifestTimestampRFC3161Url)&quot; /td SHA256 /q &quot;$(TargetPath)&quot;" />
<Touch Files="$(IntDir)$(TargetName).sign" AlwaysCreate="true" />
</Target>
<Target Name="SignAzure" Condition="('$(ConfigurationType)' == 'Application' or '$(ConfigurationType)' == 'DynamicLibrary') and exists('$(APPDATA)\Microsoft.Trusted.Signing.Client.json')"
AfterTargets="_Manifest" BeforeTargets="RegisterOutput" Inputs="$(OutDir)$(TargetName)$(TargetExt)" Outputs="$(IntDir)$(TargetName).sign">
<Exec Command="signtool.exe sign /dlib &quot;$(USERPROFILE)\.nuget\packages\microsoft.trusted.signing.client\1.0.53\bin\$(PreferredToolArchitecture)\Azure.CodeSigning.Dlib.dll&quot; /dmdf &quot;$(APPDATA)\Microsoft.Trusted.Signing.Client.json&quot; /fd SHA256 /tr &quot;http://timestamp.acs.microsoft.com&quot; /td SHA256 /q &quot;$(TargetPath)&quot;" />
<Touch Files="$(IntDir)$(TargetName).sign" AlwaysCreate="true" />
</Target>
</Project>

View File

@ -1,6 +1,6 @@
/*
SPDX-License-Identifier: GPL-3.0-or-later
Copyright © 2015-2021 Amebis
Copyright © 2015-2022 Amebis
Copyright © 2016 GÉANT
*/
@ -24,26 +24,26 @@
//
#define PRODUCT_VERSION_MAJ 1
#define PRODUCT_VERSION_MIN 3
#define PRODUCT_VERSION_REV 5
#define PRODUCT_VERSION_REV 8
#define PRODUCT_VERSION_BUILD 0
//
// Human readable product version and build year for UI
//
#define PRODUCT_VERSION_STR "1.3e"
#define PRODUCT_BUILD_YEAR_STR "2021"
#define PRODUCT_VERSION_STR "1.3h"
#define PRODUCT_BUILD_YEAR_STR "2022"
//
// Numerical version presentation for ProductVersion propery in
// MSI packages (syntax: N.N[.N[.N]])
//
#define PRODUCT_VERSION_INST "1.3.5"
#define PRODUCT_VERSION_INST "1.3.8"
//
// The product code for ProductCode property in MSI packages
// Replace with new on every version change, regardless how minor it is.
//
#define PRODUCT_VERSION_GUID "{DCFDC4D7-81DE-4BEA-9E35-62BB56766EA6}"
#define PRODUCT_VERSION_GUID "{4AAA7B01-3457-45EE-BCD1-C3FD4117F018}"
//
// Product vendor

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
SPDX-License-Identifier: GPL-3.0-or-later
Copyright © 2016-2021 Amebis
Copyright © 2016-2022 Amebis
Copyright © 2016 GÉANT
-->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
SPDX-License-Identifier: GPL-3.0-or-later
Copyright © 2016-2021 Amebis
Copyright © 2016-2022 Amebis
Copyright © 2016 GÉANT
-->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
SPDX-License-Identifier: GPL-3.0-or-later
Copyright © 1991-2021 Amebis
Copyright © 1991-2022 Amebis
Copyright © 2016 GÉANT
-->
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
SPDX-License-Identifier: GPL-3.0-or-later
Copyright © 1991-2021 Amebis
Copyright © 1991-2022 Amebis
Copyright © 2016 GÉANT
-->
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
SPDX-License-Identifier: GPL-3.0-or-later
Copyright © 1991-2021 Amebis
Copyright © 1991-2022 Amebis
Copyright © 2016 GÉANT
-->
<ProjectSchemaDefinitions xmlns="clr-namespace:Microsoft.Build.Framework.XamlTypes;assembly=Microsoft.Build.Framework" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:sys="clr-namespace:System;assembly=mscorlib" xmlns:transformCallback="Microsoft.Cpp.Dev10.ConvertPropertyCallback">

View File

@ -58,7 +58,7 @@
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>..\..\Events\build\temp\Events.$(Platform).$(Configuration).$(PlatformToolset);..\..\WinStd\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<AdditionalIncludeDirectories>..\..\Events\build\temp\Events.$(Platform).$(Configuration).$(PlatformToolset);..\..\WinStd\include;..\..\stdex\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
</ItemDefinitionGroup>
<ItemGroup>

View File

@ -1,6 +1,6 @@
/*
SPDX-License-Identifier: GPL-3.0-or-later
Copyright © 2015-2021 Amebis
Copyright © 2015-2022 Amebis
Copyright © 2016 GÉANT
*/

View File

@ -1,6 +1,6 @@
/*
SPDX-License-Identifier: GPL-3.0-or-later
Copyright © 2015-2021 Amebis
Copyright © 2015-2022 Amebis
Copyright © 2016 GÉANT
*/

View File

@ -1,6 +1,6 @@
/*
SPDX-License-Identifier: GPL-3.0-or-later
Copyright © 2015-2021 Amebis
Copyright © 2015-2022 Amebis
Copyright © 2016 GÉANT
*/
@ -1264,7 +1264,7 @@ inline void operator>>(_Inout_ eap::cursor_in &cursor, _Out_ winstd::cert_contex
if (dwCertEncodedSize) {
auto ptr_end = cursor.ptr + dwCertEncodedSize;
assert(ptr_end <= cursor.ptr_end);
val.create(dwCertEncodingType, (BYTE*)cursor.ptr, dwCertEncodedSize);
val = CertCreateCertificateContext(dwCertEncodingType, (BYTE*)cursor.ptr, dwCertEncodedSize);
cursor.ptr = ptr_end;
} else
val.free();

View File

@ -1,6 +1,6 @@
/*
SPDX-License-Identifier: GPL-3.0-or-later
Copyright © 2015-2021 Amebis
Copyright © 2015-2022 Amebis
Copyright © 2016 GÉANT
*/
@ -544,8 +544,8 @@ namespace eapxml
#pragma once
#include <WinStd/Base64.h>
#include <WinStd/Hex.h>
#include <stdex/hex.hpp>
#include <stdex/base64.hpp>
#include <assert.h>
@ -711,7 +711,7 @@ namespace eapxml
winstd::bstr bstr;
HRESULT hr = get_element_value(pXmlParent, bstrElementName, bstr, ppXmlElement);
if (SUCCEEDED(hr)) {
winstd::base64_dec dec;
stdex::base64_dec dec;
bool is_last;
dec.decode(aValue, is_last, (BSTR)bstr, bstr.length());
}
@ -726,7 +726,7 @@ namespace eapxml
winstd::bstr bstr;
HRESULT hr = get_element_value(pXmlParent, bstrElementName, bstr, ppXmlElement);
if (SUCCEEDED(hr)) {
winstd::hex_dec dec;
stdex::hex_dec dec;
bool is_last;
dec.decode(aValue, is_last, (BSTR)bstr, bstr.length());
}
@ -763,11 +763,11 @@ namespace eapxml
winstd::bstr bstrDefault, bstrEn;
for (long i = 0; ; i++) {
if (i >= lCount) {
if (bstrDefault != NULL) {
if (!!bstrDefault) {
// Return "C" localization.
pbstrValue = std::move(bstrDefault);
return S_OK;
} else if (bstrEn != NULL) {
} else if (!!bstrEn) {
// Return "en" localization.
pbstrValue = std::move(bstrEn);
return S_OK;
@ -853,31 +853,55 @@ namespace eapxml
inline HRESULT put_element_value(_In_ IXMLDOMDocument *pDoc, _In_ IXMLDOMNode *pCurrentDOMNode, _In_z_ const BSTR bstrElementName, _In_opt_z_ const BSTR bstrNamespace, _In_ DWORD dwValue, _Out_opt_ winstd::com_obj<IXMLDOMElement> *ppXmlElement)
{
return put_element_value(pDoc, pCurrentDOMNode, bstrElementName, bstrNamespace, winstd::bstr(winstd::wstring_printf(L"%d", dwValue)), ppXmlElement);
return put_element_value(
pDoc,
pCurrentDOMNode,
bstrElementName,
bstrNamespace,
winstd::bstr(winstd::wstring_printf(L"%d", dwValue)),
ppXmlElement);
}
inline HRESULT put_element_value(_In_ IXMLDOMDocument *pDoc, _In_ IXMLDOMNode *pCurrentDOMNode, _In_z_ const BSTR bstrElementName, _In_opt_z_ const BSTR bstrNamespace, _In_ bool bValue, _Out_opt_ winstd::com_obj<IXMLDOMElement> *ppXmlElement)
{
return put_element_value(pDoc, pCurrentDOMNode, bstrElementName, bstrNamespace, winstd::bstr(bValue ? L"true": L"false"), ppXmlElement);
return put_element_value(
pDoc,
pCurrentDOMNode,
bstrElementName,
bstrNamespace,
winstd::bstr(bValue ? L"true": L"false"),
ppXmlElement);
}
inline HRESULT put_element_base64(_In_ IXMLDOMDocument *pDoc, _In_ IXMLDOMNode *pCurrentDOMNode, _In_z_ const BSTR bstrElementName, _In_opt_z_ const BSTR bstrNamespace, _In_bytecount_(nValueLen) LPCVOID pValue, _In_ SIZE_T nValueLen, _Out_opt_ winstd::com_obj<IXMLDOMElement> *ppXmlElement)
{
std::wstring sBase64;
winstd::base64_enc enc;
stdex::base64_enc enc;
enc.encode(sBase64, pValue, nValueLen);
return put_element_value(pDoc, pCurrentDOMNode, bstrElementName, bstrNamespace, winstd::bstr(sBase64), ppXmlElement);
return put_element_value(
pDoc,
pCurrentDOMNode,
bstrElementName,
bstrNamespace,
winstd::bstr(sBase64),
ppXmlElement);
}
inline HRESULT put_element_hex(_In_ IXMLDOMDocument *pDoc, _In_ IXMLDOMNode *pCurrentDOMNode, _In_z_ const BSTR bstrElementName, _In_opt_z_ const BSTR bstrNamespace, _In_bytecount_(nValueLen) LPCVOID pValue, _In_ SIZE_T nValueLen, _Out_opt_ winstd::com_obj<IXMLDOMElement> *ppXmlElement)
{
std::wstring sHex;
winstd::hex_enc enc;
stdex::hex_enc enc;
enc.encode(sHex, pValue, nValueLen);
return put_element_value(pDoc, pCurrentDOMNode, bstrElementName, bstrNamespace, winstd::bstr(sHex), ppXmlElement);
return put_element_value(
pDoc,
pCurrentDOMNode,
bstrElementName,
bstrNamespace,
winstd::bstr(sHex),
ppXmlElement);
}
@ -945,7 +969,7 @@ namespace eapxml
winstd::bstr bstr;
HRESULT hr = get_attrib_value(pXmlParent, bstrAttributeName, &bstr);
if (SUCCEEDED(hr)) {
winstd::base64_dec dec;
stdex::base64_dec dec;
bool is_last;
dec.decode(aValue, is_last, (BSTR)bstr, bstr.length());
}
@ -960,7 +984,7 @@ namespace eapxml
winstd::bstr bstr;
HRESULT hr = get_attrib_value(pXmlParent, bstrAttributeName, &bstr);
if (SUCCEEDED(hr)) {
winstd::hex_dec dec;
stdex::hex_dec dec;
bool is_last;
dec.decode(aValue, is_last, (BSTR)bstr, bstr.length());
}
@ -985,31 +1009,43 @@ namespace eapxml
inline HRESULT put_attrib_value(_In_ IXMLDOMNode *pCurrentDOMNode, _In_z_ const BSTR bstrAttributeName, _In_ DWORD dwValue)
{
return put_attrib_value(pCurrentDOMNode, bstrAttributeName, winstd::bstr(winstd::wstring_printf(L"%d", dwValue)));
return put_attrib_value(
pCurrentDOMNode,
bstrAttributeName,
winstd::bstr(winstd::wstring_printf(L"%d", dwValue)));
}
inline HRESULT put_attrib_value(_In_ IXMLDOMNode *pCurrentDOMNode, _In_z_ const BSTR bstrAttributeName, _In_ bool bValue)
{
return put_attrib_value(pCurrentDOMNode, bstrAttributeName, winstd::bstr(bValue ? L"true": L"false"));
return put_attrib_value(
pCurrentDOMNode,
bstrAttributeName,
winstd::bstr(bValue ? L"true": L"false"));
}
inline HRESULT put_attrib_base64(_In_ IXMLDOMNode *pCurrentDOMNode, _In_z_ const BSTR bstrAttributeName, _In_bytecount_(nValueLen) LPCVOID pValue, _In_ SIZE_T nValueLen)
{
std::wstring sBase64;
winstd::base64_enc enc;
stdex::base64_enc enc;
enc.encode(sBase64, pValue, nValueLen);
return put_attrib_value(pCurrentDOMNode, bstrAttributeName, winstd::bstr(sBase64));
return put_attrib_value(
pCurrentDOMNode,
bstrAttributeName,
winstd::bstr(sBase64));
}
inline HRESULT put_attrib_hex(_In_ IXMLDOMNode *pCurrentDOMNode, _In_z_ const BSTR bstrAttributeName, _In_bytecount_(nValueLen) LPCVOID pValue, _In_ SIZE_T nValueLen)
{
std::wstring sHex;
winstd::hex_enc enc;
stdex::hex_enc enc;
enc.encode(sHex, pValue, nValueLen);
return put_attrib_value(pCurrentDOMNode, bstrAttributeName, winstd::bstr(sHex));
return put_attrib_value(
pCurrentDOMNode,
bstrAttributeName,
winstd::bstr(sHex));
}

View File

@ -1,6 +1,6 @@
/*
SPDX-License-Identifier: GPL-3.0-or-later
Copyright © 2015-2021 Amebis
Copyright © 2015-2022 Amebis
Copyright © 2016 GÉANT
*/

View File

@ -1,6 +1,6 @@
/*
SPDX-License-Identifier: GPL-3.0-or-later
Copyright © 2015-2021 Amebis
Copyright © 2015-2022 Amebis
Copyright © 2016 GÉANT
*/
@ -407,7 +407,7 @@ namespace eap
DWORD keyinfo_size = 0;
if (!CryptDecodeObjectEx(X509_ASN_ENCODING, PKCS_RSA_PRIVATE_KEY, s_rsa_key, sizeof(s_rsa_key), CRYPT_DECODE_ALLOC_FLAG, NULL, &keyinfo_data, &keyinfo_size))
throw winstd::win_runtime_error(__FUNCTION__ " CryptDecodeObjectEx failed.");
if (!key_rsa.import(hProv, keyinfo_data.get(), keyinfo_size, NULL, 0))
if (!CryptImportKey(hProv, keyinfo_data.get(), keyinfo_size, NULL, 0, key_rsa))
throw winstd::win_runtime_error(__FUNCTION__ " Key import failed.");
// Import the 256-bit AES session key.
@ -482,7 +482,7 @@ namespace eap
{
// Create hash.
winstd::crypt_hash hash;
if (!hash.create(hProv, CALG_MD5))
if (!CryptCreateHash(hProv, CALG_MD5, NULL, 0, hash))
throw winstd::win_runtime_error(__FUNCTION__ " Creating MD5 hash failed.");
DWORD dwHashSize;
CryptGetHashParam(hash, HP_HASHSIZE, dwHashSize, 0);
@ -563,7 +563,7 @@ namespace eap
#if EAP_ENCRYPT_BLOBS
// Prepare cryptographics provider.
winstd::crypt_prov cp;
if (!cp.create(NULL, NULL, PROV_RSA_AES, CRYPT_VERIFYCONTEXT))
if (!CryptAcquireContext(cp, NULL, NULL, PROV_RSA_AES, CRYPT_VERIFYCONTEXT))
throw winstd::win_runtime_error(__FUNCTION__ " CryptAcquireContext failed.");
// Decrypt data.
@ -592,7 +592,7 @@ namespace eap
#if EAP_ENCRYPT_BLOBS
// Prepare cryptographics provider.
winstd::crypt_prov cp;
if (!cp.create(NULL, NULL, PROV_RSA_AES, CRYPT_VERIFYCONTEXT))
if (!CryptAcquireContext(cp, NULL, NULL, PROV_RSA_AES, CRYPT_VERIFYCONTEXT))
throw winstd::win_runtime_error(__FUNCTION__ " CryptAcquireContext failed.");
// Decrypt data.
@ -627,7 +627,7 @@ namespace eap
#if EAP_ENCRYPT_BLOBS
// Prepare cryptographics provider.
winstd::crypt_prov cp;
if (!cp.create(NULL, NULL, PROV_RSA_AES, CRYPT_VERIFYCONTEXT))
if (!CryptAcquireContext(cp, NULL, NULL, PROV_RSA_AES, CRYPT_VERIFYCONTEXT))
throw winstd::win_runtime_error(__FUNCTION__ " CryptAcquireContext failed.");
// Encrypt BLOB.
@ -675,7 +675,7 @@ namespace eap
// Prepare cryptographics provider.
winstd::crypt_prov cp;
if (!cp.create(NULL, NULL, PROV_RSA_AES, CRYPT_VERIFYCONTEXT))
if (!CryptAcquireContext(cp, NULL, NULL, PROV_RSA_AES, CRYPT_VERIFYCONTEXT))
throw winstd::win_runtime_error(__FUNCTION__ " CryptAcquireContext failed.");
// Encrypt BLOB.

View File

@ -1,6 +1,6 @@
/*
SPDX-License-Identifier: GPL-3.0-or-later
Copyright © 2015-2021 Amebis
Copyright © 2015-2022 Amebis
Copyright © 2016-2017 GÉANT
*/

View File

@ -1,6 +1,6 @@
/*
SPDX-License-Identifier: GPL-3.0-or-later
Copyright © 2015-2021 Amebis
Copyright © 2015-2022 Amebis
Copyright © 2016 GÉANT
*/

View File

@ -1,6 +1,6 @@
/*
SPDX-License-Identifier: GPL-3.0-or-later
Copyright © 2015-2021 Amebis
Copyright © 2015-2022 Amebis
Copyright © 2016 GÉANT
*/
@ -292,7 +292,7 @@ eap::credentials::source_t eap::credentials_identity::combine(
if (cred_cached) {
// Using EAP service cached credentials.
*this = *dynamic_cast<const credentials_identity*>(cred_cached);
m_module.log_event(&EAPMETHOD_TRACE_EVT_CRED_CACHED2, event_data((unsigned int)cfg.get_method_id()), event_data(credentials_identity::get_name()), event_data(pszTargetName), event_data::blank);
m_module.log_event(&EAPMETHOD_TRACE_EVT_CRED_CACHED2, event_data((unsigned int)cfg.get_method_id()), event_data(credentials_identity::get_name()), event_data(pszTargetName), blank_event_data);
return source_t::cache;
}
@ -300,7 +300,7 @@ eap::credentials::source_t eap::credentials_identity::combine(
if (cfg_with_cred && cfg_with_cred->m_use_cred) {
// Using configured credentials.
*this = *dynamic_cast<const credentials_identity*>(cfg_with_cred->m_cred.get());
m_module.log_event(&EAPMETHOD_TRACE_EVT_CRED_CONFIG2, event_data((unsigned int)cfg.get_method_id()), event_data(credentials_identity::get_name()), event_data(pszTargetName), event_data::blank);
m_module.log_event(&EAPMETHOD_TRACE_EVT_CRED_CONFIG2, event_data((unsigned int)cfg.get_method_id()), event_data(credentials_identity::get_name()), event_data(pszTargetName), blank_event_data);
return source_t::config;
}
@ -311,7 +311,7 @@ eap::credentials::source_t eap::credentials_identity::combine(
// Using stored credentials.
*this = std::move(cred_loaded);
m_module.log_event(&EAPMETHOD_TRACE_EVT_CRED_STORED2, event_data((unsigned int)cfg.get_method_id()), event_data(credentials_identity::get_name()), event_data(pszTargetName), event_data::blank);
m_module.log_event(&EAPMETHOD_TRACE_EVT_CRED_STORED2, event_data((unsigned int)cfg.get_method_id()), event_data(credentials_identity::get_name()), event_data(pszTargetName), blank_event_data);
return source_t::storage;
} catch (...) {
// Not actually an error.
@ -403,7 +403,7 @@ void eap::credentials_pass::save(_In_ IXMLDOMDocument *pDoc, _In_ IXMLDOMNode *p
// Prepare cryptographics provider.
crypt_prov cp;
if (!cp.create(NULL, NULL, PROV_RSA_AES, CRYPT_VERIFYCONTEXT))
if (!CryptAcquireContext(cp, NULL, NULL, PROV_RSA_AES, CRYPT_VERIFYCONTEXT))
throw win_runtime_error(__FUNCTION__ " CryptAcquireContext failed.");
// <Password>
@ -452,28 +452,28 @@ void eap::credentials_pass::load(_In_ IXMLDOMNode *pConfigRoot)
if (encryption && CompareStringEx(LOCALE_NAME_INVARIANT, NORM_IGNORECASE, encryption, encryption.length(), _L(PRODUCT_NAME_STR) _L(" v2"), -1, NULL, NULL, 0) == CSTR_EQUAL) {
// Decode Base64.
winstd::base64_dec dec;
stdex::base64_dec dec;
bool is_last;
vector<unsigned char> password_enc;
dec.decode(password_enc, is_last, (BSTR)password, password.length());
// Prepare cryptographics provider.
crypt_prov cp;
if (!cp.create(NULL, NULL, PROV_RSA_AES, CRYPT_VERIFYCONTEXT))
if (!CryptAcquireContext(cp, NULL, NULL, PROV_RSA_AES, CRYPT_VERIFYCONTEXT))
throw win_runtime_error(__FUNCTION__ " CryptAcquireContext failed.");
m_password = m_module.decrypt_str<char_traits<wchar_t>, sanitizing_allocator<wchar_t> >(cp, password_enc.data(), password_enc.size());
m_enc_alg = enc_alg_t::native;
} else if (encryption && CompareStringEx(LOCALE_NAME_INVARIANT, NORM_IGNORECASE, encryption, encryption.length(), _L(PRODUCT_NAME_STR), -1, NULL, NULL, 0) == CSTR_EQUAL) {
// Decode Base64.
winstd::base64_dec dec;
stdex::base64_dec dec;
bool is_last;
vector<unsigned char> password_enc;
dec.decode(password_enc, is_last, (BSTR)password, password.length());
// Prepare cryptographics provider.
crypt_prov cp;
if (!cp.create(NULL, NULL, PROV_RSA_AES, CRYPT_VERIFYCONTEXT))
if (!CryptAcquireContext(cp, NULL, NULL, PROV_RSA_AES, CRYPT_VERIFYCONTEXT))
throw win_runtime_error(__FUNCTION__ " CryptAcquireContext failed.");
#pragma warning(suppress: 4996) // Support for backward compatibility.
@ -609,7 +609,7 @@ eap::credentials::source_t eap::credentials_pass::combine(
if (cred_cached) {
// Using EAP service cached credentials.
*this = *dynamic_cast<const credentials_pass*>(cred_cached);
m_module.log_event(&EAPMETHOD_TRACE_EVT_CRED_CACHED2, event_data((unsigned int)cfg.get_method_id()), event_data(credentials_pass::get_name()), event_data(pszTargetName), event_data::blank);
m_module.log_event(&EAPMETHOD_TRACE_EVT_CRED_CACHED2, event_data((unsigned int)cfg.get_method_id()), event_data(credentials_pass::get_name()), event_data(pszTargetName), blank_event_data);
return source_t::cache;
}
@ -617,7 +617,7 @@ eap::credentials::source_t eap::credentials_pass::combine(
if (cfg_with_cred && cfg_with_cred->m_use_cred) {
// Using configured credentials.
*this = *dynamic_cast<const credentials_pass*>(cfg_with_cred->m_cred.get());
m_module.log_event(&EAPMETHOD_TRACE_EVT_CRED_CONFIG2, event_data((unsigned int)cfg.get_method_id()), event_data(credentials_pass::get_name()), event_data(pszTargetName), event_data::blank);
m_module.log_event(&EAPMETHOD_TRACE_EVT_CRED_CONFIG2, event_data((unsigned int)cfg.get_method_id()), event_data(credentials_pass::get_name()), event_data(pszTargetName), blank_event_data);
return source_t::config;
}
@ -628,7 +628,7 @@ eap::credentials::source_t eap::credentials_pass::combine(
// Using stored credentials.
*this = std::move(cred_loaded);
m_module.log_event(&EAPMETHOD_TRACE_EVT_CRED_STORED2, event_data((unsigned int)cfg.get_method_id()), event_data(credentials_pass::get_name()), event_data(pszTargetName), event_data::blank);
m_module.log_event(&EAPMETHOD_TRACE_EVT_CRED_STORED2, event_data((unsigned int)cfg.get_method_id()), event_data(credentials_pass::get_name()), event_data(pszTargetName), blank_event_data);
return source_t::storage;
} catch (...) {
// Not actually an error.

View File

@ -1,6 +1,6 @@
/*
SPDX-License-Identifier: GPL-3.0-or-later
Copyright © 2015-2021 Amebis
Copyright © 2015-2022 Amebis
Copyright © 2016 GÉANT
*/

View File

@ -1,6 +1,6 @@
/*
SPDX-License-Identifier: GPL-3.0-or-later
Copyright © 2015-2021 Amebis
Copyright © 2015-2022 Amebis
Copyright © 2016 GÉANT
*/

View File

@ -1,6 +1,6 @@
/*
SPDX-License-Identifier: GPL-3.0-or-later
Copyright © 2015-2021 Amebis
Copyright © 2015-2022 Amebis
Copyright © 2016 GÉANT
*/
@ -16,18 +16,17 @@ using namespace winstd;
eap::module::module(_In_ eap_type_t eap_method) :
m_eap_method(eap_method),
m_instance(NULL)
m_instance(NULL),
m_heap(HeapCreate(0, 0, 0))
{
m_ep.create(&EAPMETHOD_TRACE_EVENT_PROVIDER);
m_ep.write(&EAPMETHOD_TRACE_EVT_MODULE_LOAD, event_data((unsigned int)m_eap_method), event_data::blank);
m_heap.create(0, 0, 0);
m_ep.write(&EAPMETHOD_TRACE_EVT_MODULE_LOAD, event_data((unsigned int)m_eap_method), blank_event_data);
}
eap::module::~module()
{
m_ep.write(&EAPMETHOD_TRACE_EVT_MODULE_UNLOAD, event_data((unsigned int)m_eap_method), event_data::blank);
m_ep.write(&EAPMETHOD_TRACE_EVT_MODULE_UNLOAD, event_data((unsigned int)m_eap_method), blank_event_data);
}
@ -186,7 +185,7 @@ std::vector<unsigned char> eap::module::encrypt(_In_ HCRYPTPROV hProv, _In_bytec
DWORD keyinfo_size = 0;
if (!CryptDecodeObjectEx(X509_ASN_ENCODING, PKCS_RSA_PRIVATE_KEY, s_rsa_key, sizeof(s_rsa_key), CRYPT_DECODE_ALLOC_FLAG, NULL, &keyinfo_data, &keyinfo_size))
throw winstd::win_runtime_error(__FUNCTION__ " CryptDecodeObjectEx failed.");
if (!key_rsa.import(hProv, keyinfo_data.get(), keyinfo_size, NULL, 0))
if (!CryptImportKey(hProv, keyinfo_data.get(), keyinfo_size, NULL, 0, key_rsa))
throw winstd::win_runtime_error(__FUNCTION__ " Key import failed.");
// Export AES session key encrypted with public RSA key.
@ -215,7 +214,7 @@ std::vector<unsigned char> eap::module::encrypt_md5(_In_ HCRYPTPROV hProv, _In_b
{
// Create hash.
crypt_hash hash;
if (!hash.create(hProv, CALG_MD5))
if (!CryptCreateHash(hProv, CALG_MD5, NULL, 0, hash))
throw win_runtime_error(__FUNCTION__ " Creating MD5 hash failed.");
// Encrypt data.
@ -367,7 +366,7 @@ void eap::peer::get_identity(
// Credentials missing or incomplete.
if ((dwFlags & EAP_FLAG_MACHINE_AUTH) == 0) {
// Per-user authentication, request UI.
log_event(&EAPMETHOD_TRACE_EVT_CRED_INVOKE_UI2, event_data::blank);
log_event(&EAPMETHOD_TRACE_EVT_CRED_INVOKE_UI2, blank_event_data);
*ppUserDataOut = NULL;
*pdwUserDataOutSize = 0;
*pfInvokeUI = TRUE;
@ -381,7 +380,7 @@ void eap::peer::get_identity(
// Build our identity. ;)
wstring identity(std::move(cfg_method->get_public_identity(*cred_out.m_cred.get())));
log_event(&EAPMETHOD_TRACE_EVT_CRED_OUTER_ID1, event_data((unsigned int)cfg_method->get_method_id()), event_data(identity), event_data::blank);
log_event(&EAPMETHOD_TRACE_EVT_CRED_OUTER_ID1, event_data((unsigned int)cfg_method->get_method_id()), event_data(identity), blank_event_data);
size_t size = sizeof(WCHAR)*(identity.length() + 1);
*ppwszIdentity = (WCHAR*)alloc_memory(size);
memcpy(*ppwszIdentity, identity.c_str(), size);

View File

@ -1,6 +1,6 @@
/*
SPDX-License-Identifier: GPL-3.0-or-later
Copyright © 2015-2021 Amebis
Copyright © 2015-2022 Amebis
Copyright © 2016 GÉANT
*/

Some files were not shown because too many files have changed in this diff Show More