aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/programs/Xserver/os
Commit message (Collapse)AuthorAgeFilesLines
* os: Initialize NotifyFds earlier in startupMike Gabriel2017-03-171-1/+5
| | | | | | | | | | | | | | | | | | | | | Backported from X.org: commit ce6546337487c052b5dd3c04d3d8d4b09d691c3d Author: Keith Packard <keithp@keithp.com> Date: Tue May 31 09:38:17 2016 -0700 os: Initialize NotifyFds earlier in startup If the server calls AbortServer during the first-time initialization (which can happen if you start the server on an already using DISPLAY), then the dbus code will shut down and call the notify fd interface. If the notify fd list hasn't been initialized, the server will crash. Signed-off-by: Keith Packard <keithp@keithp.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
* os: Implement support for NotifyFd X_NOTIFY_WRITE and removal of ↵Keith Packard2017-03-174-52/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | AddEnabledDevices/RemoveEnabledDevices Backported from X.org: commit be5a513fee6cbf29ef7570e57eb0436d70fbd88c Author: Keith Packard <keithp@keithp.com> Date: Mon Dec 7 15:12:14 2015 -0800 Remove AddEnabledDevice and AddGeneralSocket APIs All uses of these interfaces should instead be using the NotifyFd API instead. Signed-off-by: Keith Packard <keithp@keithp.com> Reviewed-by: Adam Jackson <ajax@redhat.com> commit 4020aacd1fc5b9c63369f011aeb9120af9c55218 Author: Keith Packard <keithp@keithp.com> Date: Wed Nov 11 22:02:03 2015 -0800 os: Implement support for NotifyFd X_NOTIFY_WRITE This adds the ability to be notified when a file descriptor is available for writing. 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>
* Move the code for resetting the DPMS mode in response to input events, from ↵Fredrik Höglund2017-03-171-4/+0
| | | | | | | | | | | | | | | | | WaitForSomething to mieqProcessInputEvents. Backported from X.org: commit 3b5b7ef5c2ab1d196806f6359e0972fd78d204dd Author: Fredrik Höglund <fredrik@kde.org> Date: Wed Jan 3 21:05:35 2007 +0100 Move the code for resetting the DPMS mode in response to input events, from WaitForSomething to mieqProcessInputEvents. mieqProcessInputEvents already handles resetting the screen saver. Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
* os: Add NotifyFd interfacesKeith Packard2017-03-154-0/+105
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Backported from X.org: commit 0c41b7af4ab0c8d22b88f201293f59524d1e7317 Author: Keith Packard <keithp@keithp.com> Date: Wed Nov 11 22:02:02 2015 -0800 os: Add NotifyFd interfaces This provides a callback-based interface to monitor file descriptors beyond the usual client and device interfaces. Modules within the server using file descriptors for reading and/or writing can call Bool SetNotifyFd(int fd, NotifyFdProcPtr notify_fd, int mask, void *data); mask can be any combination of X_NOTIFY_READ and X_NOTIFY_WRITE. When 'fd' becomes readable or writable, the notify_fd function will be called with the 'fd', the ready conditions and 'data' values as arguments, When the module no longer needs to monitor the fd, it will call void RemoveNotifyFd(int fd); RemoveNotifyFd may be called from the notify function. 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/xdmcp: Just send XDMCP keepalive packets once every three minuteKeith Packard2017-03-151-22/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Backported from X.org: commit db1089eafc1c5371fa0030202de588d2e2b4f8e5 Author: Keith Packard <keithp@keithp.com> Date: Mon Sep 21 07:16:17 2015 +0100 os/xdmcp: Just send XDMCP keepalive packets once every three minutes There was a complicated scheme to increase the time between keepalives from 3 minutes up to as much as 24 hours in an attempt to reduce network traffic from idle X terminals. X terminals receiving X traffic, or receiving user input would use the 3 minute value; X terminals without any network traffic would use a longer value. However, this was actually broken -- any activity in the X server, either client requests or user input, would end up resetting the keepalive timeout, so a user mashing on the keyboard would never discover that the XDMCP master had disappeared and have the session terminated, which was precisely the design goal of the XDMCP keepalive mechanism. Instead of attempting to fix this, accept the cost of a pair of XDMCP packets once every three minutes and just perform keepalives regularly. This will also make reworking the block and wakeup handler APIs to eliminate select masks easier. 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: add timingsafe_memcmp to ImakeUlrich Sibiller2017-03-041-2/+7
| | | | | There might be some library linking missing on platforms that deliver timingsafe_memcmp but I cannot test that here.
* Backport CVE-2017-2624 (timingsafe_memcmp)Ulrich Sibiller2017-03-033-3/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes ArcticaProject/nx-libs#365 These two commits: commit 5c44169caed811e59a65ba346de1cadb46d266ec Author: Adam Jackson <ajax@redhat.com> Date: Thu Mar 2 17:20:30 2017 -0500 os: Squash missing declaration warning for timingsafe_memcmp timingsafe_memcmp.c:21:1: warning: no previous prototype for ‘timingsafe_memcmp’ [-Wmissing-prototypes] timingsafe_memcmp(const void *b1, const void *b2, size_t len) Signed-off-by: Adam Jackson <ajax@redhat.com> commit d7ac755f0b618eb1259d93c8a16ec6e39a18627c Author: Matthieu Herrb <matthieu@herrb.eu> Date: Tue Feb 28 19:18:25 2017 +0100 Use timingsafe_memcmp() to compare MIT-MAGIC-COOKIES CVE-2017-2624 Provide the function definition for systems that don't have it. Signed-off-by: Matthieu Herrb <matthieu@herrb.eu>
* nx-X11/{config/cf/{{Imake,X11}.tmpl,linux.cf},programs/Xserver/{include/os.h ↵Mihai Moldovan2017-03-032-2/+50
| | | | ,os/{Imakefile,reallocarray.c}}: backport reallocarray() implementation.
* Xserver/os/oscolor.c: Follow X.org in dropping the rgb.txt file entirely. ↵Mike Gabriel2017-02-264-449/+1611
| | | | | | | | | | | | | | | | | | | Content of that file is now hard-coded. Adopting an exact copy of os/oscolor.c from X.org leads to this compiler warning: ``` oscolor.c:844:1: warning: string length ‘7614’ is greater than the length ‘4095’ ISO C99 compilers are required to support [-Woverlength-strings] }; ^ ``` This will be address later in coordination with X.org. Note: there is a tiny change in oscolor.c as we ship it. The original X.org file includes <X11/keysym.h> which seems unneeded. We drop that one line from oscolor.c. Fixes ArcticaProject/nx-libs#259.
* The smart scheduler is not optional.Mathieu Bérard2017-02-154-33/+0
| | | | | | | | | | | | Backported from X.org: commit 9f9268821b13038556fbc029df54ab0e9b2aa77f Author: Mathieu Bérard <mathieu.berard@crans.org> Date: Mon Aug 11 13:52:38 2008 -0400 The smart scheduler is not optional. Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
* drop platform support: unifdef sgi.Mike Gabriel2017-02-083-10/+1
| | | | Relates to ArcticaProject/nx-libs#275.
* drop platform support: unifdef QNX.Mike Gabriel2017-02-084-30/+4
| | | | Relates to ArcticaProject/nx-libs#275.
* drop platform support: unifdef DGUX.Mike Gabriel2017-02-085-49/+3
| | | | Relates to ArcticaProject/nx-libs#275.
* drop platform support: unifdef AIXV3, AIXV4 (and AIXrt, AIX386).Mike Gabriel2017-02-082-24/+0
| | | | Fixes ArcticaProject/nx-libs#274.
* drop platform support: unifdef hpux and __hppa__.Mike Gabriel2017-02-083-12/+8
| | | | Fixes ArcticaProject/nx-libs#273.
* drop platform support: unifdef Lynx.Mike Gabriel2017-02-086-31/+3
| | | | Fixes ArcticaProject/nx-libs#272.
* drop platform support: unifdef __UNIXOS2__.Mike Gabriel2017-02-089-81/+8
| | | | Fixes ArcticaProject/nx-libs#271.
* Remove libcwrapper usage from xorg server modules. The libcwrapper is not ↵Eric Anholt2016-12-041-7/+0
| | | | | | | | | | | | | | | used in nxagent. From c3d14036729fd186d4ec7ca1de603e1f2d174e2f Mon Sep 17 00:00:00 2001 From: Eric Anholt <anholt@freebsd.org> Date: Fri, 10 Feb 2006 22:00:30 +0000 Subject: Remove libcwrapper usage from xorg server modules. The libcwrapper is only of (marginal) use in the drivers, and that usage remains. Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Fixes ArcticaProject/nx-libs#246 (together with merge commit ecd335fa61551d0b86d3f075469a7743ab899d95).
* libX11 + Xserver: fix missing define warningUlrich Sibiller2016-11-031-1/+4
| | | | | | warning: "XTRANS_SEND_FDS" is not defined [-Wundef] This define came in via the recent xtrans update.
* Remove OS2PIPECONN transportUlrich Sibiller2016-11-022-2/+2
|
* Remove unused TLI ("STREAMSCONN") codeUlrich Sibiller2016-11-025-60/+17
|
* remove DECnet supportUlrich Sibiller2016-11-023-122/+2
| | | | just as Xorg upstream did
* Imake: drop DoLoadableServer, MakeDllModules and IHaveModulesUlrich Sibiller2016-11-021-5/+0
| | | | | | We do not build loadable modules, so we do not need them anywhere. Also remove the extra files requires for module builds.
* xserver: adapt xkbsrc includes syntax to match upstreamUlrich Sibiller2016-10-061-1/+1
|
* os/access: fix regression in server interpreted authDave Airlie2016-10-061-1/+1
| | | | | | | | | | | | | | | | This was reported on irc on Fedora when rawhide went to 1.17.1. regression occured in: 2566835b4374edb3e5a8353d4f7c9e7ec4851c57 os: Eliminate uninitialized value warnings from access.c siAddrMatch doesn't need addr to be a useful value, it checks some things like localuser without having an address at all. Signed-off-by: Dave Airlie <airlied@redhat.com> Tested-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> v2: backport to nx-libs 3.6.x (Ulrich Sibiller)
* os: Eliminate uninitialized value warnings from access.cKeith Packard2016-10-061-8/+8
| | | | | | | | | | | | The ConvertAddr function doesn't reliably set the 'addr' return value, and so callers are getting flagged for using potentially uninitialized values. Initialize the value in the callers to NULL and then go ahead and check for NULL values before using them. Signed-off-by: Keith Packard <keithp@keithp.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> v2: backport to nx-libs 3.6.x (Ulrich Sibiller)
* dix: GetHosts bounds check using wrong pointer value [CVE-2014-8092 pt. 6]Keith Packard2016-10-061-1/+1
| | | | | | | | | | | | | | | GetHosts saves the pointer to allocated memory in *data, and then wants to bounds-check writes to that region, but was mistakenly using a bare 'data' instead of '*data'. Also, data is declared as void **, so we need a cast to turn it into a byte pointer so we can actually do pointer comparisons. Signed-off-by: Keith Packard <keithp@keithp.com> Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com> Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> v1: Keith Packard v2: backport to nx-libs 3.6.x (Ulrich Sibiller)
* Fix multiple warnings in os/xdmauth.c.Eamon Walsh2016-10-061-10/+12
| | | | | v1: Eamon Walsh v2: backport to nx-libs 3.6.x (Ulrich Sibiller)
* replace transport.c link by xstrans.cUlrich Sibiller2016-10-068-14/+39
| | | | Just like upstream does
* xserver: use own copy of XKBsrv.h headerUlrich Sibiller2016-10-061-1/+1
| | | | just like upstream does
* remove misc dirUlrich Sibiller2016-09-213-5/+117
| | | | xserver upstream has included the required files. So do we.
* VCS info lines: Remove ancient X.org / XFree86 VCS info line from code files.Mike Gabriel2016-07-0611-24/+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-065-94/+117
| | | | that NoMachine placed there own copyright statement in.
* remove unreferenced NEED_EVENTS/NEED_REPLIESUlrich Sibiller2016-07-051-1/+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>
* Remove unneccesary casts from WriteToClient callsAlan Coopersmith2016-07-051-1/+1
| | | | | | | | | | | | | | Casting return to (void) was used to tell lint that you intended to ignore the return value, so it didn't warn you about it. Casting the third argument to (char *) was used as the most generic pointer type in the days before compilers supported C89 (void *) (except for a couple places it's used for byte-sized pointer math). Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Keith Packard <keithp@keithp.com> Tested-by: Daniel Stone <daniel@fooishbar.org> Backport to nx-libs: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
* Make WriteToClient take a const void * like any decent IO write function.Kristian Høgsberg2016-07-052-4/+6
| | | | | Enough with the casting. Doesn't break API or even ABI, but does make a lot of silly casts superfluos.
* Make WriteEventsToClient/WriteToClient no-op on fake or dead clients.Jamey Sharp2016-07-051-3/+5
| | | | | | | | | | | | | | | | | | This matches the test in TryClientEvents, and is a superset of tests done by the callers of these functions. The consequence of forgetting these tests is a server crash, so they're always desirable. In my opinion, it's better to not require the callers to remember to do these checks. For callers that don't do very much work before calling WriteToClient or WriteEventsToClient, I've removed the redundant checks. Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=27497 Signed-off-by: Jamey Sharp <jamey@minilop.net> Cc: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Julien Cristau <jcristau@debian.org> Reviewed-by: Adam Jackson <ajax@redhat.com> Backport to nx-libs: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
* Xserver/os/xdmauth.c: Avoid compiler warnings due to -Wswitch being enabled. ↵Mike Gabriel2016-07-051-6/+2
| | | | | | | | | | Use if statement rather than switch. Backported from X.org. Found in commit... commit 7deaaa797cf8e7ca71e9b34fa6f413d1ed2b3dab Author: Adam Jackson <ajax@nwnk.net> Date: Tue Mar 28 01:21:00 2006 +0000
* Xserver/os/log.c: Make sure strlcpy is defined in log.c. Immitate what is ↵Mike Gabriel2016-07-051-0/+1
| | | | done in X.org.
* Restore compression of duplicate log file entries.Adam Jackson2016-07-051-10/+0
| | | | This undoes the workaround for X.org bug #964, which was an Xprintism.
* os: Make sure that writing our pid to the lock file actually workedKeith Packard2016-07-051-1/+3
| | | | | | | | | There's no sense verifying that we can create the lock file and then ignoring the return value from write. Signed-off-by: Keith Packard <keithp@keithp.com> Reviewed-by: Jamey Sharp <jamey@minilop.net> Backport to nx-libs: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
* Xserver/os/connection.c: Drop unused variable 'restore_trans_conn' from ↵Mike Gabriel2016-07-051-1/+0
| | | | ClientAuthorized().
* Xserver/os/connection.c: Only define XSERV_t, TRANS_SERVER and TRANS_REOPEN ↵Mike Gabriel2016-07-051-3/+9
| | | | if not yet defined.
* Use internal temp variable for swap macros. Make swaps/swapl type safe ↵Mike Gabriel2016-07-042-7/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (introducing wrong_size check at build time). While working on this changeset, various spots got discovered where swapl or swaps was used on a wrong type, where byte swapping calls had been forgotten or done on the wrong variable. This backport at least includes changes from the following X.org commits, listed in non-chronological order: commit 2c7c520cfe0df30f4bc3adba59d9c62582823bf8 Author: Matt Turner <mattst88@gmail.com> Date: Thu Aug 4 15:35:41 2011 -0400 Use internal temp variable for swap macros Also, fix whitespace, mainly around swaps(&rep.sequenceNumber) Reviewed-by: Peter Harris <pharris@opentext.com> Signed-off-by: Matt Turner <mattst88@gmail.com> commit 9edcae78c46286baff42e74bfe26f6ae4d00fe01 Author: Matt Turner <mattst88@gmail.com> Date: Wed Sep 21 17:14:16 2011 -0400 Use correct swap{l,s} (or none at all for CARD8) Swapping the wrong size was never caught because swap{l,s} are macros. It's clear in the case of Xext/xres.c, that the author believed client_major/minor to be CARD16 from looking at the code in the first hunk. v2: dmx.c fixes from Keith. Reviewed-by: Peter Harris <pharris@opentext.com> Signed-off-by: Matt Turner <mattst88@gmail.com> commit dab064fa5e0b1f5c67222562ad5367005832cba1 Author: Andrea Canciani <ranma42@gmail.com> Date: Tue Nov 2 20:10:32 2010 +0100 render: Fix byteswapping of gradient stops The function swapStops repeatedly swaps the color components as CARD16, but incorrectly steps over them as if they were CARD32. This causes half of the stops not to be swapped at all and some unrelated data be swapped instead. Signed-off-by: Andrea Canciani <ranma42@gmail.com> Reviewed-by: Soren Sandmann <sandmann@daimi.au.dk> Reviewed-by: Julien Cristau <jcristau@debian.org> Signed-off-by: Keith Packard <keithp@keithp.com> commit 54770c980cd2b91a8377f975a58ed69def5cfa42 Author: Matt Turner <mattst88@gmail.com> Date: Tue Aug 16 16:59:07 2011 -0400 Cast char* buffers to swap functions Reviewed-by: Peter Harris <pharris@opentext.com> Signed-off-by: Matt Turner <mattst88@gmail.com> commit 6844bd2e63490870bab3c469eec6030354ef2865 Author: Alan Coopersmith <alan.coopersmith@sun.com> Date: Wed Jan 9 19:52:00 2008 -0800 More Xv extension byte swapping fixes commit e46f6ddeccd082b2d507a1e8b57ea30e6b0a2c83 Author: Michel Dänzer <michel@tungstengraphics.com> Date: Wed Jan 16 14:24:22 2008 +0100 Yet another Xv extension byte swapping fix.
* os: Remove deprecated malloc/free wrappers, clean ↵Mike Gabriel2016-07-021-132/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | {X,XNF}{alloc,calloc,realloc,free,strdup} from pre-C89 baggage Backported from X.org: commit cad9b053d52f62432dfd70e42e0240de77027cae Author: Adam Jackson <ajax@redhat.com> Date: Tue Jul 8 13:24:25 2014 -0400 os: Remove deprecated malloc/free wrappers Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Adam Jackson <ajax@redhat.com> commit e983848ab44b0769f97f6207f1aa8b4f127be6a9 Author: Mikhail Gusarov <dottedmag@dottedmag.net> Date: Thu May 6 00:16:24 2010 +0700 Clean {X,XNF}{alloc,calloc,realloc,free,strdup} from pre-C89 baggage C89 guarantees alignment of pointers returned from malloc/calloc/realloc, so stop fiddling with alignment manually and just pass the arguments to library functions. Also convert silent error when negative size is passed into function into warning in log file. Signed-off-by: Mikhail Gusarov <dottedmag@dottedmag.net> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Backport to nx-libs: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
* nx-X11/programs/Xserver: Drop {X,x}realloc() macros, use realloc() instead.Mike Gabriel2016-07-022-5/+5
|
* nx-X11/programs/Xserver: Drop {X,x}alloc() macros, use malloc() instead.Mike Gabriel2016-07-0214-876/+40
|
* nx-X11/programs/Xserver: Drop {X,x}free() macros, use free() instead.Mike Gabriel2016-07-0211-63/+63
| | | | Fixes ArcticaProject/nx-libs#105
* nxagent Xserver: Drop Kerberos code. Not used in nxagent.Mike Gabriel2016-07-016-882/+5
|
* noRRXineramaExtension: Make Boolean configurable via new cmdline switch ↵Mike Gabriel2016-06-181-2/+15
| | | | (+|-rrxinerama).