aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/lib/X11
Commit message (Collapse)AuthorAgeFilesLines
* MakeBigReq: don't move the last word, already handled by Data32 (X.Org ↵Karl Tomlinson2016-10-101-2/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | CVE-2013-7439). MakeBigReq inserts a length field after the first 4 bytes of the request (after req->length), pushing everything else back by 4 bytes. The current memmove moves everything but the first 4 bytes back. If a request aligns to the end of the buffer pointer when MakeBigReq is invoked for that request, this runs over the buffer. Instead, we need to memmove minus the first 4 bytes (which aren't moved), minus the last 4 bytes (so we still align to the previous tail). The 4 bytes that fell out are already handled with Data32, which will handle the buffermax correctly. The case where req->length = 1 was already not functional. Reported by Abhishek Arya <inferno@chromium.org> (against X.Org BTS). https://bugzilla.mozilla.org/show_bug.cgi?id=803762 Reviewed-by: Jeff Muizelaar <jmuizelaar@mozilla.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Rebased-for-NX: Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Re-applied after upgrade to libX11 1.3.4: Ulrich Sibiller <uli42@gmx.de>
* Give GNU & Solaris Studio compilers hints about XEatData branchesAlan Coopersmith2016-10-101-2/+14
| | | | | | | | Try to offset the cost of all the recent checks we've added by giving the compiler a hint that the branches that involve us eating data are less likely to be used than the ones that process it. Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
* makekeys: move buf declaration from global to main to silence gcc -WshadowAlan Coopersmith2016-10-101-1/+1
| | | | | | | | | | | | The global was only referenced in the main() function, which passes it as an argument of the same name to the parse_line() function, leading to gcc -Wshadow warnings: makekeys.c: In function ‘parse_line’: makekeys.c:58:24: warning: declaration of ‘buf’ shadows a global declaration makekeys.c:54:13: warning: shadowed declaration is here Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
* makekeys: Fix build/target word size mismatch when cross-compilingDerek Buitenhuis2016-10-103-5/+7
| | | | | | | | | | | | | | | Since makekeys is built using build environment's gcc and runs natively, we have to make sure that the size of the Signature type is the same on both the native environment and the target, otherwise we get mismatches upon running X, and some LSB test failures (xts5). Use an unsigned 32-bit integer on all platforms. Also, eliminate the redundant multiple typedefs for the Signature type. Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com> Reviewed-by: Daniel Stone <daniel@fooishbar.org>
* adapt Imakefile to call makekeys correctly after updateUlrich Sibiller2016-10-101-2/+3
| | | | makekeys expects filenames as arguments instead of stdin
* makekeys: Scan vendor keysyms as well as coreDaniel Stone2016-10-101-44/+83
| | | | | | | | | Since we can't really live without vendor keysyms, scan them all in to generate ks_tables.h, rather than only doing the core ones, and leaving the vendor syms to be manually synchronised with XKeysymDB. Signed-off-by: Daniel Stone <daniel@fooishbar.org> Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
* When makekeys fails to find a good hash, print error instead of divide-by-zeroAlan Coopersmith2016-10-101-0/+10
| | | | Signed-off-by: Alan Coopersmith <alan.coopersmith@sun.com>
* Increase size of working arrays in the makekeys utility program.James Cloos2016-10-101-1/+1
| | | | | | | | | | | | | | | | | | | Makekeys is used to create an optimal hash of the keysyms defined in x11proto’s keysymdef.h. The recent addition of new keysyms there has triggered a bug in makekeys where it tries to use a zero on the rhs of the % (mod) operator (resulting in a divide by zero error) whenever it fails to find a solution within its constraints. Increasing the size of the arrays allows it to find a solution for the current set of keysyms. Makekeys is only run durring the build process, so this has no impact on users of libX11, only on the amount of VM needed to build it. It still needs a more complete fix, but this allows compiles to progress until that is completed.
* update files from modules dir of libX11 1.3.4Ulrich Sibiller2016-10-1037-1020/+1694
|
* Xutil.h: Fix wrong include pathUlrich Sibiller2016-10-101-1/+1
|
* replace {x11,xim}trans.c links by libX11 1.3.4 solutionUlrich Sibiller2016-10-103-10/+68
|
* update xlibi18n files to libX11 1.3.4Ulrich Sibiller2016-10-1038-475/+1224
|
* update xcms files to libX11 1.3.4Ulrich Sibiller2016-10-1064-710/+823
|
* Update some missing files to libX11 1.3.4Ulrich Sibiller2016-10-106-27/+27
|
* Add (Free|Get)EventData.c from libX11 1.3.4Ulrich Sibiller2016-10-103-0/+88
|
* remove more NEED_REPLIES/EVENTSUlrich Sibiller2016-10-103-3/+0
|
* Purge more remaining VCS refsUlrich Sibiller2016-10-1033-34/+0
|
* Lift XKB*.c to libX11 1.3.4Ulrich Sibiller2016-10-1021-288/+326
|
* XlibInt.c: shorten one ifdefUlrich Sibiller2016-10-101-1/+1
|
* set USE_XCB define to 0 to prevent compiler complaintsUlrich Sibiller2016-10-101-1/+2
|
* Remove CRAY supportUlrich Sibiller2016-10-104-317/+0
| | | | | This basically repeats commit bad67799229b94ea2ba0174319949766ad1c2fc6 after the upgrade to libX11 1.3.4.
* adapt include files to libX11 1.3.4Ulrich Sibiller2016-10-105-47/+48
|
* update makekeys.c to libX11 1.3.4 (+ fix)Ulrich Sibiller2016-10-101-11/+7
|
* update lcUniConv subdir to libX11 1.3.4Ulrich Sibiller2016-10-1032-34/+12506
|
* update src files *[ch] to libX11 1.3.4Ulrich Sibiller2016-10-10238-2503/+2532
|
* add XLOCALELIBDIRUlrich Sibiller2016-10-101-1/+1
|
* improve header guardsUlrich Sibiller2016-10-1010-20/+34
| | | | Upstream has changed the header guards. We adapt them to prevent double inclusion.
* update all files with NX relevant changes to libX11 1.3.4Ulrich Sibiller2016-10-1017-620/+1760
|
* fix wrong include in XlibInt.cUlrich Sibiller2016-10-091-1/+1
|
* Add XF86TouchpadOn and XF86TouchpadOff to keysymdbPeter Hutterer2016-10-011-0/+2
| | | | | | | This patch isn't necessary in Xlib 1.4 and later since the keysymdb has been made redunant. While we're on 1.3.x, we need it. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
* lib/X11/XKeysymDB: Update to last version found in X.org (between 1.3.5 and ↵Mike Gabriel2016-10-011-2/+28
| | | | 1.3.6).
* VCS info lines: Remove ancient X.org / XFree86 VCS info line from code files.Mike Gabriel2016-07-06460-807/+0
| | | | | This has already been started while replacing copyright info in file headers and has now been completed with this commit.
* Per-file copyright notices: Update copyright information in file headers ↵Mike Gabriel2016-07-066-116/+140
| | | | that NoMachine placed there own copyright statement in.
* remove unreferenced NEED_EVENTS/NEED_REPLIESUlrich Sibiller2016-07-05110-148/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove defines of NEED_EVENTS and NEED_REPLIES because they are never used anywhere. Basically these three commits, but as they are newer and to not match the code structure the patches have not been applied but replaced by sed + manual intervention: From cb95642dc8edebb2935dd471f8b339cb98aa8481 Mon Sep 17 00:00:00 2001 From: Peter Hutterer <peter.hutterer@redhat.com> Date: Fri, 28 Nov 2008 22:28:32 +1000 Subject: Remove #define NEED_EVENTS and NEED_REPLIES A grep on xorg/* revealed there's no consumer of this define. Quote Alan Coopersmith: "The consumer was in past versions of the headers now located in proto/x11proto - for instance, in X11R6.0's xc/include/Xproto.h, all the event definitions were only available if NEED_EVENTS were defined, and all the reply definitions required NEED_REPLIES. Looks like Xproto.h dropped them by X11R6.3, which didn't have the #ifdef's anymore, so these are truly ancient now." Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com> Signed-off-by: Adam Jackson <ajax@redhat.com> -- From 6de368c9aa7ccd2fcd62fca5a2b278913db4d03d Mon Sep 17 00:00:00 2001 From: Fernando Carrijo <fcarrijo@yahoo.com.br> Date: Thu, 1 Jul 2010 06:50:47 -0300 Subject: Purge macros NEED_EVENTS and NEED_REPLIES Signed-off-by: Fernando Carrijo <fcarrijo@yahoo.com.br> Acked-by: Tiago Vignatti <tiago.vignatti@nokia.com> Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com> -- From 57c03e52e6b4e3ed54df5fdd778865467d08e119 Mon Sep 17 00:00:00 2001 From: Fernando Carrijo <fcarrijo@yahoo.com.br> Date: Thu, 1 Jul 2010 06:59:48 -0300 Subject: Purge macro NEED_EVENTS Signed-off-by: Fernando Carrijo <fcarrijo@yahoo.com.br> Acked-by: Tiago Vignatti <tiago.vignatti@nokia.com> Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
* X.org 6.9 documentation files: Move into doc/_attic_/.Mike Gabriel2016-07-052-51/+0
|
* nx-X11/lib/X11/XKBMisc.c: Avoid warning about maybe non-assigned variables ↵Mike Gabriel2016-07-051-5/+5
| | | | (mask, newMask).
* nx-X11/lib/X11/imTrX.c: Fix warning ‘len’ may be used uninitialized in ↵Mike Gabriel2016-07-051-1/+1
| | | | this function (_XimRead).
* nx-X11/lib/X11/imInsClbk.c: Fix warning 'right-hand operand of comma ↵Mike Gabriel2016-07-051-1/+1
| | | | expression has no effect' in _XimFilterPropertyNotify.
* nx-X11/lib/X11/lcFile.c: Drop conditional always evaluating as True.Mike Gabriel2016-07-051-2/+1
| | | | | | | | Backported from X.org, patch found in janitor cleanup commit... commit 8ba0ca32a63c532f128bdca7f1bf982cab8e12be Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br> Date: Wed Jan 28 20:31:42 2009 -0200
* nx-X11/lib/X11/XKBMisc.c: Drop conditional always evaluating as True.Mike Gabriel2016-07-051-1/+1
| | | | | | | | Backported from X.org, patch found in janitor cleanup commit... commit 8ba0ca32a63c532f128bdca7f1bf982cab8e12be Author: Paulo Cesar Pereira de Andrade <pcpa@mandriva.com.br> Date: Wed Jan 28 20:31:42 2009 -0200
* nx-X11/lib/X11/LiHosts.c: Drop unused variable (in XListHosts).Mike Gabriel2016-07-051-4/+0
|
* Avoid 'siAddr' maybe being used uninitialized in XAddHost and XRemoveHost.Mike Gabriel2016-07-051-47/+26
| | | | | | | | | | | | | | | | | | | | | Backported from X.org (libX11). Host.c has mainly been copied over from libX11, contaning 7db7451 as the top commit (which also contains the greatest change and silences the resp. compiler warning. commit 7db74514e454d3fc4ff70aa08ddac66bfffda4dd Author: Alan Coopersmith <alan.coopersmith@oracle.com> Date: Tue Jul 23 22:18:46 2013 -0700 Refactor common code from XAddHost & XRemoveHost into single function On the Xlib side, the only real difference is the mode flag we send to the server with the address, so just make that an argument to the function with the common code for packing the address into the request. (Aside from labels, gcc 4.7.2 generates identical code before & after this change due to inlining, verified via diff of gcc -S output.) Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
* libNX_X11 data files: Install libNX_X11 related data files.Mike Gabriel2016-07-042-7/+105
| | | | | | | | | | | - Update XErrorDB to latest X.org version. - Install XErrorDB, XKeysymDB and Xcms.txt to /usr/{local/}share/nx/. - Assure that libNX_X11 finds those files at the named location. - Update debian/ packaging files. - Update nx-libs.spec packaging file. Fixes ArcticaProject/nx-libs#153
* avoid conflicts when mixing own includes with upstream includesUlrich Sibiller2016-07-012-2/+5
| | | | | We might better change all guard defines with the ones upstream is using but for now this should also work.
* nxagent Xserver: Drop Kerberos code. Not used in nxagent.Mike Gabriel2016-07-011-9/+0
|
* library-cleanup: Don't build libNX_Xau anymore. Use system's libXau shared ↵Mike Gabriel2016-07-015-9/+436
| | | | library.
* OPTFLAGS: Properly propagate build option flags to nxcomp{,ext,shad} and the ↵Mike Gabriel2016-07-011-38/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | nx-X11 build scripts. Note: - The "normal" way to inject CFLAGS (and CPPFLAGS) into nx-X11 builds is copying those options over into the variable CDEBUGFLAGS. - LDFLAGS have to be handed to nx-X11 via LOCAL_LDFLAGS. This change also includes a slight change in the nx-X11 build order. Old build order: Main Makefile: - [...] - libNX_X11 + implicitly building nxcomp + implicitly building nxcompext - [...] - nxagent + implicitly building nxcompshad - [...] New build ordner: Main Makefile: - [...] - nxcomp - setup nx-X11 build env + cd nx-X11 && make BuildEnv - nx-X11/lib/* - nxcompext - nxcompshad - [...] - nxagent - [...] Fixes ArcticaProject/nx-libs#141 Fixes X2GoBTS#84
* Port _XEatDataWordsUlrich Sibiller2016-06-302-0/+28
| | | | | | | | | | | | | | | This required for successful linking of libXrender against libNX_X11. Port from libXfixes commit b031e3b60fa1af9e49449f23d4a84395868be3ab We need this here to enable linking of current libXrender against libNX_X11 instead of the system's libX11 The original implementation of this function (libX11 commit 9f5d83706543696fc944c1835a403938c06f2cc5) uses xcb stuff which we do not have in libNX_X11. So we take a workaround from another lib. This workaround had been added temporarily to a couple of X extension libs, see e.g. https://lists.x.org/archives/xorg-devel/2013-July/036763.html.
* Backport of _XGetRequest()Ulrich Sibiller2016-06-302-29/+47
| | | | | | | | | | | | | To enable linking of a current libXrender libNX_X11 needs that symbol. This is a (manual) backport of the following upstream libX11 commit available at https://cgit.freedesktop.org/xorg/lib/libX11/commit/src/XlibInt.c?id=4a060f993bf676cf21ad9784e010f54134da7b40: Commit: 4a060f993bf676cf21ad9784e010f54134da7b40 Author: Peter Hutterer <peter.hutterer@who-t.net> Date: Mon, 17 Oct 2011 09:45:15 +1000 Subject: Add _XGetRequest as substitute for GetReq/GetReqExtra
* libX11: Extend Event functions to handle IOErrorsUlrich Sibiller2016-06-246-0/+21
| | | | | | | | | | | | | | To allow for suspend/resume NX has changed _XReadEvents() and _XIOError(). _XIOError() does not simply exit but returns. And _XReadEvents() returns after _XIOError(). But as the original _XReadEvents() is supposed to block until at least one event is there calling functions are not prepared for situations where no event is available. These calling functions have to check that condition., Some of the calling functions already had that check but the UnlockDisplay() call was missing. Fixes https://github.com/ArcticaProject/nx-libs/issues/118