aboutsummaryrefslogtreecommitdiffstats
path: root/common
Commit message (Collapse)AuthorAgeFilesLines
* Fix incorrect removal of config parametersPierre Ossman2025-01-271-1/+1
| | | | | Bad logic introduced in 28e35d0. Fortunately, nothing currently uses this method.
*---. Merge branches 'argparse', 'nothread' and 'config' of ↵Pierre Ossman2025-01-1019-422/+195
|\ \ \ | | | | | | | | | | | | https://github.com/CendioOssman/tigervnc
| | | * Use "on"/"off" when displaying bool parametersPierre Ossman2025-01-101-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a lot more readable than "0"/"1", which can easily be confused with integer parameters. Note that this breaks some backwards compatibility. Older clients will not be able to parse configuration files generated by newer clients, as they had a bug where they could only understand "0" and "1".
| | | * Sort parameters in -help and man pagesPierre Ossman2025-01-071-0/+3
| | | | | | | | | | | | | | | | Makes it much easier to find all the different options.
| | | * Use normal iterators for parametersPierre Ossman2025-01-071-25/+5
| | | | | | | | | | | | | | | | | | | | Now that we are based on a normal std::list, we can use normal iterators to go through the parameters.
| | | * Use std::list for config parametersPierre Ossman2025-01-072-33/+34
| | | | | | | | | | | | | | | | Avoid rolling our own linked list when we have the standard library.
| | | * 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-1710-19/+87
| | | | | | | | | | | | | | | | 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.
* | Also mark tls_error with noexceptPierre Ossman2024-11-262-2/+2
| | | | | | | | Overlooked this special exception in the previous commit.
* | Mark all exception type methods as noexceptPierre Ossman2024-11-263-28/+30
| | | | | | | | | | 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-263-7/+15
| | | | | | | | | | | | 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-224-5/+13
| |
* | Capitalize some more logging and exceptionsPierre Ossman2024-11-2223-103/+103
| |
* | Merge branch 'master' of https://github.com/madnicendio/tigervncPierre Ossman2024-11-2216-60/+60
|\ \
| * | Capitalize first letter in log, exception & errorMadeleine Nilsson2024-11-2112-56/+56
| | | | | | | | | | | | 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-0641-241/+243
| | | | | | | | | | | | | | | | | | | | This makes things more consistent since we mix with the standard library exceptions so often.
* | | | Include winsock2.h in Windows errno headerPierre Ossman2024-11-061-0/+2
| | | | | | | | | | | | | | | | Make sure the required Windows defines are always available.
* | | | Replace base exception class with standard libraryPierre Ossman2024-11-068-40/+74
| | | | | | | | | | | | | | | | | | | | 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-0640-238/+246
| | | | | | | | | | | | | | | | | | | | 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-0613-51/+39
| | | | | | | | | | | | | | | | | | | | Make sure our exceptions are part of the standard exception class hierarchy.
* | | | Use what() to access exception descriptionPierre Ossman2024-11-067-28/+28
| | | | | | | | | | | | | | | | Harmonize with the standard C++ exceptions.