From d66ad98a4977b0eeb729a80246028ce67bf66afb Mon Sep 17 00:00:00 2001 From: Simon Rozman Date: Mon, 12 Aug 2019 13:18:51 +0200 Subject: [PATCH] Update documentation Signed-off-by: Simon Rozman --- CredWrite/README.md | 11 ++++++++++- MsiUseFeature/README.md | 5 ++++- README.md | 20 ++++++++++++++++++++ WLANManager/README.md | 5 ++++- lib/WinStd | 2 +- 5 files changed, 39 insertions(+), 4 deletions(-) diff --git a/CredWrite/README.md b/CredWrite/README.md index b3787ba..887f972 100644 --- a/CredWrite/README.md +++ b/CredWrite/README.md @@ -1,7 +1,9 @@ # CredWrite + Imports given credentials to Windows Credential Manager for GÉANTLink use ## Usage + ``` CredWrite [ [level]] ``` @@ -13,8 +15,15 @@ CredWrite [ [level]] The credentials are stored to Windows Credential Manager in invoking user's roaming profile. -Return codes: +### Return codes + - -1 = Invalid parameters - 0 = Success - 1 = Error parsing command line - 2 = Error encrypting password or writing credentials + +### Example + +``` +CredWrite dXNlckBjb250b3NvLmNvbQ== cGFzc3dvcmQxMjM= urn:RFC4282:realm:contoso.com 1 +``` diff --git a/MsiUseFeature/README.md b/MsiUseFeature/README.md index 86b42ca..fb4cc9a 100644 --- a/MsiUseFeature/README.md +++ b/MsiUseFeature/README.md @@ -1,7 +1,9 @@ # MsiUseFeature + Checks the installation state of the given feature of GÉANTLink product ## Usage + ``` MsiUseFeature [language] ``` @@ -11,7 +13,8 @@ MsiUseFeature [language] Note: The MSI product code changes on every release. Therefore, `MsiUseFeature` utility with identical version should be used. -Return codes: +### Return codes + - -1 = Invalid parameters - 0 = Success - 1 = The product is not installed, or feature state is unknown diff --git a/README.md b/README.md index f865602..8c3f065 100644 --- a/README.md +++ b/README.md @@ -3,10 +3,12 @@ Suite of EAP supplicants for Microsoft Windows - IEEE 802.1X clients for enterprise network authentication ## Features + - Integrates into Windows seamlessly - Wired and wireless network support ### Authentication methods + - EAP-TTLS with the following inner methods: - PAP - MSCHAPv2 @@ -15,6 +17,7 @@ Suite of EAP supplicants for Microsoft Windows - IEEE 802.1X clients for enterpr - System-installed EAP method chaining (experimental) ### Security + - Microsoft Windows Credential Manager stored user credentials - User credentials can be shared between different network profiles, regardless of their connection: wired or wireless - Encrypted EapHost inter-process communication @@ -24,20 +27,24 @@ Suite of EAP supplicants for Microsoft Windows - IEEE 802.1X clients for enterpr - Post-authentication CRL check ### Diagnostics + - Reporting to Event Log channels: Operational and Analytic verbosity - Real-time event monitoring utility ### User interface + - Customizable helpdesk contact information - Lockable network profile configuration ### Deployment + - Released as multi-lingual x86, x64, and ARM64 MSI packages; Group Policy deployment supported - [MsiUseFeature utility](https://github.com/Amebis/GEANTLink/tree/master/MsiUseFeature) for GÉANTLink install state testing (for embedding GÉANTLink into other setup packages) - [CredWrite utility](https://github.com/Amebis/GEANTLink/tree/master/CredWrite) for automated user credential import to Credential Manager - [WLANManager utility](https://github.com/Amebis/GEANTLink/tree/master/WLANManager) to allow network profile configuration dialog shortcuts ### Supported operating systems + - Windows Vista, Windows Server 2008 - Windows 7, Windows Server 2008 R2 - Windows 8 Desktop, Windows Server 2012 @@ -45,11 +52,13 @@ Suite of EAP supplicants for Microsoft Windows - IEEE 802.1X clients for enterpr - Windows 10 Desktop, Windows Server 2016 ## Download + Binaries are available for download [here](https://github.com/Amebis/GEANTLink/releases). ## Building ### Building Environment Requirements + - Microsoft Windows Vista or later - Microsoft Visual Studio 2019 - _msgfmt.exe_ from [gettext](https://www.gnu.org/software/gettext/); @@ -59,21 +68,25 @@ Binaries are available for download [here](https://github.com/Amebis/GEANTLink/r - _MsiDb.Exe_ and other command line utilities for MSI packaging distributed as a part of Microsoft Windows SDK (installed with Visual Studio). Add SDK's `Bin` folder to the system path. ### wxWidgets + GÉANTLink is using wxWidgets static libraries. Since upstream wxWidgets libraries don't support ARM64 yet, a clone with ARM64 support was prepared at [GitHub](https://github.com/Amebis/wxWidgets.git). #### Compiling wxWidgets x86 static libraries + 1. Start _x86 Native Tools Command Prompt for VS 2019_ 2. Change working folder to `build\msw` 3. Run: `nmake /f makefile.vc /ls RUNTIME_LIBS=static SHARED=0 COMPILER_VERSION=142` 4. Run: `nmake /f makefile.vc /ls RUNTIME_LIBS=static SHARED=0 COMPILER_VERSION=142 BUILD=release` #### Compiling wxWidgets x64 static libraries + 1. Start _x64 Native Tools Command Prompt for VS 2019_ 2. Change working folder to `build\msw` 3. Run: `nmake /f makefile.vc /ls RUNTIME_LIBS=static SHARED=0 COMPILER_VERSION=142 TARGET_CPU=X64` 4. Run: `nmake /f makefile.vc /ls RUNTIME_LIBS=static SHARED=0 COMPILER_VERSION=142 TARGET_CPU=X64 BUILD=release` #### Compiling wxWidgets ARM64 static libraries + 1. Start command prompt 2. Change working folder to `build\msw` 3. Run: `"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsamd64_arm64.bat"` @@ -81,9 +94,11 @@ GÉANTLink is using wxWidgets static libraries. Since upstream wxWidgets librari 4. Run: `nmake /f makefile.vc /ls RUNTIME_LIBS=static SHARED=0 COMPILER_VERSION=142 TARGET_CPU=ARM64 USE_OPENGL=0 BUILD=release` #### Specifying wxWidgets path + GÉANTLink compilation references wxWidgets libraries using `WXWIN` environment variable. Please set it to wxWidgets folder (i.e. `C:\SDK\wxWidgets`). ### Digital Signing of Build Outputs + In order to have the build process digitally sign output files, one should provide the following: 1. A signing certificate installed in the current user’s certificate store. @@ -96,6 +111,7 @@ Please note that only Release builds are configured for timestamp signing. Debug ### Building #### Building in Visual Studio IDE + GÉANTLink has some submodules. When cloning Git repository, make sure to use `--recursive` Git switch to clone submodules too. Example: `git clone --recursive "https://github.com/Amebis/GEANTLink.git" "C:\Projects\GEANTLink"` @@ -110,6 +126,7 @@ Next, one must configure a network profile actually using GÉANTLink for the aut GÉANTLink EAP modules are divided into two DLLs: backend (i.e. _EAPTTLS.dll_) and GUI (i.e. _EAPTTLSUI.dll_). ##### Backend DLL + The backend DLL is loaded by _Eap3Host.exe_ process when connecting to the network. One approach to debug the module is to start Visual C++ elevated, open _GEANTLink.sln_, and attach to the running _Eap3Host.exe_ process. On initial connection attempt _Eap3Host.exe_ will load the DLL and will not release it until _EapHost_ service is restarted. To release our DLL (i.e. for rebuild) you have to restart _EapHost_ service manually or run `nmake register` again. @@ -117,6 +134,7 @@ On initial connection attempt _Eap3Host.exe_ will load the DLL and will not rele To debug early life of our backend DLL, uncomment `Sleep(10000)` in `DllMain()` of the module, and set breakpoints. This should give you plenty of time to catch emerging _Eap3Host.exe_ process and attach the debugger to it before our DLL starts servicing authentication. ##### GUI DLL + The GUI DLL is loaded by _DllHost.exe_ process on XML profile configuration import/export and when interactive user interface is required. A few seconds after desired function call has finished, _DllHost.exe_ terminates and releases the DLL. @@ -124,6 +142,7 @@ A few seconds after desired function call has finished, _DllHost.exe_ terminates To debug early life of our GUI DLL, uncomment `Sleep(10000)` in `DllMain()` of the module, and set breakpoints. This should give you plenty of time to attach the debugger to _DllHost.exe_ process before our DLL starts. #### Building in command line + Open _x64 Native Tools Command Prompt for VS 2019_ for building. Use Microsoft NMAKE to build the project. @@ -139,4 +158,5 @@ Command | Explanation The `/ls` flag can be appended to the commands above to reduce NMAKE’s verbosity. You can combine multiple targets (i.e. nmake Unregister Clean). Please, see NMAKE reference for further reading. ### Translating into your language + GÉANTLink is fully localizable. We kindly invite you to help [translating it on Transifex](https://www.transifex.com/eduroam_devel/geantlink/). diff --git a/WLANManager/README.md b/WLANManager/README.md index df4e844..1c00c7f 100644 --- a/WLANManager/README.md +++ b/WLANManager/README.md @@ -1,7 +1,9 @@ # WLANManager + Invokes standard Windows Wireless Network Properties dialog ## Usage + ``` WLANManager profile [interface ] ``` @@ -9,7 +11,8 @@ WLANManager profile [interface ] - `profile name` - The name of the network profile (not neccessarely the same as SSID) - `interface name` - The name of the specific network interface to search the profile at -Return codes: +### Return codes + - -1 = Invalid parameters - 0 = Success - 1 = Error parsing command line diff --git a/lib/WinStd b/lib/WinStd index 1ba18f4..ddf3330 160000 --- a/lib/WinStd +++ b/lib/WinStd @@ -1 +1 @@ -Subproject commit 1ba18f48c637d9baf8c5b74ed0a0b06c7a04f7b0 +Subproject commit ddf3330545faa2365f43593bbce7445edb8ee519