The VSM file handler_newsession.py contains an check for username in handle(), and if this does not exist amongst the users, it tries to send the error code ERR_WRONG_AUTH.
This is not declared anywhere and will thus crash.
Tested solution after I installed a newly built rpm on Fedora 31.
Tested the following:
✓ Basic functionality
✓ Sound redirection
✓ Continuous updates
✓ Keyboard/mouse input
✓ New session
✓ Reconnecting to an existing session
✓ End existing and creating new one
(In reply to Niko Lehto from comment #2)
> ✓ Basic functionality
> ✓ Sound redirection
> ✓ Continuous updates
> ✓ Keyboard/mouse input
> ✓ New session
> ✓ Reconnecting to an existing session
> ✓ End existing and creating new one
Tested these same things on a Jenkins build that included the changes. Tested aon a fresh installation of RHEL8.
here's the crash traceback, forgot to add it earlier:
> File "/home/nikle/dev/ctc/vsm/modules/thinlinc/vsm/handler_newsession.py", line 43, in handle
>NameError: global name 'ERR_WRONG_AUTH' is not defined
If this crash would occur in normal usage the consequence would be a bad error message. Furthermore, in normal use case this crash should be very unlikely to happen.
This because handle_new_session will only ever receive a wrong uid call if the user exists during the creation but not during the first connection (e.g. if the server side user database crashes in that short interval).
No release notes needed.
Seems to work fine. Tested creating a new session on a Ubuntu 20.04.
Can't really provoke the bug manually, but the test looks fine and passes when I run it.