diff --git a/contrib/win32/openssh/ssh-lsa.vcxproj b/contrib/win32/openssh/ssh-lsa.vcxproj
index 6e199a8..b6e9453 100644
--- a/contrib/win32/openssh/ssh-lsa.vcxproj
+++ b/contrib/win32/openssh/ssh-lsa.vcxproj
@@ -110,32 +110,35 @@
Disabled
_WIN32_WINNT=0x501;__VS_BUILD__=1;__VS_BUILD__WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_WARNINGS;_WINSOCK_DEPRECATED_NO_WARNINGS;%(PreprocessorDefinitions)
false
- $(SolutionDir);$(OpenSSL-Win32-Debug-Path)include;$(OpenSSH-Src-Path)includes;$(OpenSSH-Src-Path);$(OpenSSH-Src-Path)contrib\win32\win32compat\includes;$(OpenSSH-Src-Path)contrib\win32\win32compat;$(OpenSSH-Src-Path)libkrb;$(OpenSSH-Src-Path)libkrb\libKrb5;%(AdditionalIncludeDirectories)
+ $(OpenSSL-Win32-Debug-Path)include;%(AdditionalIncludeDirectories)
MultiThreadedDebug
+ StdCall
Console
true
- bcrypt.lib;Userenv.lib;Ws2_32.lib;Secur32.lib;libeay32.lib;ssleay32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
- $(OpenSSH-Lib-Path)$(Platform)\$(Configuration);$(OpenSSL-Win32-Debug-Path)lib;%(AdditionalLibraryDirectories)
+ Userenv.lib;Ws2_32.lib;Secur32.lib;libeay32.lib;ssleay32.lib;kernel32.lib;advapi32.lib;%(AdditionalDependencies)
+ $(OpenSSL-Win32-Debug-Path)lib;%(AdditionalLibraryDirectories)
- Level1
+ Level3
Disabled
_WIN32_WINNT=0x501;__VS_BUILD__=1;__VS_BUILD__WIN32;_DEBUG;_LIB;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_WARNINGS;_WINSOCK_DEPRECATED_NO_WARNINGS;%(PreprocessorDefinitions)
- false
- $(SolutionDir);$(OpenSSL-x64-Debug-Path)include;$(OpenSSH-Src-Path)includes;$(OpenSSH-Src-Path);$(OpenSSH-Src-Path)contrib\win32\win32compat\includes;$(OpenSSH-Src-Path)contrib\win32\win32compat;$(OpenSSH-Src-Path)libkrb;$(OpenSSH-Src-Path)libkrb\libKrb5;%(AdditionalIncludeDirectories)
+ true
+ $(OpenSSL-x64-Debug-Path)include;%(AdditionalIncludeDirectories)
MultiThreadedDebug
+ StdCall
+ ProgramDatabase
Console
true
- bcrypt.lib;Userenv.lib;Ws2_32.lib;Secur32.lib;libeay32.lib;ssleay32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
- $(OpenSSH-Lib-Path)$(Platform)\$(Configuration);$(OpenSSL-x64-Debug-Path)lib;%(AdditionalLibraryDirectories)
+ Userenv.lib;Ws2_32.lib;Secur32.lib;libeay32.lib;ssleay32.lib;kernel32.lib;advapi32.lib;%(AdditionalDependencies)
+ $(OpenSSL-x64-Debug-Path)lib;%(AdditionalLibraryDirectories)
@@ -148,16 +151,17 @@
true
_WIN32_WINNT=0x501;__VS_BUILD__=1;__VS_BUILD___LIB;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_WARNINGS;_WINSOCK_DEPRECATED_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
false
- $(SolutionDir);$(OpenSSL-Win32-Release-Path)include;$(OpenSSH-Src-Path)includes;$(OpenSSH-Src-Path);$(OpenSSH-Src-Path)contrib\win32\win32compat\includes;$(OpenSSH-Src-Path)contrib\win32\win32compat;$(OpenSSH-Src-Path)libkrb;$(OpenSSH-Src-Path)libkrb\libKrb5;%(AdditionalIncludeDirectories)
+ $(OpenSSL-Win32-Release-Path)include;%(AdditionalIncludeDirectories)
MultiThreaded
+ StdCall
Console
No
true
true
- bcrypt.lib;Userenv.lib;Ws2_32.lib;Secur32.lib;libeay32.lib;ssleay32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
- $(OpenSSH-Lib-Path)$(Platform)\$(Configuration);$(OpenSSL-Win32-Release-Path)lib;%(AdditionalLibraryDirectories)
+ Userenv.lib;Ws2_32.lib;Secur32.lib;libeay32.lib;ssleay32.lib;kernel32.lib;advapi32.lib;%(AdditionalDependencies)
+ $(OpenSSL-Win32-Release-Path)lib;%(AdditionalLibraryDirectories)
@@ -170,16 +174,17 @@
true
_WIN32_WINNT=0x501;__VS_BUILD__=1;__VS_BUILD___LIB;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_WARNINGS;_WINSOCK_DEPRECATED_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
false
- $(SolutionDir);$(OpenSSL-x64-Release-Path)include;$(OpenSSH-Src-Path)includes;$(OpenSSH-Src-Path);$(OpenSSH-Src-Path)contrib\win32\win32compat\includes;$(OpenSSH-Src-Path)contrib\win32\win32compat;$(OpenSSH-Src-Path)libkrb;$(OpenSSH-Src-Path)libkrb\libKrb5;%(AdditionalIncludeDirectories)
+ $(OpenSSL-x64-Release-Path)include;%(AdditionalIncludeDirectories)
MultiThreaded
+ StdCall
Console
No
true
true
- bcrypt.lib;Userenv.lib;Ws2_32.lib;Secur32.lib;libeay32.lib;ssleay32.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
- $(OpenSSH-Lib-Path)$(Platform)\$(Configuration);$(OpenSSL-x64-Release-Path)lib;%(AdditionalLibraryDirectories)
+ Userenv.lib;Ws2_32.lib;Secur32.lib;libeay32.lib;ssleay32.lib;kernel32.lib;advapi32.lib;%(AdditionalDependencies)
+ $(OpenSSL-x64-Release-Path)lib;%(AdditionalLibraryDirectories)
diff --git a/contrib/win32/win32compat/lsa/LsaString.cpp b/contrib/win32/win32compat/lsa/LsaString.cpp
index 851419e..f3200c9 100644
--- a/contrib/win32/win32compat/lsa/LsaString.cpp
+++ b/contrib/win32/win32compat/lsa/LsaString.cpp
@@ -152,7 +152,11 @@ NTSTATUS FillUnicodeString(UNICODE_STRING *lsaStr, const Char *str)
// Fill string buffer.
//
- swprintf(lsaStr -> Buffer, L"%hs", str);
+#ifdef __VS_BUILD__
+ _swprintf(lsaStr -> Buffer, L"%hs", str);
+#else
+ swprintf(lsaStr->Buffer, L"%hs", str);
+#endif
lsaStr -> Length = cbSize * 2;
diff --git a/contrib/win32/win32compat/lsa/Ssh-lsa.cpp b/contrib/win32/win32compat/lsa/Ssh-lsa.cpp
index 1cd4283..ca06b0c 100644
--- a/contrib/win32/win32compat/lsa/Ssh-lsa.cpp
+++ b/contrib/win32/win32compat/lsa/Ssh-lsa.cpp
@@ -32,6 +32,13 @@
#define WINVER 0x501
#ifdef __VS_BUILD__
+#pragma comment(linker,"/EXPORT:LsaApInitializePackage")
+#pragma comment(linker,"/EXPORT:LsaApLogonUser")
+#pragma comment(linker,"/EXPORT:LsaApLogonTerminated")
+#pragma comment(linker,"/EXPORT:LsaApCallPackagePassthrough")
+#pragma comment(linker,"/EXPORT:LsaApCallPackageUntrusted")
+#pragma comment(linker,"/EXPORT:LsaApCallPackage")
+
#define UMDF_USING_NTSTATUS
#include
#include
@@ -93,10 +100,10 @@ LSA_SECPKG_FUNCTION_TABLE LsaApi;
//
NTSTATUS NTAPI LsaApInitializePackage(ULONG pkgId,
- PLSA_SECPKG_FUNCTION_TABLE func,
- PLSA_STRING database,
- PLSA_STRING confident,
- PLSA_STRING *pkgName)
+ PLSA_SECPKG_FUNCTION_TABLE func,
+ PLSA_STRING database,
+ PLSA_STRING confident,
+ PLSA_STRING *pkgName)
{
DBG_ENTRY("LsaApInitializePackage");
@@ -519,13 +526,13 @@ fail:
NTSTATUS NTAPI
LsaApLogonUser(PLSA_CLIENT_REQUEST request, SECURITY_LOGON_TYPE logonType,
- PVOID authData, PVOID clientAuthData, ULONG authDataSize,
- PVOID *profile, PULONG profileSize, PLUID logonId,
- PNTSTATUS subStat,
- PLSA_TOKEN_INFORMATION_TYPE tokenInfoType,
- PVOID *tokenInfo,
- PLSA_UNICODE_STRING *accountName,
- PLSA_UNICODE_STRING *authority)
+ PVOID authData, PVOID clientAuthData, ULONG authDataSize,
+ PVOID *profile, PULONG profileSize, PLUID logonId,
+ PNTSTATUS subStat,
+ PLSA_TOKEN_INFORMATION_TYPE tokenInfoType,
+ PVOID *tokenInfo,
+ PLSA_UNICODE_STRING *accountName,
+ PLSA_UNICODE_STRING *authority)
{
DBG_ENTRY("LsaApLogonUser");
@@ -946,12 +953,12 @@ fail:
//
NTSTATUS NTAPI LsaApCallPackagePassthrough(PLSA_CLIENT_REQUEST request,
- PVOID submitBuf,
- PVOID clientBufBase,
- ULONG submitBufSize,
- PVOID *outBuf,
- PULONG outBufSize,
- PNTSTATUS status)
+ PVOID submitBuf,
+ PVOID clientBufBase,
+ ULONG submitBufSize,
+ PVOID *outBuf,
+ PULONG outBufSize,
+ PNTSTATUS status)
{
DBG_ENTRY("LsaApCallPackagePassthrough(");
DBG_LEAVE("LsaApCallPackagePassthrough(");
@@ -964,12 +971,12 @@ NTSTATUS NTAPI LsaApCallPackagePassthrough(PLSA_CLIENT_REQUEST request,
//
NTSTATUS NTAPI LsaApCallPackageUntrusted(PLSA_CLIENT_REQUEST request,
- PVOID submitBuf,
- PVOID clientBufBase,
- ULONG submitBufSize,
- PVOID *outBuf,
- PULONG outBufSize,
- PNTSTATUS status)
+ PVOID submitBuf,
+ PVOID clientBufBase,
+ ULONG submitBufSize,
+ PVOID *outBuf,
+ PULONG outBufSize,
+ PNTSTATUS status)
{
DBG_ENTRY("LsaApCallPackageUntrusted");
DBG_LEAVE("LsaApCallPackageUntrusted");
@@ -982,9 +989,9 @@ NTSTATUS NTAPI LsaApCallPackageUntrusted(PLSA_CLIENT_REQUEST request,
//
NTSTATUS NTAPI LsaApCallPackage(PLSA_CLIENT_REQUEST request, PVOID submitBuf,
- PVOID clientBufBase, ULONG submitBufSize,
- PVOID *outBuf, PULONG outBufSize,
- PNTSTATUS status)
+ PVOID clientBufBase, ULONG submitBufSize,
+ PVOID *outBuf, PULONG outBufSize,
+ PNTSTATUS status)
{
DBG_ENTRY("LsaApCallPackage");
DBG_LEAVE("LsaApCallPackage");