aboutsummaryrefslogtreecommitdiffstats
path: root/common/rfb
Commit message (Collapse)AuthorAgeFilesLines
* Move colour map check to CConnectionPierre Ossman6 days2-0/+10
| | | | | This is a generic thing, not specific to the FLTK viewer. It belongs in the core code.
* Don't force everyone to implement setCursorPos()Pierre Ossman6 days2-0/+5
| | | | | You need to activate the feature by setting supportsCursorPosition, so there is no point in forcing everyone to implement the handler.
* Properly store cursor in ServerParams objectPierre Ossman6 days2-0/+12
| | | | | | We already had a field in the ServerParams structure, but we never actually stored anything in it. Let's fix that so the cursor behaves like other state we get from the server.
* Remove unused CConnection/SConnection callbacksPierre Ossman7 days4-19/+0
| | | | These have never been used for anything and just clutter up the API.
* Move global server checks to VNCServerSTPierre Ossman7 days2-10/+30
| | | | | These are not per-client settings, so let's move the enforcement to the common server object as much as possible.
* Move access checks to SConnectionPierre Ossman7 days2-6/+22
| | | | | | Access bits are part of SConnection, so let it handle all the basic checks as well. This allows us to reduce the complexity of VNCSConnectionST a bit.
* Make CMsgHandler/SMsgHandler pure interfacesPierre Ossman7 days9-465/+227
| | | | | | It's a bit confusing that some handling is done in CMsgHandler/SMsgHandler, and some handling is done in CConnection/SConnection.
* Mark internal connection callbacks as protectedPierre Ossman7 days2-139/+138
| | | | | | These are just for interactions internally within the connection objects and their sub classes. Mark them as protected to make the API more clear, and to avoid accidental use.
* Don't modify user settings in auto modePierre Ossman7 days2-0/+12
| | | | | Only override the actively used values, not the user values that are stored and displayed in the options dialog.
* Log invalid screen layoutPierre Ossman8 days2-3/+21
| | | | | | | To be able to debug exactly what is wrong with the layout. Unfortunately we don't know what log level is used for actual "invalid layout" message, or if it is even logged as all, since that happens elsewhere. So let's be cautious and use a debug log level here.
* Refresh screen on pixel format changePierre Ossman2025-03-203-0/+10
| | | | | | | | | | Make sure everything on screen has a consistent look when the client switches between different pixel formats. Use the lossless refresh mechanism to make sure this doesn't interfere with more important updates. Based on a suggestion by Piotr Henryk Dabrowski.
* Don't wrap exceptions from readRect()Pierre Ossman2025-03-131-6/+2
| | | | | | | | This is a revert of 0ce9fef. The object slicing is causing issues, e.g. when we get a completely expected end_of_stream exception. It's unclear what exceptions we needed this wrapping for. We'll just have to remove it and see what problems we encounter.
* Use std::exception_ptr to store exceptionsPierre Ossman2025-03-132-16/+14
| | | | This is much more robust and flexible than what we came up with.
* Handle very early connection errorsPierre Ossman2025-03-131-3/+9
| | | | | | It's rare, but there are some things that can go wrong in the constructor for a new client object. Make sure we handle these and properly close the socket, rather than leave it dangling.
* Fix bad logic in security types handlingPierre Ossman2025-03-131-1/+1
| | | | Broken in 4ff02ae.
* Convert SecurityTypes to EnumListParameterPierre Ossman2025-03-136-29/+42
|
* Enable unencrypted "Plain" authentiction by defaultPierre Ossman2025-03-131-1/+1
| | | | | The client should support all server security types by default. Unsure why this was overlooked.
* Convert PlainUsers to StringListParameterPierre Ossman2025-03-132-11/+11
|
* Convert RemapKeys to StringListParameterPierre Ossman2025-03-132-31/+37
|
* Remove KeyRemapper mutexPierre Ossman2025-03-132-11/+0
| | | | We don't do multiple threads on the server, so this is not needed.
* Make use of IntParameter range validationPierre Ossman2025-03-065-11/+19
|
* Fix bad forward declarations of StringParameterPierre Ossman2025-03-032-4/+0
| | | | This should have been done as part of cf1bc66.
* Convert conv unit tests to Google TestPierre Ossman2025-02-271-1/+1
|
* Move concurrency abstration layer to corePierre Ossman2025-02-255-26/+22
| | | | | OS abstractions are generic enough that we can merge these with the new core library.
* Move application directory handling to corePierre Ossman2025-02-254-8/+3
| | | | | These are general plumbing, so they fit in nicely with the new core library.
* Rename core/util to core/stringPierre Ossman2025-02-2520-19/+20
| | | | | It's just string helper functions here, so let's get rid of the catch-all name for this module.
* Get rid of __rfbmax()/__rfbmin()Pierre Ossman2025-02-257-28/+40
| | | | | | | | They weren't that well used, and were mostly just confusing special functions anyway. Allows us to move away from generic and ambigious headers such as "util".
* Move time utilities to separate filePierre Ossman2025-02-253-2/+3
| | | | Let's clear things up by categorizing our utility functions.
* Move timers to core libraryPierre Ossman2025-02-2511-343/+27
| | | | | | | Make it clearer what is protocol handling and what is just general plumbing. This is one step of several.
* Move logging to core libraryPierre Ossman2025-02-2538-842/+61
| | | | | | | Make it clearer what is protocol handling and what is just general plumbing. This is one step of several.
* Move configuration to core libraryPierre Ossman2025-02-2531-790/+131
| | | | | | | Make it clearer what is protocol handling and what is just general plumbing. This is one step of several.
* Move base exception classes to core libraryPierre Ossman2025-02-258-11/+4
| | | | | | | Make it clearer what is protocol handling and what is just general plumbing. This is one step of several.
* Move utility functions to core libraryPierre Ossman2025-02-1328-1045/+293
| | | | | | | Make it clearer what is protocol handling and what is just general plumbing. This is one step of several.
* Move basic data types to core libraryPierre Ossman2025-02-1367-772/+464
| | | | | | | Make it clearer what is protocol handling and what is just general plumbing. This is one step of several.
* Remove rfb:: prefix from rfb::RegionPierre Ossman2025-02-131-25/+45
| | | | | We normally avoid specifying a class' own namespace prefix in order to keep the code more compact. Region was the sole exception.
* Use initializer lists for basic data typesPierre Ossman2025-02-1313-39/+41
| | | | | | | | Try to keep the code more compact for the simple things where the type should be obvious from the context. Helps us avoid line wrapping. Also remove explicit conversions to Region where the compiler is able to figure it out by itself, again to reduce line length.
* Move getHostAndPort() to network libraryPierre Ossman2025-02-131-120/+0
| | | | | This is a network function, so it makes more sense in the network library.
* Reduce header #include:sPierre Ossman2025-02-1352-74/+165
| | | | | Make compile times faster by reducing the number of headers included in other headers.
* Remove unused SStaticDesktopPierre Ossman2025-02-131-43/+6
| | | | This inline class just makes this header overly complex.
* Merge branch 'resize' of https://github.com/CendioOssman/tigervncPierre Ossman2025-02-062-4/+12
|\
| * Log ComparingUpdateTracker stats at debug levelPierre Ossman2025-02-051-4/+6
| | | | | | | | | | | | We've made the client more aggressive in resizing sessions, so this can quickly produce a lot of log output. Reduce the log level to debug until we can keep the stats for the entire session lifetime.
| * Remove superfluous resizeFramebuffer() callsPierre Ossman2025-02-051-0/+6
| | | | | | | | | | | | | | These are not needed since the cleanup in 6ea58ba. At the same time, move the error logging for a failed SetDesktopSize to the base CConnection class as it is a generic thing.
* | Respect access bits in continuous updatesPierre Ossman2025-02-061-0/+3
| |
* | Fix handling of empty -parameter= argumentsPierre Ossman2025-02-061-2/+2
|/ | | | Broken in e97e225.
* 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.