aboutsummaryrefslogtreecommitdiffstats
path: root/common/rdr/MemOutStream.h
Commit message (Collapse)AuthorAgeFilesLines
* Use standard exception classesPierre Ossman2024-11-061-2/+1
| | | | | Use the more specific already included exception classes for common errors to keep things more understandable.
* Mark overridden virtual functionsPierre Ossman2024-06-241-2/+2
| | | | | Use the new "override" keyword to properly differentiate between new virtual methods, and existing virtual methods being overridden.
* 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 stdint typesPierre Ossman2023-02-011-3/+3
| | | | | Avoid having our own custom stuff and instead use the modern, standard types, for familiarity.
* Simplify stream availability handlingPierre Ossman2020-05-211-6/+4
| | | | | Just have a simply number of bytes argument to avoid a lot of complexity.
* Remove unused stream methodsPierre Ossman2020-05-211-6/+0
| | | | | They were accidentally left unused in fbad8a9 so they haven't been used in some time.
* Be defensive about overflows in stream objectsPierre Ossman2019-11-151-0/+4
| | | | | | | | | | | | We use a lot of lengths given to us over the network, so be more paranoid about them causing an overflow as otherwise an attacker might trick us in to overwriting other memory. This primarily affects the client which often gets lengths from the server, but there are also some scenarios where the server might theoretically be vulnerable. Issue found by Pavel Cheremushkin from Kaspersky Lab.
* Use size_t for lengths in stream objectsPierre Ossman2019-11-151-6/+6
| | | | | | | | Provides safety against them accidentally becoming negative because of bugs in the calculations. Also does the same to CharArray and friends as they were strongly connection to the stream objects.
* Ported encoding optimizations from TurboVNC. The changes to the Tight ↵DRC2011-08-111-1/+1
| | | | | | parameters were determined through extensive low-level profiling (see http://www.virtualgl.org/pmwiki/uploads/About/turbototiger.pdf). The other enhancements involved: (1) porting the solid subrectangle pre-computation code from TightVNC/TurboVNC (it makes a pretty big difference-- see report), (2) encapsulating the JPEG encoder in its own class (this eliminates a buffer copy, and the JPEG buffer is now set to a decent size where it shouldn't ever need to be paged or re-allocated, except in rare corner cases), (3) adding support for last rect. encoding (necessary to support the solid rectangle pre-computation enhancements. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4626 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Migrating to new directory structure adopted from the RealVNC's source tree. ↵Constantin Kaplinsky2006-05-251-0/+83
More changes will follow. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@589 3789f03b-4d11-0410-bbf8-ca57d06f2519