1
0
Fork 0
mirror of https://github.com/retspen/webvirtcloud synced 2026-11-08 11:16:47 +00:00
webvirtcloud/console
catborise 4f7bca9754 fix(console): socketiod refuses a request without a signed-in session
Engine.IO accepts a connection, and holds one of socketiod's 40 threads
for it, from its first request; the console token is checked only in
Socket.IO's connect(), which a client need never send. Anyone who could
reach the panel, without an account, could open 40 websockets, answer
their pings, and no serial console would open for anybody (checked: the
41st handshake got no answer until they were closed).

The daemon's WSGI app now refuses a request whose session cookie names
no signed-in user, with 403, before Engine.IO sees it; the page always
sends that cookie. A token without its session no longer connects either,
as for novncd. Checked again: 60 such websockets are each answered 403 at
once and hold nothing.

The process tests sign their client in with a session cookie, as a
browser; python-socketio sends a custom Cookie header only with its first
request, so the client gets a cookie jar instead.
2026-11-06 20:00:43 +03:00
..
layouts feat(console): typed text follows the VM's keyboard layout 2026-10-27 12:23:32 +03:00
migrations Add app 2015-02-27 14:25:41 +02:00
templates chore(console): the console pages load no jQuery 2026-11-05 12:37:51 +03:00
tests fix(console): socketiod refuses a request without a signed-in session 2026-11-06 20:00:43 +03:00
__init__.py Add app 2015-02-27 14:25:41 +02:00
models.py ci: replace super-linter with ruff 2026-10-04 01:08:11 +03:00
novncd fix(console): novncd that cannot listen ends with a failure status 2026-11-06 09:07:22 +03:00
socketiod fix(console): socketiod refuses a request without a signed-in session 2026-11-06 20:00:43 +03:00
sshtunnels.py fix(console): a VNC console stays open while its screen does not change 2026-11-01 16:18:34 +03:00
tokens.py fix(console): a VNC token works only in its user's session; refusals reach the Logs page 2026-11-05 18:08:03 +03:00
views.py fix(console): the console daemons hold to what the console page allowed 2026-11-05 16:16:22 +03:00