aboutsummaryrefslogtreecommitdiffstats
path: root/common/rfb/SConnection.h
Commit message (Collapse)AuthorAgeFilesLines
* 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
* [Development] Remove support for the "Tight" security type from C++ code.Adam Tkac2010-11-181-9/+0
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4202 3789f03b-4d11-0410-bbf8-ca57d06f2519
* [Development] Move Get{C,S}Security from Security class to separate classes.Adam Tkac2010-10-011-2/+2
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4156 3789f03b-4d11-0410-bbf8-ca57d06f2519
* [Development] Replace SSecurityFactoryStandard class by simplier Security class.Adam Tkac2010-04-231-7/+4
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4039 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Remove the "video" feature and its associated custom JPEG handling.Pierre Ossman2009-03-051-8/+0
| | | | | | | | Having the client specifiy the video region is conceptually wrong and a problem like this should be handled by better encoding selection. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@3635 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Support for VideoRectangleSelection client message in the server code. The ↵Constantin Kaplinsky2008-04-241-0/+8
| | | | | | message is read but ignored (only a message will be written to stderr). git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@2559 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Implemented support for TightVNC protocol extensions in the server code. ↵Constantin Kaplinsky2006-09-081-0/+9
| | | | | | This version has one incompatibility with TightVNC 1.3.x viewers - such viewers would not be able to connect without authentication. This will be fixed in the nearest time. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@651 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Minor refactoring to prepare the source for handling TightVNC protocol ↵Constantin Kaplinsky2006-09-061-0/+1
| | | | | | extensions. This one does not introduce any real changes. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@649 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Migrating to new directory structure adopted from the RealVNC's source tree. ↵Constantin Kaplinsky2006-05-251-0/+193
More changes will follow. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@589 3789f03b-4d11-0410-bbf8-ca57d06f2519