Commit Graph

247 Commits (e62e12fbfeda60d76cc62e34e8a4a103d24fc159)
 

Author SHA1 Message Date
Samuel Mannehed e62e12fbfe Input type image is not allowed to have values 4 years ago
Samuel Mannehed 50183c7caa Add default language 4 years ago
Samuel Mannehed 79ab05192b Add check for bad values for Display.autoscale() 4 years ago
Juanjo Diaz c6c278f9d5 Replace unnecessary function supportsCursorURIs by a constant variable 4 years ago
Juanjo Diaz 37c17ddbf9 Move support check from display to browser 4 years ago
Dmitriy Shweew c755008d15 Add Russian translation (#1211)
By Dmitriy Shweew (shweew)
4 years ago
Juanjo Diaz 075eed5cbb Convert DES into a class 4 years ago
Juanjo Diaz 7b7295fd4e Use default argument for base64 4 years ago
Juanjo Diaz 5964156a6f Remove unnecessary context from eventtarget 4 years ago
Juanjo Diaz 1ff792cf4b Remove unnecessary constructor parameter from Cursor 4 years ago
Juanjo Diaz 3043216b63 Remove intermediate variable from mouse 4 years ago
Pierre Ossman 499b251716 Remove error handling in clientCutText()
It is not necessary as Websock.flush() is guaranteed to succeed and
give us some space. It also remove the call to _fail(), which was
invalid at this place as clientCutText() is not a method on RFB.
4 years ago
Pierre Ossman d20f751441 Throw correct Error object
We've already defined the name Error as a logging function, so we
need to be more explicit when we want to refer to the exception
class.
4 years ago
Pierre Ossman 915901848d Send data one byte at a time in tests
This makes sure we don't have code assuming that everything is
neatly packaged in a single WebSocket message.
4 years ago
Pierre Ossman ee2423ed2b Clean up RFB._rfb_auth_schema assignment 4 years ago
Pierre Ossman ce6d66f030 Fix security failure reason handling of slow data
Things would break if the security result and security reason did
not arrive in the same WebSocket message.
4 years ago
Pierre Ossman 41e6fedba6 Fix version handshake to handle slow data 4 years ago
Pierre Ossman 642a67f76f Use arrow function to avoid bind 4 years ago
Pierre Ossman d7198cbe5d Consume data properly in Hextile decoder
We accidentally removed the code updating the data index in 8a189a6,
resulting in the decoder newer consuming any data. So the data would
be parsed as the next rect, causing weird errors.
4 years ago
lhchavez 25b8e64adb Add support for notifying clients about pointer movements
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
4 years ago
Pierre Ossman d8caab699d Add missing headers for TCP_CORK
We didn't include the proper headers to get the correct define, so
corking was never enabled.
4 years ago
Pierre Ossman da83ecf86a Drop other selection on ownership change
Otherwise we might end up owners of something we cannot deliver data on,
which can hang applications.
4 years ago
Pierre Ossman 189f503b98 Fix handling of bad update requests
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.
4 years ago
Pierre Ossman f54dc7829a Update keycode maps to latest version
Mainly fixes for Japanese and Korean keyboard layouts.
4 years ago
Pierre Ossman fde088ce65 Improved bandwidth monitoring
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.
4 years ago
Pierre Ossman a55f142c98 Don't shuffle input buffer unless actually needed 4 years ago
Pierre Ossman 25995e2490 Remove unused bufSize argument from streams 4 years ago
Pierre Ossman 281d65292a Remove special functions from JPEG compressor
We can do what we want with the standard methods.
4 years ago
Pierre Ossman 57a3c3bba8 Simplify stream availability handling
Just have a simply number of bytes argument to avoid a lot of
complexity.
4 years ago
Pierre Ossman 92c7695981 Create common base classes for buffered streams
Most streams are backed by a memory buffer. Create common base classes
for this functionality to avoid code duplication.
4 years ago
Pierre Ossman 7f90205cf2 Add stream avail() methods
Makes it more readable to write code that needs to know how much
data/space is available in a stream.
4 years ago
Pierre Ossman 910fd8fa3e Remove unused stream methods
They were accidentally left unused in fbad8a9 so they haven't been used
in some time.
4 years ago
Pierre Ossman c97828471c Use proper constants for socket shutdown()
For readability.
4 years ago
Pierre Ossman c5b7137f2b Flush data on close
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.
4 years ago
Pierre Ossman a3c0ce55c9 Support calling methods from timers
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.
4 years ago
Lauri Kasanen 1632f4888d Enable basicauth by default, remove the option to supply it on the command line 4 years ago
matt 93d3bf052d Removed old line 4 years ago
matt 7b3f6876b4 Fixed syntax error 4 years ago
matt 46e03289be Manually merged region changes 4 years ago
Lauri Kasanen c3e30dcea1 Add support for DLP_Region 4 years ago
Lauri Kasanen fed991d697 Return 401 unauth for non-owner trying /api/ 4 years ago
Lauri Kasanen 1269fddadf Add a more specific error for a nonexistent screenshot 4 years ago
Lauri Kasanen 688e749fda Tentative build fix for newer gccs 4 years ago
Lauri Kasanen 980eedd33b Add HTTP GET APIs for creating, removing users and giving control 4 years ago
Lauri Kasanen 3f6524ee30 Add support for owner screenshot HTTP GET API 4 years ago
Kasm 784a9c611d
Merge pull request #26 from kasmtech/multiuser_and_new_ui
Packaging changes, multiuser passwd, clipboard (UI) changes
4 years ago
Dmitry Maksyoma 05ea1b99ee Merge branch 'KASM-1298_manually_merge_offline_changes' into multiuser_and_new_ui 4 years ago
Dmitry Maksyoma 101695970b Reapply "Use crypt_r in threaded code" 4 years ago
Dmitry Maksyoma 6d0a020f4f Move build-and-test-* to builder/ 4 years ago
Dmitry Maksyoma 5e5467a3b0 Add build-and-test-deb and -rpm
It builds tarball, deb/rpm pckage, and runs the test image. It doesn't
detect source changes, so it'll always build tarball and the package.
4 years ago