| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
Build flags control where this file ends up, so avoid assuming a
specific path in the HOWTO.
|
|
|
|
|
| |
The line width was very inconsitent in this file, so standardise on the
common 72 characters.
|
|
|
|
|
| |
Incorrect format strings can cause crashes, so we want to catch those
early.
|
| |
|
|
|
|
|
|
| |
Trying to dynamically track the DPI did not really work as we'd
start accumulating errors and eventually the DPI would start to
drift. Instead maintain a fixed, sensible DPI at all times.
|
| |
|
|
|
| |
Thanks @Raulkumar for finding this in #1118
|
| |
|
| |
|
| |
|
|\ \
| | |
| | |
| | | |
'vmware-cursor-position-vncviewer' of https://github.com/lhchavez/tigervnc
|
| |/
|/|
| |
| |
| |
| |
| |
| | |
This change makes it possible for re-synchronizing the remote cursor on
the vncviewer when in fullscreen mode. This is done by locally moving
the cursor position to what the server thinks it should be.
Now SDL games should work!
|
| |
| |
| |
| |
| | |
stderr has been redirected to /dev/null so all logging needs to go to
syslog.
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change adds support for the VMware Mouse Position
pseudo-encoding[1], which is used to notify VNC clients when X11 clients
call `XWarpPointer()`[2]. This function is called by SDL (and other
similar libraries) when they detect that the server does not support
native relative motion, like some RFB clients.
With this, RFB clients can choose to adjust the local cursor position
under certain circumstances to match what the server has set. For
instance, if pointer lock has been enabled on the client's machine and
the cursor is not being drawn locally, the local position of the cursor
is irrelevant, so the RFB client can use what the server sends as the
canonical absolute position of the cursor. This ultimately enables the
possibility of games (especially FPS games) to behave how users expect
(if the clients implement the corresponding change).
Part of: #619
1: https://github.com/rfbproto/rfbproto/blob/master/rfbproto.rst#vmware-cursor-position-pseudo-encoding
2: https://tronche.com/gui/x/xlib/input/XWarpPointer.html
3: https://hg.libsdl.org/SDL/file/28e3b60e2131/src/events/SDL_mouse.c#l804
|
|
|
|
| |
Or rpmbuild gets grumpy.
|
|
|
|
|
| |
This reverts commit d6e39658ae105fca2cfe37ba736dbf0e8d8356af. Apparently
this is broken on macOS so it's not something we can make use of.
|
|\ |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| | |
TCP_CORK is a Linux thing and BSD has TCP_NOPUSH instead.
|
| |
| |
| |
| |
| | |
We didn't include the proper headers to get the correct define, so
corking was never enabled.
|
|/
|
|
|
| |
Otherwise we might end up owners of something we cannot deliver data on,
which can hang applications.
|
| |
|
|\ |
|
| |
| |
| |
| | |
Setting `rfbport` to `-1` disables TCP port listening.
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | | |
So the current clipboard state is properly reflected in the desktop
session.
|
| | | |
|
| | |
| | |
| | |
| | | |
This was out of sync with the client handling for no good reason.
|
| | |
| | |
| | |
| | |
| | | |
The peer expects a response, so we should also be able to respond that
there is no clipboard data currently available.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | | |
|
| | | |
|
| | | |
|
| |/
|/| |
|
| |
| |
| |
| |
| | |
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.
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | | |
Include something more user friendly when we need to fail fatally and
not just the technical error.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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).
|
| | |
| | |
| | |
| | |
| | | |
These are not universal in the protocol so having functions for them
only obfuscates things.
|
| | |
| | |
| | |
| | |
| | | |
The specification only states a single result byte and not any reason
after a TLS authentication failure.
|
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | |
| | |
| | |
| | |
| | | |
Provide some safety checks when directly accessing the underlying
pointer of streams.
|
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
Otherwise we might send duplicate result codes and other weird things.
|
| | |
| | |
| | |
| | |
| | | |
External callers don't need to know the exact details, only if there is
data that needs to be flushed or not.
|