From b8bc0b3e13f03c65becb1f5cda8b3a9d409b8720 Mon Sep 17 00:00:00 2001 From: Nicolas Vazquez Date: Fri, 24 Feb 2023 07:45:30 -0300 Subject: [PATCH] Fix VNC SecurityType None on RFB v3.8 (#7287) --- .../cloud/consoleproxy/ConsoleProxyNoVncClient.java | 2 +- .../java/com/cloud/consoleproxy/vnc/NoVncClient.java | 11 +++-------- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/services/console-proxy/server/src/main/java/com/cloud/consoleproxy/ConsoleProxyNoVncClient.java b/services/console-proxy/server/src/main/java/com/cloud/consoleproxy/ConsoleProxyNoVncClient.java index ae9573c3aea..6434dd6e42e 100644 --- a/services/console-proxy/server/src/main/java/com/cloud/consoleproxy/ConsoleProxyNoVncClient.java +++ b/services/console-proxy/server/src/main/java/com/cloud/consoleproxy/ConsoleProxyNoVncClient.java @@ -200,7 +200,7 @@ public class ConsoleProxyNoVncClient implements ConsoleProxyClient { client.processHandshakeSecurityType(secType, getClientHostPassword(), getClientHostAddress(), getClientHostPort()); - client.processSecurityResultMsg(secType); + client.processSecurityResultMsg(); byte[] securityResultToClient = new byte[] { 0, 0, 0, 0 }; sendMessageToVNCClient(securityResultToClient, 4); client.setWaitForNoVnc(true); diff --git a/services/console-proxy/server/src/main/java/com/cloud/consoleproxy/vnc/NoVncClient.java b/services/console-proxy/server/src/main/java/com/cloud/consoleproxy/vnc/NoVncClient.java index c8318de1e35..8dee19910e7 100644 --- a/services/console-proxy/server/src/main/java/com/cloud/consoleproxy/vnc/NoVncClient.java +++ b/services/console-proxy/server/src/main/java/com/cloud/consoleproxy/vnc/NoVncClient.java @@ -472,18 +472,13 @@ public class NoVncClient { return new Pair<>(result, message); } - public void processSecurityResultMsg(int securityType) { + public void processSecurityResultMsg() { if (s_logger.isDebugEnabled()) { s_logger.debug("Processing security result message"); } - int result; - if (securityType == RfbConstants.NO_AUTH) { - result = RfbConstants.VNC_AUTH_OK; - } else { - nioSocketConnection.waitForBytesAvailableForReading(1); - result = nioSocketConnection.readUnsignedInteger(32); - } + nioSocketConnection.waitForBytesAvailableForReading(1); + int result = nioSocketConnection.readUnsignedInteger(32); Pair securityResultType = processSecurityResultType(result); boolean success = BooleanUtils.toBoolean(securityResultType.first());