1. 07 Dec, 2017 1 commit
    • Daniel Stone's avatar
      DIX: XKB: Set xkbInfo to NULL as well as freeing it · aac4c5f5
      Daniel Stone authored
      Backported from X.org:
      
         commit 512bac25ec0e980968b93a2ebe88bd89bf99b697
         Author: Daniel Stone <daniel@fooishbar.org>
         Date:   Tue Nov 6 14:52:03 2007 +0000
      
          DIX: XKB: Set xkbInfo to NULL as well as freeing it (bug # 10639)
      
          XkbRemoveResourceClient wants to access xkbInfo if it exists, so make
          sure we NULL it after freeing it.  It doesn't make much sense to move
          the RemoveResourceClient call first, as there's not much point in
          notifying clients while we're shutting the server down anyway.
      Backported-to-NX-by: 's avatarUlrich Sibiller <uli42@gmx.de>
      aac4c5f5
  2. 19 Apr, 2017 1 commit
  3. 10 Apr, 2017 8 commits
  4. 27 Mar, 2017 1 commit
  5. 24 Mar, 2017 3 commits
  6. 21 Mar, 2017 7 commits
    • Jon TURNEY's avatar
      Handle -displayfd and an explicit display number sensibly · 3be144ff
      Jon TURNEY authored
       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: 's avatarJon TURNEY <jon.turney@dronecode.org.uk>
      Reviewed-by: 's avatarKristian Høgsberg <krh@bitplanet.net>
      Backported-to-NX-by: 's avatarMike Gabriel <mike.gabriel@das-netzwerkteam.de>
      3be144ff
    • Chase Douglas's avatar
      os: Add -displayfd option · 89496d98
      Chase Douglas authored
       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: 's avatarAdam Jackson <ajax@redhat.com>
      Signed-off-by: 's avatarChase Douglas <chase.douglas@canonical.com>
      Reviewed-by: 's avatarJulien Cristau <jcristau@debian.org>
      Tested-by: 's avatarJulien Cristau <jcristau@debian.org>
      Reviewed-by: 's avatarAlan Coopersmith <alan.coopersmith@oracle.com>
      Signed-off-by: 's avatarPeter Hutterer <peter.hutterer@who-t.net>
      Backported-to-NX-by: 's avatarMike Gabriel <mike.gabriel@das-netzwerkteam.de>
      89496d98
    • Adam Jackson's avatar
      Move SIGUSR1 notification as late as possible. · f5301dee
      Adam Jackson authored
       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: 's avatarMike Gabriel <mike.gabriel@das-netzwerkteam.de>
      f5301dee
    • Adam Jackson's avatar
      dix: Extend initial connection handshake for forwarding proxies · 4f76ed19
      Adam Jackson authored
       commit 78fa121f4097d29458e5453c13473595df06e26e
       Author: Adam Jackson <ajax@redhat.com>
       Date:   Fri Jun 17 13:43:38 2011 -0400
      
          dix: Extend initial connection handshake for forwarding proxies
      
          Forwarding proxies like sshd will appear to be local, even though they
          aren't really.  This leads to weird behaviour for extensions that truly
          require running under the same OS services as the client, like MIT-SHM
          and DRI2.
      
          Add two new legal values for the initial connection's byteOrder field,
          'r' and 'R'.  These act like 'l' and 'B' respectively, but have the side
          effect of forcing the client to be treated as non-local.  Forwarding
          proxies should attempt to munge the first packet of the connection
          accordingly; older servers will reject connections thusly munged, so the
          proxy should fall back to passthrough if the munged connection attempt
          fails.
      Reviewed-by: 's avatarDaniel Stone <daniel@fooishbar.org>
      Signed-off-by: 's avatarAdam Jackson <ajax@redhat.com>
      Backported-to-NX-by: 's avatarMike Gabriel <mike.gabriel@das-netzwerkteam.de>
      4f76ed19
    • Rami Ylimäki's avatar
      os: Add facilities for client ID tracking. · 239fe3d0
      Rami Ylimäki authored
       commit 6d6d4cb6043905d850834946e9bfc526ed5a9ef7
       Author: Matthieu Herrb <matthieu.herrb@laas.fr>
       Date:   Mon Jan 2 13:23:59 2012 +0000
      
          Add OpenBSD support to DetermineClientCmd()
      
          Uses kvm_getargv() from libkvm.
      Signed-off-by: 's avatarMatthieu Herrb <matthieu.herrb@laas.fr>
      Reviewed-by: 's avatarAdam Jackson <ajax@redhat.com>
      Signed-off-by: 's avatarKeith Packard <keithp@keithp.com>
      
       commit cfc4c3d7fa8bd4da4c08b2ab8e6f85435f75353a
       Author: Alan Coopersmith <alan.coopersmith@oracle.com>
       Date:   Sat Dec 24 10:00:56 2011 -0800
      
          Add Solaris support to DetermineClientCmd
      
          Uses /proc/pid/psinfo to read command & partial arguments.
      
          Moves cmdsize & argsize variables into non-Solaris #else clause
          to avoid unused variable warnings.
      
          Fixes format mismatch errors when building with DEBUG defined on
          a 64-bit platform (where Mask is defined as CARD32).
      Signed-off-by: 's avatarAlan Coopersmith <alan.coopersmith@oracle.com>
      Reviewed-by: 's avatarRami Ylimäki <rami.ylimaki@vincit.fi>
      Signed-off-by: 's avatarKeith Packard <keithp@keithp.com>
      
       commit 780133f9ae7fada462714b47e79d26075bbd9abe
       Author: Alan Coopersmith <alan.coopersmith@oracle.com>
       Date:   Fri Oct 28 21:29:50 2011 -0700
      
          Convert DetermineClientCmd to use strdup instead of malloc+strncpy
      
          *cmdname is initialized to NULL earlier in the function, so it's
          okay to overwrite it with NULL if strdup fails, don't need that
          extra check.
      Signed-off-by: 's avatarAlan Coopersmith <alan.coopersmith@oracle.com>
      Reviewed-by: 's avatarJeremy Huddleston <jeremyhu@apple.com>
      
       commit 2ef4ff45ef1fcfc4967ebe3d550408769e5f6500
       Author: Erkki Seppälä <erkki.seppala@vincit.fi>
       Date:   Fri Mar 25 10:38:23 2011 +0200
      
          os/client: Prevent rare fd leak in DetermineClientPid
      
          DetermineClientPid didn't close file descriptor if read on
          /proc/pid/cmdline failed. Adjusted the code to disregard the close
          return value and perform the return after that, if the read failed or
          returned EOF.
      Signed-off-by: 's avatarMark Kettenis <mark.kettenis@xs4all.nl>
      Signed-off-by: 's avatarErkki Seppälä <erkki.seppala@vincit.fi>
      Reviewed-by: 's avatarRami Ylimäki <rami.ylimaki@vincit.fi>
      Signed-off-by: 's avatarKeith Packard <keithp@keithp.com>
      
       commit 1e933665bef26c74196bb7c59910e6a78bcacf0e
       Author: Rami Ylimäki <rami.ylimaki@vincit.fi>
       Date:   Wed Dec 22 16:51:09 2010 +0200
      
          os: Add facilities for client ID tracking.
      
          An interface is provided for figuring out the PID and process name of
          a client. Make some existing functionality from SELinux and IA
          extensions available for general use.
      Signed-off-by: 's avatarRami Ylimäki <rami.ylimaki@vincit.fi>
      Reviewed-by: 's avatarTiago Vignatti <tiago.vignatti@nokia.com>
      Backported-to-NX-by: 's avatarMike Gabriel <mike.gabriel@das-netzwerkteam.de>
      239fe3d0
    • Mike Gabriel's avatar
      dix/os: backport various signal handling and smart scheduler changes from X.org · 366067b7
      Mike Gabriel authored
       Backported from X.org:
      
       commit 6178b1c91cfc9e860914acc6f0be2f2d2e07a124
       Author: Adam Jackson <ajax@redhat.com>
       Date:   Tue Jun 7 15:52:11 2016 -0400
      
          dix: Use OsSignal() not signal()
      
          As the man page for the latter states:
      
              The effects of signal() in a multithreaded process are unspecified.
      
          We already have an interface to call sigaction() instead, use it.
      Signed-off-by: 's avatarAdam Jackson <ajax@redhat.com>
      Reviewed-by: 's avatarKeith Packard <keithp@keithp.com>
      
       commit e10ba9e4b52269b2ac75c4802dce4ca47d169657
       Author: Keith Packard <keithp@keithp.com>
       Date:   Wed Nov 11 22:02:01 2015 -0800
      
          Remove non-smart scheduler. Don't require setitimer.
      
          This allows the server to call GetTimeInMillis() after each request is
          processed to avoid needing setitimer. -dumbSched now turns off the
          setitimer.
      Reviewed-by: 's avatarAdam Jackson <ajax@redhat.com>
      Signed-off-by: 's avatarKeith Packard <keithp@keithp.com>
      
       commit 1f915e8b524dd02011158aa038935970684c7630
       Author: Daniel Drake <drake@endlessm.com>
       Date:   Wed May 20 13:16:12 2015 -0600
      
          Keep SIGALRM restart flag after Popen
      
          Commit 94ab7455 added SA_RESTART to the SIGALRM handler.  However, the
          Popen code tears down and recreates the SIGALRM handler via OsSignal(),
          and this flag is dropped at this time.
      
          Clean the code to use just a single codepath for creating this signal
          handler, always applying SA_RESTART.
      
          [ajax: Fixed commit id]
      Reviewed-by: 's avatarAdam Jackson <ajax@redhat.com>
      Signed-off-by: 's avatarDaniel Drake <drake@endlessm.com>
      
       commit 94ab7455abc213fc96760e29ab2e943ec682fb22
       Author: Daniel Drake <drake@endlessm.com>
       Date:   Tue May 12 16:39:22 2015 -0600
      
          Allow system call restarts upon signal interruption
      
          The X server frequently deals with SIGIO and SIGALRM interruptions.
          If process execution is inside certain blocking system calls
          when these signals arrive, e.g. with the kernel blocked on
          a contended semaphore, the system calls will be interrupted.
      
          Some system calls are automatically restartable (the kernel re-executes
          them with the same parameters once the signal handler returns) but
          only if the signal handler allows it.
      
          Set SA_RESTART on the signal handlers to enable this convenient
          behaviour.
      Reviewed-by: 's avatarAdam Jackson <ajax@redhat.com>
      Signed-off-by: 's avatarDaniel Drake <drake@endlessm.com>
      
       commit a6c71ce5d2d2fe89e07a2ef5041c915acc3dc686
       Author: Tiago Vignatti <tiago.vignatti@nokia.com>
       Date:   Mon Mar 28 19:21:28 2011 +0300
      
          os: fix memory and fd leaks in Popen
      Signed-off-by: 's avatarTiago Vignatti <tiago.vignatti@nokia.com>
      Reviewed-by: 's avatarPeter Hutterer <peter.hutterer@who-t.net>
      Reviewed-by: 's avatarNicolas Peninguy <nico@lostgeeks.org>
      
       commit c9051b684b524549eab6d5b88ee3e195a6f6fbe8
       Author: Alan Coopersmith <alan.coopersmith@sun.com>
       Date:   Wed Nov 5 18:25:57 2008 -0800
      
          Use OsSignal in Popen/Pclose to avoid SysV signal() stupidity
      
       commit 0e9ef65fa583bf2393dd0fda82df6f092387b425
       Author: Keith Packard <keithp@koto.keithp.com>
       Date:   Wed Nov 7 16:33:10 2007 -0800
      
          Don't frob timers unless SmartSchedule is running
      
       commit 2338d5c9914e2a43c3a4f7ee0f4355ad0a1ad9e7
       Author: Arjan van de Ven <arjan@linux.intel.com>
       Date:   Sun Oct 28 09:37:52 2007 +0100
      
          reduce wakeups from smart scheduler
      
          The smart scheduler itimer currently always fires after each request
          (which in turn causes the CPU to wake out of idle, burning precious
          power). Rather than doing this, just stop the timer before going into
          the select() portion of the WaitFor loop. It's a cheap system call, and
          it will only get called if there's no more commands batched up from the
          active fd.
      
          This change also allows some of the functions to be simplified;
          setitimer() will only fail if it's passed invalid data, and we don't do
          that... so make it void and remove all the conditional code that deals
          with failure.
      
          The change also allows us to remove a few variables that were used for
          housekeeping between the signal handler and the main loop.
      Signed-off-by: 's avatarKeith Packard <keithp@koto.keithp.com>
      
       **Note**: The above change also required ABI changes in hw/nxagent/.
      
       commit abe0a51f3f790f8c055289465e130177c4b647cc
       Author: Ben Byer <bbyer@bbyer.apple.com>
       Date:   Fri Sep 21 17:07:36 2007 -0700
      
          So, like, checking return codes of system calls (signal, etc) is good.
          Also, only restore an old signal handler if one was actually set
          (prevents the server from dying on OS X).
      
       commit 6da39c67905500ab2db00a45cda4a9f756cdde96
       Author: Eric Anholt <eric@anholt.net>
       Date:   Wed Sep 12 13:23:13 2007 +0000
      
          Fix build on FreeBSD after Popen changes.
      
       commit a5b8053606d6e786cdcf6734f271acc05f9cc588
       Author: Adam Jackson <ajax@benzedrine.nwnk.net>
       Date:   Tue Sep 11 11:37:06 2007 -0400
      
          Ignore - not just block - SIGALRM around Popen()/Pclose().
      
          Because our "popen" implementation uses stdio, and because nobody's stdio
          library is capable of surviving signals, we need to make absolutely sure
          that we hide the SIGALRM from the smart scheduler.  Otherwise, when you
          open a menu in openoffice, and it recompiles XKB to deal with the
          accelerators, and you popen xkbcomp because we suck, then the scheduler
          will tell you you're taking forever doing something stupid, and the
          wait() code will get confused, and input will hang and your CPU usage
          slams to 100%.  Down, not across.
      Backported-to-NX-by: 's avatarMike Gabriel <mike.gabriel@das-netzwerkteam.de>
      366067b7
    • Keith Packard's avatar
      dix/os: Merge priority computation into SmartScheduleClient · f14f738a
      Keith Packard authored
       Backported from X.org:
      
       commit 7762a602c1dfdd8cfcf2b8c2281cf4d683d05216
       Author: Keith Packard <keithp@keithp.com>
       Date:   Thu May 19 15:05:55 2016 -0700
      
          dix/os: Merge priority computation into SmartScheduleClient
      
          Instead of having scheduling done in two places (one in
          WaitForSomething, and the other in SmartScheduleClient), just stick
          all of the scheduling in SmartScheduleClient.
      Signed-off-by: 's avatarKeith Packard <keithp@keithp.com>
      Reviewed-by: 's avatarAdam Jackson <ajax@redhat.com>
      Backported-to-NX-by: 's avatarMike Gabriel <mike.gabriel@das-netzwerkteam.de>
      f14f738a
  7. 10 Mar, 2017 1 commit
    • Ulrich Sibiller's avatar
      dix: Fix compiler warning · e17c42e5
      Ulrich Sibiller authored
      devices.c: In function ‘_AddInputDevice’:
      devices.c:120:22: warning: assignment from incompatible pointer type [enabled by default]
           dev->devPrivates = dev->unwrapProc = NULL;
      e17c42e5
  8. 03 Mar, 2017 3 commits
    • Ulrich Sibiller's avatar
      replace (DE)ALLOCATE_LOCAL by malloc/free · 06bb154d
      Ulrich Sibiller authored
      This is basically a backport of the following commits + replacing
      xalloc/xfree by malloc/free. Fixes ArcticaProject/nx-libs#358.
      
         commit 2761c103311a1160bc483fd0367d654733df8598
         Author: Daniel Stone <daniel@fooishbar.org>
         Date:   Mon Nov 5 14:03:26 2007 +0000
      
             OS: Remove usage of alloca
      
             Replace with heap allocations.
      
         commit 5e363500c86042c394595e1a6633581eb8fcd1bb
         Author: Daniel Stone <daniel@fooishbar.org>
         Date:   Mon Nov 5 14:38:28 2007 +0000
      
             OS: Remove ALLOCATE_LOCAL from os.h
      
             Remove ALLOCATE_LOCAL_FALLBACK and DEALLOCATE_LOCAL_FALLBACK from os.h, and
             remove the include of Xalloca.h as well.
      06bb154d
    • Ulrich Sibiller's avatar
      replace (DE)ALLOCATE_LOCAL by malloc/free · 09ef9991
      Ulrich Sibiller authored
      This is basically a backport of the following commits + replacing
      xalloc/xfree by malloc/free. Fixes ArcticaProject/nx-libs#358.
      
         commit 2761c103311a1160bc483fd0367d654733df8598
         Author: Daniel Stone <daniel@fooishbar.org>
         Date:   Mon Nov 5 14:03:26 2007 +0000
      
             OS: Remove usage of alloca
      
             Replace with heap allocations.
      
         commit 5e363500c86042c394595e1a6633581eb8fcd1bb
         Author: Daniel Stone <daniel@fooishbar.org>
         Date:   Mon Nov 5 14:38:28 2007 +0000
      
             OS: Remove ALLOCATE_LOCAL from os.h
      
             Remove ALLOCATE_LOCAL_FALLBACK and DEALLOCATE_LOCAL_FALLBACK from os.h, and
             remove the include of Xalloca.h as well.
      09ef9991
    • Mihai Moldovan's avatar
      misc nx-X11/programs/Xserver/{composite,dix,randr}/: switch to using… · 5413c5ec
      Mihai Moldovan authored
      misc nx-X11/programs/Xserver/{composite,dix,randr}/: switch to using reallocarray, since it has been ported now.
      5413c5ec
  9. 02 Mar, 2017 2 commits
  10. 01 Mar, 2017 10 commits
  11. 27 Feb, 2017 3 commits