aboutsummaryrefslogtreecommitdiffstats
path: root/common/rfb/CMsgReader.h
Commit message (Collapse)AuthorAgeFilesLines
* Use stdint typesPierre Ossman2023-02-011-3/+3
| | | | | Avoid having our own custom stuff and instead use the modern, standard types, for familiarity.
* Change streams to be asynchronousPierre Ossman2020-05-211-22/+38
| | | | | | | | | | 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).
* Support extended clipboard transfersPierre Ossman2019-07-011-1/+2
| | | | | | | 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.
* Add support for VMware LED statusPierre Ossman2018-12-101-0/+1
|
* Add support for VMware cursorsPierre Ossman2018-12-101-0/+1
|
* Add client support for LED state syncPierre Ossman2017-08-241-0/+1
|
* Limit size of cursor accepted by client.Michal Srb2017-04-061-0/+2
| | | | | | | | | Width and height of a cursor are received as U16 from network. Accepting full range of U16 values can cause integer overflows in multiple places. The worst is probably VLA in CMsgReader::readSetXCursor: rdr::U8 buf[width*height*4]; The width*height*4 can be too big to fit on stack or it can overflow into negative numbers. Both cases are undefined behaviour. Following writes to buf can overwrite other data on stack.
* Client support for cursors with full alphaPierre Ossman2017-02-221-0/+1
|
* Client support for X CursorPierre Ossman2017-02-221-0/+1
|
* Remove CMsgReader::getImageBuf() as nothing uses itPierre Ossman2015-11-271-3/+0
|
* Encoders/decoders should track the connection objectPierre Ossman2014-07-071-1/+0
| | | | | | The connection object is a much more appropriate object for the decoders and encoders to keep track of. Besides the streams, it also contains state like connection parameters.
* Push encoder and decoder handling down into the connection objectsPierre Ossman2014-07-071-2/+0
| | | | | This keeps the reader and writer objects clean and simple protocol decoders/encoders.
* Handle CopyRect like any other encodingPierre Ossman2014-07-071-1/+0
| | | | Avoids having to special case things. Keeps the code simpler.
* Merge the "V3" message classes into the normal onesPierre Ossman2014-07-071-13/+19
| | | | We have no need for this abstraction so let's keep things simple.
* Eliminate GCC signed/unsigned warnings related to encodings: ThePeter Åstrand2010-02-101-1/+1
| | | | | | | | | | | | encoding in the RFB protocol has always been signed, and signed values are also used in the specification (ie DesktopName = -307 etc). In the code, however, unsigned types were used in a number of places, but not all, which causes warnings. This patch fixes the problem by switching to signed values everywhere. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@3968 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Move the SetDesktopName parser into CMsgReaderV3 to keep with the separationPierre Ossman2009-03-201-1/+0
| | | | | | | of old and new features. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@3696 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Implemented support for DesktopName pseudo encoding, which allowsPeter Åstrand2009-01-151-0/+1
| | | | | | | | | | updating the desktop name on the fly. Tested in ThinLinc since 2008-01-07. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@3549 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Migrating to new directory structure adopted from the RealVNC's source tree. ↵Constantin Kaplinsky2006-05-251-0/+73
More changes will follow. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@589 3789f03b-4d11-0410-bbf8-ca57d06f2519