From 0eb0a66c8e259022bdee6364406bc2797cd1c751 Mon Sep 17 00:00:00 2001 From: David Woodhouse Date: Mar 06 2015 14:05:39 +0000 Subject: Stop KEEPIDLE failure from being fatal (e.g. on UNIX sockets) --- diff --git a/freerdp-keepalive-nofatal.patch b/freerdp-keepalive-nofatal.patch new file mode 100644 index 0000000..9ed3c3f --- /dev/null +++ b/freerdp-keepalive-nofatal.patch @@ -0,0 +1,40 @@ +Based on upstream commit 5cdc4649335bad68e538e6a50a1bb3e1cfed38d9 + +Author: Marc-André Moreau +Date: Fri Jan 30 11:34:09 2015 -0500 +Subject: libfreerdp-core: warn but do not fail in freerdp_tcp_set_keep_alive_mode + +--- FreeRDP-1.2.0-beta1-android7/libfreerdp/core/tcp.c~ 2014-06-12 14:51:57.000000000 +0100 ++++ FreeRDP-1.2.0-beta1-android7/libfreerdp/core/tcp.c 2015-03-06 14:00:17.888967148 +0000 +@@ -642,7 +642,6 @@ BOOL tcp_set_keep_alive_mode(rdpTcp* tcp + if (setsockopt(tcp->sockfd, SOL_SOCKET, SO_KEEPALIVE, (void*) &option_value, option_len) < 0) + { + perror("setsockopt() SOL_SOCKET, SO_KEEPALIVE:"); +- return FALSE; + } + + #ifdef TCP_KEEPIDLE +@@ -652,7 +651,6 @@ BOOL tcp_set_keep_alive_mode(rdpTcp* tcp + if (setsockopt(tcp->sockfd, IPPROTO_TCP, TCP_KEEPIDLE, (void*) &option_value, option_len) < 0) + { + perror("setsockopt() IPPROTO_TCP, TCP_KEEPIDLE:"); +- return FALSE; + } + #endif + +@@ -663,7 +661,6 @@ BOOL tcp_set_keep_alive_mode(rdpTcp* tcp + if (setsockopt(tcp->sockfd, SOL_TCP, TCP_KEEPCNT, (void *) &option_value, option_len) < 0) + { + perror("setsockopt() SOL_TCP, TCP_KEEPCNT:"); +- return FALSE; + } + #endif + +@@ -674,7 +671,6 @@ BOOL tcp_set_keep_alive_mode(rdpTcp* tcp + if (setsockopt(tcp->sockfd, SOL_TCP, TCP_KEEPINTVL, (void *) &option_value, option_len) < 0) + { + perror("setsockopt() SOL_TCP, TCP_KEEPINTVL:"); +- return FALSE; + } + #endif + #endif diff --git a/freerdp.spec b/freerdp.spec index 7865d00..33bfe59 100644 --- a/freerdp.spec +++ b/freerdp.spec @@ -1,6 +1,6 @@ Name: freerdp Version: 1.2.0 -Release: 0.6.beta.1%{?dist}.1 +Release: 0.6.beta.1%{?dist}.2 Epoch: 1 Summary: Free implementation of the Remote Desktop Protocol (RDP) @@ -13,6 +13,7 @@ Patch1: freerdp-cmake-list.patch # https://bugzilla.redhat.com/show_bug.cgi?id=1150349 # https://github.com/FreeRDP/FreeRDP/pull/2310 Patch2: freerdp-args.patch +Patch3: freerdp-keepalive-nofatal.patch BuildRequires: alsa-lib-devel BuildRequires: cmake >= 2.8 @@ -94,6 +95,7 @@ developing applications that use %{name}-libwinpr. %patch0 -p1 -b .aarch64 %patch1 -p1 -b .cmake-list %patch2 -p1 -b .args +%patch3 -p1 -b .keepalive # Rpmlint fixes find . -name "*.h" -exec chmod 664 {} \; @@ -187,6 +189,9 @@ find %{buildroot} -name "*.a" -delete %{_libdir}/pkgconfig/winpr.pc %changelog +* Fri Mar 06 2015 David Woodhouse - 1:1.2.0-0.6.beta.1.2 +- Backport upstream patch to avoid TCP_KEEPIDLE failure being fatal + * Fri Jan 23 2015 Orion Poplawski - 1:1.2.0-0.6.beta.1.1 - Rebase args patch for beta1-android7