[freerdp/f21] Stop KEEPIDLE failure from being fatal (e.g. on UNIX sockets)

David Woodhouse dwmw2 at fedoraproject.org
Fri Mar 6 14:05:59 UTC 2015


commit 0eb0a66c8e259022bdee6364406bc2797cd1c751
Author: David Woodhouse <David.Woodhouse at intel.com>
Date:   Fri Mar 6 14:05:39 2015 +0000

    Stop KEEPIDLE failure from being fatal (e.g. on UNIX sockets)

 freerdp-keepalive-nofatal.patch | 40 ++++++++++++++++++++++++++++++++++++++++
 freerdp.spec                    |  7 ++++++-
 2 files changed, 46 insertions(+), 1 deletion(-)
---
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 <marcandre.moreau at gmail.com>
+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 <dwmw2 at infradead.org> - 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 <orion at cora.nwra.com> - 1:1.2.0-0.6.beta.1.1
 - Rebase args patch for beta1-android7
 


More information about the scm-commits mailing list