diff options
author | TBK <tbk@jjtc.dk> | 2018-04-30 05:23:27 +0200 |
---|---|---|
committer | Francesco Colista <fcolista@alpinelinux.org> | 2018-05-08 07:20:26 +0000 |
commit | 2850ac51686e0f537e5d07343e91e00ca0c198e4 (patch) | |
tree | cbdbc77397701780eba0f005d36a115842ea9a9b /community/freerdp | |
parent | 224047e6c97c529a8a8be85bcf088afcb26c3910 (diff) | |
download | aports-2850ac51686e0f537e5d07343e91e00ca0c198e4.tar.bz2 aports-2850ac51686e0f537e5d07343e91e00ca0c198e4.tar.xz |
community/freerdp: upgrade to 2.0.0_rc2, modernize, clarify license
Diffstat (limited to 'community/freerdp')
-rw-r--r-- | community/freerdp/APKBUILD | 58 | ||||
-rw-r--r-- | community/freerdp/ffmpeg.patch | 39 | ||||
-rw-r--r-- | community/freerdp/freerdp-args.patch | 186 | ||||
-rw-r--r-- | community/freerdp/freerdp-cmake-3.1.patch | 98 | ||||
-rw-r--r-- | community/freerdp/freerdp-cmake-list.patch | 79 | ||||
-rw-r--r-- | community/freerdp/freerdp-fixes-since-24a752a.patch | 313 | ||||
-rw-r--r-- | community/freerdp/libressl-2.5.patch | 16 | ||||
-rw-r--r-- | community/freerdp/musl-fix.patch | 47 |
8 files changed, 18 insertions, 818 deletions
diff --git a/community/freerdp/APKBUILD b/community/freerdp/APKBUILD index 1616be71bb..415b049c83 100644 --- a/community/freerdp/APKBUILD +++ b/community/freerdp/APKBUILD @@ -1,39 +1,23 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=freerdp -pkgver=2.0.0_rc1 -_hash=24a752a70840f3e4b027ba7c020af71f2bcfd94a -pkgrel=1 -pkgdesc="Free RDP client" -url="http://freerdp.sourceforge.net" +_pkgname=FreeRDP +pkgver=2.0.0_rc2 +_pkgver=${pkgver/_/-} +pkgrel=0 +pkgdesc="FreeRDP client" +url="https://www.freerdp.com/" arch="all" -license="GPL" -depends="" -subpackages="$pkgname-dev $pkgname-plugins $pkgname-libs" +license="Apache-2.0" makedepends="libressl-dev libxcursor-dev cups-dev alsa-lib-dev ffmpeg-dev cups-dev libxkbfile-dev libxinerama-dev libxv-dev libxdamage-dev libjpeg-turbo-dev libxi-dev cmake bsd-compat-headers gst-plugins-base-dev gsm-dev linux-headers" -source="$pkgname-$pkgver.tar.gz::https://github.com/FreeRDP/FreeRDP/archive/$_hash.tar.gz - freerdp-cmake-list.patch - freerdp-fixes-since-24a752a.patch - freerdp-args.patch - musl-fix.patch - libressl-2.5.patch - " - -_builddir="$srcdir"/FreeRDP-$_hash - -prepare() { - cd "$_builddir" - for i in $source; do - case $i in - *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;; - esac - done -} +subpackages="$pkgname-doc $pkgname-dev $pkgname-plugins $pkgname-libs" +source="$pkgname-$pkgver.tar.gz::https://github.com/FreeRDP/FreeRDP/archive/$_pkgver.tar.gz" +builddir="$srcdir"/$_pkgname-$_pkgver build() { - cd "$_builddir" + cd "$builddir" export CFLAGS="$CFLAGS -D_BSD_SOURCE" cmake -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=/usr \ @@ -62,33 +46,27 @@ build() { -DWITH_XV=ON \ -DWITH_ZLIB=ON \ -DWITH_NEON=OFF \ - -DARM_FP_API=hard \ - || return 1 + -DARM_FP_API=hard make } package() { - cd "$_builddir" - make DESTDIR="$pkgdir" install || return 1 + cd "$builddir" + make DESTDIR="$pkgdir" install } libs() { - pkgdesc="Free RDP client - Libraries" + pkgdesc="FreeRDP client - Libraries" replaces="libfreerdp" mkdir -p "$subpkgdir"/usr mv "$pkgdir"/usr/lib "$subpkgdir"/usr/ } plugins() { - pkgdesc="Free RDP client - plugins" + pkgdesc="FreeRDP client - Plugins" replaces="libfreerdp" mkdir -p "$subpkgdir"/usr/lib - mv "$pkgdir"/usr/lib/freerdp "$subpkgdir"/usr/lib/ + mv "$pkgdir"/usr/lib/freerdp2 "$subpkgdir"/usr/lib/ } -sha512sums="9bafea8e76748ac1bf278172a6876f84304197136f582a511923a6837d2bb5adf1ca85b361bb183802e631243bc97b0b72e9eafa323470b08c715b2ad711f508 freerdp-2.0.0_rc1.tar.gz -c98a19630213c7cce1fc4256987586ff38102560cff0ee4df0c937b2030f6c066e0da8337379b14d41c821652b1a85f5d296efee426e28dc0a1603b9d5ade0f7 freerdp-cmake-list.patch -76aaa3b3b631728ecf8567a09c44f5b84af494d42b4437ec5198a1fe9d0a7312fcfa5acbf45b2d2b1cda60a530c36e108d7a50581c6f63b2058fcd785499842a freerdp-fixes-since-24a752a.patch -a845b77b6106d9a3e9d69bc0a6df3f80a6f37bed2847ace387739def695a3b07acc5e859893a9af11b7c74d96b4eeea99d9a79d5c4e4b504bacd51d612882b01 freerdp-args.patch -2a3edc5df8f2374c023b604b3f523bbc9e510a35707bef2100ac64677109dc7615a11567558aeda3b032576308ef026ed9b80ef2c479d1004f840f18d6cf0890 musl-fix.patch -2efa371fed576c08daa5450dcb48147db5740965c9b3334a842d945bd316e42f50299cbc6f137c9a0242038bf294db284bec0f214002fc313b0d795f172f0d46 libressl-2.5.patch" +sha512sums="caa0bc3bd34c565d93ae560372a0623e5ddf9a26804c9c5cf0ef743b6afa07fbaa622b1aeaca6491497281ded23932532925842a63be1630a7f1c57b22e2efd1 freerdp-2.0.0_rc2.tar.gz" diff --git a/community/freerdp/ffmpeg.patch b/community/freerdp/ffmpeg.patch deleted file mode 100644 index 5025771d26..0000000000 --- a/community/freerdp/ffmpeg.patch +++ /dev/null @@ -1,39 +0,0 @@ ---- FreeRDP-1.1.0-beta-2013071101.orig/channels/tsmf/client/ffmpeg/tsmf_ffmpeg.c -+++ FreeRDP-1.1.0-beta-2013071101/channels/tsmf/client/ffmpeg/tsmf_ffmpeg.c -@@ -37,6 +37,10 @@ - #include "tsmf_constants.h" - #include "tsmf_decoder.h" - -+#ifndef AVCODEC_MAX_AUDIO_FRAME_SIZE -+#define AVCODEC_MAX_AUDIO_FRAME_SIZE 192000 -+#endif -+ - /* Compatibility with older FFmpeg */ - #if LIBAVUTIL_VERSION_MAJOR < 50 - #define AVMEDIA_TYPE_VIDEO 0 -@@ -48,7 +52,7 @@ - ITSMFDecoder iface; - - int media_type; -- enum CodecID codec_id; -+ enum AVCodecID codec_id; - AVCodecContext* codec_context; - AVCodec* codec; - AVFrame* frame; -@@ -97,16 +101,6 @@ - mdecoder->codec_context->bit_rate = media_type->BitRate; - mdecoder->codec_context->channels = media_type->Channels; - mdecoder->codec_context->block_align = media_type->BlockAlign; -- --#ifdef AV_CPU_FLAG_SSE2 -- mdecoder->codec_context->dsp_mask = AV_CPU_FLAG_SSE2 | AV_CPU_FLAG_MMX2; --#else --#if LIBAVCODEC_VERSION_MAJOR < 53 -- mdecoder->codec_context->dsp_mask = FF_MM_SSE2 | FF_MM_MMXEXT; --#else -- mdecoder->codec_context->dsp_mask = FF_MM_SSE2 | FF_MM_MMX2; --#endif --#endif - - return TRUE; - } diff --git a/community/freerdp/freerdp-args.patch b/community/freerdp/freerdp-args.patch deleted file mode 100644 index d9b7eca16a..0000000000 --- a/community/freerdp/freerdp-args.patch +++ /dev/null @@ -1,186 +0,0 @@ -diff --git a/client/common/cmdline.c b/client/common/cmdline.c -index f1f9640..72bbd12 100644 ---- a/client/common/cmdline.c -+++ b/client/common/cmdline.c -@@ -1078,8 +1078,10 @@ BOOL freerdp_client_detect_command_line(int argc, char** argv, DWORD* flags) - if (posix_cli_status <= COMMAND_LINE_STATUS_PRINT) - return compatibility; - -- if (windows_cli_count >= posix_cli_count) -+ /* Check, if this may be windows style syntax... */ -+ if ((windows_cli_count && (windows_cli_count >= posix_cli_count)) || (windows_cli_status <= COMMAND_LINE_STATUS_PRINT)) - { -+ windows_cli_count = 1; - *flags = COMMAND_LINE_SEPARATOR_COLON; - *flags |= COMMAND_LINE_SIGIL_SLASH | COMMAND_LINE_SIGIL_PLUS_MINUS; - } -diff --git a/client/common/compatibility.c b/client/common/compatibility.c -index 3a7d0da..d6efe50 100644 ---- a/client/common/compatibility.c -+++ b/client/common/compatibility.c -@@ -122,16 +122,20 @@ void freerdp_client_old_parse_hostname(char* str, char** ServerHostname, UINT32* - - int freerdp_client_old_process_plugin(rdpSettings* settings, ADDIN_ARGV* args) - { -+ int args_handled = 0; - if (strcmp(args->argv[0], "cliprdr") == 0) - { -+ args_handled++; - settings->RedirectClipboard = TRUE; - WLog_WARN(TAG, "--plugin cliprdr -> +clipboard"); - } - else if (strcmp(args->argv[0], "rdpdr") == 0) - { -+ args_handled++; - if (args->argc < 2) -- return -1; -+ return 1; - -+ args_handled++; - if ((strcmp(args->argv[1], "disk") == 0) || - (strcmp(args->argv[1], "drive") == 0)) - { -@@ -159,21 +163,26 @@ int freerdp_client_old_process_plugin(rdpSettings* settings, ADDIN_ARGV* args) - } - else if (strcmp(args->argv[0], "drdynvc") == 0) - { -+ args_handled++; - freerdp_client_add_dynamic_channel(settings, args->argc - 1, &args->argv[1]); - } - else if (strcmp(args->argv[0], "rdpsnd") == 0) - { -+ args_handled++; - if (args->argc < 2) -- return -1; -+ return 1; - -+ args_handled++; - freerdp_addin_replace_argument_value(args, args->argv[1], "sys", args->argv[1]); - freerdp_client_add_static_channel(settings, args->argc, args->argv); - } - else if (strcmp(args->argv[0], "rail") == 0) - { -+ args_handled++; - if (args->argc < 2) -- return -1; -+ return 1; - -+ args_handled++; - settings->RemoteApplicationProgram = _strdup(args->argv[1]); - } - else -@@ -181,14 +190,12 @@ int freerdp_client_old_process_plugin(rdpSettings* settings, ADDIN_ARGV* args) - freerdp_client_add_static_channel(settings, args->argc, args->argv); - } - -- return 1; -+ return args_handled; - } - - int freerdp_client_old_command_line_pre_filter(void* context, int index, int argc, LPCSTR* argv) - { -- rdpSettings* settings; -- -- settings = (rdpSettings*) context; -+ rdpSettings* settings = (rdpSettings*) context; - - if (index == (argc - 1)) - { -@@ -204,11 +211,10 @@ int freerdp_client_old_command_line_pre_filter(void* context, int index, int arg - return -1; - } - -- if (settings) -- { -- freerdp_client_old_parse_hostname((char*) argv[index], -- &settings->ServerHostname, &settings->ServerPort); -- } -+ freerdp_client_old_parse_hostname((char*) argv[index], -+ &settings->ServerHostname, &settings->ServerPort); -+ -+ return 2; - } - else - { -@@ -218,6 +224,7 @@ int freerdp_client_old_command_line_pre_filter(void* context, int index, int arg - - if (strcmp("--plugin", argv[index]) == 0) - { -+ int args_handled = 0; - int length; - char *a, *p; - int i, j, t; -@@ -233,20 +240,19 @@ int freerdp_client_old_command_line_pre_filter(void* context, int index, int arg - return -1; - - args = (ADDIN_ARGV*) malloc(sizeof(ADDIN_ARGV)); -- args->argv = (char**) malloc(sizeof(char*) * 5); -+ args->argv = (char**) calloc(argc, sizeof(char*)); - args->argc = 1; - -- args->argv[0] = _strdup(argv[t]); -- - if ((index < argc - 1) && strcmp("--data", argv[index + 1]) == 0) - { - i = 0; - index += 2; -- args->argc = 1; - - while ((index < argc) && (strcmp("--", argv[index]) != 0)) - { -+ args_handled ++; - args->argc = 1; -+ args->argv[0] = _strdup(argv[t]); - - for (j = 0, p = (char*) argv[index]; (j < 4) && (p != NULL); j++) - { -@@ -267,6 +273,9 @@ int freerdp_client_old_command_line_pre_filter(void* context, int index, int arg - if (p != NULL) - { - p = strchr(p, ':'); -+ } -+ if (p != NULL) -+ { - length = (int) (p - a); - args->argv[j + 1] = (char*) malloc(length + 1); - CopyMemory(args->argv[j + 1], a, length); -@@ -281,11 +290,14 @@ int freerdp_client_old_command_line_pre_filter(void* context, int index, int arg - args->argc++; - } - -- if (settings->instance) -+ if (settings) - { - freerdp_client_old_process_plugin(settings, args); - } - -+ for (i = 0; i < args->argc; i++) -+ free(args->argv[i]); -+ memset(args->argv, 0, argc * sizeof(char*)); - index++; - i++; - } -@@ -294,19 +306,16 @@ int freerdp_client_old_command_line_pre_filter(void* context, int index, int arg - { - if (settings) - { -- if (settings->instance) -- { -- freerdp_client_old_process_plugin(settings, args); -- } -+ args->argv[0] = _strdup(argv[t]); -+ args_handled = freerdp_client_old_process_plugin(settings, args); -+ free (args->argv[0]); - } - } - -- for (i = 0; i < args->argc; i++) -- free(args->argv[i]); - free(args->argv); - free(args); - -- return (index - old_index); -+ return (index - old_index) + args_handled; - } - - return 0; diff --git a/community/freerdp/freerdp-cmake-3.1.patch b/community/freerdp/freerdp-cmake-3.1.patch deleted file mode 100644 index 462fb56396..0000000000 --- a/community/freerdp/freerdp-cmake-3.1.patch +++ /dev/null @@ -1,98 +0,0 @@ -From 1b663ceffe51008af7ae9749e5b7999b2f7d6698 Mon Sep 17 00:00:00 2001 -From: Bernhard Miklautz <bernhard.miklautz@shacknet.at> -Date: Fri, 12 Dec 2014 18:26:45 +0100 -Subject: [PATCH] build: cmake 3.1 compatibility - -* fix problem with REMOVE_DUPLICATES on undefined lists -* since 3.1 file(GLOB FILEPATHS RELATIVE .. returns single / instead of // as - previously - necessary adoptions for regex and matches done. Should - work with all cmake versions. - -Tested with 3.1.0-rc3 ---- - channels/CMakeLists.txt | 4 ++-- - channels/client/CMakeLists.txt | 2 ++ - client/CMakeLists.txt | 4 ++-- - server/CMakeLists.txt | 4 ++-- - third-party/CMakeLists.txt | 6 +++--- - 5 files changed, 11 insertions(+), 9 deletions(-) - -diff --git a/channels/CMakeLists.txt b/channels/CMakeLists.txt -index c4e6048..540b1ac 100644 ---- a/channels/CMakeLists.txt -+++ b/channels/CMakeLists.txt -@@ -253,8 +253,8 @@ set(FILENAME "ChannelOptions.cmake") - file(GLOB FILEPATHS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*/${FILENAME}") - - foreach(FILEPATH ${FILEPATHS}) -- if(${FILEPATH} MATCHES "^([^/]*)//${FILENAME}") -- string(REGEX REPLACE "^([^/]*)//${FILENAME}" "\\1" DIR ${FILEPATH}) -+ if(${FILEPATH} MATCHES "^([^/]*)/+${FILENAME}") -+ string(REGEX REPLACE "^([^/]*)/+${FILENAME}" "\\1" DIR ${FILEPATH}) - set(CHANNEL_OPTION) - include(${FILEPATH}) - if(${CHANNEL_OPTION}) -diff --git a/channels/client/CMakeLists.txt b/channels/client/CMakeLists.txt -index 049bc7b..2db18e8 100644 ---- a/channels/client/CMakeLists.txt -+++ b/channels/client/CMakeLists.txt -@@ -24,7 +24,9 @@ set(${MODULE_PREFIX}_SRCS - ${CMAKE_CURRENT_SOURCE_DIR}/addin.c - ${CMAKE_CURRENT_SOURCE_DIR}/addin.h) - -+if(CHANNEL_STATIC_CLIENT_ENTRIES) - list(REMOVE_DUPLICATES CHANNEL_STATIC_CLIENT_ENTRIES) -+endif() - - foreach(STATIC_ENTRY ${CHANNEL_STATIC_CLIENT_ENTRIES}) - foreach(STATIC_MODULE ${CHANNEL_STATIC_CLIENT_MODULES}) -diff --git a/client/CMakeLists.txt b/client/CMakeLists.txt -index 14ed363..b8b7699 100644 ---- a/client/CMakeLists.txt -+++ b/client/CMakeLists.txt -@@ -63,8 +63,8 @@ set(FILENAME "ModuleOptions.cmake") - file(GLOB FILEPATHS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*/${FILENAME}") - - foreach(FILEPATH ${FILEPATHS}) -- if(${FILEPATH} MATCHES "^([^/]*)//${FILENAME}") -- string(REGEX REPLACE "^([^/]*)//${FILENAME}" "\\1" FREERDP_CLIENT ${FILEPATH}) -+ if(${FILEPATH} MATCHES "^([^/]*)/+${FILENAME}") -+ string(REGEX REPLACE "^([^/]*)/+${FILENAME}" "\\1" FREERDP_CLIENT ${FILEPATH}) - set(FREERDP_CLIENT_ENABLED 0) - include(${FILEPATH}) - if(FREERDP_CLIENT_ENABLED) -diff --git a/server/CMakeLists.txt b/server/CMakeLists.txt -index cda14ba..ee9458e 100644 ---- a/server/CMakeLists.txt -+++ b/server/CMakeLists.txt -@@ -48,8 +48,8 @@ set(FILENAME "ModuleOptions.cmake") - file(GLOB FILEPATHS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*/${FILENAME}") - - foreach(FILEPATH ${FILEPATHS}) -- if(${FILEPATH} MATCHES "^([^/]*)//${FILENAME}") -- string(REGEX REPLACE "^([^/]*)//${FILENAME}" "\\1" FREERDP_SERVER ${FILEPATH}) -+ if(${FILEPATH} MATCHES "^([^/]*)/+${FILENAME}") -+ string(REGEX REPLACE "^([^/]*)/+${FILENAME}" "\\1" FREERDP_SERVER ${FILEPATH}) - set(FREERDP_SERVER_ENABLED 0) - include(${FILEPATH}) - if(FREERDP_SERVER_ENABLED) -diff --git a/third-party/CMakeLists.txt b/third-party/CMakeLists.txt -index 09b1fd4..610f35e 100644 ---- a/third-party/CMakeLists.txt -+++ b/third-party/CMakeLists.txt -@@ -22,11 +22,11 @@ - file(GLOB all_valid_subdirs RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*/CMakeLists.txt") - - foreach(dir ${all_valid_subdirs}) -- if(${dir} MATCHES "^([^/]*)//CMakeLists.txt") -- string(REGEX REPLACE "^([^/]*)//CMakeLists.txt" "\\1" dir_trimmed ${dir}) -+ if(${dir} MATCHES "^([^/]*)/+CMakeLists.txt") -+ string(REGEX REPLACE "^([^/]*)/+CMakeLists.txt" "\\1" dir_trimmed ${dir}) - message(STATUS "Adding third-party component ${dir_trimmed}") - add_subdirectory(${dir_trimmed}) - endif() - endforeach(dir) - --set(THIRD_PARTY_INCLUDES ${THIRD_PARTY_INCLUDES} PARENT_SCOPE) -\ No newline at end of file -+set(THIRD_PARTY_INCLUDES ${THIRD_PARTY_INCLUDES} PARENT_SCOPE) diff --git a/community/freerdp/freerdp-cmake-list.patch b/community/freerdp/freerdp-cmake-list.patch deleted file mode 100644 index 37fd78b9e6..0000000000 --- a/community/freerdp/freerdp-cmake-list.patch +++ /dev/null @@ -1,79 +0,0 @@ -diff --git a/channels/CMakeLists.txt b/channels/CMakeLists.txt -index c4e6048..540b1ac 100644 ---- a/channels/CMakeLists.txt -+++ b/channels/CMakeLists.txt -@@ -253,8 +253,8 @@ set(FILENAME "ChannelOptions.cmake") - file(GLOB FILEPATHS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*/${FILENAME}") - - foreach(FILEPATH ${FILEPATHS}) -- if(${FILEPATH} MATCHES "^([^/]*)//${FILENAME}") -- string(REGEX REPLACE "^([^/]*)//${FILENAME}" "\\1" DIR ${FILEPATH}) -+ if(${FILEPATH} MATCHES "^([^/]*)/+${FILENAME}") -+ string(REGEX REPLACE "^([^/]*)/+${FILENAME}" "\\1" DIR ${FILEPATH}) - set(CHANNEL_OPTION) - include(${FILEPATH}) - if(${CHANNEL_OPTION}) -diff --git a/channels/client/CMakeLists.txt b/channels/client/CMakeLists.txt -index 049bc7b..2db18e8 100644 ---- a/channels/client/CMakeLists.txt -+++ b/channels/client/CMakeLists.txt -@@ -24,7 +24,9 @@ set(${MODULE_PREFIX}_SRCS - ${CMAKE_CURRENT_SOURCE_DIR}/addin.c - ${CMAKE_CURRENT_SOURCE_DIR}/addin.h) - -+if(CHANNEL_STATIC_CLIENT_ENTRIES) - list(REMOVE_DUPLICATES CHANNEL_STATIC_CLIENT_ENTRIES) -+endif() - - foreach(STATIC_ENTRY ${CHANNEL_STATIC_CLIENT_ENTRIES}) - foreach(STATIC_MODULE ${CHANNEL_STATIC_CLIENT_MODULES}) -diff --git a/client/CMakeLists.txt b/client/CMakeLists.txt -index 14ed363..b8b7699 100644 ---- a/client/CMakeLists.txt -+++ b/client/CMakeLists.txt -@@ -63,8 +63,8 @@ set(FILENAME "ModuleOptions.cmake") - file(GLOB FILEPATHS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*/${FILENAME}") - - foreach(FILEPATH ${FILEPATHS}) -- if(${FILEPATH} MATCHES "^([^/]*)//${FILENAME}") -- string(REGEX REPLACE "^([^/]*)//${FILENAME}" "\\1" FREERDP_CLIENT ${FILEPATH}) -+ if(${FILEPATH} MATCHES "^([^/]*)/+${FILENAME}") -+ string(REGEX REPLACE "^([^/]*)/+${FILENAME}" "\\1" FREERDP_CLIENT ${FILEPATH}) - set(FREERDP_CLIENT_ENABLED 0) - include(${FILEPATH}) - if(FREERDP_CLIENT_ENABLED) -diff --git a/server/CMakeLists.txt b/server/CMakeLists.txt -index 75acf25..f82b6fe 100644 ---- a/server/CMakeLists.txt -+++ b/server/CMakeLists.txt -@@ -44,8 +44,8 @@ set(FILENAME "ModuleOptions.cmake") - file(GLOB FILEPATHS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*/${FILENAME}") - - foreach(FILEPATH ${FILEPATHS}) -- if(${FILEPATH} MATCHES "^([^/]*)//${FILENAME}") -- string(REGEX REPLACE "^([^/]*)//${FILENAME}" "\\1" FREERDP_SERVER ${FILEPATH}) -+ if(${FILEPATH} MATCHES "^([^/]*)/+${FILENAME}") -+ string(REGEX REPLACE "^([^/]*)/+${FILENAME}" "\\1" FREERDP_SERVER ${FILEPATH}) - set(FREERDP_SERVER_ENABLED 0) - include(${FILEPATH}) - if(FREERDP_SERVER_ENABLED) -diff --git a/third-party/CMakeLists.txt b/third-party/CMakeLists.txt -index 09b1fd4..610f35e 100644 ---- a/third-party/CMakeLists.txt -+++ b/third-party/CMakeLists.txt -@@ -22,11 +22,11 @@ - file(GLOB all_valid_subdirs RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*/CMakeLists.txt") - - foreach(dir ${all_valid_subdirs}) -- if(${dir} MATCHES "^([^/]*)//CMakeLists.txt") -- string(REGEX REPLACE "^([^/]*)//CMakeLists.txt" "\\1" dir_trimmed ${dir}) -+ if(${dir} MATCHES "^([^/]*)/+CMakeLists.txt") -+ string(REGEX REPLACE "^([^/]*)/+CMakeLists.txt" "\\1" dir_trimmed ${dir}) - message(STATUS "Adding third-party component ${dir_trimmed}") - add_subdirectory(${dir_trimmed}) - endif() - endforeach(dir) - --set(THIRD_PARTY_INCLUDES ${THIRD_PARTY_INCLUDES} PARENT_SCOPE) -\ No newline at end of file -+set(THIRD_PARTY_INCLUDES ${THIRD_PARTY_INCLUDES} PARENT_SCOPE) diff --git a/community/freerdp/freerdp-fixes-since-24a752a.patch b/community/freerdp/freerdp-fixes-since-24a752a.patch deleted file mode 100644 index 821f57b480..0000000000 --- a/community/freerdp/freerdp-fixes-since-24a752a.patch +++ /dev/null @@ -1,313 +0,0 @@ -commit 7c3adc8449a4fe89920a6438206e8e2690d7f021 -Author: Armin Novak <armin.novak@gmail.com> -Date: Mon Nov 17 00:21:04 2014 +0100 - - Fixed nonnull warning. -commit 232aa89efd13d21b2e5dca69e0aea70a03d09544 -Author: Armin Novak <armin.novak@gmail.com> -Date: Mon Nov 17 00:22:33 2014 +0100 - - Fixed memory leak. -commit d9b889ddb7e466837e363b45ae6713c0bcf0f6db -Author: Armin Novak <armin.novak@gmail.com> -Date: Mon Nov 17 00:33:37 2014 +0100 - - Fixed memory leak. -commit f34ee395eb9516bd1b91e25acc0fa73a574d531d -Author: Armin Novak <armin.novak@gmail.com> -Date: Mon Nov 17 00:34:17 2014 +0100 - - Fixed memory leak. -commit c44f85c2b4e5455e5da1609d2b6d1a73a7ea2371 -Author: Armin Novak <armin.novak@gmail.com> -Date: Mon Nov 17 00:42:05 2014 +0100 - - Fixed memory leak. -commit 7881ec762e6f9b51e24878f4c3ed5343a4e05509 -Author: Marc-André Moreau <marcandre.moreau@gmail.com> -Date: Fri Nov 21 15:10:39 2014 -0500 - - server/shadow: avoid sending pointer updates when not active, fix remdesk leak -commit 547054a48b83fe81917cb3b474116225e97d340f -Author: Armin Novak <armin.novak@gmail.com> -Date: Sun Dec 7 00:23:46 2014 +0100 - - Fixed uninitialized value. -commit 43beef36ff1521756bc41378cfa251c843375f49 -Author: Bernhard Miklautz <bernhard.miklautz@shacknet.at> -Date: Fri Dec 12 18:57:40 2014 +0100 - - rdtk/shadow: install libraries versioned -diff --git a/channels/remdesk/server/remdesk_main.c b/channels/remdesk/server/remdesk_main.c -index 4a7670e..072eec2 100644 ---- a/channels/remdesk/server/remdesk_main.c -+++ b/channels/remdesk/server/remdesk_main.c -@@ -156,6 +156,8 @@ static int remdesk_send_ctl_version_info_pdu(RemdeskServerContext* context) - - remdesk_virtual_channel_write(context, s); - -+ Stream_Free(s, TRUE); -+ - return 1; - } - -diff --git a/client/common/cmdline.c b/client/common/cmdline.c -index f1f9640..a731c31 100644 ---- a/client/common/cmdline.c -+++ b/client/common/cmdline.c -@@ -2077,11 +2077,24 @@ int freerdp_client_load_addins(rdpChannels* channels, rdpSettings* settings) - } - } - -+ if (settings->LyncRdpMode) -+ { -+ settings->EncomspVirtualChannel = TRUE; -+ settings->RemdeskVirtualChannel = TRUE; -+ settings->CompressionEnabled = FALSE; -+ } -+ - if (settings->RemoteAssistanceMode) - { -+ settings->EncomspVirtualChannel = TRUE; -+ settings->RemdeskVirtualChannel = TRUE; -+ } -+ -+ if (settings->EncomspVirtualChannel) - freerdp_client_load_static_channel_addin(channels, settings, "encomsp", settings); -+ -+ if (settings->RemdeskVirtualChannel) - freerdp_client_load_static_channel_addin(channels, settings, "remdesk", settings); -- } - - for (index = 0; index < settings->StaticChannelCount; index++) - { -diff --git a/include/freerdp/settings.h b/include/freerdp/settings.h -index a53c14d..ca358f1 100644 ---- a/include/freerdp/settings.h -+++ b/include/freerdp/settings.h -@@ -599,6 +599,9 @@ typedef struct _RDPDR_PARALLEL RDPDR_PARALLEL; - #define FreeRDP_RemoteAssistancePassStub 1026 - #define FreeRDP_RemoteAssistancePassword 1027 - #define FreeRDP_RemoteAssistanceRCTicket 1028 -+#define FreeRDP_EncomspVirtualChannel 1029 -+#define FreeRDP_RemdeskVirtualChannel 1030 -+#define FreeRDP_LyncRdpMode 1031 - #define FreeRDP_TlsSecurity 1088 - #define FreeRDP_NlaSecurity 1089 - #define FreeRDP_RdpSecurity 1090 -@@ -971,7 +974,10 @@ struct rdp_settings - ALIGN64 char* RemoteAssistancePassStub; /* 1026 */ - ALIGN64 char* RemoteAssistancePassword; /* 1027 */ - ALIGN64 char* RemoteAssistanceRCTicket; /* 1028 */ -- UINT64 padding1088[1088 - 1029]; /* 1029 */ -+ ALIGN64 BOOL EncomspVirtualChannel; /* 1029 */ -+ ALIGN64 BOOL RemdeskVirtualChannel; /* 1030 */ -+ ALIGN64 BOOL LyncRdpMode; /* 1031 */ -+ UINT64 padding1088[1088 - 1032]; /* 1032 */ - - /** - * X.224 Connection Request/Confirm -diff --git a/rdtk/CMakeLists.txt b/rdtk/CMakeLists.txt -index 35b0052..93c5a3c 100644 ---- a/rdtk/CMakeLists.txt -+++ b/rdtk/CMakeLists.txt -@@ -44,8 +44,9 @@ include(CMakePackageConfigHelpers) - set(RDTK_VERSION_MAJOR "1") - set(RDTK_VERSION_MINOR "1") - set(RDTK_VERSION_REVISION "0") --set(RDTK_VERSION "${RDTK_VERSION_MAJOR}.${RDTK_VERSION_MINOR}") --set(RDTK_VERSION_FULL "${RDTK_VERSION}.${RDTK_VERSION_REVISION}") -+set(RDTK_API_VERSION "${RDTK_VERSION_MAJOR}.${RDTK_VERSION_MINOR}") -+set(RDTK_VERSION "${RDTK_API_VERSION}.${RDTK_VERSION_REVISION}") -+set(RDTK_VERSION_FULL "${RDTK_VERSION}") - set(RDTK_VERSION_FULL ${RDTK_VERSION_FULL} PARENT_SCOPE) - - # Default to release build type -diff --git a/rdtk/librdtk/CMakeLists.txt b/rdtk/librdtk/CMakeLists.txt -index 8a81964..950cc7d 100644 ---- a/rdtk/librdtk/CMakeLists.txt -+++ b/rdtk/librdtk/CMakeLists.txt -@@ -58,6 +58,10 @@ add_library(${MODULE_NAME} ${${MODULE_PREFIX}_SRCS}) - list(APPEND ${MODULE_PREFIX}_LIBS winpr) - list(APPEND ${MODULE_PREFIX}_LIBS freerdp) - -+if (WITH_LIBRARY_VERSIONING) -+ set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${RDTK_VERSION} SOVERSION ${RDTK_API_VERSION}) -+endif() -+ - target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS}) - - install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR} EXPORT RdTkTargets) -diff --git a/server/shadow/CMakeLists.txt b/server/shadow/CMakeLists.txt -index 78f85b0..26a5c7b 100644 ---- a/server/shadow/CMakeLists.txt -+++ b/server/shadow/CMakeLists.txt -@@ -238,6 +238,10 @@ list(APPEND ${MODULE_PREFIX}_LIBS rdtk) - - target_link_libraries(${MODULE_NAME} ${${MODULE_PREFIX}_LIBS}) - -+if (WITH_LIBRARY_VERSIONING) -+ set_target_properties(${MODULE_NAME} PROPERTIES VERSION ${FREERDP_VERSION} SOVERSION ${FREERDP_API_VERSION}) -+endif() -+ - install(TARGETS ${MODULE_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT server) - - set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER "Server/shadow") -diff --git a/server/shadow/X11/x11_shadow.c b/server/shadow/X11/x11_shadow.c -index 3f1a964..d1a8591 100644 ---- a/server/shadow/X11/x11_shadow.c -+++ b/server/shadow/X11/x11_shadow.c -@@ -386,7 +386,10 @@ int x11_shadow_pointer_alpha_update(x11ShadowSubsystem* subsystem) - msg->pixels = (BYTE*) malloc(msg->scanline * msg->height); - - if (!msg->pixels) -+ { -+ free (msg); - return -1; -+ } - - CopyMemory(msg->pixels, subsystem->cursorPixels, msg->scanline * msg->height); - msg->premultiplied = TRUE; -diff --git a/server/shadow/shadow_client.c b/server/shadow/shadow_client.c -index 63d0b9e..30ab90e 100644 ---- a/server/shadow/shadow_client.c -+++ b/server/shadow/shadow_client.c -@@ -67,6 +67,12 @@ void shadow_client_context_new(freerdp_peer* peer, rdpShadowClient* client) - - settings->RdpKeyFile = _strdup(settings->PrivateKeyFile); - -+ if (server->ipcSocket) -+ { -+ settings->LyncRdpMode = TRUE; -+ settings->CompressionEnabled = FALSE; -+ } -+ - client->inLobby = TRUE; - client->mayView = server->mayView; - client->mayInteract = server->mayInteract; -@@ -217,8 +223,12 @@ void shadow_client_refresh_rect(rdpShadowClient* client, BYTE count, RECTANGLE_1 - - wParam = (SHADOW_MSG_IN_REFRESH_OUTPUT*) calloc(1, sizeof(SHADOW_MSG_IN_REFRESH_OUTPUT)); - -- if (!wParam) -+ if (!wParam || !areas) -+ { -+ if (wParam) -+ free (wParam); - return; -+ } - - wParam->numRects = (UINT32) count; - -@@ -227,7 +237,10 @@ void shadow_client_refresh_rect(rdpShadowClient* client, BYTE count, RECTANGLE_1 - wParam->rects = (RECTANGLE_16*) calloc(wParam->numRects, sizeof(RECTANGLE_16)); - - if (!wParam->rects) -+ { -+ free (wParam); - return; -+ } - } - - CopyMemory(wParam->rects, areas, wParam->numRects * sizeof(RECTANGLE_16)); -@@ -832,12 +845,15 @@ int shadow_client_subsystem_process_message(rdpShadowClient* client, wMessage* m - pointerPosition.xPos = msg->xPos; - pointerPosition.yPos = msg->yPos; - -- if ((msg->xPos != client->pointerX) || (msg->yPos != client->pointerY)) -+ if (client->activated) - { -- IFCALL(update->pointer->PointerPosition, context, &pointerPosition); -+ if ((msg->xPos != client->pointerX) || (msg->yPos != client->pointerY)) -+ { -+ IFCALL(update->pointer->PointerPosition, context, &pointerPosition); - -- client->pointerX = msg->xPos; -- client->pointerY = msg->yPos; -+ client->pointerX = msg->xPos; -+ client->pointerY = msg->yPos; -+ } - } - - free(msg); -@@ -862,14 +878,17 @@ int shadow_client_subsystem_process_message(rdpShadowClient* client, wMessage* m - - pointerCached.cacheIndex = pointerColor->cacheIndex; - -- shadow_client_convert_alpha_pointer_data(msg->pixels, msg->premultiplied, -- msg->width, msg->height, pointerColor); -+ if (client->activated) -+ { -+ shadow_client_convert_alpha_pointer_data(msg->pixels, msg->premultiplied, -+ msg->width, msg->height, pointerColor); - -- IFCALL(update->pointer->PointerNew, context, &pointerNew); -- IFCALL(update->pointer->PointerCached, context, &pointerCached); -+ IFCALL(update->pointer->PointerNew, context, &pointerNew); -+ IFCALL(update->pointer->PointerCached, context, &pointerCached); - -- free(pointerColor->xorMaskData); -- free(pointerColor->andMaskData); -+ free(pointerColor->xorMaskData); -+ free(pointerColor->andMaskData); -+ } - - free(msg->pixels); - free(msg); -diff --git a/server/shadow/shadow_encoder.c b/server/shadow/shadow_encoder.c -index 1e200ee..8d449bf 100644 ---- a/server/shadow/shadow_encoder.c -+++ b/server/shadow/shadow_encoder.c -@@ -407,7 +407,10 @@ rdpShadowEncoder* shadow_encoder_new(rdpShadowClient* client) - encoder->height = server->screen->height; - - if (shadow_encoder_init(encoder) < 0) -+ { -+ free (encoder); - return NULL; -+ } - - return encoder; - } -diff --git a/server/shadow/shadow_subsystem.c b/server/shadow/shadow_subsystem.c -index f0ed9b8..ac4fd70 100644 ---- a/server/shadow/shadow_subsystem.c -+++ b/server/shadow/shadow_subsystem.c -@@ -93,11 +93,11 @@ int shadow_subsystem_load_entry_points(RDP_SHADOW_ENTRY_POINTS* pEntryPoints, co - - entry = shadow_subsystem_load_static_entry(name); - -+ ZeroMemory(pEntryPoints, sizeof(RDP_SHADOW_ENTRY_POINTS)); -+ - if (!entry) - return -1; - -- ZeroMemory(pEntryPoints, sizeof(RDP_SHADOW_ENTRY_POINTS)); -- - if (entry(pEntryPoints) < 0) - return -1; - -diff --git a/server/shadow/shadow_surface.c b/server/shadow/shadow_surface.c -index 9c58142..4c13662 100644 ---- a/server/shadow/shadow_surface.c -+++ b/server/shadow/shadow_surface.c -@@ -44,12 +44,19 @@ rdpShadowSurface* shadow_surface_new(rdpShadowServer* server, int x, int y, int - surface->data = (BYTE*) malloc(surface->scanline * surface->height); - - if (!surface->data) -+ { -+ free (surface); - return NULL; -+ } - - ZeroMemory(surface->data, surface->scanline * surface->height); - - if (!InitializeCriticalSectionAndSpinCount(&(surface->lock), 4000)) -+ { -+ free (surface->data); -+ free (surface); - return NULL; -+ } - - region16_init(&(surface->invalidRegion)); - diff --git a/community/freerdp/libressl-2.5.patch b/community/freerdp/libressl-2.5.patch deleted file mode 100644 index 347b0d1add..0000000000 --- a/community/freerdp/libressl-2.5.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff --git a/libfreerdp/crypto/tls.c b/libfreerdp/crypto/tls.c -index 1b9d165..e76c78c 100644 ---- a/libfreerdp/crypto/tls.c -+++ b/libfreerdp/crypto/tls.c -@@ -220,9 +220,9 @@ static long bio_rdp_tls_ctrl(BIO* bio, int cmd, long num, void* ptr) - case BIO_CTRL_RESET: - SSL_shutdown(tls->ssl); - -- if (tls->ssl->handshake_func == tls->ssl->method->ssl_connect) -+ if (SSL_in_connect_init(tls->ssl)) - SSL_set_connect_state(tls->ssl); -- else if (tls->ssl->handshake_func == tls->ssl->method->ssl_accept) -+ else if (SSL_in_accept_init(tls->ssl)) - SSL_set_accept_state(tls->ssl); - - SSL_clear(tls->ssl); diff --git a/community/freerdp/musl-fix.patch b/community/freerdp/musl-fix.patch deleted file mode 100644 index ffc2e4ad3f..0000000000 --- a/community/freerdp/musl-fix.patch +++ /dev/null @@ -1,47 +0,0 @@ ---- ./winpr/libwinpr/synch/wait.c.orig -+++ ./winpr/libwinpr/synch/wait.c -@@ -109,12 +109,7 @@ - #if !defined(HAVE_PTHREAD_GNU_EXT) - #include <pthread.h> - --#if defined(__FreeBSD__) --/*the only way to get it work is to remove the static*/ - int pthread_mutex_timedlock(pthread_mutex_t *mutex, const struct timespec *timeout) --#else --static int pthread_mutex_timedlock(pthread_mutex_t *mutex, const struct timespec *timeout) --#endif - { - struct timespec timenow; - struct timespec sleepytime; ---- ./winpr/libwinpr/comm/comm_serial_sys.c.orig -+++ ./winpr/libwinpr/comm/comm_serial_sys.c -@@ -42,6 +42,9 @@ - #define TTY_THRESHOLD_UNTHROTTLE 128 - #define N_TTY_BUF_SIZE 4096 - -+#ifndef CMSPAR -+#define CMSPAR 010000000000 -+#endif - - #define _BAUD_TABLE_END 0010020 /* __MAX_BAUD + 1 */ - ---- ./winpr/libwinpr/synch/wait.c.orig -+++ ./winpr/libwinpr/synch/wait.c -@@ -24,6 +24,7 @@ - #ifdef HAVE_UNISTD_H - #include <unistd.h> - #endif -+#include <sys/select.h> - - #include <winpr/crt.h> - #include <winpr/synch.h> ---- ./winpr/libwinpr/comm/comm_io.c.orig -+++ ./winpr/libwinpr/comm/comm_io.c -@@ -27,6 +27,7 @@ - #include <errno.h> - #include <termios.h> - #include <unistd.h> -+#include <sys/select.h> - - #include <winpr/io.h> - #include <winpr/wlog.h> |