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());