fix select 'no-auth' when empty sub-auth types received on tight security sub-auth negotiation

This commit is contained in:
Dmitry Sankevich 2015-12-16 15:35:23 +06:00
parent b2a813dc73
commit 980c2652ac
1 changed files with 5 additions and 0 deletions

View File

@ -795,6 +795,11 @@ var RFB;
// second pass, do the sub-auth negotiation // second pass, do the sub-auth negotiation
if (this._sock.rQwait("sub auth count", 4)) { return false; } if (this._sock.rQwait("sub auth count", 4)) { return false; }
var subAuthCount = this._sock.rQshift32(); var subAuthCount = this._sock.rQshift32();
if (subAuthCount === 0) { // empty sub-auth list received means 'no auth' subtype selected
this._updateState('SecurityResult');
return true;
}
if (this._sock.rQwait("sub auth capabilities", 16 * subAuthCount, 4)) { return false; } if (this._sock.rQwait("sub auth capabilities", 16 * subAuthCount, 4)) { return false; }
var clientSupportedTypes = { var clientSupportedTypes = {