From c6dee7798fcaf77239cc9316c885bde902eeaddd Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Jun 09 2020 19:28:32 +0000 Subject: import freerdp-2.1.1-1.el8 --- diff --git a/.freerdp.metadata b/.freerdp.metadata index e0aa7bd..304b0ea 100644 --- a/.freerdp.metadata +++ b/.freerdp.metadata @@ -1 +1 @@ -bd50ce9d8807499e14884a3019e9f42b40f3480b SOURCES/FreeRDP-2.0.0-rc4.tar.gz +74013042a9d8bdbfd58f0a887f197702183c0df9 SOURCES/FreeRDP-2.1.1.tar.gz diff --git a/.gitignore b/.gitignore index 7aad2fe..6e0a6ee 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/FreeRDP-2.0.0-rc4.tar.gz +SOURCES/FreeRDP-2.1.1.tar.gz diff --git a/SOURCES/Do-not-advertise-usb-in-help-output-if-the-channel-i.patch b/SOURCES/Do-not-advertise-usb-in-help-output-if-the-channel-i.patch deleted file mode 100644 index 39406b0..0000000 --- a/SOURCES/Do-not-advertise-usb-in-help-output-if-the-channel-i.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 7c2fac69e66456617b94d26026fcab6b379814c5 Mon Sep 17 00:00:00 2001 -From: Ondrej Holy -Date: Wed, 26 Feb 2020 11:12:46 +0100 -Subject: [PATCH] Do not advertise /usb in help output if the channel is not - built - -The help output advertise an option and an example for usb redirection -regardless of the fact whether the urbdrc channel was built or not. -This is confusing for people. Let's do not show /usb in help if it is -not built. ---- - client/common/cmdline.c | 2 ++ - client/common/cmdline.h | 2 ++ - 2 files changed, 4 insertions(+) - -diff --git a/client/common/cmdline.c b/client/common/cmdline.c -index 103b4d245..44510a58c 100644 ---- a/client/common/cmdline.c -+++ b/client/common/cmdline.c -@@ -166,7 +166,9 @@ BOOL freerdp_client_print_command_line_help_ex(int argc, char** argv, - printf("\n"); - printf("Multimedia Redirection: /multimedia:sys:oss,dev:/dev/dsp1,decoder:ffmpeg\n"); - printf("Multimedia Redirection: /multimedia:sys:alsa\n"); -+#ifdef CHANNEL_URBDRC_CLIENT - printf("USB Device Redirection: /usb:id,dev:054c:0268\n"); -+#endif - printf("\n"); - printf("For Gateways, the https_proxy environment variable is respected:\n"); - #ifdef _WIN32 -diff --git a/client/common/cmdline.h b/client/common/cmdline.h -index 7f1d9e03f..b87871e64 100644 ---- a/client/common/cmdline.h -+++ b/client/common/cmdline.h -@@ -173,7 +173,9 @@ static COMMAND_LINE_ARGUMENT_A args[] = - { "toggle-fullscreen", COMMAND_LINE_VALUE_BOOL, NULL, BoolValueTrue, NULL, -1, NULL, "Alt+Ctrl+Enter toggles fullscreen" }, - { "u", COMMAND_LINE_VALUE_REQUIRED, "[\\] or [@]", NULL, NULL, -1, NULL, "Username" }, - { "unmap-buttons", COMMAND_LINE_VALUE_BOOL, NULL, BoolValueFalse, NULL, -1, NULL, "Let server see real physical pointer button"}, -+#ifdef CHANNEL_URBDRC_CLIENT - { "usb", COMMAND_LINE_VALUE_REQUIRED, "[dbg,][dev:,][id|addr,][auto]", NULL, NULL, -1, NULL, "Redirect USB device" }, -+#endif - { "v", COMMAND_LINE_VALUE_REQUIRED, "[:port]", NULL, NULL, -1, NULL, "Server hostname" }, - { "vc", COMMAND_LINE_VALUE_REQUIRED, "[,]", NULL, NULL, -1, NULL, "Static virtual channel" }, - { "version", COMMAND_LINE_VALUE_FLAG | COMMAND_LINE_PRINT_VERSION, NULL, NULL, NULL, -1, NULL, "Print version" }, --- -2.26.0 - diff --git a/SOURCES/fix-channels-smartcard-fix-StatusW_Call.patch b/SOURCES/fix-channels-smartcard-fix-StatusW_Call.patch deleted file mode 100644 index 3c67a61..0000000 --- a/SOURCES/fix-channels-smartcard-fix-StatusW_Call.patch +++ /dev/null @@ -1,51 +0,0 @@ -From a311075202865d22b87ec2ea8d1e32fa11868012 Mon Sep 17 00:00:00 2001 -From: Bernhard Miklautz -Date: Wed, 10 Jul 2019 18:36:34 +0200 -Subject: [PATCH] fix [channels/smartcard]: fix StatusW_Call - -According to 2.2.2.18 Status_Call cbAtrLen is unused an must be ignored -upon receipt. ---- - channels/smartcard/client/smartcard_operations.c | 13 ++++++++----- - 1 file changed, 8 insertions(+), 5 deletions(-) - -diff --git a/channels/smartcard/client/smartcard_operations.c b/channels/smartcard/client/smartcard_operations.c -index c4bf65d38..e3d848171 100644 ---- a/channels/smartcard/client/smartcard_operations.c -+++ b/channels/smartcard/client/smartcard_operations.c -@@ -1209,15 +1209,19 @@ static LONG smartcard_StatusW_Call(SMARTCARD_DEVICE* smartcard, SMARTCARD_OPERAT - Status_Call* call = operation->call; - DWORD cbAtrLen; - -- if (call->cbAtrLen > 32) -- call->cbAtrLen = 32; -+ /** -+ * [MS-RDPESC] -+ * According to 2.2.2.18 Status_Call cbAtrLen is unused an must be ignored upon receipt. -+ */ -+ cbAtrLen = call->cbAtrLen = 32; -+ -+ call->cchReaderLen; - - if (call->fmszReaderNamesIsNULL) - cchReaderLen = 0; - else - cchReaderLen = SCARD_AUTOALLOCATE; - -- cbAtrLen = call->cbAtrLen; - ZeroMemory(ret.pbAtr, 32); - status = ret.ReturnCode = SCardStatusW(operation->hCard, - call->fmszReaderNamesIsNULL ? NULL : (LPWSTR) &mszReaderNames, -@@ -1236,8 +1240,7 @@ static LONG smartcard_StatusW_Call(SMARTCARD_DEVICE* smartcard, SMARTCARD_OPERAT - ret.cBytes = cchReaderLen; - #endif - -- if (call->cbAtrLen) -- ret.cbAtrLen = cbAtrLen; -+ ret.cbAtrLen = cbAtrLen; - } - - smartcard_trace_status_return(smartcard, &ret, TRUE); --- -2.26.0 - diff --git a/SOURCES/winpr-library-Use-RTLD_GLOBAL-for-dlopen.patch b/SOURCES/winpr-library-Use-RTLD_GLOBAL-for-dlopen.patch new file mode 100644 index 0000000..1f3878b --- /dev/null +++ b/SOURCES/winpr-library-Use-RTLD_GLOBAL-for-dlopen.patch @@ -0,0 +1,32 @@ +From d8cd671cc68d503757e32eb80f7a4dee44e47754 Mon Sep 17 00:00:00 2001 +From: Ondrej Holy +Date: Wed, 27 May 2020 08:43:00 +0200 +Subject: [PATCH] winpr/library: Use RTLD_GLOBAL for dlopen + +LoadLibraryA implementation uses the RTLD_LOCAL flag for dlopen currently. +This flag doesn't allow the symbols to be used by the subsequently loaded +libraries. This is a problem for the video channel when -DBUILTIN_CHANNELS=OFF +is used as it uses functions from the geometry channel. Let's use RTLD_GLOBAL +instead to prevent "undefined symbol" errors in such cases. + +Fixes: https://github.com/FreeRDP/FreeRDP/issues/6236 +--- + winpr/libwinpr/library/library.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/winpr/libwinpr/library/library.c b/winpr/libwinpr/library/library.c +index f44a96d27..8d33227b2 100644 +--- a/winpr/libwinpr/library/library.c ++++ b/winpr/libwinpr/library/library.c +@@ -125,7 +125,7 @@ HMODULE LoadLibraryA(LPCSTR lpLibFileName) + return hModule; + #else + HMODULE library; +- library = dlopen(lpLibFileName, RTLD_LOCAL | RTLD_LAZY); ++ library = dlopen(lpLibFileName, RTLD_GLOBAL | RTLD_LAZY); + + if (!library) + { +-- +2.26.2 + diff --git a/SPECS/freerdp.spec b/SPECS/freerdp.spec index 590e297..6f67d18 100644 --- a/SPECS/freerdp.spec +++ b/SPECS/freerdp.spec @@ -1,5 +1,3 @@ -%global gittag 2.0.0-rc4 - # Can be rebuilt with FFmpeg/H264 support enabled by passing "--with=ffmpeg", # "--with=x264" or "--with=openh264" to mock/rpmbuild; or by globally setting # these variables: @@ -16,21 +14,23 @@ # https://bugzilla.redhat.com/show_bug.cgi?id=1639165 %{!?rhel:%global _with_server 1} +# Disable support for missing codecs in RHEL +%{!?rhel:%global _with_soxr 1} +%if 0%{?fedora} || 0%{?rhel} >= 8 +%global _with_lame 1 +%endif + Name: freerdp -Version: 2.0.0 -Release: 47.rc4%{?dist} +Version: 2.1.1 +Release: 1%{?dist} Epoch: 2 Summary: Free implementation of the Remote Desktop Protocol (RDP) License: ASL 2.0 URL: http://www.freerdp.com/ -Source0: https://github.com/FreeRDP/FreeRDP/archive/%{gittag}/FreeRDP-%{gittag}.tar.gz +Source0: https://github.com/FreeRDP/FreeRDP/archive/%{version}/FreeRDP-%{version}.tar.gz -# https://bugzilla.redhat.com/show_bug.cgi?id=1803054 -Patch1: fix-channels-smartcard-fix-StatusW_Call.patch - -# https://bugzilla.redhat.com/show_bug.cgi?id=1761144 -Patch2: Do-not-advertise-usb-in-help-output-if-the-channel-i.patch +Patch1: winpr-library-Use-RTLD_GLOBAL-for-dlopen.patch BuildRequires: gcc BuildRequires: gcc-c++ @@ -38,6 +38,8 @@ BuildRequires: alsa-lib-devel BuildRequires: cmake >= 2.8 BuildRequires: cups-devel BuildRequires: gsm-devel +%{?_with_lame:BuildRequires: lame-devel} +BuildRequires: libicu-devel BuildRequires: libjpeg-turbo-devel BuildRequires: libX11-devel BuildRequires: libXcursor-devel @@ -56,6 +58,7 @@ BuildRequires: xmlto BuildRequires: zlib-devel BuildRequires: multilib-rpm-config +BuildRequires: pkgconfig(cairo) BuildRequires: pkgconfig(dbus-1) BuildRequires: pkgconfig(dbus-glib-1) BuildRequires: pkgconfig(glib-2.0) @@ -70,7 +73,9 @@ BuildRequires: pkgconfig(gstreamer-video-1.0) BuildRequires: pkgconfig(libpcsclite) BuildRequires: pkgconfig(libpulse) BuildRequires: pkgconfig(libsystemd) +BuildRequires: pkgconfig(libusb-1.0) BuildRequires: pkgconfig(openssl) +%{?_with_soxr:BuildRequires: pkgconfig(soxr)} BuildRequires: pkgconfig(wayland-client) BuildRequires: pkgconfig(wayland-scanner) BuildRequires: pkgconfig(xkbcommon) @@ -80,7 +85,7 @@ BuildRequires: pkgconfig(libavcodec) >= 57.48.101 BuildRequires: pkgconfig(libavutil) } -Provides: xfreerdp = %{version}-%{release} +Provides: xfreerdp = %{?epoch}:%{version}-%{release} Requires: %{name}-libs%{?_isa} = %{?epoch}:%{version}-%{release} Requires: libwinpr%{?_isa} = %{?epoch}:%{version}-%{release} @@ -128,7 +133,7 @@ the RDP protocol. %package -n libwinpr Summary: Windows Portable Runtime Provides: %{name}-libwinpr = %{?epoch}:%{version}-%{release} -Obsoletes: %{name}-libwinpr < %{?epoch}:%{version}-%{release} +Obsoletes: %{name}-libwinpr < 1:1.2.0 %description -n libwinpr WinPR provides API compatibility for applications targeting non-Windows @@ -146,7 +151,7 @@ The %{name}-libwinpr-devel package contains libraries and header files for developing applications that use %{name}-libwinpr. %prep -%autosetup -p1 -n FreeRDP-%{gittag} +%autosetup -p1 -n FreeRDP-%{version} # Rpmlint fixes find . -name "*.h" -exec chmod 664 {} \; @@ -165,8 +170,10 @@ find . -name "*.c" -exec chmod 664 {} \; -DWITH_GSSAPI=%{?_with_gss:ON}%{?!_with_gss:OFF} \ -DWITH_GSTREAMER_1_0=ON -DWITH_GSTREAMER_0_10=OFF \ -DGSTREAMER_1_0_INCLUDE_DIRS=%{_includedir}/gstreamer-1.0 \ + -DWITH_ICU=ON \ -DWITH_IPP=OFF \ -DWITH_JPEG=ON \ + -DWITH_LAME=%{?_with_lame:ON}%{?!_with_lame:OFF} \ -DWITH_MANPAGES=ON \ -DWITH_OPENH264=%{?_with_openh264:ON}%{?!_with_openh264:OFF} \ -DWITH_OPENSSL=ON \ @@ -176,6 +183,7 @@ find . -name "*.c" -exec chmod 664 {} \; -DWITH_SERVER_INTERFACE=%{?_with_server:ON}%{?!_with_server:OFF} \ -DWITH_SHADOW_X11=%{?_with_server:ON}%{?!_with_server:OFF} \ -DWITH_SHADOW_MAC=%{?_with_server:ON}%{?!_with_server:OFF} \ + -DWITH_SOXR=%{?_with_soxr:ON}%{?!_with_soxr:OFF} \ -DWITH_WAYLAND=ON \ -DWITH_X11=ON \ -DWITH_X264=%{?_with_x264:ON}%{?!_with_x264:OFF} \ @@ -190,6 +198,7 @@ find . -name "*.c" -exec chmod 664 {} \; -DWITH_ZLIB=ON \ %ifarch x86_64 -DWITH_SSE2=ON \ + -DWITH_VAAPI=%{?_with_ffmpeg:ON}%{?!_with_ffmpeg:OFF} \ %else -DWITH_SSE2=OFF \ %endif @@ -207,10 +216,10 @@ find . -name "*.c" -exec chmod 664 {} \; %endif . -make %{?_smp_mflags} +%make_build pushd winpr/tools/makecert-cli -make %{?_smp_mflags} +%make_build popd %install @@ -221,27 +230,19 @@ find %{buildroot} -name "*.a" -delete %multilib_fix_c_header --file %{_includedir}/freerdp2/freerdp/build-config.h -%post libs -p /sbin/ldconfig - -%postun libs -p /sbin/ldconfig - -%post -n libwinpr -p /sbin/ldconfig - -%postun -n libwinpr -p /sbin/ldconfig - %files %{_bindir}/winpr-hash %{_bindir}/winpr-makecert %{_bindir}/wlfreerdp %{_bindir}/xfreerdp -%{_mandir}/man1/winpr-hash.1.* -%{_mandir}/man1/winpr-makecert.1.* -%{_mandir}/man1/wlfreerdp.1.* -%{_mandir}/man1/xfreerdp.1.* +%{_mandir}/man1/winpr-hash.1* +%{_mandir}/man1/winpr-makecert.1* +%{_mandir}/man1/wlfreerdp.1* +%{_mandir}/man1/xfreerdp.1* %files libs %license LICENSE -%doc README ChangeLog +%doc README.md ChangeLog %{_libdir}/freerdp2/ %{_libdir}/libfreerdp-client2.so.* %{?_with_server: @@ -281,14 +282,14 @@ find %{buildroot} -name "*.a" -delete %{?_with_server: %files server +%{_bindir}/freerdp-proxy %{_bindir}/freerdp-shadow-cli -%{_mandir}/man1/freerdp-shadow-cli.1.* +%{_mandir}/man1/freerdp-shadow-cli.1* } %files -n libwinpr -%{!?_licensedir:%global license %%doc} %license LICENSE -%doc README ChangeLog +%doc README.md ChangeLog %{_libdir}/libwinpr2.so.* %{_libdir}/libwinpr-tools2.so.* @@ -301,6 +302,9 @@ find %{buildroot} -name "*.a" -delete %{_libdir}/pkgconfig/winpr-tools2.pc %changelog +* Mon May 25 2020 Ondrej Holy - 2:2.1.1-1 +- Update to 2.1.1 (rhbz#1834287). + * Fri Apr 17 2020 Ondrej Holy - 2:2.0.0-47.rc4 - Fix SCARD_INSUFFICIENT_BUFFER error (rhbz#1803054) - Do not advertise /usb in help output (rhbz#1761144)