Expect security result for RFB 3.7
The cut off was wrong here. 3.7 will send a security result, but not a security reason. It also fixes the issue that < 3.7 (e.g. 3.3) supports VNC authentication as well.
This commit is contained in:
13
core/rfb.js
13
core/rfb.js
@@ -1835,11 +1835,7 @@ export default class RFB extends EventTargetMixin {
|
||||
_negotiateAuthentication() {
|
||||
switch (this._rfbAuthScheme) {
|
||||
case 1: // no auth
|
||||
if (this._rfbVersion >= 3.8) {
|
||||
this._rfbInitState = 'SecurityResult';
|
||||
return true;
|
||||
}
|
||||
this._rfbInitState = 'ClientInitialisation';
|
||||
this._rfbInitState = 'SecurityResult';
|
||||
return true;
|
||||
|
||||
case 22: // XVP auth
|
||||
@@ -1870,6 +1866,13 @@ export default class RFB extends EventTargetMixin {
|
||||
}
|
||||
|
||||
_handleSecurityResult() {
|
||||
// There is no security choice, and hence no security result
|
||||
// until RFB 3.7
|
||||
if (this._rfbVersion < 3.7) {
|
||||
this._rfbInitState = 'ClientInitialisation';
|
||||
return true;
|
||||
}
|
||||
|
||||
if (this._sock.rQwait('VNC auth response ', 4)) { return false; }
|
||||
|
||||
const status = this._sock.rQshift32();
|
||||
|
||||
Reference in New Issue
Block a user