1
0
Fork 0
mirror of https://github.com/retspen/webvirtcloud synced 2026-11-08 11:16:47 +00:00
webvirtcloud/console/tests
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
..
__init__.py test: each app keeps its tests in a tests package 2026-10-12 15:17:30 +03:00
daemons.py test: each test is in the tests package of the code it tests 2026-11-06 13:48:04 +03:00
test_consolecallback.py fix(console): a serial console whose VM was deleted meanwhile says so 2026-11-05 18:58:13 +03:00
test_layouts.py feat(console): typed text follows the VM's keyboard layout 2026-10-27 12:23:32 +03:00
test_live_serial.py fix(console): socketiod refuses a request without a signed-in session 2026-11-06 20:00:43 +03:00
test_novncd.py test: each test is in the tests package of the code it tests 2026-11-06 13:48:04 +03:00
test_socketiod.py fix(console): the console daemons hold to what the console page allowed 2026-11-05 16:16:22 +03:00
test_socketiod_child.py fix(console): socketiod refuses a request without a signed-in session 2026-11-06 20:00:43 +03:00
test_sshtunnels.py fix(console): a VNC console stays open while its screen does not change 2026-11-01 16:18:34 +03:00
test_views.py test: each test is in the tests package of the code it tests 2026-11-06 13:48:04 +03:00