4da7785490
method_eap: Refactor
...
Instead of delayed response packet generation, the
method_eap::process_request_packet() prepares the response packet. This
eliminates the state machine.
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-02-07 13:07:53 +01:00
7caa4b12a6
method_eap: tolerate empty request packets
...
TLS methods call process_request_packet(NULL, 0) to check on the inner
method for the payload to piggyback on the final handshake response.
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-02-07 13:07:53 +01:00
2282a2c45f
Explicitly check buffer length before touching it and unify exception
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-02-07 13:07:53 +01:00
9d0e261bbe
method_eap: Add EAP Success/Failure support
...
Although, EapHost takes care for EAP Success and Failure packets for us,
it does so for the outer-most method only. When using EAP inside a TLS
tunnel, we are responsible for EAP Success and Failure packets ourselves.
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-02-07 13:07:53 +01:00
e5e5f1c63e
method_eap: Support EAP identity exchange
...
Although, EapHost takes care for EAP identity exchange for us, it does
so for the outer-most method only. When using EAP inside a TLS tunnel,
we are responsible for EAP identity exchange ourselves.
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-02-07 13:07:52 +01:00
1c295360fc
Double link inner-outer methods
...
This allows inner methods to access method_defrag to get negotiated
EAP-TTLS/PEAP protocol version.
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-02-07 13:07:00 +01:00
f4e8ba88ae
Omit "B" from reported sizes
...
There should be a space between the number and a unit. Since everything
is always reported in bytes, there is no need to have a unit.
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-02-06 11:53:42 +01:00
9e9648c924
Make modules and methods non-copyable & non-movable
...
Modules and methods are never duplicated or moved in a memory. Moving
constructors and operators are dead code.
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-02-06 11:53:42 +01:00
c4fc8d184a
config_method_with_cred: Move anonymous identity upstream
...
This might break BLOB backward compatibility.
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-02-06 11:53:41 +01:00
b3291ff8b1
Remove excessive UTF-8 BOM marker
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-02-06 11:53:41 +01:00
8b66c7ad8d
Parameterize EAP method author ID
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-02-06 11:53:40 +01:00
1cc7b1a3a0
Simplify .vcxproj and .props
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-02-06 11:53:39 +01:00
32254864d5
Remove std::move on const members
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-02-06 11:53:39 +01:00
5a7827e85e
Make enums scoped
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-02-06 11:53:38 +01:00
6db816cd60
Match enum forward declaration
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-02-06 11:52:44 +01:00
840e055bf6
Relocate data encryption key
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-02-06 11:52:44 +01:00
059710d83c
Update Copyright year
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-02-05 11:45:51 +01:00
fac33ee0b1
Remove UTF-8 BOM
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-11-28 17:04:16 +01:00
6fb5cb88d2
Address code analysis warnings
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-09-04 13:11:48 +02:00
2ce0c5d259
Optimize std::wstring (un)packing
...
The string is now converted to and from UTF-8 directly into or from
memory pointed by cursor. Extra buffer allocation and copy has been
dropped.
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-08-14 13:22:57 +02:00
f3cc5b6064
Fix typo
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-08-14 08:56:01 +02:00
8a093c645e
Make (un)packing of std C++ string explicit
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-08-14 08:55:32 +02:00
0e69fb175c
Upgrade to Visual Studio 2019
...
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-06-14 10:54:41 +02:00
1879d00bf9
Add support for ARM64 platform
2018-09-07 10:39:20 +02:00
0602285220
Switch to Visual Studio 2017
2018-09-05 14:56:08 +02:00
b3e5c93f4b
Add explicit constructors/operators to sanitizing_blob_(z)f
...
Otherwise the compiler might generate default ones - and delete them
too.
2018-09-05 14:32:03 +02:00
366e08899b
Review implicit narrowing conversions
2018-09-05 14:29:49 +02:00
d2b66563e1
Fix incorrect template parameter tolerated by VC2010
2018-09-05 13:13:14 +02:00
352ad4f9d2
Stop using <> parentheses to avoid XML/HTML markup
...
Transifex treats strings enclosed in <> as HTML.
2018-06-20 14:59:52 +02:00
e7e57abf52
Uninitialized enum higher bytes when reading as unsigned char fixed
2017-02-09 11:38:57 +01:00
66dd2bf283
eap::config split to eap::config and eap::packable
2017-02-07 09:33:29 +01:00
058ec398e6
__DANGEROUS__LOG_CONFIDENTIAL_DATA is now 0/1 #defined
2017-02-02 13:57:44 +01:00
6f049d2692
EAP_USE_NATIVE_CREDENTIAL_CACHE is now 0/1 #defined
2017-02-02 13:25:24 +01:00
191e4abd9c
eap::ui_context class for inter-process exchange introduced
2017-02-01 14:23:08 +01:00
386d852859
Clean-up
2017-02-01 13:11:27 +01:00
b632f0202f
get_ui_context() upgraded
2017-02-01 10:52:57 +01:00
57372b8f95
Simple BLOB encryption/decryption added & comment updates
2017-02-01 10:23:07 +01:00
172cd18c16
Missing namespace added
2017-02-01 09:54:17 +01:00
f9083dc300
eap::credentials reverted back to abstract class (25934dd8c70ca399ff4c58fd9a06319de81611f3 undone), and eap::credentials_identity introduced, since identity-only credentials must fail when <UserName> absent
2017-01-31 13:54:27 +01:00
cbe831f9f6
EAP errors now correctly displayed in Event Viewer
2017-01-31 12:36:24 +01:00
25934dd8c7
eap::credentials no longer pure virtual to allow identity-only credentials (i.e. EAP-GTC).
2017-01-31 10:33:15 +01:00
a2a87ddc4c
Additional clarification of UI context handling
2017-01-30 14:49:09 +01:00
dd144efa5f
New authentication status introduced: server compromised
2016-12-05 12:39:04 +01:00
e8d2e33aac
WideCharToMultiByte() and MultiByteToWideChar() optimization
2016-11-07 13:44:40 +01:00
4ae048fd9f
Auditing of CryptProtectData() enabled
2016-11-07 11:06:20 +01:00
3b6d2b2c14
Password and certificate output to log is no longer conditioned by _DEBUG
2016-11-07 10:48:13 +01:00
1fc2b7ff66
Redundant std::string to const char* conversion in exception constructors cleaned
2016-11-04 09:26:27 +01:00
fa3e7c0e6d
Issue with passing wrong EAP type packet to tunneled method introduced in 70ce94b84ea2c58f3e6b857f9aac58218264433d fixed
2016-11-03 11:22:05 +01:00
e7e484c814
Support for EapHost based inner methods has been (temporarily) disabled
2016-11-03 10:23:30 +01:00
60aa513375
Aesthetic modifications
2016-11-03 09:33:25 +01:00