210 Commits

Author SHA1 Message Date
921aa9f4e9 Discontinue forward declarations
They are pain to maintain. We'll use them only if really needed (cyclic
dependencies).

Signed-off-by: Simon Rozman <simon@rozman.si>
2022-02-04 13:06:34 +01:00
e513782854 Use explicit char/wchar_t type for ...A/W Win32 API
Using template type for string type could potentially allow mixup of
MBCS and UCS-2/UTF-16 strings. Fortunately, MSVC errors where char*/
wchar_t* are not aligned with LPSTR/LPWSTR.

Signed-off-by: Simon Rozman <simon@rozman.si>
2022-02-04 09:54:01 +01:00
04c2f9b9c3 Reuse free_internal() when destructing the handle<> implementations
Depending on the settings, compiler inlines the free_internal() call
inside the destructor. No need to copy&paste code.

Signed-off-by: Simon Rozman <simon@rozman.si>
2022-02-04 09:18:45 +01:00
081df56d18 Fix MsiFormatRecordW forward declaration to match implementation
Signed-off-by: Simon Rozman <simon@rozman.si>
2022-02-03 15:46:25 +01:00
918cdb9cd6 Switch to MIT license
Signed-off-by: Simon Rozman <simon@rozman.si>
2022-02-03 15:39:44 +01:00
cd025b449a Move Hex from WinStd to stdex
Signed-off-by: Simon Rozman <simon@rozman.si>
2022-02-03 15:12:27 +01:00
465c52f0a0 Discontinue manual inline hinting
Compiler knows better than we do.

Signed-off-by: Simon Rozman <simon@rozman.si>
2022-02-03 15:05:30 +01:00
880fd34e16 Move our Base64 implementation to stdex
Base64 is general algorithm not provided with Win32 API.

Signed-off-by: Simon Rozman <simon@rozman.si>
2022-02-03 13:42:46 +01:00
c49ea10055 Migrate static data class members into static data namespace members
MSVC linker can't merge former, but can the later ones.

Signed-off-by: Simon Rozman <simon@rozman.si>
2022-02-03 13:03:53 +01:00
5c9d716409 Silence dead-code warnings
This is library to be used by other projects and we cannot/do not want
to know in advance which functions will be used and which not.

Signed-off-by: Simon Rozman <simon@rozman.si>
2022-02-03 12:58:52 +01:00
6e34783ed5 Make code portable
Signed-off-by: Simon Rozman <simon@rozman.si>
2022-02-03 11:53:45 +01:00
7882064e0b Add WINSTD_ prefix to some macro names
This minimizes name collisions with other projects.

Signed-off-by: Simon Rozman <simon@rozman.si>
2022-01-27 09:47:58 +01:00
9642f0d1d5 Add QueryFullProcessImageName helpers
Signed-off-by: Simon Rozman <simon@rozman.si>
2022-01-26 08:57:08 +01:00
0d56d79c35 Update Copyright year
Signed-off-by: Simon Rozman <simon@rozman.si>
2022-01-07 11:20:07 +01:00
eb73ce92ed Switch to SPDX license notice
Signed-off-by: Simon Rozman <simon@rozman.si>
2021-11-22 12:59:00 +01:00
7188af8e71 Cleanup WINSTD_NOVTABLE/__declspec(novtable)
This was originally intended as a compiler hint.

Signed-off-by: Simon Rozman <simon@rozman.si>
2021-11-19 15:02:52 +01:00
82935bd8e0 Unify Windows.h inclusion
Windows.h must be included first and must be included with care
regarding WinSock.h and WinSock2.h affair.

Signed-off-by: Simon Rozman <simon@rozman.si>
2021-11-15 11:35:08 +01:00
b8816476e5 Introduce basic support for Windows GDI resources
Signed-off-by: Simon Rozman <simon@rozman.si>
2021-04-01 09:27:15 +02:00
51b262b382 Cleanup WINSTD_API and WINSTD_NOVTABLE
WINSTD_API: the WinStd is never compiled as DLL any more. No public
function or class needs __declspec(dllexport)/__declspec(dllimport) any
more.

WINSTD_NOVTABLE: inlined

Signed-off-by: Simon Rozman <simon@rozman.si>
2021-03-30 11:59:18 +02:00
96197da77e Introduce NormalizeString<>()
Signed-off-by: Simon Rozman <simon@rozman.si>
2021-03-25 10:33:24 +01:00
96e1882405 Copyright: Bump year
Signed-off-by: Simon Rozman <simon@rozman.si>
2021-03-25 08:32:57 +01:00
7196b4298e Add UTF-8 BOM markers
MSVC needs them to use correct charset when Language for non-Unicode
programs is set to Windows-1252 or anything different than UTF-8.

Signed-off-by: Simon Rozman <simon@rozman.si>
2020-11-19 10:53:10 +01:00
af734beeba Use more appropriate SAL annotation for _FormatMessage_format_string_
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-11-19 10:00:34 +01:00
85075cd419 Introduce reg_key::delete_subkey() method
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-06-29 15:15:36 +02:00
b5c020c732 Resolve code analysis reported warnings
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-06-29 14:04:57 +02:00
7c5f20d756 Address code analysis warnings
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-02-13 10:55:23 +01:00
73619821ee Address code analysis warnings
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-02-12 19:27:07 +01:00
973890b11b Add (unsigned) char event_data constructors
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-01-31 08:40:26 +01:00
3a67cd04a4 Add eap_type_t::ms_auth_tlv
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-01-29 09:11:30 +01:00
470a410b54 Update PEAP name
It's PEAP, not EAP-PEAP.

Signed-off-by: Simon Rozman <simon@rozman.si>
2020-01-17 12:06:30 +01:00
a4789afd01 Make enum eap_type_t scoped
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-01-04 11:55:48 +01:00
e776e5a473 Match enum forward declaration
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-01-04 11:03:38 +01:00
542d20fccb Update Copyright year
Signed-off-by: Simon Rozman <simon@rozman.si>
2020-01-03 12:13:42 +01:00
f9e65c8a75 Remove UTF-8 BOM
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-11-28 15:51:14 +01:00
03522c0047 Address code analysis warnings
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-09-04 13:02:22 +02:00
fa1514e9b3 Support NULL-tokens in user_impersonator
Specifying NULL token is a no-op now. This simplifies client code when
impersonation is optional.

Signed-off-by: Simon Rozman <simon@rozman.si>
2019-08-23 10:48:09 +02:00
ae62e57126 Address code analysis warnings
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-08-23 10:47:05 +02:00
8654f36e20 Check for LocalAlloc() failure in Release builds too
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-06-14 17:51:14 +02:00
a5e47313f9 Allow null error messages in exceptions
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-06-14 17:05:25 +02:00
33e2ac3da4 Address code analysis warnings
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-06-14 14:54:42 +02:00
1ba18f48c6 Upgrade to compile with WIN32_LEAN_AND_MEAN
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-06-14 09:26:53 +02:00
78683efbff Unify LPCBYTE
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-06-14 09:24:43 +02:00
badfb43772 Update security helper templates
Signed-off-by: Simon Rozman <simon@rozman.si>
2019-06-13 09:16:05 +02:00
f47faea71b Pull changes from downstream
- Drop Visual Studio 2010 support
- Update SAL
- New and updated classes and templates
- Copyright year update

Signed-off-by: Simon Rozman <simon@rozman.si>
2019-01-21 10:54:38 +01:00
cd78963fd2 Add support for WinTrust API 2018-12-18 12:33:21 +01:00
aa7cd261f2 Resolve code analysis reported warnings 2018-12-18 12:27:10 +01:00
51a82c242f Fix event_provider::write() malfunction under compiler optimization
VC++ 2017 optimization didn't like our playing with va_list.
2018-09-30 16:40:21 +02:00
49a6d61695 Extend copyright year 2018-09-07 23:48:24 +02:00
7f2515f54a Stop using internal unique_ptr::_Myptr member 2018-09-05 13:56:51 +02:00
b33af3a138 Split the project files to versions for VC2010 and VC2017 2018-08-31 13:27:00 +02:00