This is an automated email from the ASF dual-hosted git repository. sureshanaparti pushed a commit to branch 4.19 in repository https://gitbox.apache.org/repos/asf/cloudstack.git
The following commit(s) were added to refs/heads/4.19 by this push: new 65753755379 extract host from websocket to add route (#8922) 65753755379 is described below commit 6575375537942236088d44eb3ed3473e7437aad8 Author: dahn <d...@onecht.net> AuthorDate: Fri Jun 28 15:32:19 2024 +0200 extract host from websocket to add route (#8922) * extract host from websocket to add route * move method to NetUtils * imports * import --- .../main/java/com/cloud/consoleproxy/ConsoleProxyNoVncClient.java | 2 ++ utils/src/main/java/com/cloud/utils/net/NetUtils.java | 5 +++++ 2 files changed, 7 insertions(+) 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 cfa62114c3d..05063e0f861 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 @@ -16,6 +16,7 @@ // under the License. package com.cloud.consoleproxy; +import com.cloud.utils.net.NetUtils; import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.eclipse.jetty.websocket.api.Session; @@ -284,6 +285,7 @@ public class ConsoleProxyNoVncClient implements ConsoleProxyClient { try { if (StringUtils.isNotBlank(websocketUrl)) { s_logger.info(String.format("Connect to VNC over websocket URL: %s", websocketUrl)); + ConsoleProxy.ensureRoute(NetUtils.extractHost(websocketUrl)); client.connectToWebSocket(websocketUrl, session); } else if (tunnelUrl != null && !tunnelUrl.isEmpty() && tunnelSession != null && !tunnelSession.isEmpty()) { diff --git a/utils/src/main/java/com/cloud/utils/net/NetUtils.java b/utils/src/main/java/com/cloud/utils/net/NetUtils.java index 018912a2140..91a2f4eb755 100644 --- a/utils/src/main/java/com/cloud/utils/net/NetUtils.java +++ b/utils/src/main/java/com/cloud/utils/net/NetUtils.java @@ -30,6 +30,7 @@ import java.net.InterfaceAddress; import java.net.NetworkInterface; import java.net.SocketException; import java.net.URI; +import java.net.URISyntaxException; import java.net.UnknownHostException; import java.util.ArrayList; import java.util.Arrays; @@ -98,6 +99,10 @@ public class NetUtils { public final static int IPV6_EUI64_11TH_BYTE = -1; public final static int IPV6_EUI64_12TH_BYTE = -2; + public static String extractHost(String uri) throws URISyntaxException { + return (new URI(uri)).getHost(); + } + public enum InternetProtocol { IPv4, IPv6, DualStack;