diff --git a/xrdp-Allow-sessions-with-32-bpp.patch.patch b/xrdp-Allow-sessions-with-32-bpp.patch.patch new file mode 100644 index 0000000..957e0ca --- /dev/null +++ b/xrdp-Allow-sessions-with-32-bpp.patch.patch @@ -0,0 +1,12 @@ +diff -aur xrdp-0.9.0~git.1456906198.f422461-orig/sesman/libscp/libscp_session.c xrdp-0.9.0~git.1456906198.f422461/sesman/libscp/libscp_session.c +--- xrdp-0.9.0~git.1456906198.f422461-orig/sesman/libscp/libscp_session.c 2017-02-01 11:53:04.000000000 +0100 ++++ xrdp-0.9.0~git.1456906198.f422461/sesman/libscp/libscp_session.c 2017-02-01 12:52:25.000000000 +0100 +@@ -141,6 +141,7 @@ + case 15: + case 16: + case 24: ++ case 32: + s->bpp = bpp; + default: + return 1; +Only in xrdp-0.9.0~git.1456906198.f422461/sesman/libscp: libscp_session.c.orig diff --git a/xrdp-Fix-support-for-32-bpp-clients-connecting-to-16-bpp-.patch b/xrdp-Fix-support-for-32-bpp-clients-connecting-to-16-bpp-.patch new file mode 100644 index 0000000..0c1c578 --- /dev/null +++ b/xrdp-Fix-support-for-32-bpp-clients-connecting-to-16-bpp-.patch @@ -0,0 +1,13 @@ +diff -aur xrdp-0.9.0~git.1456906198.f422461-orig/vnc/vnc.c xrdp-0.9.0~git.1456906198.f422461/vnc/vnc.c +--- xrdp-0.9.0~git.1456906198.f422461-orig/vnc/vnc.c 2017-02-01 13:01:15.000000000 +0100 ++++ xrdp-0.9.0~git.1456906198.f422461/vnc/vnc.c 2017-02-01 13:01:30.000000000 +0100 +@@ -1214,7 +1214,7 @@ + out_uint8(pixel_format, 0); /* blue shift */ + out_uint8s(pixel_format, 3); /* pad */ + } +- else if (v->mod_bpp == 24) ++ else if (v->mod_bpp == 24 || v->mod_bpp == 32) + { + out_uint8(pixel_format, 32); /* bits per pixel */ + out_uint8(pixel_format, 24); /* depth */ +Only in xrdp-0.9.0~git.1456906198.f422461/vnc: vnc.c.orig diff --git a/xrdp-vnc-enable-32-bpp-support-for-Xvnc-it-actually-works.patch b/xrdp-vnc-enable-32-bpp-support-for-Xvnc-it-actually-works.patch new file mode 100644 index 0000000..0d499bd --- /dev/null +++ b/xrdp-vnc-enable-32-bpp-support-for-Xvnc-it-actually-works.patch @@ -0,0 +1,31 @@ +diff -aur xrdp-0.9.0~git.1456906198.f422461-orig/vnc/vnc.c xrdp-0.9.0~git.1456906198.f422461/vnc/vnc.c +--- xrdp-0.9.0~git.1456906198.f422461-orig/vnc/vnc.c 2017-02-01 12:54:47.000000000 +0100 ++++ xrdp-0.9.0~git.1456906198.f422461/vnc/vnc.c 2017-02-01 12:59:28.000000000 +0100 +@@ -949,15 +949,21 @@ + v->server_msg(v, "VNC started connecting", 0); + check_sec_result = 1; + +- /* only support 8 and 16 bpp connections from rdp client */ +- if ((v->server_bpp != 15) && +- (v->server_bpp != 16) && (v->server_bpp != 24)) ++ /* check if bpp is supported for rdp connection */ ++ switch (v->server_bpp) + { +- v->server_msg(v, "VNC error - only supporting 15, 16 and 24 bpp " +- "connections", 0); +- if (v->server_bpp == 8) ++ ++ case 15: ++ case 16: ++ case 24: ++ case 32: ++ break; ++ case 8: + v->server_msg(v, "VNC error - 8 bpp support is dropped " + "since Xvnc 1.4.0", 0); ++ default: ++ v->server_msg(v, "VNC error - only supporting 15, 16, 24 and 32 " ++ "bpp rdp connections", 0); + return 1; + } + diff --git a/xrdp.changes b/xrdp.changes index 5c43f88..a31fbe2 100644 --- a/xrdp.changes +++ b/xrdp.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Wed Feb 1 12:14:29 CET 2017 - vliaskovitis@suse.com + +- Backport upstream patches for 32bpp support (bsc#1022098) + - Add xrdp-Allow-sessions-with-32-bpp.patch.patch + - Add xrdp-vnc-enable-32-bpp-support-for-Xvnc-it-actually-works.patch + - Add xrdp-Fix-support-for-32-bpp-clients-connecting-to-16-bpp-.patch + ------------------------------------------------------------------- Sun Sep 25 09:41:28 UTC 2016 - jengelh@inai.de diff --git a/xrdp.spec b/xrdp.spec index f93f1ab..8ae3407 100644 --- a/xrdp.spec +++ b/xrdp.spec @@ -1,7 +1,7 @@ # # spec file for package xrdp # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -38,6 +38,12 @@ Patch2: xrdp-fix-buildtime-warnings.patch Patch3: xrdp-default-config.patch # PATCH-FIX-OPENSUSE xrdp-disable-8-bpp-vnc-support.patch bsc#991059 - fezhang@suse.com -- disable 8 bpp support for vnc connections Patch4: xrdp-disable-8-bpp-vnc-support.patch +# PATCH-FIX-UPSTREAM xrdp-Allow-sessions-with-32-bpp.patch.patch bsc#1022098 - vliaskovitis@suse.com -- Allow sessions with 32 bpp +Patch5: xrdp-Allow-sessions-with-32-bpp.patch.patch +# PATCH-FIX-UPSTREAM xrdp-vnc-enable-32-bpp-support-for-Xvnc-it-actually-works.patch bsc#1022098 - vliaskovitis@suse.com -- vnc: enable 32 bpp support for Xvnc, it actually works +Patch6: xrdp-vnc-enable-32-bpp-support-for-Xvnc-it-actually-works.patch +# PATCH-FIX-UPSTREAM xrdp-Fix-support-for-32-bpp-clients-connecting-to-16-bpp-.patch bsc#1022098 - vliaskovitis@suse.com -- Fix support for 32-bpp clients connecting to 16-bpp VNC +Patch7: xrdp-Fix-support-for-32-bpp-clients-connecting-to-16-bpp-.patch # PATCH-FEATURE-SLE xrdp-avahi.diff bnc#586785 - hfiguiere@novell.com -- Add Avahi support Patch11: xrdp-avahi.diff # PATCH-FIX-SLE xrdp-filter-tab-from-mstsc-on-focus-change.patch bnc#601996 bnc#623534 - dliang@novell.com -- filter the fake tab key which is used to notify the session @@ -74,6 +80,9 @@ desktop clients. %patch2 -p1 %patch3 -p1 %patch4 -p1 +%patch5 -p1 +%patch6 -p1 +%patch7 -p1 %if ! 0%{?is_opensuse} %patch11 -p1 %patch12 -p1