Repository: jclouds
Updated Branches:
  refs/heads/master 053dfd013 -> 822899485


Fixes Run SSH script for passwords with special characters (as parentheses)


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

Branch: refs/heads/master
Commit: 8228994850291753204a08f81ff081fc10122a9c
Parents: 053dfd0
Author: Dani Estevez <[email protected]>
Authored: Fri May 11 10:52:15 2018 -0400
Committer: Ignasi Barrera <[email protected]>
Committed: Fri May 11 22:57:27 2018 +0200

----------------------------------------------------------------------
 .../org/jclouds/compute/callables/RunScriptOnNodeUsingSsh.java    | 3 ++-
 .../jclouds/compute/callables/RunScriptOnNodeUsingSshTest.java    | 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jclouds/blob/82289948/compute/src/main/java/org/jclouds/compute/callables/RunScriptOnNodeUsingSsh.java
----------------------------------------------------------------------
diff --git 
a/compute/src/main/java/org/jclouds/compute/callables/RunScriptOnNodeUsingSsh.java
 
b/compute/src/main/java/org/jclouds/compute/callables/RunScriptOnNodeUsingSsh.java
index 2d72e3a..f1830c2 100644
--- 
a/compute/src/main/java/org/jclouds/compute/callables/RunScriptOnNodeUsingSsh.java
+++ 
b/compute/src/main/java/org/jclouds/compute/callables/RunScriptOnNodeUsingSsh.java
@@ -112,7 +112,8 @@ public class RunScriptOnNodeUsingSsh implements 
RunScriptOnNode {
    public String execAsRoot(String command) {
       if (node.getCredentials().identity.equals("root")) {
       } else if (node.getCredentials().shouldAuthenticateSudo()) {
-         command = String.format("sudo -S sh <<'%s'\n%s\n%s%s\n", MARKER, 
node.getCredentials().getOptionalPassword().get(), command, MARKER);
+         command = String.format("sudo -S sh <<'%s'\n'%s'\n%s%s\n", MARKER, 
node.getCredentials().getOptionalPassword
+               ().get(), command, MARKER);
       } else {
          command = String.format("sudo sh <<'%s'\n%s%s\n", MARKER, command, 
MARKER);
       }

http://git-wip-us.apache.org/repos/asf/jclouds/blob/82289948/compute/src/test/java/org/jclouds/compute/callables/RunScriptOnNodeUsingSshTest.java
----------------------------------------------------------------------
diff --git 
a/compute/src/test/java/org/jclouds/compute/callables/RunScriptOnNodeUsingSshTest.java
 
b/compute/src/test/java/org/jclouds/compute/callables/RunScriptOnNodeUsingSshTest.java
index 701d277..e8201c9 100644
--- 
a/compute/src/test/java/org/jclouds/compute/callables/RunScriptOnNodeUsingSshTest.java
+++ 
b/compute/src/test/java/org/jclouds/compute/callables/RunScriptOnNodeUsingSshTest.java
@@ -103,7 +103,7 @@ public class RunScriptOnNodeUsingSshTest {
       expect(sshClient.getUsername()).andReturn("tester");
       expect(sshClient.getHostAddress()).andReturn("somewhere.example.com");
       expect(
-            sshClient.exec("sudo -S sh <<'RUN_SCRIPT_AS_ROOT_SSH'\n" + 
"testpassword!\n" + "echo $USER\n"
+            sshClient.exec("sudo -S sh <<'RUN_SCRIPT_AS_ROOT_SSH'\n" + 
"'testpassword!'\n" + "echo $USER\n"
                   + "echo $USER\n" + 
"RUN_SCRIPT_AS_ROOT_SSH\n")).andReturn(new ExecResponse("root\nroot\n", null, 
0));
       sshClient.disconnect();
       replay(sshClient);

Reply via email to