Commit Graph

35 Commits (b837bd6f59c350abbd072f459be06ab2d0e1690d)

Author SHA1 Message Date
Samuel Mannehed 472ede66ea Standardize on camelCase in Websock 4 years ago
Samuel Mannehed 19c473f792 Properly limit mouse moves to once every 17 ms
Previous attempt in c958269 had a number of issues, this is a full
rewrite, complete with improved unit tests.

Fixes github issue #1402
4 years ago
Samuel Mannehed 8a8fa1d906 Stop send mouse clicks while dragging in view only 4 years ago
Samuel Mannehed 5a81223d96 Standardize on camelCase for functions in RFB 4 years ago
Samuel Mannehed eff38d47f9 Standardize on camelCase for variables in RFB 4 years ago
Samuel Mannehed 1de3769fd3 Remove unused mouse_arr variable 4 years ago
Filip Stedronsky 02e7b006de rfb: VeNCrypt Plain SecurityType support
This allows using TigerVNC server with PAM authentication (e.g. agains
LDAP or other extensible authentication mechanisms)

Tested with TigerVNC server (Xvnc -SecurityTypes Plain -PlainUsers '*')

Should not break anything else, this method is tried last when all
other fail.

Tested in Firefox 74 and Chromium 80
4 years ago
Alex Tanskanen b173c8854a Fix crash with too large clipboard data
If too much text is copied in the session, String.fromCharCode.apply()
would crash in Safari on macOS and Chrome on Linux. This commit fixes
this issue by avoiding apply() altogether. Also added test to cover this
issue.
4 years ago
Niko Lehto 8be81165bd Add extended clipboard Pseudo-Encoding
Add extended clipboard pseudo-encoding to allow the use of unicode
characters in the clipboard.
4 years ago
Samuel Mannehed c1160d1468 Fix color channels for VMware alpha cursors
The red and blue channels were incorrectly swapped.
4 years ago
Pierre Ossman 89dd199317 Allow cursor to be updated while connecting
We haven't got a server provided cursor at this point, but we might
have done something local, e.g. enabled the dot cursor.
4 years ago
Samuel Mannehed ce94d92e18 Build in the behavior to ignore decodeUTF8 errors
Makes the code clearer and more explicit in intent.
4 years ago
Chris \"Koying\" Browet c0276776e9 Add support for Unix Tight auth 4 years ago
VanyM 10f4aa9e7b Add try catch in every place that uses decodeUTF8 4 years ago
Samuel Mannehed 0dcb896920 Update copyright to 2019 for modified files 4 years ago
Niko Lehto 766fc43855 Add support for VMware cursor encoding
Supports both classic cursor type and alpha cursor type. In classic
mode the server can send 'inverted' pixels for the cursor, our code
does not support this but handles these pixels as opaque black.

Co-authored-by: Samuel Mannehed <samuel@cendio.se>
4 years ago
Niko Lehto 8c43287afb Add support for DesktopName extension
This extension allows session name to be changed during runtime.
4 years ago
Pierre Ossman c211f31113 Remove pointless Display.clear()
It served no meaningful purpose and it had bugs. So let's remove it
rather than try to fix it.
4 years ago
Pierre Ossman 734bdd3746 Deprecate showDotCursor option for RFB constructor
It is not relevant for the connection stage so it should not have
been a constructor argument to begin with. Ship with a warning for
a release before we remove it.
4 years ago
Pierre Ossman 8218a0cb2a Make sure showDotCursor can be modified before connecting
The cursor object is only attached to our canvas whilst connecting,
so we need to make sure we don't try to update anything when were
not connected or we'll get a crash.
4 years ago
Samuel Mannehed 8b859f4598 Remove the default value of wsProtocols
Using the 'binary' protocol by default is very non-standard.
4 years ago
Shira Maximov 8c5b5f17eb Add support in websocket sub-protocols 4 years ago
Pierre Ossman 4c635f65d3 Remove server pixel format warnings
These are harmless and really only for debugging. So remove them
as they tend to trick people in to thinking something is wrong.
We already print the entire server pixel format earlier anyway in
case we need the details.
4 years ago
Juanjo Diaz 075eed5cbb Convert DES into a class 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 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
Dmitry Maksyoma 9084409a20 Merge branch 'users' into packages_and_multiuser_passwd 4 years ago
matt 2813e7fe09 Fixes to webcode for Kasm CDI 4 years ago
matt 28d19cd556 Disable VNC password, fix bug when running inside Kasm VDI 5 years ago
kasmtech 88a9bed022 UI mods to display stats 5 years ago
Lauri Kasanen d5bdef121a Add support for bottleneck stats 5 years ago
matt 408c005d3e Initial commit 5 years ago