aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* | | Fix some incorrect data waitsPierre Ossman2021-03-022-17/+17
| | | | | | | | | | | | | | | | | | | | | | | | Some of these were incorrectly calculated so the server or client would wait too long before proceeding with decoding. Change all of these to be a more explicit calculation to avoid such issues in the future.
* | | Support TCP_NOPUSH as alternative to TCP_CORKPierre Ossman2021-03-021-0/+4
| | | | | | | | | | | | TCP_CORK is a Linux thing and BSD has TCP_NOPUSH instead.
* | | Add missing headers for TCP_CORKPierre Ossman2021-03-021-0/+2
| | | | | | | | | | | | | | | We didn't include the proper headers to get the correct define, so corking was never enabled.
* | | Drop other selection on ownership changePierre Ossman2021-03-011-0/+7
|/ / | | | | | | | | Otherwise we might end up owners of something we cannot deliver data on, which can hang applications.
* | Add Hebrew translationYaron Shahrabani2021-02-112-0/+722
| |
* | Merge branch 'allow-tcp-and-unix' of https://github.com/jlesage/tigervncPierre Ossman2021-02-094-7/+17
|\ \
| * | Added the ability to listen on both Unix socket and TCP port.Jocelyn Le Sage2021-02-044-7/+17
| | | | | | | | | | | | Setting `rfbport` to `-1` disables TCP port listening.
* | | Merge branch 'autoclip' of https://github.com/CendioOssman/tigervncPierre Ossman2021-02-0312-31/+209
|\ \ \
| * | | Update desktop if clipboard client goes awayPierre Ossman2021-01-051-1/+1
| | | | | | | | | | | | | | | | | | | | So the current clipboard state is properly reflected in the desktop session.
| * | | Add debug logging for ignored clipboard eventsPierre Ossman2021-01-053-7/+21
| | | |
| * | | Fix clipboard state tracking in serverPierre Ossman2021-01-051-2/+7
| | | | | | | | | | | | | | | | This was out of sync with the client handling for no good reason.
| * | | Handle clipboard peek with missing dataPierre Ossman2021-01-052-6/+2
| | | | | | | | | | | | | | | | | | | | The peer expects a response, so we should also be able to respond that there is no clipboard data currently available.
| * | | Improve clipboard debug logging in viewerPierre Ossman2021-01-041-5/+7
| | | |
| * | | Handle unsolicited clipboard transfersPierre Ossman2021-01-048-10/+86
| | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | Log client/server clipboard capabilitiesPierre Ossman2021-01-042-0/+85
| | | |
* | | | Fix overloaded function signaturePierre Ossman2021-01-262-2/+2
| | | |
* | | | Remove unused attributesPierre Ossman2021-01-261-3/+0
| | | |
* | | | Update copyright year to 2021Pierre Ossman2021-01-259-10/+10
| |/ / |/| |
* | | Heavily reduce window for bandwidth estimatePierre Ossman2021-01-191-5/+9
| | | | | | | | | | | | | | | It took way too long to converge on a sane value, so reduce the window by a factor of ten. This seems to work smoothly.
* | | Merge branch 'noblock' of https://github.com/CendioOssman/tigervncPierre Ossman2021-01-1997-1364/+1978
|\ \ \
| * | | Better error messages when terminatingPierre Ossman2020-05-214-23/+49
| | | | | | | | | | | | | | | | | | | | Include something more user friendly when we need to fail fatally and not just the technical error.
| * | | Change streams to be asynchronousPierre Ossman2020-05-2169-571/+1106
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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).
| * | | Remove readString()/writeString()Pierre Ossman2020-05-219-76/+37
| | | | | | | | | | | | | | | | | | | | These are not universal in the protocol so having functions for them only obfuscates things.
| * | | Don't read invalid TLS auth reasonPierre Ossman2020-05-211-9/+2
| | | | | | | | | | | | | | | | | | | | The specification only states a single result byte and not any reason after a TLS authentication failure.
| * | | Improved bandwidth monitoringPierre Ossman2020-05-214-77/+36
| | | | | | | | | | | | | | | | | | | | | | | | Now measures over an entire update, which should hopefully give us more stable values. They are still small values for fast networks though so increase precision in the values we keep.
| * | | Make direct stream API a bit saferPierre Ossman2020-05-217-38/+42
| | | | | | | | | | | | | | | | | | | | Provide some safety checks when directly accessing the underlying pointer of streams.
| * | | Make sure TLS is allowed to terminate gracefullyPierre Ossman2020-05-216-17/+41
| | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | Log I/O errors from TLS streamsPierre Ossman2020-05-212-1/+10
| | | |
| * | | Handle clients lost during queryingPierre Ossman2020-05-211-2/+12
| | | |
| * | | Separate query and authentication handlingPierre Ossman2020-05-211-6/+6
| | | | | | | | | | | | | | | | Otherwise we might send duplicate result codes and other weird things.
| * | | Check buffer usage with a simply booleanPierre Ossman2020-05-215-14/+16
| | | | | | | | | | | | | | | | | | | | External callers don't need to know the exact details, only if there is data that needs to be flushed or not.
| * | | Dynamically allocate stream buffersPierre Ossman2020-05-214-28/+132
| | | | | | | | | | | | | | | | | | | | This allows us to handle peaks in input and output streams gracefully without having to block processing.
| * | | Don't shuffle input buffer unless actually neededPierre Ossman2020-05-211-4/+6
| | | |
| * | | Generalise corking to all output streamsPierre Ossman2020-05-2116-51/+78
| | | | | | | | | | | | | | | | | | | | The principle can be used in a more general fashion than just TCP streams.
| * | | Remove unused bufSize argument from streamsPierre Ossman2020-05-2117-35/+28
| | | |
| * | | Remove special functions from JPEG compressorPierre Ossman2020-05-212-7/+1
| | | | | | | | | | | | | | | | We can do what we want with the standard methods.
| * | | Simplify stream availability handlingPierre Ossman2020-05-2121-126/+70
| | | | | | | | | | | | | | | | | | | | Just have a simply number of bytes argument to avoid a lot of complexity.
| * | | Create common base classes for buffered streamsPierre Ossman2020-05-2119-397/+413
| | | | | | | | | | | | | | | | | | | | Most streams are backed by a memory buffer. Create common base classes for this functionality to avoid code duplication.
| * | | Add stream avail() methodsPierre Ossman2020-05-2115-26/+42
| | | | | | | | | | | | | | | | | | | | Makes it more readable to write code that needs to know how much data/space is available in a stream.
| * | | Remove OutStream::skip()Pierre Ossman2020-05-212-9/+1
| | | | | | | | | | | | | | | | | | | | It might leak data depending on what's in the buffer. Use pad() instead where blank space is needed.
| * | | Remove unused stream methodsPierre Ossman2020-05-213-35/+1
| | | | | | | | | | | | | | | | | | | | They were accidentally left unused in fbad8a9 so they haven't been used in some time.
| * | | Throw more descriptive error on decode errorPierre Ossman2020-05-211-2/+7
| | | | | | | | | | | | | | | | We need to be able to tell this exception came from a decoder.
| * | | Use proper constants for socket shutdown()Pierre Ossman2020-05-211-2/+5
| | | | | | | | | | | | | | | | For readability.
| * | | Flush data on closePierre Ossman2020-05-211-0/+11
| | | | | | | | | | | | | | | | | | | | There might be some final handshake data that is still stuck in the buffers, so make a best effort attempt at getting it to the client.
| * | | Fix connection close logPierre Ossman2020-05-192-2/+4
| | | | | | | | | | | | | | | | | | | | The socket is closed at this point so we have to rely on a cached value for the logging.
| * | | Move auth failure delay to SConnectionPierre Ossman2020-05-194-46/+54
| | | | | | | | | | | | | | | | | | | | It's a generic feature that is better handled as part of SConnection's state machine.
| * | | Support calling methods from timersPierre Ossman2020-05-191-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | We can't safely use the normal timers in base classes as we cannot guarantee that subclasses will call the base class' handleTimeout() properly if the subclass overrides it.
* | | | Add link to discussion groups from issuesPierre Ossman2021-01-151-0/+7
| | | | | | | | | | | | | | | | | | | | So that people can easily find them and not file bug reports for things that are just questions.
* | | | Hide link to create blank issuesPierre Ossman2021-01-151-0/+1
| | | | | | | | | | | | | | | | | | | | We want users to use the templates so we don't miss any relevant information.
* | | | Fix handling of bad update requestsPierre Ossman2021-01-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | We computed a safe area if a client gave us a bogus one, but we didn't actually use it. Fix this properly and make sure we don't pass on bad coordinates further.