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 <[email protected]>
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;