Detect RealVNC's RFB 5.0 Protocol Version

The RFB protocol specifies a max version of 3.8, but RealVNC likes to
increment their version when they add new features.  RealVNC 5.3 sends
"005.000" as the version string, since they've extended their
implementation upon RFB v3.8.  We can detect that, and just tell them we
only speak 3.8, instead of barfing on "005.000" as an invalid version.
This commit is contained in:
Lars Ole Hurlen 2016-03-11 08:32:50 +01:00 committed by Solly Ross
parent 386db8f54f
commit 49aa5b81c7
2 changed files with 6 additions and 0 deletions

View File

@ -670,6 +670,7 @@
case "003.008":
case "004.000": // Intel AMT KVM
case "004.001": // RealVNC 4.6
case "005.000": // RealVNC 5.3
this._rfb_version = 3.8;
break;
default:

View File

@ -564,6 +564,11 @@ describe('Remote Frame Buffer Protocol Client', function() {
expect(client._rfb_version).to.equal(3.8);
});
it('should interpret version 005.000 as version 3.8', function () {
send_ver('005.000', client);
expect(client._rfb_version).to.equal(3.8);
});
it('should fail on an invalid version', function () {
send_ver('002.000', client);
expect(client._rfb_state).to.equal('failed');