diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2020-10-31 11:55:26 +0100 |
---|---|---|
committer | Simon Rozman <simon@rozman.si> | 2020-10-31 19:11:51 +0100 |
commit | 937eb447278c2bc1b30852905c7740bcdedb534d (patch) | |
tree | bec9edcff4b45ae2a076f7cb218d1f98caa36da1 /api | |
parent | api: simplify build settings (diff) | |
download | wintun-937eb447278c2bc1b30852905c7740bcdedb534d.tar.xz wintun-937eb447278c2bc1b30852905c7740bcdedb534d.zip |
api: get rid of pch and make headers sane
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to 'api')
-rw-r--r-- | api/adapter.c | 23 | ||||
-rw-r--r-- | api/adapter.h | 2 | ||||
-rw-r--r-- | api/api.vcxproj | 12 | ||||
-rw-r--r-- | api/api.vcxproj.filters | 18 | ||||
-rw-r--r-- | api/elevate.c | 5 | ||||
-rw-r--r-- | api/elevate.h | 2 | ||||
-rw-r--r-- | api/entry.c (renamed from api/api.c) | 16 | ||||
-rw-r--r-- | api/entry.h (renamed from api/api.h) | 0 | ||||
-rw-r--r-- | api/logger.c | 3 | ||||
-rw-r--r-- | api/logger.h | 1 | ||||
-rw-r--r-- | api/namespace.c | 7 | ||||
-rw-r--r-- | api/nci.c | 3 | ||||
-rw-r--r-- | api/ntldr.h | 3 | ||||
-rw-r--r-- | api/pch.h | 43 | ||||
-rw-r--r-- | api/registry.c | 6 | ||||
-rw-r--r-- | api/registry.h | 1 | ||||
-rw-r--r-- | api/resource.c | 5 | ||||
-rw-r--r-- | api/rundll32.c | 6 | ||||
-rw-r--r-- | api/session.c | 7 |
19 files changed, 89 insertions, 74 deletions
diff --git a/api/adapter.c b/api/adapter.c index c0df8e9..bc166c6 100644 --- a/api/adapter.c +++ b/api/adapter.c @@ -3,7 +3,28 @@ * Copyright (C) 2018-2020 WireGuard LLC. All Rights Reserved. */ -#include "pch.h" +#include "adapter.h" +#include "elevate.h" +#include "entry.h" +#include "logger.h" +#include "namespace.h" +#include "nci.h" +#include "ntldr.h" +#include "registry.h" +#include "resource.h" + +#include <Windows.h> +#include <winternl.h> +#define _NTDEF_ //TODO: figure out how to include ntsecapi and winternal together without requiring this +#include <cfgmgr32.h> +#include <devguid.h> +#include <iphlpapi.h> +#include <ndisguid.h> +#include <newdev.h> +#include <NTSecAPI.h> +#include <SetupAPI.h> +#include <Shlwapi.h> +#include <wchar.h> #pragma warning(disable : 4221) /* nonstandard: address of automatic in initializer */ diff --git a/api/adapter.h b/api/adapter.h index e7480c6..628299a 100644 --- a/api/adapter.h +++ b/api/adapter.h @@ -6,7 +6,9 @@ #pragma once #include "wintun.h" +#include <IPExport.h> #include <SetupAPI.h> +#include <Windows.h> #define MAX_INSTANCE_ID MAX_PATH /* TODO: Is MAX_PATH always enough? */ #define WINTUN_HWID L"Wintun" diff --git a/api/api.vcxproj b/api/api.vcxproj index 3c1f58d..0883de8 100644 --- a/api/api.vcxproj +++ b/api/api.vcxproj @@ -104,8 +104,6 @@ <ClCompile> <PreprocessorDefinitions>_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions Condition="Exists('$(OutDir)whql\')">HAVE_WHQL;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <PrecompiledHeader>Use</PrecompiledHeader> - <PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile> <AdditionalOptions>/volatile:iso %(AdditionalOptions)</AdditionalOptions> </ClCompile> <ResourceCompile> @@ -153,28 +151,24 @@ <None Include="exports.def" /> </ItemGroup> <ItemGroup> - <ClInclude Include="api.h" /> + <ClInclude Include="entry.h" /> <ClInclude Include="adapter.h" /> <ClInclude Include="elevate.h" /> <ClInclude Include="logger.h" /> <ClInclude Include="namespace.h" /> <ClInclude Include="nci.h" /> <ClInclude Include="ntldr.h" /> - <ClInclude Include="pch.h" /> <ClInclude Include="registry.h" /> <ClInclude Include="resource.h" /> <ClInclude Include="wintun.h" /> </ItemGroup> <ItemGroup> - <ClCompile Include="api.c" /> + <ClCompile Include="entry.c" /> <ClCompile Include="adapter.c" /> <ClCompile Include="elevate.c" /> <ClCompile Include="logger.c" /> <ClCompile Include="namespace.c" /> <ClCompile Include="nci.c" /> - <ClCompile Include="pch.c"> - <PrecompiledHeader>Create</PrecompiledHeader> - </ClCompile> <ClCompile Include="registry.c" /> <ClCompile Include="resource.c" /> <ClCompile Include="session.c" /> @@ -197,4 +191,4 @@ <Target Name="CleanSignTarget"> <Delete Files="$(IntermediateOutputPath)$(TargetName).sign" /> </Target> -</Project> +</Project>
\ No newline at end of file diff --git a/api/api.vcxproj.filters b/api/api.vcxproj.filters index c65b099..90061fb 100644 --- a/api/api.vcxproj.filters +++ b/api/api.vcxproj.filters @@ -25,12 +25,6 @@ </None> </ItemGroup> <ItemGroup> - <ClInclude Include="api.h"> - <Filter>Header Files</Filter> - </ClInclude> - <ClInclude Include="pch.h"> - <Filter>Header Files</Filter> - </ClInclude> <ClInclude Include="nci.h"> <Filter>Header Files</Filter> </ClInclude> @@ -58,11 +52,11 @@ <ClInclude Include="elevate.h"> <Filter>Header Files</Filter> </ClInclude> + <ClInclude Include="entry.h"> + <Filter>Header Files</Filter> + </ClInclude> </ItemGroup> <ItemGroup> - <ClCompile Include="api.c"> - <Filter>Source Files</Filter> - </ClCompile> <ClCompile Include="namespace.c"> <Filter>Source Files</Filter> </ClCompile> @@ -75,9 +69,6 @@ <ClCompile Include="registry.c"> <Filter>Source Files</Filter> </ClCompile> - <ClCompile Include="pch.c"> - <Filter>Source Files</Filter> - </ClCompile> <ClCompile Include="logger.c"> <Filter>Source Files</Filter> </ClCompile> @@ -93,5 +84,8 @@ <ClCompile Include="elevate.c"> <Filter>Source Files</Filter> </ClCompile> + <ClCompile Include="entry.c"> + <Filter>Source Files</Filter> + </ClCompile> </ItemGroup> </Project>
\ No newline at end of file diff --git a/api/elevate.c b/api/elevate.c index 9baaa97..e9bab7f 100644 --- a/api/elevate.c +++ b/api/elevate.c @@ -3,7 +3,10 @@ * Copyright (C) 2018-2020 WireGuard LLC. All Rights Reserved. */ -#include "pch.h" +#include "elevate.h" + +#include <Windows.h> +#include <TlHelp32.h> BOOL ElevateToSystem(void) diff --git a/api/elevate.h b/api/elevate.h index 5a3b70c..ec054ba 100644 --- a/api/elevate.h +++ b/api/elevate.h @@ -5,5 +5,7 @@ #pragma once +#include <Windows.h> + BOOL ElevateToSystem(void); @@ -3,7 +3,21 @@ * Copyright (C) 2018-2020 WireGuard LLC. All Rights Reserved. */ -#include "pch.h" +#include "adapter.h" +#include "entry.h" +#include "logger.h" +#include "registry.h" +#include "namespace.h" +#include "nci.h" +#include "wintun.h" + +#include <Windows.h> +#pragma warning(push) +#pragma warning(disable : 4201) +/* nonstandard extension used: nameless struct/union */ +#include <delayimp.h> +#pragma warning(pop) +#include <sddl.h> HINSTANCE ResourceModule; HANDLE ModuleHeap; diff --git a/api/logger.c b/api/logger.c index 468e22d..6de25c8 100644 --- a/api/logger.c +++ b/api/logger.c @@ -3,7 +3,8 @@ * Copyright (C) 2018-2020 WireGuard LLC. All Rights Reserved. */ -#include "pch.h" +#include "logger.h" +#include <Windows.h> static BOOL CALLBACK NopLogger(_In_ WINTUN_LOGGER_LEVEL Level, _In_z_ const WCHAR *LogLine) diff --git a/api/logger.h b/api/logger.h index 76d98f8..e126748 100644 --- a/api/logger.h +++ b/api/logger.h @@ -6,6 +6,7 @@ #pragma once #include "wintun.h" +#include <Windows.h> extern WINTUN_LOGGER_FUNC Logger; diff --git a/api/namespace.c b/api/namespace.c index 6eff910..baee8a2 100644 --- a/api/namespace.c +++ b/api/namespace.c @@ -3,7 +3,12 @@ * Copyright (C) 2018-2020 WireGuard LLC. All Rights Reserved. */ -#include "pch.h" +#include "entry.h" +#include "logger.h" +#include "namespace.h" + +#include <Windows.h> +#include <bcrypt.h> static BOOL HasInitialized = FALSE; static CRITICAL_SECTION Initializing; @@ -3,7 +3,8 @@ * Copyright (C) 2018-2020 WireGuard LLC. All Rights Reserved. */ -#include "pch.h" +#include "nci.h" +#include <Windows.h> static HMODULE NciModule; diff --git a/api/ntldr.h b/api/ntldr.h index dca0e78..3511fd8 100644 --- a/api/ntldr.h +++ b/api/ntldr.h @@ -31,3 +31,6 @@ typedef struct _RTL_PROCESS_MODULES ULONG NumberOfModules; RTL_PROCESS_MODULE_INFORMATION Modules[1]; } RTL_PROCESS_MODULES, *PRTL_PROCESS_MODULES; + + +#define STATUS_INFO_LENGTH_MISMATCH ((NTSTATUS)0xC0000004L) //TODO: #include <ntstatus.h> instead of this diff --git a/api/pch.h b/api/pch.h deleted file mode 100644 index 4defd82..0000000 --- a/api/pch.h +++ /dev/null @@ -1,43 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0 - * - * Copyright (C) 2018-2020 WireGuard LLC. All Rights Reserved. - */ - -#pragma once - -#include "adapter.h" -#include "api.h" -#include "elevate.h" -#include "logger.h" -#include "namespace.h" -#include "nci.h" -#include "ntldr.h" -#include "registry.h" -#include "resource.h" -#include "wintun.h" - -#pragma warning(push) -#pragma warning(disable: 4201) /* nonstandard extension used: nameless struct/union */ -#include <bcrypt.h> -#include <cfgmgr32.h> -#include <delayimp.h> -#include <devguid.h> -#include <IPExport.h> -#include <iphlpapi.h> -#include <locale.h> -#include <ndisguid.h> -#include <newdev.h> -#include <objbase.h> -#include <Psapi.h> -#include <sddl.h> -#include <SetupAPI.h> -#include <Shlwapi.h> -#include <string.h> -#include <TlHelp32.h> -#include <wchar.h> -#include <Windows.h> -#include <winternl.h> -#define _NTDEF_ //TODO: find a better way to include both ntsecapi.h and winternl.h or include ntdef.h for real somehow -#include <NTSecAPI.h> -#define STATUS_INFO_LENGTH_MISMATCH ((NTSTATUS)0xC0000004L) //TODO: #include <ntstatus.h> instead of this -#pragma warning(pop)
\ No newline at end of file diff --git a/api/registry.c b/api/registry.c index c0ebe93..1428165 100644 --- a/api/registry.c +++ b/api/registry.c @@ -3,7 +3,11 @@ * Copyright (C) 2018-2020 WireGuard LLC. All Rights Reserved. */ -#include "pch.h" +#include "entry.h" +#include "logger.h" +#include "registry.h" +#include <Windows.h> +#include <wchar.h> static WINTUN_STATUS OpenKeyWait(_In_ HKEY Key, _Inout_z_ WCHAR *Path, _In_ DWORD Access, _In_ ULONGLONG Deadline, _Out_ HKEY *KeyOut) diff --git a/api/registry.h b/api/registry.h index a8e5f5f..0ba7279 100644 --- a/api/registry.h +++ b/api/registry.h @@ -6,6 +6,7 @@ #pragma once #include "wintun.h" +#include <Windows.h> #define MAX_REG_PATH \ 256 /* Maximum registry path length \ diff --git a/api/resource.c b/api/resource.c index 17bed6a..94dc80b 100644 --- a/api/resource.c +++ b/api/resource.c @@ -3,7 +3,10 @@ * Copyright (C) 2018-2020 WireGuard LLC. All Rights Reserved. */ -#include "pch.h" +#include "entry.h" +#include "logger.h" +#include "resource.h" +#include <Windows.h> WINTUN_STATUS ResourceGetAddress(_In_z_ const WCHAR *ResourceName, _Out_ const void **Address, _Out_ DWORD *Size) diff --git a/api/rundll32.c b/api/rundll32.c index bdec3b6..40ec3fe 100644 --- a/api/rundll32.c +++ b/api/rundll32.c @@ -3,7 +3,11 @@ * Copyright (C) 2018-2020 WireGuard LLC. All Rights Reserved. */ -#include "pch.h" +#include "adapter.h" +#include "logger.h" +#include "wintun.h" + +#include <Windows.h> #define EXPORT comment(linker, "/EXPORT:" __FUNCTION__ "=" __FUNCDNAME__) diff --git a/api/session.c b/api/session.c index eb71147..67772f0 100644 --- a/api/session.c +++ b/api/session.c @@ -3,7 +3,12 @@ * Copyright (C) 2018-2020 WireGuard LLC. All Rights Reserved. */ -#include "pch.h" +#include "adapter.h" +#include "elevate.h" +#include "entry.h" +#include "logger.h" +#include "wintun.h" +#include <Windows.h> #pragma warning(disable : 4200) /* nonstandard: zero-sized array in struct/union */ |