That patch does not seem to work. setPassword() is only called once when connecting to the same host again. I have made the following change to fix this issue.
$ diff -p SSHUserInfo.java.orig SSHUserInfo.java *** SSHUserInfo.java.orig Thu Jun 2 15:20:06 2005 --- SSHUserInfo.java Tue Aug 16 10:37:11 2005 *************** public class SSHUserInfo implements User *** 152,162 **** public boolean promptPassword(String passwordPrompt) { //log(passwordPrompt, Project.MSG_DEBUG); ! if (firstTime) { ! firstTime = false; ! return true; ! } ! return firstTime; } public boolean promptYesNo(String message) { --- 152,158 ---- public boolean promptPassword(String passwordPrompt) { //log(passwordPrompt, Project.MSG_DEBUG); ! return true; } public boolean promptYesNo(String message) { This bassically negates the need for the firstTime variable. Is that OK? I don't remember what that variable and the code in promptPassword was for anyway. There is a new issue that comes to light, once again. See the output below... Buildfile: ssh_twice_build.xml linux: [sshexec] Connecting to localhost:22 [sshexec] Hello from localhost linux: [sshexec] Connecting to localhost:22 BUILD SUCCESSFUL Total time: 8 seconds The first time the target is run, the output is printed to the console. The second time, it is not. There has been discussion about this bug in the past, but no resolution. I tried to look into it, but found myself in over my head. > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] > Sent: Monday, August 15, 2005 9:28 PM > To: Anderson, Rob (Global Trade) > Cc: user@ant.apache.org > Subject: Re: Multiple <sshexec> invocations > > > Hi, > > +-From: "Anderson, Rob (Global Trade)" <[EMAIL PROTECTED]> -- > |_Date: Mon, 15 Aug 2005 11:53:12 -0700 _________________________ > | > |Try the same tests with jsch 0.1.16. What are the results? I > |believe these are problems with Jsch. -Rob Anderson > ... > |> BUILD FAILED > |> P:\com_lgc\cycle11\infrasdk\build.xml:22: > |> com.jcraft.jsch.JSchException: > |> Auth cancel > ... > > I think this problem has come from following lines in > org/apache/tools/ant/taskdefs/optional/ssh/SSHUserInfo.java > > >public boolean promptPassword(String passwordPrompt) { > > //log(passwordPrompt, Project.MSG_DEBUG); > > if (firstTime) { > > firstTime = false; > > return true; > > } > > return firstTime; > >} > > I mean that this method will always return 'false' in the second time. > > Here is a quick hack to work around this problem. > May I ask somebody to test this patch? > > diff -Naur ssh/SSHUserInfo.java ssh.new/SSHUserInfo.java > --- ssh/SSHUserInfo.java 2005-07-08 13:39:23.000000000 +0000 > +++ ssh.new/SSHUserInfo.java 2005-08-16 04:10:40.000000000 +0000 > @@ -112,6 +112,7 @@ > * @param password The password to set > */ > public void setPassword(String password) { > + firstTime = true; > this.password = password; > } > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]