summaryrefslogtreecommitdiffstats
path: root/common
Commit message (Collapse)AuthorAgeFilesLines
* Encoders/decoders should track the connection objectPierre Ossman2014-07-0734-109/+102
| | | | | | 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-079-140/+57
| | | | | This keeps the reader and writer objects clean and simple protocol decoders/encoders.
* Remove full support for colour mapsPierre Ossman2014-07-0726-853/+240
| | | | | | | | | 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.
* Get rid of unnecessary macros as they are only ever set to a single thingPierre Ossman2014-07-0715-85/+30
|
* Push encoding specific formats into the encoders and decodersPierre Ossman2014-07-0712-63/+91
| | | | Keep the generic stream classes clean and general.
* Consolidate the different palette handler implementationsPierre Ossman2014-07-078-493/+272
|
* Handle CopyRect like any other encodingPierre Ossman2014-07-077-21/+86
| | | | Avoids having to special case things. Keeps the code simpler.
* Avoid reader/writer duplication in every encoder/decoderPierre Ossman2014-07-0724-26/+27
|
* Remove partial update functionalityPierre Ossman2014-07-0715-80/+46
| | | | | | Get rid of the ability of encoders to only send part of the rectangle they are given as we don't want partial updates anyway.
* Move serialisation of pseudorects into separate functionsPierre Ossman2014-07-072-69/+72
| | | | Keeps the code clearer.
* Merge the "V3" message classes into the normal onesPierre Ossman2014-07-0720-1140/+818
| | | | We have no need for this abstraction so let's keep things simple.
* Merge branch 'pixeltest' of https://github.com/CendioOssman/tigervncPierre Ossman2014-07-071-1/+1
|\
| * librfb needs librdr so make sure it always gets pulled inPierre Ossman2014-07-041-1/+1
| |
* | Remove a lot of platform compatibilty stuffPierre Ossman2014-07-0722-428/+10
| | | | | | | | It's either not used, or no longer relevant.
* | Fix some offenders that poke around in the PixelFormat internalsPierre Ossman2014-07-073-60/+47
| |
* | Avoid code duplication for the linear pixel format conversion methodsPierre Ossman2014-07-071-79/+2
| |
* | Consistent use of stride vs pitchPierre Ossman2014-07-076-23/+24
| | | | | | | | | | | | | | Consistently use the term stride rather than pitch. Also consistently represent the stride in number of pixels rather than number of bytes. There is so much code that assumes proper alignment already that we do not need the extra resolution.
* | Fix possible information leakagePierre Ossman2014-07-071-2/+11
| | | | | | | | Zero the padding byte used when converting 24-bit RGB to 32-bit.
* | Use the same algorithm for conversionsPierre Ossman2014-07-071-73/+53
| | | | | | | | | | | | Make sure that the routines that convert between buffer and rgb representations follow the same algorithm so it's easier to compare them.
* | Optimise the RGB to pixel conversion to simple shiftsPierre Ossman2014-07-073-51/+65
| | | | | | | | | | Might as well make it inline at this point as well as it is used heavily in other routines that convert entire blocks of pixels.
* | Remove magic JPEG variables from ConnParamsPierre Ossman2014-07-073-14/+3
| | | | | | | | | | | | Custom compression level and JPEG on/off are not inherent parts of the protocol negotiation so they do not belong in ConnParams. Let the UI frontend handle such things instead.
* | Clean up the encoding parser in ConnParamsPierre Ossman2014-07-071-48/+55
| |
* | Make the subsampling setting follow the common stylePierre Ossman2014-07-078-45/+64
| |
* | Stop storing a copy of the encodings as we don't use it for anythingPierre Ossman2014-07-072-14/+3
| |
* | Get rid of the register mechanism for encoders and decodersPierre Ossman2014-07-0725-183/+77
| | | | | | | | We have no use for it, so let's keep things simple.
* | Be more consistent in referring to pixel byte streams as buffersPierre Ossman2014-07-078-29/+29
| |
* | Document the different pixel representations that we deal withPierre Ossman2014-07-071-1/+10
| |
* | Get rid of unused things in the ZRLE encoderPierre Ossman2014-07-073-35/+13
| | | | | | | | | | Get rid of unused shared MemOutStream and variable max length functionality in the ZRLE encoder.
* | Remove the scaled pixel buffer classes as they are not used.Pierre Ossman2014-07-073-354/+0
| | | | | | | | | | There were also reports of them being broken last time we still made use of them.
* | Remove unused (and commented out) PixelBuffer::getPixel()Pierre Ossman2014-07-072-17/+0
| |
* | Remove unused alternative code path from the ZRLE and Hextile decodersPierre Ossman2014-07-072-81/+0
| |
* | Remove unused pixel conversion methodPierre Ossman2014-07-072-18/+0
| |
* | Remove unsused, commented out codePierre Ossman2014-07-072-24/+0
| |
* | Reduce dependencies on TransImageGetter.hPierre Ossman2014-07-077-7/+8
| |
* | Support keeping libjpeg's default compression settingPierre Ossman2014-07-071-3/+8
| |
* | Converting to RGB might involve a precision increasePierre Ossman2014-07-073-15/+59
| | | | | | | | | | | | | | Need to do more than a simple shift to get the appropriate new value. This isn't quite as exact as a proper multiplication and division, but the error is so small it's not worth the extra cycles.
* | Make sure we check that PixelFormats we get are actually valid.Pierre Ossman2014-07-032-6/+45
|/
* The ZRLE decoder relied on an assert() for boundary checks. A defaultPierre Ossman2014-03-191-3/+10
| | | | | | | | | | Release build however will remove all asserts making it possible to overrun this buffer. This could be exploited by a malicious server. This issue has been assigned CVE-2014-0011. Patch by Tim Waugh for Red Hat. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@5167 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Make sure the fill function pointer gets updated if thePierre Ossman2014-01-072-5/+24
| | | | | | | | | | | managed pixel buffer changes format. Also add a bit more protection for switching pixel format as the base classes aren't really designed for that. Fixes a crash with the mouse pointer in WinVNC. Based on work done by Daniel Wyatt (dewyatt). git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@5152 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Simplify rfb::ParameterIterator - we always iterate over all enabled params.Adam Tkac2013-03-141-4/+4
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@5064 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Remove unused assignment operator declaration from rfb::ConfigurationAdam Tkac2013-03-142-22/+0
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@5063 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Remove unused parameter from rfb::Configuration::Configuration()Adam Tkac2013-03-142-9/+1
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@5062 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Windows lacks the IN6_ARE_ADDR_EQUAL macro, so define it ourselvesPierre Ossman2012-12-131-0/+5
| | | | | | | when necessary. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@5018 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Create common/os/libos.la fileAdam Tkac2012-09-051-0/+4
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4996 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Remove the in-tree versin of FLTK. Maintaining such a copy is way tooPeter Åstrand2012-08-09432-148175/+0
| | | | | | | | | much work, and it's constantly out of sync. Let's document what the main developers (ie Cendio) are using instead. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4951 3789f03b-4d11-0410-bbf8-ca57d06f2519
* We were not handling the "sync next" fence properly as we sent the responsePierre Ossman2012-07-202-6/+10
| | | | | | | | | right after we got the request (instead of waiting for the next command). This created a race where we could lose pixel format sync between the client and the server. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4943 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Also check for negative encodings, in case the server is throwing unexpectedPierre Ossman2012-07-192-3/+3
| | | | | | | garbage at us. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4942 3789f03b-4d11-0410-bbf8-ca57d06f2519
* ScreenSet references rdr types, so we need to make sure those are defined.Pierre Ossman2012-07-131-0/+1
| | | | git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4934 3789f03b-4d11-0410-bbf8-ca57d06f2519
* GnuTLS 3.x has removed gnutls_transport_set_global_errno() in favour ofPierre Ossman2012-07-033-11/+51
| | | | | | | | gnutls_transport_set_errno(). Make sure we call the right errno function depending on which GnuTLS we're using. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4922 3789f03b-4d11-0410-bbf8-ca57d06f2519
* Refactor the TLS code so that the push/pull functions are aware of theirPierre Ossman2012-07-036-29/+43
| | | | | | | containing stream object. This is in preparation for supporting GnuTLS 3.x. git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4921 3789f03b-4d11-0410-bbf8-ca57d06f2519