aboutsummaryrefslogtreecommitdiffstats
path: root/unix
Commit message (Collapse)AuthorAgeFilesLines
* Avoid using RegionInit() because of empty rectsPierre Ossman2020-05-011-26/+26
| | | | | It creates an invalid region if given an empty rect. Fortunately RegionInitBoxes() handles that just fine, so use that instead.
* Stop using legacy region macrosPierre Ossman2020-05-012-134/+134
| | | | | We no longer support such old X servers so start using the current functions.
* Handle empty changes for every operationPierre Ossman2020-04-201-22/+16
| | | | | | It seems like many of the X11 operations can end up with no pixels actually changing. So instead of discovering and adding workarounds for each individually we'll just check very region added if it's empty.
* Remove legacy Xorg codePierre Ossman2020-04-027-459/+6
| | | | | We now require at least 1.16, so remove all code that handled older versions than that.
* Remove 8-bit support from documentationPierre Ossman2020-04-022-16/+4
| | | | | We removed support in the code ages ago, but overlooked this part of the documentation. Also remove some dead code in Xvnc on the same theme.
* Remove support for old Xorg versionsPierre Ossman2020-03-129-909/+0
| | | | No current distribution ship anything this ancient anyway.
* Use standard install dir variable namesPierre Ossman2020-03-128-20/+20
| | | | | This makes our builds directly compatible with most distributions without packagers/users having to specify extra flags.
* Add SELinux policy file for vncsessionPierre Ossman2020-03-125-0/+104
| | | | | | Running as a service on a SELinux system requires rules so we can transition to our own context. We also need the proper permissions to start new user sessions.
* Start sessions via PAMPierre Ossman2020-03-1212-144/+762
| | | | | | | | | This sets up a more correct session as there are key tasks that need to be performed by PAM. E.g. systemd will allocate cgroups and start base services. In order to easily handle this as a system service the mapping of displays is now done via a configuration file.
* Stop searching for XvncPierre Ossman2020-03-122-31/+3
| | | | | Assume we are part of a complete and proper installation and encode the full expected path in to the vncserver script.
* Start the sessions using xinitPierre Ossman2020-03-122-88/+20
| | | | | It keeps much better track of the X server and startup files than we can do.
* Make vncserver always run in the foregroundPierre Ossman2020-03-122-204/+8
| | | | | | We need to be started as a system service for things to work correctly anyway, so delegate the work of starting and stopping things to the system service manager (e.g. systemd).
* Start sessions using session desktop filePierre Ossman2020-03-122-88/+126
| | | | | This is how display managers (e.g. gdm or lightdm) start sessions and is necessary to get the proper set of environment variables.
* Don't create a default user configPierre Ossman2020-03-121-20/+0
| | | | | We don't want to create files in the users home directory unless we have to. Users can read about how this file works in our man pages.
* Don't accept arbitrary arguments to vncserverPierre Ossman2020-03-123-244/+19
| | | | | We now have config files for more fine grained control of these things, so avoid duplicating the functionality.
* Stop unsetting environment variablesPierre Ossman2020-03-121-2/+0
| | | | | These might contain values we want if we are start from a proper environment.
* Always install systemd servicesPierre Ossman2020-03-122-0/+51
| | | | | | | It is the most common init system these days so it should not be hidden in the contrib/ directory. This also removes all old SysV files from the contrib packages.
* Add default configuration filesPierre Ossman2020-03-126-3/+34
| | | | Install some example files to make things more easily discoverable.
* xserver: add no-op input thread init functionLinus Heckemann2020-02-011-0/+9
| | | | | | | | This allows Xvnc to build with xorg-server 1.20.7, which requires OS layers to implement a ddxInputThreadInit function when configured with --enable-input-thread (the default). relevant xorg-server commit: e3f26605d85d987da434640f52646d728f1fe919
* Update copyright year to 2020Pierre Ossman2020-01-161-1/+1
|
* Merge branch 'secfix' of https://github.com/CendioOssman/tigervncPierre Ossman2019-12-203-22/+13
|\
| * Encapsulate PixelBuffer internal detailsPierre Ossman2019-11-153-22/+13
| | | | | | | | | | | | Don't allow subclasses to just override dimensions or buffer details directly and instead force them to go via methods. This allows us to do sanity checks on the new values and catch bugs and attacks.
* | Don't background the main session commandPierre Ossman2019-12-091-1/+1
|/ | | | | | When used with -fg we expect the startup script to remain running until the session is over. This will not happen if the session command is put in the background using &.
* Change development version to 1.10.80Pierre Ossman2019-10-181-1/+1
|
* Do not return returncode indicating error when listing sessionsJan Grulich2019-07-111-1/+1
|
* Use UTF-8 in clipboard APIPierre Ossman2019-07-011-23/+24
| | | | | In prepartion for better clipboard extensions that can send Unicode data between the client and server.
* Improved clipboard APIPierre Ossman2019-07-016-70/+283
| | | | | Change the internal clipboard API to use a request based model in order to be prepared for more advanced clipboard transfers.
* Add UTF-8 to/from ISO 8859-1 conversion routinesPierre Ossman2019-07-013-65/+30
| | | | | We convert between UTF-8 and ISO 8859-1 (latin 1) in several places so create some common routines for this.
* Clean up internal clipboard handlingPierre Ossman2019-07-018-27/+20
| | | | | | We now filter incoming data, which means we can start assuming the clipboard data is always null terminated. This allows us to clean up a lot of the internal handling.
* Make sure clipboard uses \n line endingsPierre Ossman2019-07-013-6/+37
| | | | | | This is required by the protocol so we should make sure it is enforced. We are tolerant of clients that violate this though and convert incoming clipboard data.
* Allow blacklist to be disabledPierre Ossman2019-03-252-0/+10
| | | | | | There might be multiple clients using a single IP (e.g. NAT), which can make the blacklist do more harm than good. So add a setting to disable it if needed.
* Update visible copyright years to 2019Samuel Mannehed2019-02-271-1/+1
|
* Don't build xserver with -I$(includedir) as it breaks cross-compilingJames Le Cuirot2019-02-131-3/+3
| | | | | | | | This is where to install headers to, not where to find headers to build against. Toolchains should know where to locate their system headers while non-system headers should be found using pkg-config. Users with bizarre setups where the toolchain really cannot find the system headers should set CPPFLAGS.
* Add x0vncserver option to only allow localhost connectionsPierre Ossman2019-01-162-1/+12
| | | | Patch originally by @KenMilmore on GitHub.
* Merge branch 'connparams' of https://github.com/CendioOssman/tigervncPierre Ossman2018-12-101-0/+19
|\
| * Make sure we always have a valid screen layoutPierre Ossman2018-12-101-0/+5
| | | | | | | | | | Add more checks and fix some callers to make sure that the server core always has a valid screen layout configured.
| * Respect geometry setting in screen layoutPierre Ossman2018-11-011-0/+14
| | | | | | | | | | We might only be using part of the X server's screen, so make sure the layout we calculate is contained within this part.
* | Merge branch 'altgr' of https://github.com/CendioOssman/tigervncPierre Ossman2018-11-301-4/+40
|\ \
| * | Avoid using "fake" key codesPierre Ossman2018-11-301-4/+40
| | | | | | | | | | | | | | | | | | | | | There is a range of key codes that are never sent by a real keyboard and are therefore used by layouts to hide "fake" mappings. Make sure to only use these as a fallback as some applications get confused when they see these codes.
* | | Document -AcceptSetDesktopSize in x0vncserver.manPierre Ossman2018-11-261-0/+4
|/ / | | | | | | It now accepts this parameter, so make sure it is documented.
* | Allow -AcceptSetDesktopSize in x0vncserverPierre Ossman2018-11-261-3/+0
| | | | | | | | | | | | We disabled it in 0a0e582 since it didn't have support for resizing. But it got that support in 242c5b2, yet we forgot to allow this setting again.
* | Merge branch 'covscan' of https://github.com/grulja/tigervncPierre Ossman2018-11-215-14/+32
|\ \
| * | Fix memory leaksJan Grulich2018-11-203-10/+25
| | |
| * | Check correct return codeJan Grulich2018-11-202-4/+7
| | |
* | | Merge branch 'exittimer' of https://github.com/CendioOssman/tigervncPierre Ossman2018-11-095-3/+17
|\ \ \
| * | | Get rid of SocketServer::checkTimeouts()Pierre Ossman2018-11-092-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | It doesn't belong on each socket server object as timers are global. Force implementations to call the Timer system directly instead, avoiding any middle men.
| * | | Properly terminate server on timeoutsPierre Ossman2018-11-094-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | Do a proper cleanup when one of the termination timeouts trigger rather than just exiting on the spot. This makes sure we don't leave stray stuff around, e.g. unix socket files.
* | | | Merge branch 'vncserver' of https://github.com/CendioOssman/tigervncPierre Ossman2018-11-095-75/+90
|\| | |
| * | | Inherit SocketServer directly from VNCServerPierre Ossman2018-10-263-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes VNCServer a sufficiently complete interface that callers don't need to know about the specific implementation (VNCServerST currently). And assuming that all servers will use sockets is not that outrageous.
| * | | Encapsulate client handling in VNCServerSTPierre Ossman2018-10-261-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | Removed the last parts of VNCSConnectionST's back door in to VNCServerST and let the parent class fully handle coordination of clients, and access to the desktop.