Package: release.debian.org Severity: normal User: release.debian....@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 <sunwea...@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 <ul...@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 <ul...@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