Lauri Kasanen
87e39f896c
Detailed log errors for the /websockify path
2022-06-06 17:36:00 +03:00
Lauri Kasanen
bf2bf679b6
New logging setup
2022-05-25 18:04:33 +00:00
Lauri Kasanen
661e9ef329
Return 403 for too large Auth headers (attack)
2022-05-24 14:55:05 +00:00
Lauri Kasanen
a6842bb46a
Add support for X-Forwarded-For
2022-05-24 11:04:58 +00:00
Matthew McClaskey
774a61ace7
Toggle game mode
2022-05-03 17:30:12 +00:00
Lauri Kasanen
d581eb798d
Use 64-bit var for the served file size
2022-04-11 18:53:45 +03:00
Matthew McClaskey
b2e878e79e
Log and send clipboard op ids
2022-04-05 12:52:38 +00:00
Matthew McClaskey
3f89e5c117
Resolve KASM-2335 "Feature/ ime support"
2022-03-25 16:18:16 +00:00
Lauri Kasanen
e6b4f40ed7
Have BlacklistThreshold 0 disable the blacklist
2022-03-04 10:48:19 +02:00
Lauri Kasanen
e3afc937e5
Bulk update_user and remove_user should check for all users' existence
2022-01-31 12:41:37 +02:00
Justin Travis
42d7ff015d
Resolve KASM-2238 "Feature/ freeze session"
2022-01-28 12:24:38 +00:00
Matthew McClaskey
99680f23ff
Resolve KASM-2194 "Feature/ bulk user mgmt"
2022-01-24 16:42:29 +00:00
matt
e6cc132874
fix accidental removal in update_user
2022-01-18 16:59:54 +00:00
Matthew McClaskey
03729ca66e
Update user
2022-01-17 17:10:24 +00:00
Lauri Kasanen
49174b1586
Threaded context
2021-12-06 13:41:07 +02:00
Lauri Kasanen
bb364badd3
Apply blacklist options to httpd basicauth
2021-12-06 12:07:32 +02:00
mmcclaskey
d3add8150c
Bugfix/kasm 2004 download spaces ( #70 )
...
* Handle spaces in download files, dirlisting
* Disallow / in percent urls
Co-authored-by: Lauri Kasanen <cand@gmx.com>
2021-10-18 07:38:57 -04:00
mmcclaskey
5b28a168d0
Chromeclip ( #69 )
...
* Initial binary clipboard support
* Rename -DLP_Clip_Types to -DLP_ClipTypes
* Better handling of websocket frames
* Copy-paste bug in SSE2 scaling to under 0.5x
* Remove old text clipboard
* Bind text to binary clipboard
* Move binclip clear to probing phase
* Off-by-one in sse2 scaling
* Add a clarifying log message for INCR clipboard transfers
* WIP: Update novnc commit
* Fix CentOS pipeline
* webpack fix
* Update novnc commit
* Change some DLP defaults
* update novnc commit
Co-authored-by: Lauri Kasanen <cand@gmx.com>
Co-authored-by: matt <matt@kasmweb.com>
2021-10-15 15:57:58 -04:00
mmcclaskey
e6d1b8c3c8
Fix a nonexistent username + empty password passing through ( #68 )
...
Co-authored-by: Lauri Kasanen <cand@gmx.com>
2021-10-14 13:57:59 -04:00
Mariusz Marciniak
0a45fcc700
KASM-1871 Add smooth scrolling
...
Previously all scrolling relied on "clicking" the up/down or left/right scroll buttons
which made it unprecise and to always scroll at the same speed.
Now we pass the scroll delta directly to the xorg input driver so the scroll is more responsinve and adaptive.
2021-10-07 14:08:20 +02:00
mmcclaskey
93e47e5d54
Bugfix/kasm 1912 websocket crash ( #57 )
...
* Copy-paste bug in SSE2 scaling to under 0.5x
* Better handling of websocket frames
* KASM-1912 websocket crash, scaling bug
Co-authored-by: Lauri Kasanen <cand@gmx.com>
Co-authored-by: matt <matt@kasmweb.com>
2021-09-24 08:25:35 -04:00
mmcclaskey
3f680a7b80
KASM-1913 webp mode tweaks ( #55 )
...
Co-authored-by: matt <matt@kasmweb.com>
2021-09-23 14:04:19 -04:00
mmcclaskey
0cb2c0ba9f
Sse scaling ( #52 )
...
* Add CPUID functions for runtime dispatch
* Add SSE2 scaling
2021-09-09 13:55:33 -04:00
mmcclaskey
dc21d5f97c
Add a set of self-microbenchmarks ( #51 )
...
Co-authored-by: Lauri Kasanen <cand@gmx.com>
2021-09-09 12:46:57 -04:00
Lauri Kasanen
d80eb39686
Fix DigitalOcean load balancer websocket connection (they too used wrong case in a header)
2021-08-17 13:30:33 +03:00
Lauri Kasanen
4b28667e90
Fix possible missing clipboard deinit
2021-08-17 13:13:51 +03:00
Lauri Kasanen
9ca850a108
Add pid to the internal socket name, clarify websocketport bind error
2021-08-13 12:15:17 +03:00
Lauri Kasanen
a9b66833a9
Change frame stats API json formatting
2021-08-03 14:41:54 +03:00
Lauri Kasanen
e208d5bb5f
Bottleneck clear should wait instead of try
2021-08-02 13:56:54 +03:00
Lauri Kasanen
f57e6e644b
Add some more frame stats granularity, skip frame stats on no-data calls
2021-08-02 13:47:48 +03:00
Lauri Kasanen
c1ed769780
Clear disconnected clients from the bottleneck stats api
2021-08-02 12:45:51 +03:00
Lauri Kasanen
438271d68b
Add support for vmware cursor
2021-07-29 18:02:57 +03:00
Lauri Kasanen
fb9dd56703
Initial /api/get_frame_stats
2021-07-27 15:33:48 +03:00
Lauri Kasanen
32e8d40472
Implement /api/get_bottleneck_stats
2021-07-26 18:58:29 +03:00
Lauri Kasanen
811e7cde3a
Use case-insensitive search for the websocket headers
2021-07-12 15:44:24 +03:00
Lauri Kasanen
29e0e2bd2e
Fix animated cursor resize crash
2021-06-15 15:40:14 +03:00
Lauri Kasanen
9144045718
Append the microsecond-level connection time to the abstract socket name, making it always unique
2021-05-10 19:16:28 +03:00
Lauri Kasanen
7a695c976e
Writer perms were checked in multiple places, consolidate and fix a missing case
2021-05-10 11:02:20 +03:00
Lauri Kasanen
14e08a2067
Add trailing slash in dir listing
2021-04-22 11:33:05 +03:00
Lauri Kasanen
95d34f7e58
Fix some local->remote clipboard merge misses
2021-04-13 13:49:43 +03:00
Lauri Kasanen
a1cf454f06
Sync utf8 clipboard support
2021-04-12 12:38:24 +03:00
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
2021-03-29 11:27:54 +03:00
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.
2021-03-29 11:04:00 +03:00
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.
2021-03-29 11:00:41 +03:00
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.
2021-03-29 10:52:51 +03:00
Pierre Ossman
a55f142c98
Don't shuffle input buffer unless actually needed
2021-03-29 10:50:16 +03:00
Pierre Ossman
25995e2490
Remove unused bufSize argument from streams
2021-03-29 10:49:25 +03:00
Pierre Ossman
281d65292a
Remove special functions from JPEG compressor
...
We can do what we want with the standard methods.
2021-03-29 10:48:55 +03:00
Pierre Ossman
57a3c3bba8
Simplify stream availability handling
...
Just have a simply number of bytes argument to avoid a lot of
complexity.
2021-03-29 10:48:26 +03:00
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.
2021-03-29 10:11:16 +03:00