aboutsummaryrefslogtreecommitdiffstats
path: root/common/rfb
Commit message (Collapse)AuthorAgeFilesLines
...
| | | * Remove server and viewer config typesPierre Ossman2025-01-078-111/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | We don't consistently use these, so they are just confusing. Instead, we rely on the linker to not include unnecessary objects, and hence irrelevant configuration objects.
| | | * Don't save parameters with default valuesPierre Ossman2025-01-072-0/+6
| | | | | | | | | | | | | | | | | | | | This allows smooth upgrades for users if the defaults change in the future.
| | | * Remove legacy StringParameter code/commentPierre Ossman2025-01-072-6/+0
| | | | | | | | | | | | | | | | This should have been cleaned up in adaedc9.
| | | * Remove unused config isBool() methodPierre Ossman2025-01-072-15/+0
| |_|/ |/| |
| | * Remove Logger_File mutexPierre Ossman2025-01-102-9/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | This is not providing protection for all of the logging, so it gives a false sense of security. We're also not making use of this as we have barely any threading. The exception is the WinVNC code, which is very thread heavy. But it is unmaintained and will not be a blocker for this.
| | * Remove Configuration mutexPierre Ossman2025-01-102-16/+0
| | | | | | | | | | | | | | | | | | | | | | | | This is not providing adequate protectection in more complex cases, and we're not making use of threads in a way that should require this. The exception is the WinVNC code, which is very thread heavy. But it is unmaintained and will not be a blocker for this.
| | * Avoid logging in H.264 decoderPierre Ossman2025-01-104-53/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | Decoders are run in threads, and not everything in the logging system is thread safe. Normally decoders consider errors to be fatal and throw an exception. But the H.264 decoder wants to be able to tolerate misbehaving H.264 encoders.
| | * Use normal constructor/destructor for H.264 contextsPierre Ossman2025-01-107-48/+13
| | |
| | * Always reset H.264 contexts the same wayPierre Ossman2025-01-104-12/+8
| | | | | | | | | | | | | | | | | | Reset individual contexts the same way we reset all contexts, i.e. by deleting and recreating them. Avoids surprises by having a consistent method.
| | * Throw exceptions directly in H.264 init routinesPierre Ossman2025-01-066-45/+25
| | | | | | | | | | | | | | | A false return value from these methods result in an exception anyway, so let's keep things simple and throw the exception right away.
| | * Add missing stddef.h include to Decoder.hPierre Ossman2025-01-061-0/+1
| | | | | | | | | | | | It uses the size_t type, which might not otherwise be defined.
| | * Remove mutexes from H.264 decoder and friendsPierre Ossman2025-01-066-20/+0
| |/ |/| | | | | | | The decodered is already flagged as strictly ordered, which means it will only be used from a single thread at a time.
| * Remove Configuration::set() with lengthPierre Ossman2025-01-102-17/+4
| | | | | | | | | | This was a weird hack just to support the method that split arguments. We don't need this know as we expect callers to do any string handling.
| * Fix handling of bool on/off argumentsPierre Ossman2025-01-101-0/+2
| | | | | | | | | | These two values were overlooked in the look-ahead list and hence did not work reliably.
| * Consolidate argument parsing in single functionPierre Ossman2025-01-102-31/+72
| | | | | | | | | | Avoid duplicating this complexity everywhere and make sure all commands get the same handling and fixes.
| * Remove unused Configuration methodsPierre Ossman2024-12-031-9/+0
| | | | | | | | These never even had an implementation.
* | Fix log name typo for SSecurityRSAAESPierre Ossman2024-12-171-1/+1
| |
* | Always flush sockets on shutdown()Pierre Ossman2024-12-179-19/+72
| | | | | | | | | | | | | | | | The system shutdown() function doesn't drop buffered data, so neither should we. We had one fix in place, but that didn't cover all cases. Move this handling to all socket like classes we have.
* | Reduce header includes in TLS/RSA-AES headersPierre Ossman2024-12-174-9/+26
| | | | | | | | We can make do with forward declarations for these classes.
* | Fix bad restore point handling in RSA-AES handlerPierre Ossman2024-12-171-1/+1
| | | | | | | | | | A set restore point needs to be used or cleared. Release builds will let this slide, but debug builds will kill the connection.
* | Fix encoder solid area detectionPierre Ossman2024-12-072-19/+25
| | | | | | | | | | | | | | This got completely broken in baca73d0 where the templated method got incorrectly called instead of the wrapper/multiplexer. It seems to have been harmless on most systems, but caused crashes on CPUs with strict memory alignment requirements.
* | Merge branch 'keysplit' of https://github.com/CendioOssman/tigervncPierre Ossman2024-12-042-0/+107
|\ \ | |/ |/|
| * Move keyboard tracking to CConnectionPierre Ossman2024-12-042-0/+107
| | | | | | | | | | | | This is a general thing so move it in to the core library instead, letting vncviewer focus on just translation of system events to VNC ones.
* | Mark all exception type methods as noexceptPierre Ossman2024-11-261-5/+5
| | | | | | | | | | This is required for the built in exceptions, so let's do the same to avoid surprises.
* | Don't save exceptions as std::exceptionPierre Ossman2024-11-261-1/+1
| | | | | | | | | | | | That type is not guaranteed to preserve anything useful at all. Instead, try to either preserve a more specific type, or use std::runtime_error which at least has a guaranteed message.
* | Change some assertions to exceptionsPierre Ossman2024-11-222-2/+6
| |
* | Capitalize some more logging and exceptionsPierre Ossman2024-11-2217-84/+84
| |
* | Merge branch 'master' of https://github.com/madnicendio/tigervncPierre Ossman2024-11-2212-33/+33
|\ \
| * | Capitalize first letter in log, exception & errorMadeleine Nilsson2024-11-218-29/+29
| | | | | | | | | | | | The reason for this is to keep a consistency through out the project.
| * | Standardize log message prefix formatMadeleine Nilsson2024-11-111-2/+2
| | | | | | | | | | | | The reason for this is to keep a consistency through out the project.
| * | Standardize on sentence case in titlesMadeleine (ThinLinc team)2024-11-113-3/+3
| | | | | | | | | | | | The reason for this is to keep a consistency through out the project.
* | | Add missing stdexcept includePierre Ossman2024-11-181-0/+3
| | | | | | | | | | | | | | | The issue was masked by it getting included by the TLS headers. But if GnuTLS was disabled, then this file would fail to build.
* | | Merge branch 'mouse-button-support' of https://github.com/CendioHalim/tigervncPierre Ossman2024-11-1823-18/+145
|\ \ \
| * | | vncviewer: support for back/forward mouse buttonsAdam Halim2024-10-228-6/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit implements the pseudo-encoding ExtendedMouseButtons which makes it possible to use the back/forward mouse buttons. This commit contains work originally done by PixelSmith <manny33@frontbuffer.com>.
| * | | Add server support for forward/back mouse buttonsAdam Halim2024-10-2215-12/+97
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds support for the pseudo-encoding ExtendedMouseButtons in Xvnc and x0vncserver, which makes it possible to use to use the back/forward mouse buttons. This commit contains work originally done by PixelSmith <manny33@frontbuffer.com>.
* | | | Use standard library naming for exceptionsPierre Ossman2024-11-0625-156/+158
| | | | | | | | | | | | | | | | | | | | This makes things more consistent since we mix with the standard library exceptions so often.
* | | | Replace base exception class with standard libraryPierre Ossman2024-11-063-15/+18
| | | | | | | | | | | | | | | | | | | | There is no point to having our own generic exception class. Let's use the one provided by the standard C++ library.
* | | | Use specific class for protocol problemsPierre Ossman2024-11-0619-77/+88
| | | | | | | | | | | | | | | | Make it easier to identify communication issues.
* | | | Use standard exception classesPierre Ossman2024-11-0629-198/+199
| | | | | | | | | | | | | | | | | | | | Use the more specific already included exception classes for common errors to keep things more understandable.
* | | | Use C++ allocation for temporary buffersPierre Ossman2024-11-062-20/+12
| | | | | | | | | | | | | | | | | | | | Implicitly gives us the correct exceptions on errors instead of us having to check and throw ourselves.
* | | | Subclass exceptions from std::exceptionPierre Ossman2024-11-066-27/+26
| | | | | | | | | | | | | | | | | | | | Make sure our exceptions are part of the standard exception class hierarchy.
* | | | Use what() to access exception descriptionPierre Ossman2024-11-064-23/+23
| | | | | | | | | | | | | | | | Harmonize with the standard C++ exceptions.
* | | | Use static string for exceptionsPierre Ossman2024-11-0614-69/+86
| |/ / |/| | | | | | | | | | | In preparation for using the built in C++ exception classes, which do not accept a format string.
* | | Explicitly tag getHostAndPort() as inlinePierre Ossman2024-10-171-2/+2
| |/ |/| | | | | | | Otherwise the compiler will complain about a defined but unused static function.
* | Merge branch 'errno' of github.com:CendioOssman/tigervncPierre Ossman2024-10-091-2/+2
|\ \
| * | Split SystemException to handle WindowsPierre Ossman2024-10-091-2/+2
| |/ | | | | | | | | | | | | | | | | | | | | | | | | Windows has (at least) two error namespaces, both errno and GetLastResult(). These overlap, so it is important we keep track of which one we are dealing with. To make things extra problematic, the BSD socket API normally uses errno, but on Windows it has been mapped in to the GetLastResult() namespace. Try to keep better control of this by using separate classes for the namespaces.
* / More carefully release mouse buttons on closePierre Ossman2024-09-242-4/+4
|/ | | | | | | | | | | | | Only the client that currently has buttons pressed should actually send a release event as the client might not be currently in control of the pointer state. This is most clearly seen in a client that hasn't event authenticated properly yet. Approximate this from the server by using the last known server cursor position. It should hopefully not differ much from the last client provided position. Follow-up to 986280b382d57ef4f68d2d4afb13b26772e5acb0.
* Add more usage of SystemExceptionPierre Ossman2024-09-041-2/+3
| | | | | Prefer this exception for failures involving errno as it gives a better error description.
* Fix reporting of some TLS errorsPierre Ossman2024-09-042-22/+20
| | | | | These functions return a GnuTLS status, so we should use the correct exception for that so we get the proper error messages.
* Correctly handling rejecting server keyPierre Ossman2024-09-041-1/+1
| | | | | This is the user actively rejecting the connection, and should be signalled as such for correct behaviour.