aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* nxcomp/Loop.cpp: Fix server/client mode info cerr printing in ↵Mike Gabriel2017-04-071-1/+1
| | | | PrintProcessInfo().
* Merge branch 'sunweaver-pr/drop-render-fullcolor-workaround' into 3.6.xMike Gabriel2017-04-074-82/+5
|\ | | | | | | | | | | Attributes GH PR #401: https://github.com/ArcticaProject/nx-libs/pull/401 Reviewed by: Oleksandr Shneyder <o.shneyder@phoca-gmbh.de> -- Fri, 07 Apr 2017 10:24:05 +0200
| * NXpicturestr_PictSolidFill.h: Drop file and revert db8705. Not an issue ↵Mike Gabriel2017-04-064-82/+5
|/ | | | anymore nowadays.
* record: avoid crash when calling RecordFlushReplyBuffer recursivelyErkki Seppälä2017-04-061-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Backported from X.Org: commit 0801afbd7c2c644c672b37f8463f1a0cbadebd2e Author: Erkki Seppälä <erkki.seppala@vincit.fi> Date: Thu Feb 10 15:35:14 2011 +0200 record: avoid crash when calling RecordFlushReplyBuffer recursively RecordFlushReplyBuffer can call itself recursively through WriteClient->CallCallbacks->_CallCallbacks->RecordFlushAllContexts when the recording client's buffer cannot be completely emptied in one WriteClient. When a such a recursion occurs, it will not be broken out of which results in segmentation fault when the stack is exhausted. This patch adds a counter (a flag, really) that guards against this situation, to break out of the recursion. One alternative to this change would be to change _CallCallbacks to check the corresponding counter before the callback loop, but that might affect existing behavior, which may be relied upon. Reviewed-by: Rami Ylimäki <rami.ylimaki@vincit.fi> Signed-off-by: Erkki Seppälä <erkki.seppala@vincit.fi> Signed-off-by: Keith Packard <keithp@keithp.com> Backported-to-NX-by: Mihai Moldovan <ionic@ionic.de> Fixes: ArcticaProject/nx-libs#417.
* Merge branch 'sunweaver-pr/mesa-patching-with-quilt' into 3.6.xMihai Moldovan2017-04-062-0/+37
|\ | | | | | | Attributes GH PR #409: https://github.com/ArcticaProject/nx-libs/pull/409
| * Mesa subtree: Add quilt based patch system for bundled Mesa.Mike Gabriel2017-04-052-0/+37
|/
* roll-tarball.sh: Fix ChangeLog creation, always create ChangeLog for the ↵Mike Gabriel2017-04-051-1/+1
| | | | CHECKOUT, not the currently checked out branch.
* Merge branch 'uli42-pr/cleanup_keystroke' into 3.6.xMike Gabriel2017-04-0310-203/+317
|\ | | | | | | Attributes GH PR #404: https://github.com/ArcticaProject/nx-libs/pull/404
| * Keystrokes: rename left/up/right/down keystrokes to descriptive namesUlrich Sibiller2017-04-035-64/+64
| | | | | | | | | | | | The are now called reflecting their purpose: viewport_scroll_left/up/right/down. This also regroups all the keystrokes referring to viewport stuff.
| * doc: rework keystroke documentationUlrich Sibiller2017-04-031-43/+50
| |
| * doc: document debugging keystrokesUlrich Sibiller2017-04-032-6/+27
| |
| * keystrokes.cfg: remove debug keystrokesUlrich Sibiller2017-04-031-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | Normal builds will not contain support for some keystrokes but warn about unknown keystroke actions: Info: ignoring unknown keystroke action 'debug_tree'. Info: ignoring unknown keystroke action 'regions_on_screen'. Info: ignoring unknown keystroke action 'test_input'. Info: ignoring unknown keystroke action 'deactivate_input_devices_grab'. So we remove those from the default keystrokes config.
| * Keystroke.c: move some vars to inner scopeUlrich Sibiller2017-04-031-5/+2
| |
| * Init keystrokes at startup and reconnectUlrich Sibiller2017-04-034-9/+12
| | | | | | | | no more late initialization
| * Keystroke.c: avoid use of comparisons on "False"Ulrich Sibiller2017-04-031-21/+13
| |
| * Keystroke.c: use Booleans where appropriateUlrich Sibiller2017-04-031-13/+13
| | | | | | | | | | Some of the keystroke checks have used them before. This commit unifies those checks.
| * Keystroke.h: improve parse_keystroke_file()Ulrich Sibiller2017-04-031-35/+44
| | | | | | | | Print out more/better messages.
| * Keystroke.c: introduce nxagentDumpKeystrokes()Ulrich Sibiller2017-04-032-0/+35
| |
| * keystrokes.cfg: add missing keystrokesUlrich Sibiller2017-04-031-0/+12
| |
| * Keystroke.c/h: completely disable keystrokes that are not active at compile timeUlrich Sibiller2017-04-032-10/+27
| |
| * Keystroke.h: auto-enum keystrokesUlrich Sibiller2017-04-031-26/+25
| | | | | | | | there's no need to define the values ourselves
| * Keystroke.h/Keyboard.h: cleanup mask variablesUlrich Sibiller2017-04-032-2/+3
| |
| * Keystroke.c: detect duplicate keystroke definitionsUlrich Sibiller2017-04-031-0/+23
| | | | | | | | | | | | We cannot check if an action is defined twice because the viewport stuff is controlled by multiple keystrokes (arrow keys and keypad) in the default configuration.
| * Keystroke.c: use KEYSTROKE_NOTHINGUlrich Sibiller2017-04-031-3/+3
| | | | | | | | | | instead of KEYSTROKE_END_MARKER. This is cleaner since KEYSTROKE_END_MARKER really marks the end of the list.
| * Args.c: add two missing options to help messageUlrich Sibiller2017-04-031-0/+2
|/
* Merge branch ↵Mike Gabriel2017-04-031-0/+7
|\ | | | | | | | | | | | | | | | | | | 'sunweaver-pr/xinerama-response-swapping-in-RRXineramaWriteMonitor' into 3.6.x Attributes GH PR #413: https://github.com/ArcticaProject/nx-libs/pull/413 Reviewed by: Ulrich Sibiller <uli42@gmx.de> -- Mon, 27 Mar 2017 11:43:56 -0700 ,
| * xinerama: Swap the response in RRXineramaWriteMonitorMichal Srb2017-04-031-0/+7
|/ | | | | | | | | | | | | | Backported from X.org: commit c96c860b6420adf0d004707a323af30491a1d7d3 Author: Michal Srb <msrb@suse.com> Date: Mon Dec 12 17:45:22 2016 +0200 xinerama: Swap the response in RRXineramaWriteMonitor Reviewed-by: Adam Jackson <ajax@redhat.com> Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
* Merge branch 'mikedep333-pr/cygwin-nxcomp-ftbfs' into 3.6.xMike Gabriel2017-04-032-24/+0
|\ | | | | | | Attributes GH PR #416: https://github.com/ArcticaProject/nx-libs/pull/416
| * Remove EMX (MS-DOS & OS/2) supportMike DePaulo2017-03-292-19/+0
| |
| * Cygwin nxcomp: Use Cygwin un.hMike DePaulo2017-03-292-7/+2
|/ | | | | Cygwin has modified it over the years. Fixes FTBFS #394
* regression fix for 52872a0: Keep index parameter in AddScreen() for now. ↵Mike Gabriel2017-03-271-2/+3
| | | | Requires proper ABI backport. (was: copy+paste error).
* Merge branch 'uli42-pr/libX11-HEAD' into 3.6.xMike Gabriel2017-03-272-2/+14
|\ | | | | | | | | | | | | | | Fixes ArcticaProject/nx-libs#400. Attributes GH PR #414: https://github.com/ArcticaProject/nx-libs/pull/414 am into a topic branch.
| * _XDefaultError: set XlibDisplayIOError flag before calling exitArthur Huillet2017-03-261-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | _XReply isn't reentrant, and it can lead to deadlocks when the default error handler is called: _XDefaultError calls exit(1). It is called indirectly by _XReply when a X protocol error comes in that isn't filtered/handled by an extension or the application. This means that if the application (or one of its loaded shared libraries such as the NVIDIA OpenGL driver) has registered any _fini destructor, _fini will get called while still on the call stack of _XReply. If the destructor interacts with the X server and calls _XReply, it will hit a deadlock, looping on the following in _XReply: ConditionWait(dpy, dpy->xcb->reply_notify); It is legal for an application to make Xlib calls during _fini, and that is useful for an OpenGL driver to avoid resource leaks on the X server side, for example in the dlopen/dlclose case. However, the driver can not readily tell whether its _fini is being called because Xlib called exit, or for another reason (dlclose), so it is hard to cleanly work around this issue in the driver. This change makes it so _XReply effectively becomes a no-op when called after _XDefaultError was called, as though an XIOError had happened. The dpy connection isn't broken at that point, but any call to _XReply is going to hang. This is a bit of a kludge, because the more correct solution would be to make _XReply reentrant, maybe by broadcasting the reply_notify condition before calling the default error handler. However, such a change would carry a grater risk of introducing regressions in Xlib. This change will drop some valid requests on the floor, but this should not matter, as it will only do so in the case where the application is dying: X will clean up after it once exit() is done running. There is the case of XSetCloseDownMode(RETAIN_PERMANENT), but an application using that and wishing to clean up resources in _fini would currently be hitting a deadlock, which is hardly a better situation. Signed-off-by: Aaron Plattner <aplattner@nvidia.com> Reviewed-by: Jamey Sharp <jamey@minilop.net>
| * Fix wrong Xfree in XListFonts failure pathJulien Cristau2017-03-261-2/+4
|/ | | | | | | | | | | | 'ch' gets moved inside the allocated buffer as we're looping through fonts, so keep a reference to the start of the buffer so we can pass that to Xfree in the failure case. Fixes: commit 20a3f99eba5001925b8b313da3accb7900eb1927 "Plug a memory leak" Signed-off-by: Julien Cristau <jcristau@debian.org> Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* Merge branch 'sunweaver-pr/dix-dispatch-backports' into 3.6.xMihai Moldovan2017-03-262-227/+222
|\ | | | | | | Attributes GH PR #412: https://github.com/ArcticaProject/nx-libs/pull/412
| * dix: Remove insane BC hacksMike Gabriel2017-03-241-12/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | commit 6b5206e7cb8e5279816b48f014d47d3f03f16972 Author: Daniel Stone <daniel@fooishbar.org> Date: Fri Jul 18 15:38:10 2008 +0300 dix: Remove insane BC hacks If your DDX needs a 1bpp mode and doesn't set it up, your DDX is incompetent. Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
| * Move AddScreen() comment where it actually belongs. Should be done in X.org, ↵Mike Gabriel2017-03-241-0/+7
| | | | | | | | too.
| * dix: Move AddScreen() over into dispatch.c and introduce init_screen()Mike Gabriel2017-03-242-215/+214
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Partially pruned out of X.org commits: commit 987579c930bda803427a28cb82773c389f5110d6 Author: Peter Hutterer <peter.hutterer@who-t.net> Date: Wed Apr 22 13:26:40 2009 +1000 dix: remove all but main() from main.c All other functions are pushed into where they seemed to fit. main.c is now linked separately into libmain.a and linked in by the various DDXs. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> commit 3478af3374abffa0c226ee077fda1fcfc0751e74 Author: Dave Airlie <airlied@redhat.com> Date: Tue Jun 5 17:01:21 2012 +0100 screen: split out screen init code. (v2) This is a precursor for reusing this code to init gpu screens. v2: fixup int check as per Keith's review. Reviewed-by: Keith Packard <keithp@keithp.com> Signed-off-by: Dave Airlie <airlied@redhat.com> Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
* Merge branch 'sunweaver-pr/various-os-backports' into 3.6.xMihai Moldovan2017-03-2228-554/+1340
|\ | | | | | | Attributes GH PR #376: https://github.com/ArcticaProject/nx-libs/pull/376
| * os: Remove the useless -x optionAdam Jackson2017-03-212-13/+0
| | | | | | | | | | | | | | | | | | | | commit cbb165ab88cb0810268001e84d87671440baf837 Author: Adam Jackson <ajax@redhat.com> Date: Fri Apr 3 18:34:45 2009 -0400 os: Remove the useless -x option Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
| * os: FatalError if -displayfd writes fail AND Clear the -displayfd option ↵Keith Packard2017-03-211-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | after closing the file commit d72f691c0c9cace857975a6608a4cb431c8b6846 Author: Keith Packard <keithp@keithp.com> Date: Fri Apr 18 15:00:30 2014 -0700 os: FatalError if -displayfd writes fail When the server is started with the -displayfd option, check to make sure that the writes succeed and give up running if they don't. Signed-off-by: Keith Packard <keithp@keithp.com> Reviewed-by: Jamey Sharp <jamey@minilop.net> commit 4957e986841225e9984daca76f1a0ee08df125bb Author: Keith Packard <keithp@keithp.com> Date: Fri Apr 18 15:00:35 2014 -0700 os: Clear the -displayfd option after closing the file Failing to clear this means that we'll attempt to write the display number to a random file descriptor on subsequent X server generations. Signed-off-by: Keith Packard <keithp@keithp.com> Reviewed-by: Jamey Sharp <jamey@minilop.net> Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
| * Use unique logfile names when starting server with -displayfdAlan Coopersmith2017-03-213-29/+100
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit edcb6426f20c3be5dd5f50b76a686754aef2f64e Author: Alan Coopersmith <alan.coopersmith@oracle.com> Date: Fri Jan 1 18:11:14 2016 -0800 Use unique logfile names when starting server with -displayfd Fixes https://bugs.freedesktop.org/show_bug.cgi?id=93212 Previously all X servers started with -displayfd would overwrite Xorg.0.log - now a temporary name of Xorg.pid-<pid>.log is used until after -displayfd finds an open display - then it is renamed to the traditional Xorg.<display>.log name. Reviewed-by: Adam Jackson <ajax@redhat.com> Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
| * os: -displayfd should check ports up to 65535Jon TURNEY2017-03-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit ea5b2b0a2e2143ad1414fcbdc081b5d584588346 Author: Jon TURNEY <jon.turney@dronecode.org.uk> Date: Tue Oct 21 15:03:55 2014 +0100 os: -displayfd should check ports up to 65535 -displayfd should check ports up to 65535 Noticed during https://cygwin.com/ml/cygwin-xfree/2014-07/msg00024.html Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk> Reviewed-by: Adam Jackson <ajax@redhat.com> Signed-off-by: Keith Packard <keithp@keithp.com> Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
| * os: Use NotifyFd interface for listen descriptorsKeith Packard2017-03-213-74/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bundle X.org backport of these commits: commit 7ea64fb4374504bd3d524fc08c90efdab9f253ea Author: Alan Coopersmith <alan.coopersmith@oracle.com> Date: Mon Mar 9 09:55:57 2015 -0700 Clear ListenTransConns entries in CloseWellKnownConnections Since _XSERVTransClose frees the connection pointer passed to it, remove that pointer from the array, so we don't try to double free it if we come back into CloseWellKnownConnections again. Should fix https://bugzilla.yoctoproject.org/show_bug.cgi?id=6665 in which the shutdown section of the main() loop called CloseWellKnownConnections() and then moved on to ddxGiveUp(), which failed to release the VT and thus called AbortServer(), which called CloseWellKnownConnections() again. Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Adam Jackson <ajax@redhat.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> commit 7b02f0b87ec2fa0cc5a65307a1fd55c671cec884 Author: Keith Packard <keithp@keithp.com> Date: Wed Nov 11 22:02:17 2015 -0800 os: Use NotifyFd interface for listen descriptors Replace the custom path for dealing with new incoming connections with the general-purpose NotifyFd API. Reviewed-by: Adam Jackson <ajax@redhat.com> Signed-off-by: Keith Packard <keithp@keithp.com> commit ba71b69f94f00a6f6910597185610668e79c10be Author: Alan Coopersmith <alan.coopersmith@oracle.com> Date: Fri Jan 1 17:34:41 2016 -0800 Avoid segfault in CloseWellKnownConnections when using -displayfd When -displayfd is looping through the possible display ids to use, if it can't open all the listening sockets for one (say when :0 is already in use), it calls CloseWellKnownConnections to close all the ListenTransConns entries before the point that ListenTransFds was allocated & initialized, so CloseWellKnownConnections would segfault trying to read entries from a NULL ListenTransFds pointer. Introduced by commit 7b02f0b8 Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Keith Packard <keithp@keithp.com> Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
| * Handle -displayfd and an explicit display number sensiblyJon TURNEY2017-03-214-8/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit bc348bd2c42f3f18786085ccef2f010eff5bf3d2 Author: Jon TURNEY <jon.turney@dronecode.org.uk> Date: Mon Mar 11 14:34:32 2013 +0000 Handle -displayfd and an explicit display number sensibly Handle -displayfd and an explicit display number sensibly, e.g. use the explicitly specified display number, and write it to the displayfd v2: displayfd might be 0, so use -1 as invalid value v3: Rebase for addition of NoListenAll flag Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk> Reviewed-by: Kristian Høgsberg <krh@bitplanet.net> Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
| * Xserver/os/utils.c: Add NXAGENT_SERVER specific -nolisten parameter: ANY.Mike Gabriel2017-03-212-0/+6
| | | | | | | | This allows us to trigger the NoListenAll := TRUE code path in nxagent.
| * os: Add a mechanism to prevent creating any listen socketsKristian Høgsberg2017-03-213-5/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 44fe1b8ea284df6bbaef67e246016d104665b2fe Author: Kristian Høgsberg <krh@bitplanet.net> Date: Wed Mar 19 14:03:13 2014 -0700 os: Add a mechanism to prevent creating any listen sockets A socket-activated server will receive its listening sockets from the parent process and should not create its own sockets. This patch introduces a NoListen flag that can be set by a DDX to prevent the server from creating the sockets. When NoListen is enabled, we also disable the server lock checking, since the parent process is responsible for checking the lock before picking the display name and creating the sockets. Signed-off-by: Kristian Høgsberg <krh@bitplanet.net> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Daniel Stone <daniel@fooishbar.org> Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
| * os: Add -displayfd optionChase Douglas2017-03-215-26/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit 88bacc49f06da5927f716869f5a32672a8297ed0 Author: Chase Douglas <chase.douglas@canonical.com> Date: Wed Apr 4 15:29:42 2012 -0700 os: Add -displayfd option This option specifies a file descriptor in the launching process. X will scan for an available display number and write that number back to the launching process, at the same time as SIGUSR1 generation. This means display managers don't need to guess at available display numbers. As a consequence, if X fails to start when using -displayfd, it's not because the display was in use, so there's no point in retrying the X launch on a higher display number. Signed-off-by: Adam Jackson <ajax@redhat.com> Signed-off-by: Chase Douglas <chase.douglas@canonical.com> Reviewed-by: Julien Cristau <jcristau@debian.org> Tested-by: Julien Cristau <jcristau@debian.org> Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
| * os: Use NotifyFd for ErrorConnMaxKeith Packard2017-03-212-18/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit c3fea428aed919826130ef8ebdb2cceb445a845b Author: Keith Packard <keithp@keithp.com> Date: Tue May 24 20:51:31 2016 -0700 os: Use NotifyFd for ErrorConnMax Instead of open-coding a single FD wait, use NotifyFd to wait for the FD to become readable before returning the error message. Signed-off-by: Keith Packard <keithp@keithp.com> Reviewed-by: Adam Jackson <ajax@redhat.com> Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
| * Move SIGUSR1 notification as late as possible.Adam Jackson2017-03-213-38/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | commit f01e149d1af14ef9ee0e8a6743ab6a08f3bb677c Author: Adam Jackson <ajax@redhat.com> Date: Thu Nov 1 15:41:11 2007 -0400 Move SIGUSR1 notification as late as possible. If we inherited a signal mask from the parent process that ignores SIGUSR1, then we will send SIGUSR1 to the parent to indicate when we're ready to accept connections. Unfortunately, we send this notification way too early, right after creating the sockets rather than just before entering the main loop. Move it to just before Dispatch() so we're not lying quite so much. Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>