diff --git a/CMakeLists.txt b/CMakeLists.txt index 67e326a0b..f20ac88b2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -173,10 +173,10 @@ set(FREERDP_DATA_PATH "${CMAKE_INSTALL_PREFIX}/share/freerdp") set(FREERDP_KEYMAP_PATH "${FREERDP_DATA_PATH}/keymaps") # Path to put plugins -set(FREERDP_PLUGIN_PATH "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/freerdp") +set(FREERDP_PLUGIN_PATH "${CMAKE_INSTALL_FULL_LIBDIR}/freerdp") # Path to put extensions -set(FREERDP_EXTENSION_PATH "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/freerdp/extensions") +set(FREERDP_EXTENSION_PATH "${CMAKE_INSTALL_FULL_LIBDIR}/freerdp/extensions") # Include directories include_directories(${CMAKE_CURRENT_SOURCE_DIR}) diff --git a/cmake/GNUInstallDirsWrapper.cmake b/cmake/GNUInstallDirsWrapper.cmake index e438a0128..53e9fc970 100644 --- a/cmake/GNUInstallDirsWrapper.cmake +++ b/cmake/GNUInstallDirsWrapper.cmake @@ -9,5 +9,13 @@ if(GID_PATH STREQUAL "NOTFOUND") set(CMAKE_INSTALL_LIBDIR "lib${LIB_SUFFIX}" CACHE PATH "object code libraries (lib)") endif() + foreach(dir BINDIR LIBDIR) + if(NOT IS_ABSOLUTE ${CMAKE_INSTALL_${dir}}) + set(CMAKE_INSTALL_FULL_${dir} "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_${dir}}") + else() + set(CMAKE_INSTALL_FULL_${dir} "${CMAKE_INSTALL_${dir}}") + endif() + endforeach() + mark_as_advanced(CMAKE_INSTALL_BINDIR CMAKE_INSTALL_LIBDIR) endif() diff --git a/freerdp.pc.in b/freerdp.pc.in index e0a3c3f47..08be9d138 100644 --- a/freerdp.pc.in +++ b/freerdp.pc.in @@ -1,6 +1,6 @@ prefix=@CMAKE_INSTALL_PREFIX@ exec_prefix=@CMAKE_INSTALL_PREFIX@ -libdir=@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@ +libdir=@CMAKE_INSTALL_FULL_LIBDIR@ includedir=@CMAKE_INSTALL_PREFIX@/include Name: FreeRDP diff --git a/libfreerdp/crypto/nla.c b/libfreerdp/crypto/nla.c index 6c25fc199..e98663b37 100644 --- a/libfreerdp/crypto/nla.c +++ b/libfreerdp/crypto/nla.c @@ -245,6 +245,9 @@ int credssp_client_authenticate(rdpCredssp* credssp) while (true) { +#ifdef WITH_DEBUG_CREDSSP + printf("credssp_client_authenticate loop"); +#endif output_buffer_desc.ulVersion = SECBUFFER_VERSION; output_buffer_desc.cBuffers = 1; output_buffer_desc.pBuffers = &output_buffer; @@ -258,7 +261,7 @@ int credssp_client_authenticate(rdpCredssp* credssp) SECURITY_NATIVE_DREP, (have_input_buffer) ? &input_buffer_desc : NULL, 0, &credssp->context, &output_buffer_desc, &pfContextAttr, &expiration); - if (input_buffer.pvBuffer != NULL) + if (have_input_buffer && (input_buffer.pvBuffer != NULL)) { free(input_buffer.pvBuffer); input_buffer.pvBuffer = NULL;