Repository: cloudstack
Updated Branches:
  refs/heads/4.4 8138984dc -> 018bcd26f


CLOUDSTACK-7124: Fix semicolon caused VPN programming issue on Xen

(cherry picked from commit abc0b40acb5d1b5b87362b4737605249525455dc)


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/018bcd26
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/018bcd26
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/018bcd26

Branch: refs/heads/4.4
Commit: 018bcd26f800c1f5981df2a522e0bdfcd5768295
Parents: 8138984
Author: Sheng Yang <sheng.y...@citrix.com>
Authored: Fri Jul 25 16:17:30 2014 -0700
Committer: Daan Hoogland <d...@onecht.net>
Committed: Sat Aug 30 21:57:24 2014 +0200

----------------------------------------------------------------------
 .../com/cloud/hypervisor/xen/resource/CitrixResourceBase.java | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/018bcd26/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java
----------------------------------------------------------------------
diff --git 
a/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java
 
b/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java
index 5450675..c1c9795 100644
--- 
a/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java
+++ 
b/plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java
@@ -566,9 +566,12 @@ public abstract class CitrixResourceBase implements 
ServerResource, HypervisorRe
     @Override
     public ExecutionResult executeInVR(String routerIP, String script, String 
args, int timeout) {
         Pair<Boolean, String> result;
+        String cmdline = "/opt/cloud/bin/router_proxy.sh " + script + " " + 
routerIP + " " + args;
+        // semicolon need to be escape for bash
+        cmdline = cmdline.replaceAll(";", "\\\\;");
         try {
-            s_logger.debug("Executing command in VR:  
/opt/cloud/bin/router_proxy.sh " + script + " " + routerIP + " " + args);
-            result = SshHelper.sshExecute(_host.ip, 22, _username, null, 
_password.peek(), "/opt/cloud/bin/router_proxy.sh " + script + " " + routerIP + 
" " + args,
+            s_logger.debug("Executing command in VR: " + cmdline);
+            result = SshHelper.sshExecute(_host.ip, 22, _username, null, 
_password.peek(), cmdline,
                     60000, 60000, timeout * 1000);
         } catch (Exception e) {
             return new ExecutionResult(false, e.getMessage());

Reply via email to