aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Use $XDG_STATE_HOME for known hosts storagePierre Ossman2024-05-303-4/+8
| | | | | This is an often changed database, so it is better suited for $XDG_STATE_HOME rather than the more static $XDG_DATA_HOME.
* Only do restorecon() for legacy directoryPierre Ossman2024-05-301-12/+12
| | | | | This is only needed because of an historical type change of the legacy directory, so avoid doing it anywhere else.
* Fix late vncsession loggingPierre Ossman2024-05-301-0/+7
| | | | | | | | | The syslog file descriptor will be closed when we are cleaning up in preparation for running the vncserver script, so we need to explicitly reopen things in case we need to log errors. At the same time, try to be polite and explicitly close the log when appropriate.
* Respect PAM modules for $XDG_STATE_HOMEPierre Ossman2024-05-301-3/+16
| | | | | E.g. pam_env.so might modify this variable, so we should see what we get out of PAM when building a log file path.
* Add comment that PAM configuration is an examplePierre Ossman2024-05-201-0/+4
| | | | | | There is too much variation between distributions for us to have a good PAM configuration that works everywhere. Try to make this more obvious by having a comment at the top of the file.
* Merge branch 'casantos-rhbz_2180903' of https://github.com/casantos/tigervncPierre Ossman2024-05-2036-159/+238
|\
| * vncconfig: add option to force view-only remote client connectionsCarlos Santos2024-04-2617-29/+49
| | | | | | | | | | | | | | | | Specifies that the server must ignore all keyboard or mouse events sent by the client. Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2180903 Signed-off-by: Carlos Santos <casantos@redhat.com>
| * Remove the network::SocketServer interface.Carlos Santos2024-04-2611-72/+75
| | | | | | | | | | | | | | Move these RFB specific things to rfb::VNCServer, for clarity. Signed-off-by: Pierre Ossman <ossman@cendio.se> Signed-off-by: Carlos Santos <casantos@redhat.com>
| * Move the AccessRights type and constants to the rfb namespaceCarlos Santos2024-04-2317-60/+116
| | | | | | | | | | | | | | | | | | They must belong to the rfb namespace, not to the SConnection class. Also add an AccessNone constant, since it's better to use a mnemonic symbol rather than zero to initialize the accessRights members. Signed-off-by: Carlos Santos <casantos@redhat.com>
* | Don't check pointers for zero length buffersPierre Ossman2024-05-202-4/+4
| | | | | | | | | | It's perfectly fine to give a NULL pointer if the length has explicitly been specified as zero.
* | Merge pull request #1737 from 62832/fix-1195Samuel Mannehed (ThinLinc team)2024-05-0730-167/+380
|\ \ | | | | | | Allow for alternative user config locations, deprecate `~/.vnc` in favour of XDG Base Directory Specification paths
| * | Implement XDG Base Directory paths, deprecate ~/.vnc902024-04-2628-174/+292
| | |
| * | Begin work on XDGBDS compliance and overrideable configs902024-03-159-56/+151
| | |
* | | Add .gitignore for SELinux filesPierre Ossman2024-04-261-0/+2
| | |
* | | Don't trigger build from install targetPierre Ossman2024-04-261-1/+1
| | | | | | | | | | | | | | | | | | The norm is that the install target is read only from the point of view of the source and build directory, so avoid accidentally triggering any build.
* | | Clean up temporary SELinux directoryPierre Ossman2024-04-261-0/+1
| | |
* | | Overwrite vncsession.pp.bz2 each timePierre Ossman2024-04-261-1/+1
| |/ |/| | | | | | | Make it easier to work iteratively by not having to remove the output file each time.
* | Use XQueryPointer() instead to detect zaphodPierre Ossman2024-04-101-4/+8
| | | | | | | | | | | | FLTK can send events with fl_xevent pointing to random memory, which means that we cannot trust that structure. XQueryPointer() can give us what we need, at the cost of an extra round trip.
* | Correctly set socket write notificationPierre Ossman2024-04-091-2/+0
| | | | | | | | | | That extra add_fd() only set the read notification, overwriting any write notification set up in the lines just above.
* | Update github actions to latest versionsPierre Ossman2024-04-021-11/+11
| | | | | | | | Primarily to avoid the versions that are now deprecated.
* | Merge pull request #1742 from TigerVNC/issue843Brian Hinz2024-03-301-18/+15
|\ \ | |/ |/| Fix for issue 843
| * Fix for issue 843Brian P. Hinz2024-03-301-18/+15
|/
* Don't link gcrypt for static GnuTLSPierre Ossman2024-03-151-5/+0
| | | | | | GnuTLS seems to have dropped grypt support ages ago, so let's not confuse things by assuming it might be needed when linking GnuTLS statically.
* Properly propagate CursorWarpedTo()Pierre Ossman2024-03-141-0/+5
| | | | | Although unlikely, there might be other parts of the X server that are also interested in this call. Make sure we propagate things on properly.
* Clarify AcceptPointerEvents settingPierre Ossman2024-02-063-3/+3
| | | | | It doesn't just control button events, but all types of pointer events, including movement.
* Fix shared memory leakAdam Halim2024-01-261-1/+1
| | | | | | | | The MIT-SHM documentation: https://www.x.org/releases/X11R7.7/doc/xextproto/shm.html says to run XShmDetach() first, and then to destroy the segment. (cherry picked from commit 585ee24d4cd81759ca7206d5d5181a491c2e8898)
* Increase time required to override pointerClientSamuel Mannehed2024-01-261-1/+1
| | | | | | | | | | | | | | | | | | Mouse events in shared connections are locked to one viewer at a time. If the a mouse drag is happening in the first viewer, the second viewer can't interfere unless the first viewer has been inactive for a set amount of time. This timeout was put in place in 71c83b479335337b25dc331d3fb4a6e29382ceb5 to handle the case where the first viewer disconnects while the mouse drag is happening. Prior to the timeout, this resulted in all input being blocked. This commit increases this timeout from 3 seconds to 10 seconds. This is to minimize the risk of this happening during "normal" use. With this change, the first viewer has to be inactive for 10 seconds before the second viewer can take control again. In the case where the first viewer disconnects, a waiting time of 10 seconds for the second viewer seems very reasonable.
* Break long lines in new pointerEvent logicSamuel Mannehed2024-01-261-3/+4
|
* Fix bad variable reference in file loggerPierre Ossman2024-01-251-1/+1
|
* Merge pull request #1718 from MikeLooijmans/server-mousebuttonowner-timeoutlinma (ThinLinc team)2024-01-252-2/+8
|\ | | | | VNCServerST: Add a timeout to pointer button ownership
| * VNCServerST: Add a timeout to pointer button ownershipMike Looijmans2024-01-222-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When one clients holds down a button on the pointer device (probably dragging something), other clients' attempts at pointer operations are denied. This yields a sane user experience, but with limits. When one clients starts dragging, and then his network connection fails, other clients are denied access to the pointer until the VNC server finally discovers that the connection is dead and closes it. This can take about 15 minutes. Add a timeout to this policy: If we don't hear from the client for 3 seconds, other clients are allowed to control the pointer once more. This solves the problem that one failing network could make the server completely deaf to other clients for a long time. Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl>
* | Set all HAVE_ macros on the top levelPierre Ossman2024-01-244-9/+18
| | | | | | | | This keep everything consistent.
* | Remove superfluous X11_FOUND checkPierre Ossman2024-01-241-4/+4
| | | | | | | | It is REQUIRED in this context, so we can assume X11 has been found.
* | Merge branch 'systemd' of https://github.com/CendioOssman/tigervncPierre Ossman2024-01-245-3/+64
|\ \ | |/ |/|
| * Document optional libsystemd requirementPierre Ossman2024-01-241-0/+3
| |
| * Allow combining socket activation and extra portsPierre Ossman2024-01-242-36/+50
| | | | | | | | | | | | The common use case is probably to only listem to the systemd provided socket when using socket activation, but it might not be the only use case. Make sure things can be combined if explicitly requested.
| * Log when sd_listen_fds() failsPierre Ossman2024-01-241-0/+5
| |
| * Use SD_LISTEN_FDS_START constantPierre Ossman2024-01-241-4/+2
| | | | | | | | Avoid magical numbers as it makes it hard to understand the code.
| * Make systemd detection more robustPierre Ossman2024-01-241-1/+6
| | | | | | | | | | We don't need to look for this on Windows or macOS, and we need to be able to gracefully handle systems without pkg-config.
| * x0vncserver: Add support for systemd socket activationMike Looijmans2024-01-124-29/+65
| | | | | | | | | | | | | | | | | | | | systemd can pass in sockets as file descriptors 3 and beyond. Allows the server to use socket activation. When triggered by systemd, no other listening sockets (e.g. rfbport) will be activated. Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl>
* | VNCSConnectionST: Release mouse button(s) on closeMike Looijmans2024-01-151-0/+3
|/ | | | | | | | | | | | | | | | | | | | | When the connection is severed, release all mouse buttons. This fixes an issue with x0vncserver where the local display would stop responding to mouse events if the connection closes while the remote user was holding down a mouse button. To reproduce, start a VNC client, press and hold a mouse button and then kill the connection (e.g. close client, kill server, yank network cable). This caused the local screen to no longer respond to any mouse-down events until a VNC client reconnects and clicks anywhere. This may inject a "mouse release" event while closing, however, if you click on your screen and then yank the mouse cable, a mouse release event also would not come unexpectedly, so the cure's side effects aren't as bad as the disease. Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl>
* Set Pixmap depths after creating visualsPierre Ossman2024-01-101-2/+2
| | | | | This affects the ordering of visuals, which breaks some buggy applications that assume the first visual is the root window visual.
* Update copyright year to 2024Samuel Mannehed2024-01-099-10/+10
|
* Xvnc: do not use dup2() to create a file descriptor for -inetd optionJan Grulich2024-01-081-2/+4
| | | | | | | Use dup() instead to get an available file descriptor to avoid hijacking already existing descriptor. Fixes #1709
* Merge branch 'master' of https://github.com/zmudc/tigervncPierre Ossman2023-12-282-9/+39
|\
| * Add option to run vncsession without forking and detachingChuck Zmudzinski2023-11-202-9/+39
| | | | | | | | | | | | | | | | | | | | | | | | Option is -D, which is what sshd uses for the same option. Also add description of the new option to the vncsession man page. Tested on Void Linux using the new option, also tested on Fedora without using the new option. Resolves #1649
* | Merge branch 'master' of https://github.com/LMattsson/tigervncPierre Ossman2023-12-281-11/+14
|\ \
| * | Update server configure example to RHEL 9Linn Mattsson2023-12-221-8/+5
| | | | | | | | | | | | | | | Some of the flags have been removed and we don't need to consider 32-bit libraries anymore.
| * | Remove unnecessary step from building the serverLinn Mattsson2023-12-221-1/+0
| | | | | | | | | | | | | | | It seems this folder is created when building the vncviewer, which has to be built before the server.
| * | Clarify details about requirements in BUILDING.txtLinn Mattsson2023-12-221-1/+5
| | |