summaryrefslogtreecommitdiffstats
path: root/common
Commit message (Collapse)AuthorAgeFilesLines
...
* | Display performance statistics in viewerPierre Ossman2017-02-242-8/+10
| | | | | | | | | | | | Adds an optional graph to the viewer to display current frame rate, pixel rate and network bandwidth. Makes it easier to debug and test performance related issues.
* | Don't try to render cursors with no sizePierre Ossman2017-02-231-0/+5
| | | | | | | | | | Even if there are no pixels it will still trigger sanity checks when we start throwing bogus coordinates around.
* | Remove reallocation log message from ManagedPixelBufferPierre Ossman2017-02-221-1/+0
| | | | | | | | It adds a lot of noise to the debug output with little gain.
* | Server support for cursor with alphaPierre Ossman2017-02-225-6/+69
| |
* | Client support for cursors with full alphaPierre Ossman2017-02-227-0/+68
| |
* | Properly handle depth > 24 in ZRLE decoderPierre Ossman2017-02-221-16/+20
| |
* | Client support for X CursorPierre Ossman2017-02-223-1/+62
| |
* | Dither cursors when reducing depthPierre Ossman2017-02-221-19/+119
| |
* | Change cursor API to use RGBA dataPierre Ossman2017-02-2214-315/+190
| | | | | | | | | | This will allow us to use better formats that preserve the entire alpha channel.
* | Fix for exception handling in decoder threadsPierre Ossman2017-02-221-1/+1
| |
* | spelling fixesklemens2017-01-287-8/+8
| |
* | Crop cursor before calling maskRect()Pierre Ossman2017-01-201-4/+6
| | | | | | | | We can no longer assume maskRect() will tolerate uncropped data.
* | Restore cropping API to maskRect()Pierre Ossman2017-01-202-23/+31
| | | | | | | | | | | | We need to restore the previous, more complex API in order to easily handle masks now that we no longer accept out-of-bounds operations.
* | Prevent invalid PixelBuffer accessesPierre Ossman2017-01-181-73/+126
| | | | | | | | | | | | There has been multiple attempts at tricking decoders to exceed the boundaries of the active pixel buffer. Add extra checks to prevent such invalid access.
* | Check invalid RRE rectsPierre Ossman2017-01-181-0/+5
| |
* | Fix buffer overflow in ModifiablePixelBuffer::fillRect.Michal Srb2017-01-171-4/+15
|/ | | | | | It can be triggered by RRE message with subrectangle out of framebuffer boundaries. It may prevent the same kind of issue caused by evil message from another encoding too.
* Merge branch 'master' of https://github.com/atalax/tigervncPierre Ossman2016-11-101-0/+4
|\
| * hextileDecode.h: Fix buffer overflowJosef Gajdusek2016-11-041-0/+4
| | | | | | | | | | The hextileDecodexx functions do not properly check for out-of-bounds writes, which allows a malicious server to overwrite parts of the stack.
* | Log statistics from ComparingUpdateTrackerPierre Ossman2016-11-083-1/+42
|/
* Fix busy loop in FdOutStream::flush()Pierre Ossman2016-10-101-1/+6
| | | | | | | This bug was introduced in c6df31db. A non-blocking socket that did not have any more space would busy loop until the write succeeded. Instead now it returns without any action, just as it did before the bug was introduced.
* Move getSockets() to SocketServer interfacePierre Ossman2016-10-053-15/+14
| | | | | Any caller using add or remove should also be able to list the sockets.
* Fix temporary decoder buffer sizesPierre Ossman2016-10-053-8/+8
| | | | | Some of these were excessively large because of redundant factors in the size calculation.
* Apply -fPIC on all compilersPierre Ossman2016-09-221-1/+1
|
* Fix minor typo in framebuffer initializationBrian P. Hinz2016-09-051-1/+1
|
* Proper global init/deinit of GnuTLSPierre Ossman2016-08-234-33/+10
| | | | | | These are reference counted so it is important to retain symmetry between the calls. Failure to do so will result in bad memory access and crashes.
* Fix display/port switch at display 100Pierre Ossman2016-07-111-8/+5
| | | | | 168b92c broke the handling that assumes display 100 and above are actually a port number.
* Replace Windows specific thread handlingPierre Ossman2016-07-078-67/+42
| | | | Use the platform independent primitives instead.
* Include stddef.h to get access to size_tPierre Ossman2016-07-071-0/+2
|
* Fix typo in include protectorPierre Ossman2016-07-071-1/+1
|
* Clean up getHostAndPort()Pierre Ossman2016-06-281-15/+61
| | | | | It now does more validation, and handles unescaped IPv6 addresses better.
* Avoid symbol clash for Xregion functionsPierre Ossman2016-05-131-0/+16
| | | | | | | We might be linking our Xregion and libX11 into the same binary, causing a clash between the symbols. In theory they should be compatible, but that's not guaranteed. Avoid the issue by adding a "vnc" prefix to our version.
* Update Xregion to latest upstreamPierre Ossman2016-05-133-384/+269
|
* Split Xregion headers according to upstreamPierre Ossman2016-05-137-342/+419
| | | | | We've stolen the Xregion code from libX11, so let's keep the same header naming so that it is easier to keep things in sync.
* Fix mistake in TightEncoder::setCompressLevel.Michal Srb2016-05-061-1/+1
|
* Flush socket before checking bufferPierre Ossman2016-04-291-0/+1
| | | | | | There might be stuff lingering in the buffer simply because flush() hasn't been called in a while, rather than because the transport is congested.
* Asynchronously retry update on congestionPierre Ossman2016-04-292-12/+7
| | | | | | We now get notifications when the output buffer empties, and we already caught incoming RTT pongs, meaning we can now react at the proper time to retry a congested update rather than use a timer.
* Flush socket after ever rectPierre Ossman2016-04-291-0/+1
| | | | | This makes sure we keep the socket busy even if one rect takes some time to encode.
* Move socket write event handling in to the RFB corePierre Ossman2016-04-297-8/+66
| | | | | | What to do when a socket is writeable should be handled in the RFB core code as there may be other events we want to fire off when this happens.
* Clean up FdOutStream::flush()Pierre Ossman2016-04-291-21/+3
| | | | The logic was a bit confusing and superfluous.
* Remove Windows 98 socket workaroundPierre Ossman2016-04-291-26/+22
| | | | We haven't supported such an old version of Windows for some time.
* Early propagate of access rights to connection.Henrik Andersson2016-01-271-1/+1
|
* Block signals from being handled on worker threadsPierre Ossman2016-01-041-0/+12
|
* Compile common code with -fPIC on all non-Windows platformsPierre Ossman2016-01-041-1/+1
| | | | | There are more platforms than x86_64 that need -fPIC, so include it whenever possible.
* Fix race problem with detecting listening inetd socketsTristan Schmelcher2015-12-292-13/+8
| | | | | | The previous detection would fail if the socket closed before we had time to inspect it, which got us stuck in a loop as we would try (and fail) to do accept() on a non-listening socket.
* Add workaround for Vino's VeNCrypt implementationPierre Ossman2015-12-291-1/+12
|
* Include class keyword for friend declarationPierre Ossman2015-12-081-1/+1
| | | | | Only C++11 allows omitting the class keyword, so include it so the code compiles with older compilers.
* Init socket subsystem before parsing filtersPierre Ossman2015-12-071-0/+2
| | | | | | Parsing a filter might be the first thing we do so we need to make sure the socket subsystem is running so that we can look up names.
* Optimised shortcut for decoding on single CPU systemsPierre Ossman2015-11-271-1/+17
|
* Limit the number of decoder threads to 4Pierre Ossman2015-11-271-1/+6
| | | | | They just end up burning CPU fighting each other without much improvement to the decoding time beyond four threads.
* Propagate exceptions from worker threads back to main threadPierre Ossman2015-11-272-3/+44
|