Update documentation

Signed-off-by: Simon Rozman <simon@rozman.si>
This commit is contained in:
Simon Rozman 2019-08-12 13:18:51 +02:00
parent 2e8bd4403f
commit d66ad98a49
5 changed files with 39 additions and 4 deletions

View File

@ -1,7 +1,9 @@
# CredWrite
Imports given credentials to Windows Credential Manager for GÉANTLink use
## Usage
```
CredWrite <username> <password> [<realm> [level]]
```
@ -13,8 +15,15 @@ CredWrite <username> <password> [<realm> [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
```

View File

@ -1,7 +1,9 @@
# MsiUseFeature
Checks the installation state of the given feature of GÉANTLink product
## Usage
```
MsiUseFeature <feature name> [language]
```
@ -11,7 +13,8 @@ MsiUseFeature <feature name> [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

View File

@ -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 users 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 NMAKEs 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/).

View File

@ -1,7 +1,9 @@
# WLANManager
Invokes standard Windows Wireless Network Properties dialog
## Usage
```
WLANManager profile <profile name> [interface <interface name>]
```
@ -9,7 +11,8 @@ WLANManager profile <profile name> [interface <interface name>]
- `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

@ -1 +1 @@
Subproject commit 1ba18f48c637d9baf8c5b74ed0a0b06c7a04f7b0
Subproject commit ddf3330545faa2365f43593bbce7445edb8ee519