aboutsummaryrefslogtreecommitdiffstats
path: root/unix/x0vncserver
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'zrlee-compression-level' of ↵Pierre Ossman2023-11-201-6/+0
|\ | | | | | | https://github.com/adamhalim/tigervnc-suite
| * Use compressionLevel in ZRLEEncoderAdam Halim2023-11-201-6/+0
| | | | | | | | | | | | This change makes the ZRLEEncoder respect a client's desired compressionLevel. The ZlibLevel option is marked deprecated and removed from the manpages.
* | Fix description of "%u" in manual pages.Carlos Santos2023-10-041-2/+1
| | | | | | | | | | | | | | | | | | We user the real, not the effective user ID, to check if the user is allowed to log in with the "Plain" security types. Otherwise it would be necessary to log in as root when Xvnc is installed with the set-user-id bit on. Signed-off-by: Carlos Santos <casantos@redhat.com>
* | Support the "%u" username alias in PlainUsersCarlos Santos2023-10-031-2/+3
| | | | | | | | | | | | | | | | | | | | | | This permits to enable PAM for the effective user of the Xvnc process by adding this to ~/.vnc/config or /etc/tigervnc/vncserver-config-defaults: SecurityTypes=TLSPlain PlainUsers=%u Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2233204 Signed-off-by: Carlos Santos <casantos@redhat.com>
* | More graceful handling of disabled listenersPierre Ossman2023-09-081-5/+16
| | | | | | | | | | | | Don't assume a lack of TCP listeners means the server will be unreachable. There might be other methods of access, so let the higher levels do that sanity check instead.
* | Only set up TCP filter for TCP connectionsPierre Ossman2023-09-081-7/+7
|/ | | | This will not do the correct thing for Unix sockets.
* Fix missing XRandR buildPierre Ossman2023-06-141-1/+4
| | | | Make sure we can actually build without XRandR libraries.
* Fix missing XFixes buildPierre Ossman2023-06-142-0/+4
| | | | Make sure we can actually build without XFixes libraries.
* Fix missing XTest buildPierre Ossman2023-06-142-5/+18
| | | | Make sure we can actually build without XTest libraries.
* Remove unneeded "using namespace"Pierre Ossman2023-06-141-1/+0
| | | | The need for these must have got lost somewhere in the type cleanup.
* Prefer target_include_directories()Pierre Ossman2023-03-311-6/+5
| | | | | It is more specific, and it properly sets up propagation when include directories also need to be used further down a dependency chain.
* Merge branch 'types' of https://github.com/CendioOssman/tigervncPierre Ossman2023-03-026-21/+20
|\
| * Remove unneeded header from SDesktop.hPierre Ossman2023-02-041-0/+1
| | | | | | | | It doesn't use any exceptions, so stop including the header for it.
| * Use std::string instead of CharArrayPierre Ossman2023-02-042-0/+3
| | | | | | | | | | Let's use a more common type instead of something homegrown. Should be more familiar to new developers.
| * Return static char buffer from some methodsPierre Ossman2023-02-041-2/+2
| | | | | | | | | | | | | | | | | | This mimics how some system functions (like inet_ntop()) work, and avoids complexity around ownership of the returned string buffer. The downside is that the string must be consumed directly as it will be overwritten on the next call, but that is not an issue with the current usage.
| * Use StringParameters directlyPierre Ossman2023-02-042-10/+5
| | | | | | | | | | We don't need to make extra copies of the string in most cases, so let's simplify the code and access the string directly when we can.
| * Use stdint typesPierre Ossman2023-02-013-9/+9
| | | | | | | | | | Avoid having our own custom stuff and instead use the modern, standard types, for familiarity.
* | Sanity check when cleaning up keymap changesPierre Ossman2023-02-091-0/+4
|/ | | | | Make sure we don't send a bogus request to the X server in the (common) case that we don't actually have anything to restore.
* Fix incorrect typesPierre Ossman2023-01-051-2/+2
| | | | | These types caused an incorrect signed/unsigned behaviour, so let's make sure we use the appropriate type.
* Explicitly mark unused parametersPierre Ossman2023-01-044-3/+6
| | | | | This allows us to separate accidentally unused, from explicitly unused parameters, which allows us to turn on such checks in the compiler.
* Mark system include paths correctlyPierre Ossman2023-01-041-1/+1
| | | | | This makes sure the compiler doesn't complain about problems in those files.
*-. Merge branches 'x0vncserver-keyboard' and 'zaphod-fixes' of ↵Pierre Ossman2022-12-012-10/+175
|\ \ | | | | | | | | | https://github.com/grulja/tigervnc
| | * x0vncserver: update/display cursor only on correct screen in zaphod modeJan Grulich2022-08-241-7/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We have to check whether we update cursor position/shape only in case the cursor is on our display, otherwise in zaphod mode, ie. when having two instances of x0vncserver on screens :0.0 and :0.1 we would be having the cursor duplicated and actually not funcional (aka ghost cursor) as it would be actually not present. We also additionally watch EnterNotify and LeaveNotify events in order to show/hide cursor accordingly. Change made with help from Olivier Fourdan <ofourdan@redhat.com>
| * | x0vncserver: add new keysym in case we don't find a matching keycodeJan Grulich2022-12-012-3/+122
|/ / | | | | | | | | | | | | | | | | We might often fail to find a matching X11 keycode when the client has a different keyboard layout and end up with no key event. To avoid a failure we add it as a new keysym/keycode pair so the next time a keysym from the client that is unknown to the server is send, we will find a match and proceed with key event. This is same behavior used in Xvnc or x11vnc, although Xvnc has more advanced mapping from keysym to keycode.
* | Don't enable RSA-AES by default in serversPierre Ossman2022-10-141-1/+1
| | | | | | | | | | | | These require a key to have been set up on the server beforehand, so they do not give a good default experience as clients will be unable to connect.
* | Fix SecurityTypes default value in man pagesPierre Ossman2022-09-011-1/+1
| | | | | | | | | | The order is important in the servers, so make sure the man pages follow the code properly.
* | Add support for RSA-AES security typespdlan2022-09-011-2/+12
|/
* Improve logging around screen resizingPierre Ossman2022-01-251-6/+0
| | | | | | Avoid duplication, and add logging for some more error conditions so it's possible to see in the logs why a resize has failed or produced unexpected results.
* Be consistent in including config.hPierre Ossman2021-12-309-0/+36
| | | | | | The generally recommended way is to include it from source files, not headers. We had a mix of both. Let's try to be consistent and follow the recommended way.
* Fix formatting of -rfbport in man pagesPierre Ossman2021-11-091-2/+2
|
* Merge branch 'x0-interface-option' of https://github.com/sotho/tigervncPierre Ossman2021-07-232-2/+14
|\
| * Add -interface option to x0vncserverAlexander Elbs2021-07-232-2/+14
| |
* | Fix build on systems without HOST_NAME_MAXAlex Richardson2021-07-151-13/+9
|/ | | | | | Some operating systems such as FreeBSD don't define a HOST_NAME_MAX macro. The portable approach to determine the real host name limit is calling sysconf(_SC_HOST_NAME_MAX) so do that instead.
* Correctly handle screen layout with offsetPierre Ossman2021-06-171-5/+8
| | | | | | We miscalculated the screen layout if the geometry had an offset as we adjusted the real screen layout to account for the offset, but compared it to the unadjusted geometry.
* Use <user>@<hostname> as the default desktop namePierre Ossman2021-06-132-1/+41
| | | | | Is a lot more useful default than the previous "x11", or "x0vncserver". At the same time give x0vncserver a parameter to change the name.
* Don't list clipboard parameters for x0vncserverPierre Ossman2021-06-112-8/+5
| | | | | Better to just hide these parameters rather than stating that they are unused in the man page.
* Maintain static screen DPI on resizePierre Ossman2021-04-081-9/+9
| | | | | | Trying to dynamically track the DPI did not really work as we'd start accumulating errors and eventually the DPI would start to drift. Instead maintain a fixed, sensible DPI at all times.
* Add support for notifying clients about pointer movementslhchavez2021-03-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | This change adds support for the VMware Mouse Position pseudo-encoding[1], which is used to notify VNC clients when X11 clients call `XWarpPointer()`[2]. This function is called by SDL (and other similar libraries) when they detect that the server does not support native relative motion, like some RFB clients. With this, RFB clients can choose to adjust the local cursor position under certain circumstances to match what the server has set. For instance, if pointer lock has been enabled on the client's machine and the cursor is not being drawn locally, the local position of the cursor is irrelevant, so the RFB client can use what the server sends as the canonical absolute position of the cursor. This ultimately enables the possibility of games (especially FPS games) to behave how users expect (if the clients implement the corresponding change). Part of: #619 1: https://github.com/rfbproto/rfbproto/blob/master/rfbproto.rst#vmware-cursor-position-pseudo-encoding 2: https://tronche.com/gui/x/xlib/input/XWarpPointer.html 3: https://hg.libsdl.org/SDL/file/28e3b60e2131/src/events/SDL_mouse.c#l804
* Added the ability to listen on both Unix socket and TCP port.Jocelyn Le Sage2021-02-042-3/+6
| | | | Setting `rfbport` to `-1` disables TCP port listening.
* Merge branch 'noblock' of https://github.com/CendioOssman/tigervncPierre Ossman2021-01-193-11/+13
|\
| * Change streams to be asynchronousPierre Ossman2020-05-212-8/+0
| | | | | | | | | | | | | | | | | | | | Major restructuring of how streams work. Neither input nor output streams are now blocking. This avoids stalling the rest of the client or server when a peer is slow or unresponsive. Note that this puts an extra burden on users of streams to make sure they are allowed to do their work once the underlying transports are ready (e.g. monitoring fds).
| * Handle clients lost during queryingPierre Ossman2020-05-211-2/+12
| |
| * Check buffer usage with a simply booleanPierre Ossman2020-05-211-1/+1
| | | | | | | | | | External callers don't need to know the exact details, only if there is data that needs to be flushed or not.
* | Update keycode maps to latest versionPierre Ossman2020-11-162-10/+14
|/ | | | Mainly fixes for Japanese and Korean keyboard layouts.
* Use standard install dir variable namesPierre Ossman2020-03-121-2/+2
| | | | | This makes our builds directly compatible with most distributions without packagers/users having to specify extra flags.
* Encapsulate PixelBuffer internal detailsPierre Ossman2019-11-151-7/+2
| | | | | | 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.
* Clean up internal clipboard handlingPierre Ossman2019-07-012-2/+2
| | | | | | 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.
* 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.
* 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
|\