aboutsummaryrefslogtreecommitdiffstats
path: root/common/rfb/SConnection.h
Commit message (Collapse)AuthorAgeFilesLines
* Remove unused CConnection/SConnection callbacksPierre Ossman10 days1-5/+0
| | | | These have never been used for anything and just clutter up the API.
* Make CMsgHandler/SMsgHandler pure interfacesPierre Ossman10 days1-5/+25
| | | | | | 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 Ossman10 days1-56/+53
| | | | | | 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.
* Move timers to core libraryPierre Ossman2025-02-251-3/+4
| | | | | | | 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-131-1/+1
| | | | | | | Make it clearer what is protocol handling and what is just general plumbing. This is one step of several.
* Reduce header #include:sPierre Ossman2025-02-131-3/+5
| | | | | Make compile times faster by reducing the number of headers included in other headers.
* Merge branch 'mouse-button-support' of https://github.com/CendioHalim/tigervncPierre Ossman2024-11-181-0/+2
|\
| * Add server support for forward/back mouse buttonsAdam Halim2024-10-221-0/+2
| | | | | | | | | | | | | | | | | | 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-061-6/+7
| | | | | | | | | | This makes things more consistent since we mix with the standard library exceptions so often.
* | Use static string for exceptionsPierre Ossman2024-11-061-2/+2
|/ | | | | In preparation for using the built in C++ exception classes, which do not accept a format string.
* Remove ConnFailedExceptionPierre Ossman2024-09-021-4/+4
| | | | | | | | There were more unclear usage of this exception class, and since nothing catches it it is very unclear what the purpose is. Go ahead and just remove it. Follow-up to bcaaea7.
* Update processMsg() descriptionPierre Ossman2024-08-121-2/+5
| | | | | This method is no longer blocking, so the description needed to be adjusted.
* Mark overridden virtual functionsPierre Ossman2024-06-241-15/+14
| | | | | 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-241-1/+1
| | | | | It's more readable than 0, and a bit safer than NULL, so let's try to follow modern norms.
* Merge branch 'present' of github.com:CendioOssman/tigervncPierre Ossman2024-06-191-1/+1
|\
| * Explicitly request timer repetitionPierre Ossman2024-06-191-1/+1
| | | | | | | | | | | | One-shot timers are more common, so let's change the API a bit to make that use case simpler. This API also makes it more clear what is happening.
* | vncconfig: add option to force view-only remote client connectionsCarlos Santos2024-04-261-1/+4
| | | | | | | | | | | | | | | | 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-11/+1
|/ | | | | | | | | 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>
* Consistently use uint8_t for data buffersPierre Ossman2023-03-181-1/+1
| | | | | These will always be byte streams at heart, so let's try to keep them with a proper type. Should make it clearer how they will be used.
* Use std::string for string memory managementPierre Ossman2023-02-041-1/+4
| | | | | Avoids a bit of complexity by delegating that handling to a string object.
* Use std::string instead of CharArrayPierre Ossman2023-02-041-1/+1
| | | | | Let's use a more common type instead of something homegrown. Should be more familiar to new developers.
* Use stdint typesPierre Ossman2023-02-011-9/+9
| | | | | Avoid having our own custom stuff and instead use the modern, standard types, for familiarity.
* Use __attribute__:s directlyPierre Ossman2023-01-051-1/+2
| | | | | | These are supported by gcc and clang, and I don't think MSVC works well with our code anyway, so let's keep things simple and use these directly.
* Stop supplying flags to clipboard peek handlerPierre Ossman2023-01-041-1/+1
| | | | The flags should always be empty anyway.
* Merge branch 'autoclip' of https://github.com/CendioOssman/tigervncPierre Ossman2021-02-031-0/+1
|\
| * Handle unsolicited clipboard transfersPierre Ossman2021-01-041-0/+1
| | | | | | | | | | | | The extended clipboard protocol has the ability for the peer to request things to be sent automatically, without a request message. Make sure we honor such settings.
* | Change streams to be asynchronousPierre Ossman2020-05-211-6/+6
| | | | | | | | | | | | | | | | | | | | 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).
* | Make sure TLS is allowed to terminate gracefullyPierre Ossman2020-05-211-0/+1
| | | | | | | | | | | | Some systems (like TLS) need to send some final data before closing a connection. Make sure this is properly handled by cleaning up the security object before closing the underlying network socket.
* | Move auth failure delay to SConnectionPierre Ossman2020-05-191-4/+12
|/ | | | | It's a generic feature that is better handled as part of SConnection's state machine.
* Support extended clipboard transfersPierre Ossman2019-07-011-0/+8
| | | | | | | Implements support in both client and server for the extended clipboard format first seen in UltraVNC. Currently only implements text handling, but that is still an improvement as it extends the clipboard from ISO 8859-1 to full Unicode.
* Improved clipboard APIPierre Ossman2019-07-011-1/+40
| | | | | Change the internal clipboard API to use a request based model in order to be prepared for more advanced clipboard transfers.
* Add delay on authentication failuresPierre Ossman2019-04-011-0/+5
| | | | | | | This provides some basic rate limiting that will make it difficult for an attacker to brute force passwords. Only relevant when the blacklist is disabled as otherwise the attacker only gets a very limited number of attempts.
* Make throwConnFailedException() protectedPierre Ossman2018-11-091-5/+5
| | | | | It is an internal function so it has no business being public. Compare with CConnection where it is already private.
* Remove writeConnFailedFromScratch()Pierre Ossman2018-11-091-7/+0
| | | | It is static and only used from a single place, so let's inline it.
* Move access rights and closing to SConnection objectPierre Ossman2018-10-101-4/+13
| | | | | This makes it generally useful and other code doesn't have to know of the specific sub-class.
* Make exception classes have clearer messagesPierre Ossman2017-10-121-1/+1
| | | | | Include the type of exception in the string generated by each subclass. Also simplify the constructs to what is needed.
* Basic support for QEMU Extended Key EventsPierre Ossman2017-08-281-0/+1
| | | | | | This adds the basic infrastructure and handshake for the QEMU Extended Key Events extension. No viewer or server makes use of the extra functionality yet though.
* Prevent leak of SecurityServer and ClientServer.Michal Srb2017-03-271-1/+1
| | | | | | They are created in SConnection's and CConnection's constructors but never destroyed. There is no reason for the indirection, so lets make them direct members.
* Remove unused deleteReaderAndWriter() methodPierre Ossman2015-11-091-7/+0
|
* No need for this array to be writeablePierre Ossman2015-02-131-1/+1
|
* Move reverse connection information into VNCSConnectionSTPierre Ossman2015-02-131-2/+1
| | | | | The only class that cares if connections are reversed or not is VNCSConnectionST so let it keep track of this fact.
* Give subclasses the ability to overwrite the reader and writerPierre Ossman2015-02-131-0/+3
| | | | Needed for some tests.
* SConnection internals should be private, just like for CConnectionPierre Ossman2015-02-131-0/+2
|
* Limit access to non-shared modePierre Ossman2014-12-021-0/+1
| | | | | | A read-only client should not be allowed to kick out other clients. It will be forced into shared mode, or refused the connection, depending on the neverShared parameter.
* Add AccessSetDesktopSize right.Michal Srb2014-11-241-7/+8
| | | | So clients with limited access rights can not affect it.
* Allow SSecurity to specify AccessRights for SConnection.Michal Srb2014-11-101-1/+0
| | | | | | | SConnection has AccessRights property that specifies what connected client can do. Set this property to value given by SSecurity after successful authentication. This way individual SSecurity subclasses can accept clients but restrict their access.
* Move preferred encoding tracking into a server objectPierre Ossman2014-09-181-0/+8
| | | | | | Having it in ConnParams made the linker pull all the encoder objects into vncviewer, making it larger than necessary and giving it extra parameters in its help output that weren't relevant.
* Remove full support for colour mapsPierre Ossman2014-07-071-5/+1
| | | | | | | | | Gets rid of a loooot of code and complexity. Colour map clients are still supported through an automatically generated map, but we lose the ability to develop a client or server that uses colour maps internally.
* Basic infrastructure for continuous updates.Pierre Ossman2011-11-141-0/+5
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4801 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Basic infrastructure to support fences.Pierre Ossman2011-11-141-0/+7
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4798 3789f03b-4d11-0410-bbf8-ca57d06f2519