Skip to content

Commit f82ee7d

Browse files
committed
fix on cpvm
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
1 parent c3a0d46 commit f82ee7d

File tree

4 files changed

+13
-3
lines changed

4 files changed

+13
-3
lines changed

services/console-proxy/server/src/main/java/com/cloud/consoleproxy/ConsoleProxy.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,16 +36,15 @@
3636

3737
import org.apache.commons.lang3.ArrayUtils;
3838
import org.apache.commons.lang3.StringUtils;
39+
import org.apache.logging.log4j.LogManager;
40+
import org.apache.logging.log4j.Logger;
3941
import org.apache.logging.log4j.core.config.Configurator;
4042
import org.eclipse.jetty.websocket.api.Session;
4143

4244
import com.cloud.utils.PropertiesUtil;
4345
import com.google.gson.Gson;
4446
import com.sun.net.httpserver.HttpServer;
4547

46-
import org.apache.logging.log4j.LogManager;
47-
import org.apache.logging.log4j.Logger;
48-
4948
/**
5049
*
5150
* ConsoleProxy, singleton class that manages overall activities in console proxy process. To make legacy code work, we still
@@ -598,6 +597,8 @@ public static ConsoleProxyNoVncClient getNoVncViewer(ConsoleProxyClientParam par
598597
Session session) throws AuthenticationException {
599598
boolean reportLoadChange = false;
600599
String clientKey = param.getClientMapKey();
600+
LOGGER.debug("Getting NoVNC viewer for {}. Session requires new viewer: {}, client tag: {}. session UUID: {}",
601+
clientKey, param.isSessionRequiresNewViewer(), param.getClientTag(), param.getSessionUuid());
601602
synchronized (connectionMap) {
602603
ConsoleProxyClient viewer = connectionMap.get(clientKey);
603604
if (viewer == null || viewer.getClass() != ConsoleProxyNoVncClient.class) {

services/console-proxy/server/src/main/java/com/cloud/consoleproxy/ConsoleProxyClientParam.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -232,4 +232,8 @@ public void setClientIp(String clientIp) {
232232
public boolean isSessionRequiresNewViewer() {
233233
return sessionRequiresNewViewer;
234234
}
235+
236+
public void setSessionRequiresNewViewer(boolean sessionRequiresNewViewer) {
237+
this.sessionRequiresNewViewer = sessionRequiresNewViewer;
238+
}
235239
}

services/console-proxy/server/src/main/java/com/cloud/consoleproxy/ConsoleProxyHttpHandlerHelper.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,9 @@ public static Map<String, String> getQueryMap(String query) {
110110
if (param.getExtraSecurityToken() != null) {
111111
map.put("extraSecurityToken", param.getExtraSecurityToken());
112112
}
113+
if (param.isSessionRequiresNewViewer()) {
114+
map.put("sessionRequiresNewViewer", Boolean.TRUE.toString());
115+
}
113116
} else {
114117
LOGGER.error("Unable to decode token");
115118
}

services/console-proxy/server/src/main/java/com/cloud/consoleproxy/ConsoleProxyNoVNCHandler.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ public void onConnect(final Session session) throws IOException, InterruptedExce
9393
String websocketUrl = queryMap.get("websocketUrl");
9494
String sessionUuid = queryMap.get("sessionUuid");
9595
String clientIp = session.getRemoteAddress().getAddress().getHostAddress();
96+
boolean sessionRequiresNewViewer = Boolean.parseBoolean(queryMap.get("sessionRequiresNewViewer"));
9697

9798
if (tag == null)
9899
tag = "";
@@ -141,6 +142,7 @@ public void onConnect(final Session session) throws IOException, InterruptedExce
141142
param.setSessionUuid(sessionUuid);
142143
param.setSourceIP(sourceIP);
143144
param.setClientIp(clientIp);
145+
param.setSessionRequiresNewViewer(sessionRequiresNewViewer);
144146

145147
if (queryMap.containsKey("extraSecurityToken")) {
146148
param.setExtraSecurityToken(queryMap.get("extraSecurityToken"));

0 commit comments

Comments
 (0)