[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#929500: unblock: nx-libs/2:3.5.99.19-3



Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock

Please unblock package nx-libs

+    + Add 0003_xkbUtils.c-Catch-division-by-zero.patch.
+      Catch occasional division-by-zero error. (Closes: #929498).

Users reported division by zero errors, see
https://github.com/ArcticaProject/nx-libs/issues/808

+    + Add 0004_libNX_X11-add-additional-checks-for-dpy-and-xkb.patch.
+      Don't reference dpy nor xkb if undefined. (Closes: #929499).

Users reported crashes in XKeycodeToKeysym()
https://github.com/ArcticaProject/nx-libs/issues/801

Thanks+Greets,
Mike


unblock nx-libs/2:3.5.99.19-3

-- System Information:
Debian Release: buster/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.19.0-4-amd64 (SMP w/4 CPU cores)
Kernel taint flags: TAINT_WARN, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
diff -Nru nx-libs-3.5.99.19/debian/changelog nx-libs-3.5.99.19/debian/changelog
--- nx-libs-3.5.99.19/debian/changelog	2019-05-12 11:08:25.000000000 +0200
+++ nx-libs-3.5.99.19/debian/changelog	2019-05-24 22:27:02.000000000 +0200
@@ -1,7 +1,17 @@
+nx-libs (2:3.5.99.19-3) unstable; urgency=medium
+
+  * debian/patches (cherry-picked from upstream):
+    + Add 0003_xkbUtils.c-Catch-division-by-zero.patch.
+      Catch occasional division-by-zero error. (Closes: #929498).
+    + Add 0004_libNX_X11-add-additional-checks-for-dpy-and-xkb.patch.
+      Don't reference dpy nor xkb if undefined. (Closes: #929499).
+
+ -- Mike Gabriel <sunweaver@debian.org>  Fri, 24 May 2019 22:27:02 +0200
+
 nx-libs (2:3.5.99.19-2) unstable; urgency=medium
 
   * debian/patches (cherry-picked from upstream):
-    + Add 0001_nxagent-Determine-nxagentProgName-only-once.patch. Keep flavour 
+    + Add 0001_nxagent-Determine-nxagentProgName-only-once.patch. Keep flavour
       mode (i.e., running as nxagent or x2goagent) after session resumptions.
       (Closes: #928760).
     + Add 0002_nxdialog-bin-nxdialog-Fix-error-dialog-type-not-supp.patch.
diff -Nru nx-libs-3.5.99.19/debian/patches/0003_xkbUtils.c-Catch-division-by-zero.patch nx-libs-3.5.99.19/debian/patches/0003_xkbUtils.c-Catch-division-by-zero.patch
--- nx-libs-3.5.99.19/debian/patches/0003_xkbUtils.c-Catch-division-by-zero.patch	1970-01-01 01:00:00.000000000 +0100
+++ nx-libs-3.5.99.19/debian/patches/0003_xkbUtils.c-Catch-division-by-zero.patch	2019-05-24 21:53:48.000000000 +0200
@@ -0,0 +1,28 @@
+From 4df77fe73fe03dc3098190f3702c0d5ab415968a Mon Sep 17 00:00:00 2001
+From: Ulrich Sibiller <uli42@gmx.de>
+Date: Wed, 15 May 2019 19:42:29 +0200
+Subject: [PATCH 1/2] xkbUtils.c: Catch division by zero
+
+Fixes ArcticaProject/nx-libs#808
+---
+ nx-X11/programs/Xserver/xkb/xkbUtils.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/nx-X11/programs/Xserver/xkb/xkbUtils.c b/nx-X11/programs/Xserver/xkb/xkbUtils.c
+index 028f32454..21a5ce76a 100644
+--- a/nx-X11/programs/Xserver/xkb/xkbUtils.c
++++ b/nx-X11/programs/Xserver/xkb/xkbUtils.c
+@@ -685,6 +685,10 @@ unsigned	act;
+ 	    else group= newGroup;
+ 	}
+ 	else {
++#ifdef NXAGENT_SERVER
++	  /* we have seen division by zero here */
++	  if (ctrls->num_groups != 0)
++#endif
+ 	    group%= ctrls->num_groups;
+ 	}
+     }
+-- 
+2.20.1
+
diff -Nru nx-libs-3.5.99.19/debian/patches/0004_libNX_X11-add-additional-checks-for-dpy-and-xkb.patch nx-libs-3.5.99.19/debian/patches/0004_libNX_X11-add-additional-checks-for-dpy-and-xkb.patch
--- nx-libs-3.5.99.19/debian/patches/0004_libNX_X11-add-additional-checks-for-dpy-and-xkb.patch	1970-01-01 01:00:00.000000000 +0100
+++ nx-libs-3.5.99.19/debian/patches/0004_libNX_X11-add-additional-checks-for-dpy-and-xkb.patch	2019-05-24 21:53:48.000000000 +0200
@@ -0,0 +1,44 @@
+From 20353e96a390a029f7b3b18fc7ddd82eae98b935 Mon Sep 17 00:00:00 2001
+From: Ulrich Sibiller <uli42@gmx.de>
+Date: Wed, 15 May 2019 19:54:24 +0200
+Subject: [PATCH 2/2] libNX_X11: add additional checks for dpy and xkb
+
+We have seen crashes during session shutdown/connection problems
+here. These patches should avoid them. There's no proper way to test
+them, but they should do no harm..
+
+Fixes ArcticaProject/nx-libs#801
+Fixes https://bugs.x2go.org/cgi-bin/bugreport.cgi?bug=695
+---
+ nx-X11/lib/src/xkb/XKBBind.c | 14 ++++++++++++++
+ 1 file changed, 14 insertions(+)
+
+diff --git a/nx-X11/lib/src/xkb/XKBBind.c b/nx-X11/lib/src/xkb/XKBBind.c
+index 068e8f2a0..ffe5ad9d7 100644
+--- a/nx-X11/lib/src/xkb/XKBBind.c
++++ b/nx-X11/lib/src/xkb/XKBBind.c
+@@ -108,7 +108,21 @@ XKeycodeToKeysym(Display *dpy,
+ 
+     _XkbCheckPendingRefresh(dpy, dpy->xkb_info);
+ 
++#ifdef NX_TRANS_SOCKET
++    /*
++       check again, we have seen cases where the connection broke
++       during CheckPendingEvents(), followed by a crash when accessing
++       dpy. See https://github.com/ArcticaProject/nx-libs/issues/801
++    */
++    if (_XkbUnavailable(dpy))
++        return _XKeycodeToKeysym(dpy, kc, col);
++#endif
++
+     xkb = dpy->xkb_info->desc;
++#ifdef NX_TRANS_SOCKET
++    if (xkb == NULL)
++        return _XKeycodeToKeysym(dpy, kc, col);
++#endif
+     if ((kc < xkb->min_key_code) || (kc > xkb->max_key_code))
+         return NoSymbol;
+ 
+-- 
+2.20.1
+
diff -Nru nx-libs-3.5.99.19/debian/patches/series nx-libs-3.5.99.19/debian/patches/series
--- nx-libs-3.5.99.19/debian/patches/series	2019-05-12 11:05:58.000000000 +0200
+++ nx-libs-3.5.99.19/debian/patches/series	2019-05-24 21:54:36.000000000 +0200
@@ -4,3 +4,5 @@
 2004_enforce-lpthread.patch
 0001_nxagent-Determine-nxagentProgName-only-once.patch
 0002_nxdialog-bin-nxdialog-Fix-error-dialog-type-not-supp.patch
+0003_xkbUtils.c-Catch-division-by-zero.patch
+0004_libNX_X11-add-additional-checks-for-dpy-and-xkb.patch

Reply to: