From 5157d320779c8fd81588c9f5d4e9e02e91f81ff4 Mon Sep 17 00:00:00 2001 From: Lars Ole Hurlen Date: Fri, 11 Mar 2016 08:32:50 +0100 Subject: [PATCH] Added support for RealVNC 5.3: RFB max version is 3.8, but RealVNC 5.3 sends "005.000" as the version string since they've extended their implementation upon RFB v3.8. Since RealVNC 5.3 implementss RFB v3.8 the noVNC client can interpret the "005.000" version string as RFB v3.8. The patch is tested against a fresh install of RealVNC Server 5.3 running on Windows 7 x64. --- include/rfb.js | 1 + tests/test.rfb.js | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/include/rfb.js b/include/rfb.js index 5d98dbd2..e81edbef 100644 --- a/include/rfb.js +++ b/include/rfb.js @@ -645,6 +645,7 @@ var RFB; 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: diff --git a/tests/test.rfb.js b/tests/test.rfb.js index 961d9eb5..aaf52c90 100644 --- a/tests/test.rfb.js +++ b/tests/test.rfb.js @@ -545,6 +545,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');