aboutsummaryrefslogtreecommitdiffstats
path: root/unix/xserver
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'regions' of https://github.com/CendioOssman/tigervncPierre Ossman2020-06-155-157/+150
|\
| * Get rid of magical assignment to RegionPierre Ossman2020-05-183-23/+17
| | | | | | | | Might as well make these explicit so the cost is apparent.
| * Switch region code to pixmanPierre Ossman2020-05-011-2/+1
| | | | | | | | | | This is the current upstream so let's make use of it to get the latest in features and fixes.
| * 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.
* | Catch errors resizing framebufferPierre Ossman2020-05-231-2/+7
| |
* | Add final line break to FatalError() callsPierre Ossman2020-05-232-7/+7
|/ | | | | It expects the callers to include this, so make sure we're consistently providing one.
* 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.
* Start sessions via PAMPierre Ossman2020-03-121-4/+4
| | | | | | | | | 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.
* 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
|
* Encapsulate PixelBuffer internal detailsPierre Ossman2019-11-152-15/+11
| | | | | | 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.
* Change development version to 1.10.80Pierre Ossman2019-10-181-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-016-25/+18
| | | | | | 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-251-0/+5
| | | | | | 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.
* 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.
* Merge branch 'covscan' of https://github.com/grulja/tigervncPierre Ossman2018-11-213-6/+9
|\
| * Fix memory leaksJan Grulich2018-11-201-2/+2
| |
| * Check correct return codeJan Grulich2018-11-202-4/+7
| |
* | Merge branch 'exittimer' of https://github.com/CendioOssman/tigervncPierre Ossman2018-11-092-1/+8
|\ \
| * | Get rid of SocketServer::checkTimeouts()Pierre Ossman2018-11-091-1/+1
| | | | | | | | | | | | | | | | | | 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-092-0/+7
| | | | | | | | | | | | | | | | | | 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-092-19/+23
|\| |
| * | Inherit SocketServer directly from VNCServerPierre Ossman2018-10-261-2/+2
| | | | | | | | | | | | | | | | | | | | | 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.
| * | Remove QueryConnectionHandlerPierre Ossman2018-10-102-6/+15
| | | | | | | | | | | | | | | Make things simpler by making this a part of the SDesktop interface that always needs to be implemented.
| * | Force common flow of connection queriesPierre Ossman2018-10-092-13/+8
| | | | | | | | | | | | | | | | | | Force queryConnection() to always call back to approveConnection() rather than return special values. This makes the flow easier to follow as it will be the same in all cases.
* | | Merge branch 'nojava' of https://github.com/CendioOssman/tigervncPierre Ossman2018-10-265-176/+1
|\| |
| * | Remove Java web serverPierre Ossman2018-10-095-176/+1
| |/ | | | | | | | | Applets don't work anymore so remove everything that has to do with serving them.
* / Change to https for tigervnc URLPierre Ossman2018-10-192-2/+2
|/ | | | Our main web site now supports https, so update all references.
* Replace Shift+Alt with Shift+Meta when possiblePierre Ossman2018-09-211-0/+24
| | | | | | | | Most layouts on Unix generate Meta for Shift+Alt but non-Unix clients will send XK_Alt_*. This results in us picking some other key which can confuse some applications. Try to detect this scenario and map XK_Alt_* to XK_Meta_*.
* Update NumLock comment now that we have syncPierre Ossman2018-09-211-3/+3
|
* Stop tracking changes for each glyphPierre Ossman2018-09-131-20/+34
| | | | | | We get a whole bunch of very tiny areas, which is very inefficient to deal with. Instead create a rectangle around every "list" of connected glyphs (usually each line).
* Explicitly check screen layout after changePierre Ossman2018-09-111-1/+9
| | | | | | | | There are some cases where the server state will not automatically be updated on a change. A prominent one is when only RFB attributes were changes (e.g. the screen ID) but nothing else. In that case there is no actual change in the X server, so it never sends any notification about change back to us.
* Add a basic gitignoreLauri Kasanen2018-07-112-0/+5
|
* Compile fixes for Xserver 1.9Lauri Kasanen2018-07-092-16/+20
|
* Avoid error/warning about implicit function declarationJan Grulich2018-06-281-0/+3
| | | | | | | Function xorgGlxCreateVendor() is defined in glx_extinit.h, if this header is not included, we might get either error or warning. This header also need to be included after scrninststr.h header as it defines some structures used in glx_extinit.h
* Change development version to 1.9.80Pierre Ossman2018-06-131-1/+1
|
* Add support for X server 1.20.0.Michal Srb2018-06-082-1/+11
| | | | | | In-server GLVND requires xorgGlxCreateVendor call from InitOutput. DPMS functions were moved to another location and no longer need to be faked. xserver120.patch is a copy of xserver119.patch with refreshed contexts.
* Proper cleanup on termination of Xvnc/libvnc.soPierre Ossman2018-05-293-0/+14
|
* Merge common socket codePierre Ossman2018-05-292-2/+2
|
* Add support for Unix socketsPierre Ossman2018-05-292-0/+27
| | | | Patch originally by Dag-Erling Smørgrav for University of Oslo.
* Use abstract SocketListener classPierre Ossman2018-05-044-16/+16
| | | | | Makes the code more general and not directly tied to specifically TCP sockets.