aboutsummaryrefslogtreecommitdiffstats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* Move getUserPasswd()/showMsgBox() to CConnectionKang Lin2024-08-302-0/+23
| | | | | Problems with the original code: A process can only establish one connection. After modification, multiple connections can be supported.
* Remove unused setPixelFormat() callbackPierre Ossman2024-08-122-8/+1
| | | | | This was made obsolete in dd45b44 when we extended the serverInit() callback.
* Better type for pointer button maskPierre Ossman2024-08-121-3/+3
| | | | | This is a very limited bit field, so use an 8 bit type to clearly show how many bits are available.
* Avoid shadowing variablesPierre Ossman2024-06-242-5/+5
| | | | | It's a source of confusion and possibly bugs to reuse the same variable name for multiple things.
* Mark overridden virtual functionsPierre Ossman2024-06-245-36/+36
| | | | | Use the new "override" keyword to properly differentiate between new virtual methods, and existing virtual methods being overridden.
* Use nullptr in all C++ codePierre Ossman2024-06-245-22/+22
| | | | | It's more readable than 0, and a bit safer than NULL, so let's try to follow modern norms.
* Merge branch 'casantos-rhbz_2180903' of https://github.com/casantos/tigervncPierre Ossman2024-05-201-2/+5
|\
| * vncconfig: add option to force view-only remote client connectionsCarlos Santos2024-04-261-0/+3
| | | | | | | | | | | | | | | | 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>
| * Move the AccessRights type and constants to the rfb namespaceCarlos Santos2024-04-231-2/+2
| | | | | | | | | | | | | | | | | | 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>
* | Implement XDG Base Directory paths, deprecate ~/.vnc902024-04-261-0/+5
|/
* Prevent incorrect cmake usagePierre Ossman2023-12-281-0/+4
| | | | | | | | | | It's a reoccurring issue that users try to build individual components by pointing cmake at a specific subdirectory, e.g. 'cmake vncviewer'. CMake, unfortunately, has insufficient protection against this so we'll need to add a manual check. This commit only adds it to the most likely places for misuse so we don't have to pollute every CMakeLists.txt.
* Merge branch 'types2' of https://github.com/CendioOssman/tigervncPierre Ossman2023-06-301-0/+54
|\
| * Don't allow surrugate code points in UTF-8Pierre Ossman2023-06-301-0/+5
| | | | | | | | | | | | These are not valid outside of UTF-16 so seeing them in a UTF-8 sequence means that something is wrong with that sequence. Best to filter them out rather than letting them propagate and have unknown effects.
| * Clean up string encoding handlingPierre Ossman2023-06-301-0/+49
| | | | | | | | | | | | We should handle this in the low-level protocol code as much as possible to avoid mistakes. This way the rest of the code can assume that strings are always UTF-8 with \n line endings.
* | Prefer target_include_directories()Pierre Ossman2023-03-312-3/+3
|/ | | | | It is more specific, and it properly sets up propagation when include directories also need to be used further down a dependency chain.
* Remove custom CharArray typePierre Ossman2023-02-041-0/+1
| | | | | It has now been replaced, mostly by std::string, so remove the actual type definition.
* Return std::string instead of dynamic allocationsPierre Ossman2023-02-044-31/+18
| | | | | | We mostly use classical C strings, but the memory management around them can get confusing and error prone. Let's use std::string for the cases where we need to return a newly allocated string.
* Use stdint typesPierre Ossman2023-02-015-36/+36
| | | | | Avoid having our own custom stuff and instead use the modern, standard types, for familiarity.
* Explicitly mark unused parametersPierre Ossman2023-01-0411-17/+20
| | | | | 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-042-3/+3
| | | | | This makes sure the compiler doesn't complain about problems in those files.
* Ignore whitespace around components of host-and-port specificationCatherine Tower2022-09-011-0/+12
| | | | This is to make the code more tolerant of typos when entering a hostname
* Move include_directories() to proper placesPierre Ossman2022-08-252-3/+3
| | | | We should scope these as narrowely as possible to avoid side effects.
* Add missing FLTK include statementsAlbrecht Schlosser2022-07-071-0/+1
| | | | Add also missing <stdlib.h> where required.
* Fix up ffmpeg header and library handlingPierre Ossman2022-06-071-1/+0
| | | | | FFMPEG is needed by the RFB library, so all the details about it should only be applied there and not for other components.
* Avoid temporary cmake variablesPierre Ossman2022-06-071-8/+7
| | | | | Modern cmake has better support for adding source files and libraries incrementally, so let's use that to clean things up.
* H264 DecoderVladimir Sukhonosov2022-01-211-0/+1
| | | | Linux implementation using ffmpeg
* Be consistent in including config.hPierre Ossman2021-12-3012-0/+48
| | | | | | 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.
* Allow building with -DBUILD_VIEWER=OFFAlex Richardson2021-07-151-23/+25
| | | | | Without this change I get CMake errors due to use of ${FLTK_INCLUDE_DIR} and references to the non-existent vncviewer target.
* Support the VMware Cursor Position extension on vncviewerlhchavez2021-03-112-0/+10
| | | | | | | | This change makes it possible for re-synchronizing the remote cursor on the vncviewer when in fullscreen mode. This is done by locally moving the cursor position to what the server thinks it should be. Now SDL games should work!
* Merge branch 'noblock' of https://github.com/CendioOssman/tigervncPierre Ossman2021-01-192-13/+14
|\
| * Change streams to be asynchronousPierre Ossman2020-05-212-3/+10
| | | | | | | | | | | | | | | | | | | | 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).
| * Simplify stream availability handlingPierre Ossman2020-05-212-10/+4
| | | | | | | | | | Just have a simply number of bytes argument to avoid a lot of complexity.
| * Add stream avail() methodsPierre Ossman2020-05-212-4/+4
| | | | | | | | | | Makes it more readable to write code that needs to know how much data/space is available in a stream.
* | Correctly handle invalid UTF-16 code pointsPierre Ossman2020-10-051-0/+2
| | | | | | | | | | Some code points are reserved for the UTF-16 coding itself and must not appear as input data to the algorithm.
* | Fix conversion of latin-1 to UTF-8Pierre Ossman2020-10-051-0/+34
| | | | | | | | Signed bug prevented anything not ASCII from being coded correctly.
* | Fix UTF-16 encoding/decoding of high code pointsPierre Ossman2020-10-051-0/+4
| | | | | | | | | | Everything outside of BMP was handled incorrectly and was coded as completely different code points.
* | Return the correct number of consumed UTF-8 bytesPierre Ossman2020-10-052-0/+168
| | | | | | | | | | | | | | | | This would mess up most conversions from UTF-8 as the caller wouldn't know how far to step to get to the next valid character, resulting in markers for invalid data to be injected here and there. Also add some unit tests to avoid this reoccurring.
* | Update gesture unit test to cover angle cornercaseSamuel Mannehed2020-06-151-3/+3
| | | | | | | | | | | | If the difference in angle is larger than 180 degrees we hit a corner case. This commit modifies the coordinates of an existing test to cover this.
* | Improve names of many gesturehandler unit testsSamuel Mannehed2020-06-051-24/+24
| | | | | | | | Makes it easier to understand what the tests do.
* | Remove unnecessary touchEnd from unit testsSamuel Mannehed2020-06-051-1/+0
| |
* | Use mingw's stdio routines where neededPierre Ossman2020-05-311-7/+4
| | | | | | | | It allows us to use the more standard format specifiers.
* | Implement touch gesture handling on UnixAaron Sowry2020-05-292-0/+1248
| | | | | | | | | | Allows the user to perform certain important mouse operations using touch gestures instead.
* | Fix position for click and drag with EmulateMBAlex Tanskanen2020-05-261-2/+60
| | | | | | | | | | | | | | If you have the setting "Emulate middle mouse button" turned on, a click and drag can fail if it is done very quickly. The position of the initial click will be incorrect in such a case because the timeout will delay events.
* | Add unit tests for EmulateMBAlex Tanskanen2020-05-262-0/+433
|/
* Fix framebuffer setup in encperfPierre Ossman2020-02-271-2/+3
| | | | We adapted to the wrong new callback in a previous commit.
* Provide dummy output for dummy client connectionsPierre Ossman2020-02-272-2/+54
| | | | | The CConnection base class wants to be able to write things these days, so we need to provide it a place to do so.
* Handle pixel formats with odd shift valuesPierre Ossman2019-11-151-0/+6
| | | | | | | | | Our fast paths assume that each channel fits in to a separate byte. That means the shift needs to be a multiple of 8. Start actually checking this so that a client cannot trip us up and possibly cause incorrect code exection. Issue found by Pavel Cheremushkin from Kaspersky Lab.
* Add unit tests for PixelFormat.is888() detectionPierre Ossman2019-11-151-1/+59
|
* Use size_t for lengths in stream objectsPierre Ossman2019-11-151-5/+5
| | | | | | | | Provides safety against them accidentally becoming negative because of bugs in the calculations. Also does the same to CharArray and friends as they were strongly connection to the stream objects.
* Add sanity checks for PixelFormat shift valuesPierre Ossman2019-11-151-0/+6
| | | | | | | | | | | | Otherwise we might be tricked in to reading and writing things at incorrect offsets for pixels which ultimately could result in an attacker writing things to the stack or heap and executing things they shouldn't. This only affects the server as the client never uses the pixel format suggested by th server. Issue found by Pavel Cheremushkin from Kaspersky Lab.