From 74793925ed45c4f040b6e61b9cf198b65645f073 Mon Sep 17 00:00:00 2001 From: Kelven Yang Date: Wed, 6 Oct 2010 14:57:26 -0700 Subject: [PATCH] Explictly reject console-access request if it does not carry an access ticket, this usually happens in migration process while old console proxy is in use --- .../com/cloud/consoleproxy/ConsoleProxyManagerImpl.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java b/server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java index 33750a082fa..0882d4963a2 100644 --- a/server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java +++ b/server/src/com/cloud/consoleproxy/ConsoleProxyManagerImpl.java @@ -1247,8 +1247,13 @@ public class ConsoleProxyManagerImpl implements ConsoleProxyManager, ConsoleAccessAuthenticationCommand cmd) { long vmId = 0; - String ticket = ConsoleProxyServlet.genAccessTicket(cmd.getHost(), cmd.getPort(), cmd.getSid(), cmd.getVmId()); String ticketInUrl = cmd.getTicket(); + if(ticketInUrl == null) { + s_logger.error("No access ticket found, you could be running an old console proxy. vmId: " + cmd.getVmId()); + return new ConsoleAccessAuthenticationAnswer(cmd, false); + } + + String ticket = ConsoleProxyServlet.genAccessTicket(cmd.getHost(), cmd.getPort(), cmd.getSid(), cmd.getVmId()); if(!ticket.startsWith(ticketInUrl)) { s_logger.error("Access ticket expired or has been modified. vmId: " + cmd.getVmId()); return new ConsoleAccessAuthenticationAnswer(cmd, false);