diff --git a/ci/cmake-preloads/config-linux-all.txt b/ci/cmake-preloads/config-linux-all.txt index bc802e572..408059c82 100644 --- a/ci/cmake-preloads/config-linux-all.txt +++ b/ci/cmake-preloads/config-linux-all.txt @@ -49,3 +49,4 @@ set (WITH_DEBUG_XV OFF CACHE BOOL "enable debug") set (WITH_SAMPLE ON CACHE BOOL "samples") set (WITH_NO_UNDEFINED ON CACHE BOOL "don't link with undefined symbols") set (WITH_SANITIZE_ADDRESS ON) +set (WITH_PROXY_MODULES OFF CACHE BOOL "compile proxy modules") diff --git a/cmake/ConfigOptions.cmake b/cmake/ConfigOptions.cmake index f3d2bc856..bebdcefc5 100644 --- a/cmake/ConfigOptions.cmake +++ b/cmake/ConfigOptions.cmake @@ -160,3 +160,7 @@ if (IOS) include(ConfigOptionsiOS) endif(IOS) +if (WITH_SERVER) + # Proxy Options + option(WITH_PROXY_MODULES "Compile proxy modules" OFF) +endif() \ No newline at end of file diff --git a/config.h.in b/config.h.in index 1cb397638..62860e912 100644 --- a/config.h.in +++ b/config.h.in @@ -171,4 +171,7 @@ #cmakedefine WITH_DEBUG_XV #cmakedefine WITH_DEBUG_RINGBUFFER +/* Proxy */ +#cmakedefine WITH_PROXY_MODULES + #endif /* FREERDP_CONFIG_H */ diff --git a/server/proxy/CMakeLists.txt b/server/proxy/CMakeLists.txt index 710c5328b..81979e997 100644 --- a/server/proxy/CMakeLists.txt +++ b/server/proxy/CMakeLists.txt @@ -88,4 +88,6 @@ endif() set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "Server/proxy") -add_subdirectory("modules") +if (WITH_PROXY_MODULES) + add_subdirectory("modules") +endif() diff --git a/server/proxy/freerdp_proxy.c b/server/proxy/freerdp_proxy.c index d340a4599..fad58e797 100644 --- a/server/proxy/freerdp_proxy.c +++ b/server/proxy/freerdp_proxy.c @@ -58,9 +58,11 @@ int main(int argc, char* argv[]) /* Register cleanup handler for graceful termination */ signal(SIGINT, cleanup_handler); - signal(SIGQUIT, cleanup_handler); signal(SIGTERM, cleanup_handler); +#ifndef _WIN32 + signal(SIGQUIT, cleanup_handler); signal(SIGKILL, cleanup_handler); +#endif if (!pf_modules_init(FREERDP_PROXY_PLUGINDIR)) {