diff --git a/cmake/platforms/windows.cmake b/cmake/platforms/windows.cmake index e1da07dc..607506e9 100644 --- a/cmake/platforms/windows.cmake +++ b/cmake/platforms/windows.cmake @@ -49,14 +49,27 @@ check_symbol_exists(GetNamedPipeClientProcessId "windows.h" HAVE_GETNAMEDPIPECLIENTPROCESSID) check_symbol_exists(CreatePseudoConsole "windows.h" HAVE_CONPTY) -check_include_files("windows.h;dwmapi.h" HAVE_DWMAPI_H) - check_c_source_compiles(" #include GCP_RESULTSW gcpw; int main(void) { return 0; } " HAVE_GCP_RESULTSW) +function(dwmapi_test_wrapper) + set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} dwmapi.lib) + check_c_source_compiles(" +#include +#include +volatile HWND hwnd; +int main(void) { + RECT r; + DwmGetWindowAttribute(hwnd, DWMWA_EXTENDED_FRAME_BOUNDS, &r, sizeof(r)); +} +" HAVE_DWMAPI_H) + set(HAVE_DWMAPI_H ${HAVE_DWMAPI_H} PARENT_SCOPE) +endfunction() +dwmapi_test_wrapper() + set(NO_SECURITY ${PUTTY_NO_SECURITY}) add_compile_definitions( diff --git a/windows/gss.c b/windows/gss.c index ebe5698d..cadb1d5b 100644 --- a/windows/gss.c +++ b/windows/gss.c @@ -465,7 +465,7 @@ static Ssh_gss_stat ssh_sspi_init_sec_context(struct ssh_gss_library *lib, SecBufferDesc input_desc ={SECBUFFER_VERSION,1,&wrecv_tok}; unsigned long flags=ISC_REQ_MUTUAL_AUTH|ISC_REQ_REPLAY_DETECT| ISC_REQ_CONFIDENTIALITY|ISC_REQ_ALLOCATE_MEMORY; - unsigned long ret_flags=0; + ULONG ret_flags=0; TimeStamp localexp; /* check if we have to delegate ... */