arcticaproject / nx-libs Goto Github PK
View Code? Open in Web Editor NEWnx-libs
License: Other
nx-libs
License: Other
From X2Go BTS:
http://bugs.x2go.org/cgi-bin/bugreport.cgi?bug=791
Package: nx-libs
Version: 3.5.0.28
Events.c:1251 is:
x.u.u.detail = inputInfo.pointer -> button ->
map[nxagentReversePointerMap[X.xbutton.button - 1]];
X.xbutton.button = 0 :
X = {type = 4, xany = {type = 4, serial = 0, send_event = 0, display =
0x159ba50, window = 0}, xkey = {type = 4, serial = 0, send_event = 0, display
= 0x159ba50, window = 0, root = 7848854, subwindow = 11409376, time = 0, x =
-772, y = -13337, x_root = 32767, y_root = 0, state = 57, keycode = 0,
same_screen = 0}, xbutton = {type = 4, serial = 0, send_event = 0, display =
0x159ba50, window = 0, root = 7848854, subwindow = 11409376, time = 0, x =
-772, y = -13337, x_root = 32767, y_root = 0, state = 57, button = 0,
same_screen = 0}
-------- Forwarded Message --------
Subject: [Bug 1193943] New: [abrt] nxagent: nxagentDispatchEvents(): nxagent
killed by SIGSEGV
Date: Wed, 18 Feb 2015 15:30:49 +0000
From: [email protected]
To: [email protected]
https://bugzilla.redhat.com/show_bug.cgi?id=1193943
Bug ID: 1193943
Summary: [abrt] nxagent: nxagentDispatchEvents(): nxagent
killed by SIGSEGV
Product: Fedora
Version: 20
Component: nx-libs
Assignee: [email protected]
Reporter: [email protected]
QA Contact: [email protected]
CC: [email protected]
Version-Release number of selected component:
nxagent-3.5.0.28-1.fc20
Additional info:
reporter: libreport-2.2.3
backtrace_rating: 4
cmdline: /usr/lib64/nx/bin/nxagent -persistent -D -name 'NX -
[email protected]:2000 - mnich (GPL Edition)' -option
/home/jboyle/.nx/C-mnich.myquotient.net-2000-9C1FED17795787217FBC80B6F1F2E86E/options
-nolisten tcp :2000
crash_function: nxagentDispatchEvents
executable: /usr/lib64/nx/bin/nxagent
kernel: 3.18.5-101.fc20.x86_64
runlevel: 3 5
type: CCpp
uid: 1000
Truncated backtrace:
Thread no. 1 (5 frames)
#0 nxagentDispatchEvents at Events.c:1251
#1 nxagentBlockHandler at Handlers.c:446
#2 BlockHandler at dixutils.c:442
#3 WaitForSomething at WaitFor.c:257
#4 Dispatch at X/NXdispatch.c:619
As a follow up for #55 ...
Another issue with anti-alliasing could be found. In certain situations, the complete nxagent freezes when it comes to displaying really huge fonts (font size: 1000).
This happens with grayscale antialiasing enabled.
Investigate patch from
https://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/net-misc/nx/files/nx-3.5.0.17-cflags_ar_ranlib.patch?diff_format=s&view=markup
diff -Naur nx-libs-3.5.0.17.orig/nxcomp/Makefile.in nx-libs-3.5.0.17/nxcomp/Makefile.in
--- nx-libs-3.5.0.17.orig/nxcomp/Makefile.in 2013-01-09 15:03:33.152952758 +0100
+++ nx-libs-3.5.0.17/nxcomp/Makefile.in 2013-01-09 15:05:39.771898159 +0100
@@ -243,8 +243,8 @@
$(LIBARCHIVE): $(CXXOBJ) $(COBJ)
rm -f $(LIBARCHIVE)
- ar clq $(LIBARCHIVE) $(CXXOBJ) $(COBJ)
- ranlib $(LIBARCHIVE)
+ $(AR) $(LIBARCHIVE) $(CXXOBJ) $(COBJ)
+ $(RANLIB) $(LIBARCHIVE)
$(LIBCYGSHARED): $(LIBARCHIVE)
$(CC) -shared -o $(LIBCYGSHARED) \
diff -Naur nx-libs-3.5.0.17.orig/nxcomp/configure.in nx-libs-3.5.0.17/nxcomp/configure.in
--- nx-libs-3.5.0.17.orig/nxcomp/configure.in 2013-01-09 15:03:33.151952758 +0100
+++ nx-libs-3.5.0.17/nxcomp/configure.in 2013-01-09 15:04:03.312940892 +0100
@@ -7,8 +7,7 @@
dnl Set our default compilation flags.
-CXXFLAGS="$CXXFLAGS -O3 -fno-rtti -fno-exceptions"
-CFLAGS="$CFLAGS -O3"
+CXXFLAGS="$CXXFLAGS -fno-rtti -fno-exceptions"
dnl Reset default linking directives.
diff -Naur nx-libs-3.5.0.17.orig/nxcompext/Makefile.in nx-libs-3.5.0.17/nxcompext/Makefile.in
--- nx-libs-3.5.0.17.orig/nxcompext/Makefile.in 2013-01-09 15:03:33.164952753 +0100
+++ nx-libs-3.5.0.17/nxcompext/Makefile.in 2013-01-09 15:06:08.747879052 +0100
@@ -125,8 +125,8 @@
$(LIBARCHIVE): $(CXXOBJ) $(COBJ)
rm -f $(LIBARCHIVE)
- ar clq $(LIBARCHIVE) $(CXXOBJ) $(COBJ)
- ranlib $(LIBARCHIVE)
+ $(AR) $(LIBARCHIVE) $(CXXOBJ) $(COBJ)
+ $(RANLIB) $(LIBARCHIVE)
$(LIBCYGSHARED): $(LIBARCHIVE)
$(CC) -shared -o $(LIBCYGSHARED) \
diff -Naur nx-libs-3.5.0.17.orig/nxcompext/configure.in nx-libs-3.5.0.17/nxcompext/configure.in
--- nx-libs-3.5.0.17.orig/nxcompext/configure.in 2013-01-09 15:03:33.164952753 +0100
+++ nx-libs-3.5.0.17/nxcompext/configure.in 2013-01-09 15:04:16.247935801 +0100
@@ -5,11 +5,6 @@
AC_INIT(NXlib.h)
AC_PREREQ(2.13)
-dnl Reset default compilation flags.
-
-CXXFLAGS="$CXXFLAGS -O3"
-CFLAGS="$CFLAGS -O3"
-
dnl Reset default linking directives.
LIBSTATIC=""
diff -Naur nx-libs-3.5.0.17.orig/nxcompshad/Makefile.in nx-libs-3.5.0.17/nxcompshad/Makefile.in
--- nx-libs-3.5.0.17.orig/nxcompshad/Makefile.in 2013-01-09 15:03:33.163952754 +0100
+++ nx-libs-3.5.0.17/nxcompshad/Makefile.in 2013-01-09 15:06:16.933873660 +0100
@@ -158,8 +158,8 @@
$(LIBARCHIVE): $(CXXOBJ) $(COBJ)
rm -f $(LIBARCHIVE)
- ar clq $(LIBARCHIVE) $(CXXOBJ) $(COBJ)
- ranlib $(LIBARCHIVE)
+ $(AR) $(LIBARCHIVE) $(CXXOBJ) $(COBJ)
+ $(RANLIB) $(LIBARCHIVE)
$(LIBDLL): $(LIBARCHIVE)
$(CC) -o $@ \
diff -Naur nx-libs-3.5.0.17.orig/nxcompshad/configure.in nx-libs-3.5.0.17/nxcompshad/configure.in
--- nx-libs-3.5.0.17.orig/nxcompshad/configure.in 2013-01-09 15:03:33.163952754 +0100
+++ nx-libs-3.5.0.17/nxcompshad/configure.in 2013-01-09 15:04:20.073934295 +0100
@@ -5,11 +5,6 @@
AC_INIT(Shadow.h)
AC_PREREQ(2.13)
-dnl Reset default compilation flags.
-
-CXXFLAGS="$CXXFLAGS -O3"
-CPPFLAGS="$CPPFLAGS -O3"
-
dnl Reset default linking directives.
LIBSTATIC=""
diff -Naur nx-libs-3.5.0.17.orig/nxproxy/configure.in nx-libs-3.5.0.17/nxproxy/configure.in
--- nx-libs-3.5.0.17.orig/nxproxy/configure.in 2013-01-09 15:03:33.163952754 +0100
+++ nx-libs-3.5.0.17/nxproxy/configure.in 2013-01-09 15:04:24.842932418 +0100
@@ -5,11 +5,6 @@
AC_INIT(Main.c)
AC_PREREQ(2.13)
-dnl Reset default compilation flags.
-
-CXXFLAGS="$CXXFLAGS -O3"
-CPPFLAGS="$CPPFLAGS -O3"
-
dnl Prefer headers and libraries from nx-X11 if present.
if test -d "../nx-X11/exports/include" ; then
Something similar would make sense for nxagent, I guess..
commit 43014795087a0a8774dd9687f5967329b15f06a2
Author: Olivier Fourdan <[email protected]>
Date: Mon Jan 5 16:44:22 2015 +0100
Synchronize capslock in Xnest and Xephyr
In Xnest or Xephyr, pressing CapsLock when focus is on another
window does not update the state in the nested X server.
This is because when synchronizing the lock modifier, sending a
keypress or a key release only is not sufficient to toggle the state,
unlike regular modifiers, one has to emulate a full press/release
to lock or unlock the modifier.
Signed-off-by: Olivier Fourdan <[email protected]>
Reviewed-by: Peter Hutterer <[email protected]>
Signed-off-by: Peter Hutterer <[email protected]>
diff --git a/hw/kdrive/ephyr/ephyr.c b/hw/kdrive/ephyr/ephyr.c
index 907bbeb..164ebdc 100644
--- a/hw/kdrive/ephyr/ephyr.c
+++ b/hw/kdrive/ephyr/ephyr.c
@@ -806,7 +806,11 @@ ephyrUpdateModifierState(unsigned int state)
for (key = 0; key < MAP_LENGTH; key++)
if (keyc->xkbInfo->desc->map->modmap[key] & mask) {
- if (key_is_down(pDev, key, KEY_PROCESSED))
+ if (mask == XCB_MOD_MASK_LOCK) {
+ KdEnqueueKeyboardEvent(ephyrKbd, key, FALSE);
+ KdEnqueueKeyboardEvent(ephyrKbd, key, TRUE);
+ }
+ else if (key_is_down(pDev, key, KEY_PROCESSED))
KdEnqueueKeyboardEvent(ephyrKbd, key, TRUE);
if (--count == 0)
@@ -820,6 +824,8 @@ ephyrUpdateModifierState(unsigned int state)
for (key = 0; key < MAP_LENGTH; key++)
if (keyc->xkbInfo->desc->map->modmap[key] & mask) {
KdEnqueueKeyboardEvent(ephyrKbd, key, FALSE);
+ if (mask == XCB_MOD_MASK_LOCK)
+ KdEnqueueKeyboardEvent(ephyrKbd, key, TRUE);
break;
}
}
diff --git a/hw/xnest/Keyboard.c b/hw/xnest/Keyboard.c
index 2cf1624..ee3f68e 100644
--- a/hw/xnest/Keyboard.c
+++ b/hw/xnest/Keyboard.c
@@ -18,6 +18,7 @@ is" without express or implied warranty.
#include <X11/X.h>
#include <X11/Xproto.h>
+#include <xcb/xcb_keysyms.h>
#include <X11/keysym.h>
#include "screenint.h"
#include "inputstr.h"
@@ -247,7 +248,11 @@ xnestUpdateModifierState(unsigned int state)
for (key = 0; key < MAP_LENGTH; key++)
if (keyc->xkbInfo->desc->map->modmap[key] & mask) {
- if (key_is_down(pDev, key, KEY_PROCESSED))
+ if (mask == XCB_MOD_MASK_LOCK) {
+ xnestQueueKeyEvent(KeyPress, key);
+ xnestQueueKeyEvent(KeyRelease, key);
+ }
+ else if (key_is_down(pDev, key, KEY_PROCESSED))
xnestQueueKeyEvent(KeyRelease, key);
if (--count == 0)
@@ -261,6 +266,8 @@ xnestUpdateModifierState(unsigned int state)
for (key = 0; key < MAP_LENGTH; key++)
if (keyc->xkbInfo->desc->map->modmap[key] & mask) {
xnestQueueKeyEvent(KeyPress, key);
+ if (mask == XCB_MOD_MASK_LOCK)
+ xnestQueueKeyEvent(KeyRelease, key);
break;
}
}
As mention in X2Go bug 891 and VcXsrv (X2Go/Arctica Builds) Issue 4, the following causes a session to fail to resume:
-multiwindow
as the only argument, assuming the Windows OS has WGL (Windows OpenGL) support. Nvidia, AMD & Intel drivers all provide WGL.)The errror that nxproxy produces after step 3 is:
Failed to restore all the required visuals.
Can't resume the NX session on this display.
I will probably modify VcXsrv (X2Go/Arctica) builds to no longer support StaticColor. But it would be nice if we could disable StaticColor in nxagent too (perhaps via an argument.) And if we could make a session resume despite running into this situation, that would be even better.
Note that with VcXsrv 1.17.0.0-2, the following StaticColor visual types are available:
0x211
0x212
0x213
0x214
And if you run xdpyinfo against an nxagent 3.5.0.31 started from nxproxy 3.5.0.31 running on VcXsrv 1.17.0.0-2, you'll see that it supports 1 StaticColor type:
0xa6
I am trying to build 3.6.x (fa497ac) from source on Fedora 23 using the included spec file for Mock
These seem like the 2 errors:
Screen.c:83:42: fatal error: X11/include/Xinerama_nxagent.h: No such file or directory
/usr/bin/ld: cannot find -lXdamage
collect2: error: ld returned 1 exit status
@mbecroft just encoutered the below FTBFS...
12:42 < mbecroft> Pgn.cpp:417:15: error: invalid use of incomplete type 'png_info {aka struct png_info_def}'
12:43 < mbecroft> if (infoPtr -> color_type == PNG_COLOR_TYPE_PALETTE)
Presumably some libpng 1.5 -> 1.6 issue (as I build against libpng 1.5.7 whereas mbecroft builds against 1.6 on Gentoo).
With the new RRXinerama code, we should check, if this X2Go issue has been solved.
Submitted here: http://bugs.x2go.org/cgi-bin/bugreport.cgi?bug=417
This bug concerns the placement of context menus in a two screen setup.
On my client I have two screens. One in landscape mode from 0,0 to
1920,1080 and to its right a second screen in portrait mode, from 1920,0
to 3120,1600. I run an x2go session, the session type is single application
(terminal). I fullscreen my application window, either on the left or on
the right screen. I then open a context menu while my mouse cursor is in
the bottom half or right half of the application window.
Everything works fine with the application positioned on the right hand
screen. It is correctly determined that the context menus would not fit
into the remaining space if they would start where the mouse cursor is, so
they are repositioned in a way that I can see the entire menu.
But if the application is on my left hand screen the context menus will
always start (their top left corner) where my mouse cursor is, therefore
spilling outside my visible monitor area to the bottom, or overlapping into my
second screen. Expected behaviour: context menus to stay within my
screen, just as they do for all other non-x2go applications.
To reproduce : Debian 7 or 8 as X2Go server, MacOSX or Windows as client.
Open an XFCE session, all works fine until you start Icedove. It kills the X2Go client.
Debian and Ubuntu versions of X2Go client are not affected.
No other application caused this bug as far as I know.
(1) launch NX/X2Go session on remote machine
(2) share that remote session from another location (e.g. helpdesk center)
if the person running the shared session (helpdesk agent) moves the mouse pointer, the person running the native NX session cannot see those pointer movements.
Feature request: add a soft mouse pointer that presents mouse events of the desktop sharing agent.
Importing from X2Go BTS...
http://bugs.x2go.org/cgi-bin/bugreport.cgi?bug=707
Hi all,
By Savko Sergey I have just been pointed to the upcoming BPG image
compression library [1].
Quoting their website:
"""
BPG (Better Portable Graphics) is a new image format. Its purpose is
to replace the JPEG image format when quality or file size is an
issue. Its main advantages are:
High compression ratio. Files are much smaller than JPEG for
similar quality.
Supported by most Web browsers with a small Javascript decoder
(gzipped size: 55 KB).
Based on a subset of the HEVC open video compression standard.
Supports the same chroma formats as JPEG (grayscale, YCbCr 4:2:0,
4:2:2, 4:4:4) to reduce the losses during the conversion. An alpha
channel is supported. The RGB, YCgCo and CMYK color spaces are also
supported.
Native support of 8 to 14 bits per channel for a higher dynamic range.
Lossless compression is supported.
Various metadata (such as EXIF, ICC profile, XMP) can be included.
"""
We should take a look at this new compression library and check if it
is usable in NX.
Mike
We just tried to run cascaded sessions with one of them being a desktop sharing session:
(a) from client (host-A) launch X2Go session to a remote server (server-B)
(b) from X2Go session on server-B launch a remote desktop sharing session with :0 on remote
host-C
Result: a black nxagent window appears (inside the X2Go Session on server-B) that accepts mouse and keyboard input (which both arrive on host-C via desktop sharing). If I manage to move a window via the desktop sharing session, the black nxagent window does some screen updates, but no full view of the remotely shared desktop appears.
From X2Go BTS:
http://bugs.x2go.org/cgi-bin/bugreport.cgi?bug=847
package: nxagent
When trying to terminate a shadow session running in fullscreen mode
on a MS Windows client, Alt-Tab gets passed to MS Windows, so one can
reach the X2GoClient control buttons (folder sharing, pause,
terminate), but clicking pause or terminate doesn't do anything. Only
the "X Button" (upper right corner of the window decoration) of
X2GoClient has an effect - but obviously also terminates x2goclient.exe.
xgoterminatesession will, of course, work, when run on the remote end.
There's no significant change against very old Xorg versions (compare nx-X11/lib/Xtst with http://cgit.freedesktop.org/xorg/lib/libXtst)
From X2Go BTS:
http://bugs.x2go.org/cgi-bin/bugreport.cgi?bug=846
package: nxagent
Currently, there doesn't seem to be a way to cleanly terminate a
shadow session running in fullscreen mode.
Ctrl-Alt-T doesn't work, Alt-Tab gets sent to the remote end, so one
can only run x2goterminatesession on the remote end or kill the
x2goclient task on the local side.
Package: nx-libs
Version: 3.5.0.29
#0 GetULONG (buffer=buffer@entry=0x31ff000 <error: Cannot access memory at
address 0x31ff000>, bigEndian=0) at Misc.cpp:518
518 return *((unsigned int *) buffer);
Thread 1 (Thread 0x7fae35376740 (LWP 4320)):
#0 GetULONG (buffer=buffer@entry=0x31ff000 <error: Cannot access memory at
address 0x31ff000>, bigEndian=0) at Misc.cpp:518
next =
result =
#1 0x00007fae342b1525 in ClientChannel::handleRead (this=0x27015c0,
encodeBuffer=..., message=, length=) at
ClientChannel.cpp:1220
numPixels =
nextSrc = 0x31ff000 <error: Cannot access memory at address 0x31ff000>
inputOpcode = 88 'X'
bits =
inputMessage = 0x28acac0 "X"
inputLength = 4
hit = 0
#2 0x00007fae34298284 in Proxy::handleRead (this=0x2182650, fd=<optimized
out>, data=0x1eac1d0 "\213\032\v", size=8160) at Proxy.cpp:1750
result =
size = 8160
data = 0x1eac1d0 "\213\032\v"
fd =
this = 0x2182650
-------- Forwarded Message --------
Subject: [Bug 1217630] New: [abrt] nxagent: GetULONG(): nxagent killed by SIGSEGV
Date: Thu, 30 Apr 2015 21:28:13 +0000
From: [email protected]
To: [email protected]
https://bugzilla.redhat.com/show_bug.cgi?id=1217630
Bug ID: 1217630
Summary: [abrt] nxagent: GetULONG(): nxagent killed by SIGSEGV
Product: Fedora
Version: 21
Component: nx-libs
Assignee: [email protected]
Reporter: [email protected]
QA Contact: [email protected]
CC: [email protected]
Description of problem:
I worked in PyCharm 4.0.4 by x2go. Connection closed unexpected.
Version-Release number of selected component:
nxagent-3.5.0.29-1.fc21
Additional info:
reporter: libreport-2.3.0
backtrace_rating: 4
cmdline: /usr/lib64/nx/../x2go/bin/x2goagent -extension XFIXES -nolisten
tcp -nolisten tcp -dpi 96 -D -auth /home/ruslan/.Xauthority -name
X2GO-ruslan-50-1430428104_stDMATE_dp32 :50
crash_function: GetULONG
executable: /usr/lib64/nx/bin/nxagent
kernel: 3.19.5-200.fc21.x86_64
runlevel: N 5
type: CCpp
uid: 1000
var_log_messages: [System Logs]:\n-- Logs begin at Ср 2015-03-04 11:56:00 MSK,
end at Пт 2015-05-01 00:16:33 MSK. --
Truncated backtrace:
Thread no. 1 (10 frames)
#0 GetULONG at Misc.cpp:518
#1 ClientChannel::handleRead at ClientChannel.cpp:1220
#2 Proxy::handleRead at Proxy.cpp:1750
#3 NXTransWriteVector at Loop.cpp:2276
#4 _XSend at XlibInt.c:1957
#5 XRenderCompositeText32 at Glyph.c:1160
#6 nxagentGlyphs at Render.c:1533
#7 ProcRenderCompositeGlyphs at X/NXrender.c:1784
#8 ProcRenderDispatch at X/NXrender.c:2519
#9 Dispatch at X/NXdispatch.c:748
You are receiving this mail because:
You are on the CC list for the bug.
You are the assignee for the bug.
NEdit is an ancient graphical text editor that many developers (like those I know personally) still swear by. It uses the Motif toolkit; Either regular Motif, or the no longer maintained LessTif. Note that the reason why LessTif is no longer maintained is because Motif 2.3.x is now actually open source. ("Open Motif" 2.2.x was not under a real open source license.)
NEdit segfaults on launch under X2Go with nxagent/x2goagent 3.5.0.32 or 3.5.0.99 b7657cf on my CentOS 7.2 test VM, but only when it is built with Motif rather than LessTif
Under X.org, it launches fine regardless of how it is built.
I tried both Windows and Linux X2Go clients, using nxproxy 3.5.0.x.
I only tried rootless mode.
This is a problem because the Fedora 24 version, unlike prior versions, is now built using Motif rather than LessTif. The Fedora/EPEL maintainer has not replied yet about how he intends to build it for EPEL7. The bug report below is the request for him to build it for EPEL7.
I am presuming that this is a bug in nx-libs, rather than in Motif or NEdit.
See this bug report for links to my test builds:
Please build an EPEL7 version of nedit
gcc -o nxagent -g -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic -fno-strict-aliasing -ansi -Wall -Wpointer-arith -Wundef -L../../exports/lib hw/nxagent/miinitext.o hw/nxagent/NXwindow.o hw/nxagent/NXevents.o hw/nxagent/NXproperty.o hw/nxagent/NXdixfonts.o hw/nxagent/NXglyphcurs.o hw/nxagent/NXdispatch.o hw/nxagent/NXrender.o hw/nxagent/NXglyph.o hw/nxagent/NXpicture.o hw/nxagent/NXextension.o hw/nxagent/NXglxext.o hw/nxagent/NXxvdisp.o hw/nxagent/NXmiglyph.o hw/nxagent/NXmiexpose.o hw/nxagent/NXresource.o hw/nxagent/NXmiwindow.o hw/nxagent/NXdamage.o dix/libdix.a os/libos.a hw/nxagent/libnxagent.a fb/libfb.a composite/libcomposite.a damageext/libdamage.a miext/damage/libdamage.a xfixes/libxfixes.a miext/cw/libcw.a Xext/libext.a xkb/libxkb.a os/libos.a Xi/libxinput.a dbe/libdbe.a record/librecord.a XTrap/libxtrap.a GL/glx/libglx.a GL/mesa/GLcore/libGLcore.a randr/librandr.a render/librender.a mi/libmi.a composite/libcomposite.a damageext/libdamage.a miext/damage/libdamage.a xfixes/libxfixes.a miext/cw/libcw.a Xext/libext.a xkb/libxkb.a os/libos.a Xi/libxinput.a dbe/libdbe.a record/librecord.a XTrap/libxtrap.a GL/glx/libglx.a GL/mesa/GLcore/libGLcore.a randr/librandr.a render/librender.a hw/nxagent/libnxagent.a mi/libmi.a -L../../exports/lib -lNX_Xext -lNX_X11 -lm -lXpm -L ../../../nxcomp -L ../../../nxcompext -L ../../../nxcompshad -lXcomp -lXcompext -lXcompshad -lNX_Xrender -lNX_X11 -lNX_Xext -lNX_Xfixes -lXfont -L../../../nx-X11/exports/lib -lNX_Xtst -lNX_Xrandr -lNX_Xcomposite -lNX_Xinerama -lXdmcp pkg-config --libs libxml-2.0
-Wl,-rpath-link,../../exports/lib
/bin/ld: ../../exports/lib/libNX_X11.so: undefined reference to symbol 'deflate'
/usr/lib64/libz.so.1: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
The settings in nxcomp are setup for:
Items to solve:
Transition options:
Example bit to be changed. In Loop.cpp we get:
//
// Parameters for ADSL 256 Kbps.
//
int SetLinkAdsl()
{
#ifdef TEST
*logofs << "Loop: Setting parameters for ADSL.\n"
<< logofs_flush;
#endif
control -> LinkMode = LINK_TYPE_ADSL;
control -> TokenSize = 512;
control -> TokenLimit = 24;
control -> SplitMode = 1;
control -> SplitTotalSize = 128;
control -> SplitTotalStorageSize = 1048576;
control -> SplitTimeout = 50;
control -> MotionTimeout = 10;
control -> IdleTimeout = 50;
control -> PackMethod = PACK_ADAPTIVE;
control -> PackQuality = 7;
return 1;
}
Package: nxagent
Severity: minor
Version: 3.5.0.27
X-Debbugs-Cc: Gabor Boros [email protected]
Hi Gabor,
On Mo 03 Nov 2014 14:50:11 CET, Gabor Boros wrote:
Hi,
Running a single remote application from Ubuntu 14.04 Server+KDE on
Windows 7 client. If the caption of application window contain
character with accent (eg. ő), the executable name displayed instead
original text.
Is it a known limitation or a bug?Gabor
I'd say let's consider it a bug... Filing one.
I'd appreciate if you could provide a (blurred, if needed) screenshot to
Thanks!
Mike
The screenshot is available at:
http://bugs.x2go.org/cgi-bin/bugreport.cgi?msg=10;filename=x2gobug661.jpg;att=1;bug=661
For an initial discussion, see here [1].
[1] #46
There's no special NX code in there, the code is almost identical to the one of X.Org 7.0 (see http://cgit.freedesktop.org/xorg/lib/libXext/tree/src?id=XORG-7_0):
$ diff Xext-nx Xext_xorg_7.0/src/
Only in Xext_xorg_7.0/src/: .cvsignore
Only in Xext-nx: Imakefile
Only in Xext_xorg_7.0/src/: Makefile.am
diff Xext-nx/XShm.c Xext_xorg_7.0/src/XShm.c
1c1
< /* $XdotOrg: xc/lib/Xext/XShm.c,v 1.5 2005/07/30 21:07:25 alanc Exp $ */
---
> /* $XdotOrg: $ */
Only in Xext-nx: Xext-def.cpp
This would fix several issues reported against X2Go BTS:
Capturing special hotkeys and forwarding / not forwarding them to the remote session:
https://bugs.x2go.org/cgi-bin/bugreport.cgi?bug=838
Disable local screensaver if remote session goes into fullscreen mode (and enable that immediately once leaving it and the idle time has passed):
https://bugs.x2go.org/cgi-bin/bugreport.cgi?bug=554
It also will allow us to inject client-side windows on top of the nxproxy session window.
Review if the reconnection policy can be enhanced to support reconnection with:
From X2Go BTS:
http://bugs.x2go.org/cgi-bin/bugreport.cgi?bug=554
Package: nxproxy
Severity: serious
I noticed that the when nxproxy is in fullscreen mode, it (by design)
captures all keyboard strokes. This is in general great because this
way all keyboard shortcuts on the remote work.
However, the local screen saver might still kick in and require a
password. Because the nxproxy captures all input, a less carefull user
might enter his local password into the current application that is
running in the x2go session. When the remote application happens to be
a chat application, entering your password might have serious security
implications.
I think a fullscreen nxproxy is a good reason to inhibit the local screensaver.
I just followed my instructions from #68, and here is what I now have installed:
[mike@dropship nx-libs]$ dnf list installed | grep -e 'libNX\|nx'
libNX_X11-6.x86_64 3.5.99.0-0.0build1.fc23 @@commandline
libNX_Xau6.x86_64 3.5.99.0-0.0build1.fc23 @@commandline
libNX_Xcomposite.x86_64 3.5.0.32-3.fc23 @updates
libNX_Xdamage.x86_64 3.5.0.32-3.fc23 @updates
libNX_Xdmcp.x86_64 3.5.0.32-3.fc23 @updates
libNX_Xext6.x86_64 3.5.99.0-0.0build1.fc23 @@commandline
libNX_Xfixes.x86_64 3.5.0.32-3.fc23 @updates
libNX_Xinerama.x86_64 3.5.0.32-3.fc23 @updates
libNX_Xpm.x86_64 3.5.0.32-3.fc23 @updates
libNX_Xrandr.x86_64 3.5.0.32-3.fc23 @updates
libNX_Xrender1.x86_64 3.5.99.0-0.0build1.fc23 @@commandline
libNX_Xtst.x86_64 3.5.0.32-3.fc23 @updates
nx-libs.x86_64 3.5.0.32-3.fc23 @updates
nxagent.x86_64 3.5.99.0-0.0build1.fc23 @@commandline
nxauth.x86_64 3.5.99.0-0.0build1.fc23 @@commandline
nxproxy.x86_64 3.5.99.0-0.0build1.fc23 @@commandline
I think I need to add RPM Obsoletes logic to the spec file.
From X2Go BTS:
http://bugs.x2go.org/cgi-bin/bugreport.cgi?bug=898
Package: nx-libs
Version: 3.5.0.29
After building and installing X2Go packages on Ubuntu 14.04 ppc64le some months
ago, I experienced the following strange behavior(s):
I have not done any debugging on these issues yet.
Mihai
Using an empty option string in the display variable, disables NX compression...
Not ok: nx/nx:50
Ok: nx/nx,foo=bar:50
Ok: nx/nx,options=:50
Not ok: nx/nx,options=/dev/null:50
Spotted by https://github.com/salva and reported during X2Go Gathering 2015.
From X2Go BTS:
http://bugs.x2go.org/cgi-bin/bugreport.cgi?bug=829
Package: nx-x11-common
Version: 3.5.0.32-0x2go1~git20150317.672+jessie.heuler.1
Reproducable with every client and server so far from stable and heuler.
Only affects full sessions - users are not affected if running directly
an APPLICATION.
Pressing CTRL+ALT+R triggers error message in session.log of user,
resizes the screen but also triggers suspension of the session (note the
the Proxy-Warning does not occur every time):
Session: Resuming session at 'Thu Mar 26 11:11:56 2015'.
Info: Proxy running in server mode with pid '18054'.
Info: Waiting for connection from 'localhost' on port '30076'.
Info: Accepted connection from '127.0.0.1'.
Info: Connection with remote proxy completed.
Info: Using LAN link parameters 1536/24/1/0.
Info: Using agent parameters 5000/0/50/0/0.
Info: Using pack method '16m-jpeg-9' with session 'unix-kde-depth_24'.
Info: Not using NX delta compression.
Info: Not using ZLIB data compression.
Info: Not using ZLIB stream compression.
Info: Not using a persistent cache.
Info: Listening to X11 connections on display ':75'.
Info: Established X client connection.
Info: Using shared memory parameters 1/1/0/0K.
Info: Using local device configuration changes.
keyboard file created
Session: Session resumed at 'Thu Mar 26 11:12:03 2015'.
Info: Screen [0] resized to geometry [3840x1080] fullscreen [1].
<<-------- note from me: pressing ctrl+alt+r --------->>
Info: Disabled desktop resize mode in agent.
Session: Suspending session at 'Thu Mar 26 11:12:14 2015'.
Proxy: WARNING! Handling data for finishing FD#5 channel ID#1.
suspended at 'Thu Mar 26 11:12:14 2015'.
Unfortunately we think this leads to another problem. Sometimes users
get suspended right after resuming their session:
Session: Session resumed at 'Wed Mar 25 21:30:37 2015'.
Info: Screen [0] resized to geometry [1680x1050] fullscreen [1].
Session: Suspending session at 'Wed Mar 25 21:30:39 2015'.
And last but not least this results in another problem - the screen does
not get resized correctly sometimes and is just shown as viewport.
Submitted against X2Go BTS:
http://bugs.x2go.org/cgi-bin/bugreport.cgi?bug=262
Hello,
We are trying to move from NX to X2Go.
One of our tools is called Questa Sim (EDA tool from Mentor Graphics).
When we used to run it from NX, no issues.
When we use it with X2Go, we have color issues:
· What was white or yellow text on a black background, now shows as
… black text on a black background, hence not readable.
· While we can change colors in a preferences menu, unlike in NX,
changing the text color in X2Go environment does not work
Below are two screenshots:
· One from NX, where yellow bar and text is readable
· One from X2Go, where this bar and text have become black (on
black background)
Thanks,
Add patch for nxproxy to read from stdin, allows nxcl to use standard ssh instead of nxssh
(Portage version: 2.2_rc8/cvs/Linux 2.6.26-gentoo x86_64).
--- Main.c.old 2007-07-18 17:39:13.000000000 +0200
+++ Main.c 2008-03-12 04:40:30.000000000 +0100
@@ -36,28 +36,48 @@
int result = -1;
char *options = NULL;
-
+
+ char *nx_commfd_str = NULL;
+
options = getenv("NX_DISPLAY");
-
- if (NXTransParseCommandLine(argc, argv) < 0)
+
+ if ((nx_commfd_str = getenv("NX_COMMFD")) != NULL)
{
- NXTransCleanup();
- }
+ int nx_commfd = atoi(nx_commfd_str);
- if (NXTransParseEnvironment(options, 0) < 0)
- {
- NXTransCleanup();
+ if (result)
+ result = NXTransCreate(nx_commfd, NX_MODE_SERVER, options);
+
+ // go into endless loop
+
+ if (result)
+ {
+ while (NXTransRunning(NX_FD_ANY))
+ result = NXTransContinue(NULL);
+ }
}
+ else
+ {
+ if (NXTransParseCommandLine(argc, argv) < 0)
+ {
+ NXTransCleanup();
+ }
+
+ if (NXTransParseEnvironment(options, 0) < 0)
+ {
+ NXTransCleanup();
+ }
+
+ /*
+ * This should not return...
+ */
+
+ #ifdef TEST
+ fprintf(stderr, "Main: Yielding control to NX entry point.\n");
+ #endif
- /*
- * This should not return...
- */
-
- #ifdef TEST
- fprintf(stderr, "Main: Yielding control to NX entry point.\n");
- #endif
-
- result = NXTransProxy(NX_FD_ANY, NX_MODE_ANY, NX_DISPLAY_ANY);
+ result = NXTransProxy(NX_FD_ANY, NX_MODE_ANY, NX_DISPLAY_ANY);
+ }
/*
* ...So these should not be called.
Story: a customer of mine presented me an email that crashes nxagent on his setup. On my setup the crash of the nxagent Xserver could not be reproduced, but instead the email client (icedove) crashes reproducibly.
Digging deeper:
So what does mate-settings-do... It sets various properties on the Xsession's root window.
Xft.antialias: 1
Xft.dpi: 75
Xft.hinting: 1
Xft.hintstyle: hintmedium
Xft.rgba: rgb
I then played with mate-control-center's appearance applet and disabled RGB subpixel anti-aliasing:
Xft.antialias: 1
Xft.dpi: 75
Xft.hinting: 1
Xft.hintstyle: hintmedium
Xft.rgba: none
And: icedove survives the big fonts.
Setting Xft.rgba to "rgb" again let's icedove crash.
Looking into this deeper...
If you look at debian/control, you will see package descriptions like:
Package: libxcompshad3
...
Description: nx-X11 shadowing library
NX is a software suite which implements very efficient
compression of the X11 protocol. This increases performance when
using X applications over a network, especially a slow one.
.
This package provides a library for shadow session support.
Should we continue using the term "NX"? Or should we switch all references to "nx-libs"? Or perhaps replace both NX and nx-libs entirely with some other name like "LBX2"?
20:46 < Ionic> yeah, but if xwinserver can be removed, maybe xorgserver or xfree86server can be removed too?
From X2Go BTS:
http://bugs.x2go.org/cgi-bin/bugreport.cgi?bug=848
package: nxagent
When trying to run a shadowed session in windowed mode on a MS Windows
client, vcxsrv.exe dies almost immediately after displaying the remote
screen for the fraction of a second.
Jan 21 11:48:03 tjener kernel: [91649.121408] x2goagent[19500]: segfault at 741c000 ip 00007fb26ab501e0 sp 00007ffe87978e48 error 4 in libXcomp.so.3.5.99.0[7fb26aafa000+e8000]
Using Oracle-Java8 Version 8.72 inside Iceweasel ESR 38.5.0.
Reported via X2Go BTS:
Package: x2goagent
Version: 2:3.5.0.32-0x2go1+git20150704.734+jessie.main.1
Operating System: Debian Jessie 8.2
Kernel: #1 SMP Debian 3.16.7-ckt11-1+deb8u6 (2015-11-09)
Desktop Environment: KDE4
The KDE Screen Locker does not launch automatically
when my session is controlled by x2goagent. I am able
to lock the screen manually using "Lock" within the
KDE Menu and I can also lock the screen manually with
the use of either of the following commands:
/usr/lib/kde4/libexec/kscreenlocker_greet --immediateLock
/usr/bin/qbdus org.freedesktop.ScreenSaver /ScreenSaver Lock
However, if the screen lock is set to activate automatically,
it never does. For example, if the KDE Screen Locker is
set to "Start Automatically After 1 minute", the screen lock
never activates even after the screen stays completely idle
for several minutes.
If I login to a KDE session directly on the system console,
the screen lock will activate after one minute. If I login
to a KDE session using "xrdp", the screen lock will activate
after one minute. If I login to a KDE session using X2GO,
screen lock never activates.
Within the ~/.xsession-x2go-errors file, several of the
following messages are logged:
Xlib: extension "MIT-SCREEN-SAVER" missing on display ":50".
Someone from a KDE Forum suggests that the missing "MIT-SCREEN-SAVER"
extension would cause the issue of not having the screen lock
automatically.
Maybe I am missing a package or system library? Is there a
modification that I can apply to the "/etc/x2go/x2goagent.options"
file that will correct the missing "MIT-SCREEN-SAVER" extension
issue? Is there some other way that I can correct this problem
without having to try to build/compile from source?
There has been reference to similar problems in the past, but I have
not been able to locate a proper fix:
http://lists.x2go.org/pipermail/x2go-dev/2010-June/000579.html
I am able to duplicate this on two separate X2GO Servers (running
on Debian Jessie). I know there has to be other Debian/X2GO/KDE4
users - do they not have this problem as well?
NOTE: I am able to set automatic screen lock if I switch to xscreensaver,
but if this is an bug with X2GO and KDE4, I am hoping that there is
a fix. If needed, I can file a bug report with the KDE developers.
I am looking here first since this issue has only occurred within
my X2GO sessions.
Any help would be most appreciated.
Thank you.
Implement GLX extension support for GLX version >= v6.
For more info see:
http://bugs.x2go.org/cgi-bin/bugreport.cgi?bug=150
From X2Go BTS:
http://bugs.x2go.org/cgi-bin/bugreport.cgi?bug=838
Package: x2goagent
I am using Ubuntu 14.10 with Mate Desktop with multiple work spaces.
If I use Remmina with NX plugin, the control-alt-right/left arrow keys
work to switch work spaces even when I'm up on a remote desktop.
With X2Go, it usually doesn't work, except if I use control-alt-M to
minimize the session then restore it, the keys will usually work thereafter.
Remmina has a way to toggle this behavior, a little pull down at the
top with a keyboard symbol. If it's down, the control-alt-arrows go to
the end application allowing me to switch work spaces on the remote desktop,
and if it's up they go to the local desktop.
It would be nice if x2go had a similar facility but if not it would be
better for that key sequence to always act locally since I can switch
work spaces remotely by using the mouse but can not locally because the
switcher is hidden by the remote desktop x2go is displaying.
package: nxagent
While it is to be expected that you can't see the mouse pointer of the
user you're trying to assist, not seeing your own mouse pointer is
really quite annoying.
This only happens in fullscreen mode and on MS Windows.
Currently in this repo cannot be checked out in a windows environment.
Error:
> git checkout -f b579bdcc77050b76835e00f5963562a99c955720
FATAL: Could not checkout b579bdcc77050b76835e00f5963562a99c955720
hudson.plugins.git.GitException: Could not checkout b579bdcc77050b76835e00f5963562a99c955720
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$9.execute(CliGitAPIImpl.java:1983)
at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler$1.call(RemoteGitImpl.java:152)
at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler$1.call(RemoteGitImpl.java:145)
at hudson.remoting.UserRequest.perform(UserRequest.java:118)
at hudson.remoting.UserRequest.perform(UserRequest.java:48)
at hudson.remoting.Request$2.run(Request.java:326)
at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at hudson.remoting.Engine$1$1.run(Engine.java:63)
at java.lang.Thread.run(Unknown Source)
at ......remote call to qvd-winxp-jenkins(Native Method)
at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1416)
at hudson.remoting.UserResponse.retrieve(UserRequest.java:220)
at hudson.remoting.Channel.call(Channel.java:781)
at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler.execute(RemoteGitImpl.java:145)
at sun.reflect.GeneratedMethodAccessor551.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler.invoke(RemoteGitImpl.java:131)
at com.sun.proxy.$Proxy57.execute(Unknown Source)
at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1081)
at hudson.scm.SCM.checkout(SCM.java:485)
at hudson.model.AbstractProject.checkout(AbstractProject.java:1269)
at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:607)
at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:529)
at hudson.model.Run.execute(Run.java:1738)
at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
at hudson.model.ResourceController.execute(ResourceController.java:98)
at hudson.model.Executor.run(Executor.java:410)
Caused by: hudson.plugins.git.GitException: Command "git checkout -f b579bdcc77050b76835e00f5963562a99c955720" returned status code 1:
stdout:
stderr: error: unable to create file doc/DXPC_re-licensed::debbug_784565.mbox (Invalid argument)
HEAD is now at b579bdc... Remove last remainants of keymap.dir
Recently, a serious license issue was raised and solved on the Debian bug tracker (thanks to Francesco Poli):
http://bugs.debian.org/784565
The issue has been settled by asking all recent maintainers (i.e., copyright holders) of DXPC, to agree on considering the BSD-2-clause license (as introduced in DXPC 3.8.1) retro-actively as the license of all pre-3.8.1 DXPC releases.
An excerpt of this discussion should be provide as a README.DXPC-license file in the nxcomp/ subfolder.
I have stumbled over this commit: http://cgit.freedesktop.org/xorg/xserver/commit/?id=2c69deb92e11542f615df0f24fdc03e3b4415475
I think we should include that into 3.6.x to simplify the build process.
commit 2c69deb92e11542f615df0f24fdc03e3b4415475
Author: Rémi Cardona [email protected]
Date: Fri Jul 3 10:51:50 2009 +0200
configure: libXinerama isn't needed anymore
since libXinerama commit 90d4d23bf2e94721149ddc0a80093b10a82e8845 and
xineramaproto commit 21477147613c28c968b5e1eb9d8aea7017dd399d, the
server no longer needs libXinerama.
Signed-off-by: Rémi Cardona <[email protected]>
From X2Go Bug #884:
http://bugs.x2go.org/cgi-bin/bugreport.cgi?bug=884
On Fr 04 Sep 2015 04:06:55 CEST, devsk wrote:
Yes, I am talking about Gentoo specific packaging issue. I have filed
https://bugs.gentoo.org/show_bug.cgi?id=559370
to track it down. As I mentioned, the specific files being talked
about are the font files in /usr/share/fonts/misc
(/usr/share/fonts/X11/misc on Ubuntu) which are character encodings
specific e.g. 9x15-ISO8859-*.pcf.gz. nxagent can not load a fixed
size font '9x15' without the presence of these files. It looks like
these are abandoned by modern X code because both Xorg and Xvnc work
fine without these files.-devsk
Thanks for explaining the above. However, I think that we should get
this issue also solved upstream as most systems work on UTF-8 basis
and the more local encodings are rather historical than
current-state-of-the-art.
Let's leave this bug open and address it for 3.6.x of nx-libs instead
of dealing with it as a Gentoo specific bug.
Mike
I get:
cd nx-X11 && make World
make[2]: Entering directory '/export/home/orion/fedora/nx-libs/nx-libs-HEAD/nx-X11'
cc: error: ./config/util/printver.c: No such file or directory
cc: fatal error: no input files
compilation terminated.
Makefile:46: recipe for target 'World' failed
make[2]: [World] Error 4 (ignored)
printver.c does not appear to exist but is referenced in:
./nx-libs-arctica/nx-X11/Makefile:VERSSRC = $(CONFIGSRC)/util/printver.c
./nx-libs-arctica/debian/copyright.in: nx-X11/config/util/printver.c
From X2Go BTS:
Package: x2goagent
Version: 3.5.0.31-1.el6
When I disconnected from a windows client, I lost my session. This is the
result in the server at the time of the disconnect. It does not happen
every time, just some times when I disconnect. I can re-connect fine with a
new session, but the running session is lost.
Sep 2 00:34:36 tyler kernel: x2goagent[28724]: segfault at 7fff43451ff8 ip
00007fcf05ebad84 sp 00007fff43451ff0 error 6 in
libNX_X11.so.6.2[7fcf05e73000+10c000]
Sep 2 00:34:36 tyler /usr/bin/x2gosuspend-session: session with ID
jameskohout-58-1441122134_stDGNOME_dp32 has been suspended successfully
Sep 2 00:34:45 tyler abrt[11437]: Saved core dump of pid 28724
(/usr/lib64/nx/bin/nxagent) to
/var/spool/abrt/ccpp-2015-09-02-00:34:36-28724 (390942720 bytes)
Sep 2 00:34:45 tyler abrtd: Directory 'ccpp-2015-09-02-00:34:36-28724'
creation detected
Sep 2 00:34:45 tyler abrtd: Package 'nxagent' isn't signed with proper key
Sep 2 00:34:45 tyler abrtd: 'post-create' on
'/var/spool/abrt/ccpp-2015-09-02-00:34:36-28724' exited with 1
Sep 2 00:34:45 tyler abrtd: Deleting problem directory
'/var/spool/abrt/ccpp-2015-09-02-00:34:36-28724'
[...]
looked and the /var/spool/abrt/ccpp-2015-09-02-00:34:36-28724 is gone.
Work on a DEP-5 compliant version of a copyright file suitable for Debian.
This issue is thought as a reminder that the above has to be done meticulously before we can even think of re-starting the discussion on how appropritate NX is for Debian.
The below has been filed via X2Go BTS [1] by Ulrich Sibiller (@uli42)and should be fixed here (3.6.x branch) first before rebasing against 3.5.0.x.
"""
Recently a lot of CVE fixes have been added to nx-libs.
E.g.
debian/patches/1027-render-check-request-size-before-reading-it-CVE.full.patch
and
debian/patches/1028-render-unvalidated-lengths-in-Render-extn.-swap.full.patch
add missing checks to nx-X11/programs/Xserver/render/render.c.
However, there's a file called
nx-X11/programs/Xserver/hw/nxagent/NXrender.c which is derived from
render.c and in that file those checks are missing, too.
(I suspect the original render/render.c is not used at all in favour
of hw/nxagent/NXrender.c but I am not 100% sure here.)
If render.c is used a all (I am not sure) the patches should be
extended to also fix NXrender.c.
If render.c is not used it should be removed and the patches should be
applied to NXrender.c instead.
There might be more cases like this, I only picked this one as an example.
"""
I have an Ubuntu 15.04 64-bit test VM where I built nx-libs 3.6.x from commit 4ed85e8 (2015-05-29), which is after PR #21 was merged.
However, RandR still appears to be at version 1.2.
batmin@ubuntu-v:~$ xrandr -v
xrandr program version 1.4.1
Server reports RandR version 1.2
Furthermore, LXQt (Using Qt 5.4.1) still fails to start / show up correctly. OpenBox starts, and the lxqt-panel process is running. However, immediately after connecting with X2Go Client and seeing the X2Go logo, the panel appears to show up for a split-second, and then disappears.
(As discussed here, It is believed that LXQt under Qt 5.4.x fails due it requiring a newer version of RandR).
This is the output in .xsession-x2go-errors after I tried to start the session, but it failed and I opened up a QTerminal (and maximized the x2go session window):
XSession-x2go: X session started for batmin at Mon Jun 1 01:11:03 EDT 2015
localuser:batmin being added to access control list
openConnection: connect: No such file or directory
cannot connect to brltty at :0
/etc/x2go/Xsession: 8: [: x: unexpected operator
QXcbConnection: Failed to get the primary output of the screen
iconTheme "oxygen"
iconTheme "oxygen"
iconTheme "oxygen"
iconTheme "oxygen"
Theme: Cannot open file for reading: "/usr/share/lxqt/themes/frost/lxqt-session.qss"
QXcbConnection: Failed to get the primary output of the screen
QXcbConnection: XCB error: 172 (Unknown), sequence: 162, resource id: 326, major code: 149 (Unknown), minor code: 20
QXcbConnection: XCB error: 172 (Unknown), sequence: 359, resource id: 326, major code: 149 (Unknown), minor code: 20
/build/lxqt-session-XT7UiZ/lxqt-session-0.9.0.0.1+bzr245+201505301638~ubuntu15.04.1/lxqt-session/src/sessionapplication.cpp : 75 Session "session" about to launch (default 'session')
Environment variable GTK_CSD = 0
"/home/batmin/.config/lxqt/session.conf"
xrdb: Xcursor.theme:whiteglass
Xcursor.size:18
Xcursor.theme_core:true
Window Manager started
start "/etc/xdg/autostart/deja-dup-monitor.desktop"
start "/etc/xdg/autostart/lxqt-desktop.desktop"
start "/etc/xdg/autostart/lxqt-globalkeyshortcuts.desktop"
start "/etc/xdg/autostart/lxqt-notifications.desktop"
start "/etc/xdg/autostart/lxqt-panel.desktop"
start "/etc/xdg/autostart/lxqt-policykit-agent.desktop"
start "/etc/xdg/autostart/lxqt-runner.desktop"
start "/etc/xdg/autostart/nm-applet.desktop"
start "/etc/xdg/autostart/print-applet.desktop"
start "/etc/xdg/autostart/pulseaudio.desktop"
Failure: Module initialization failed
start "/etc/xdg/autostart/update-notifier.desktop"
start "/etc/xdg/autostart/zeitgeist-datahub.desktop"
System Tray started
start tray app "/etc/xdg/autostart/lxqt-powermanagement.desktop"
QXcbConnection: Failed to get the primary output of the screen
QXcbConnection: Failed to get the primary output of the screen
QXcbConnection: Failed to get the primary output of the screen
QXcbConnection: XCB error: 172 (Unknown), sequence: 816, resource id: 326, major code: 149 (Unknown), minor code: 20
QXcbConnection: XCB error: 172 (Unknown), sequence: 821, resource id: 326, major code: 149 (Unknown), minor code: 20
QXcbConnection: XCB error: 172 (Unknown), sequence: 826, resource id: 326, major code: 149 (Unknown), minor code: 20
I am using LXQt from this PPA:
https://launchpad.net/~lubuntu-dev/+archive/ubuntu/lubuntu-daily
The session type under X2Go Client is custom: startlxqt
I am using x2goserver & x2goserver-xsession 4.0.1.19 from the X2Go PPA.
I am using x2goclient 4.0.4.0 from the Ubuntu PPA. I upgraded nxproxy (and every other nx-libs package) to the same version that the server has. The client OS is ubuntu 14.04 64-bit.
I tried uninstalling these packages from the server, but it did not help. They merely provide files under /usr/share/doc anyway:
libnx-xrandr2 libnx-xrandr2-dbg libnx-xrandr-dev nx-x11proto-randr-dev
From X2Go BTS (with patch there):
http://bugs.x2go.org/cgi-bin/bugreport.cgi?bug=900
Package: libnx-X11
Version: 2.3.5
Setup:
Results:
A quick look in dmesg shows that libNX_X11.so.6.2 caused a SEGFAULT.
Running x2goagent with a debugger gives the following backtrace:
(gdb) backtrace
#0 _XData32 (dpy=dpy@entry=0xf591b0, data=data@entry=0x163c2c4,
len=len@entry=18652) at XlibInt.c:3775
#1 0x00007f759e34dce1 in XChangeProperty (dpy=0xf591b0, w=<optimized
out>, property=, type=6, format=,
mode=,
data=0x163c2c4
"\377\377\377\377\354\356\356\377\377\377\377\377\354\356\356\377\377\377\377\377\354\356\356\377\377\377\377\377\357\360\360\377\377\377\377\377\364\365\365\377\377\377\377\377\307\312\311\375\377\377\377\377\t\t\t\035",
nelements=4663) at ChProp.c:85
#2 0x00000000004b1e37 in nxagentExportProperty (pWin=0x20,
property=4663, type=23315140, format=4669, mode=32, nUnits=4663,
value=0x15fc2e0) at Rootless.c:763
#3 0x000000000042222a in ProcChangeProperty (client=0xf591b0) at
X/NXproperty.c:331
#4 0x000000000042eea2 in Dispatch () at X/NXdispatch.c:748
Looking at the highlighted values, it seems that gedit is sending a
malformed ChangeProperty request, and rootless is failing to process it.
Specifically the segment between lines 735-780, tries to set a property
that is bigger than the maximum size required, but because it's a
malformed request it ends up writing in memory outside the boundaries of
the output buffer.
Alternatives:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.