[jboss-svn-commits] JBL Code SVN: r29657 - labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/util.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Oct 19 08:20:49 EDT 2009


Author: kevin.conner at jboss.com
Date: 2009-10-19 08:20:49 -0400 (Mon, 19 Oct 2009)
New Revision: 29657

Modified:
   labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/util/SecureFtpImpl.java
   labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/util/SecureFtpUserInfo.java
Log:
Support keyboard-interactive through UserInfo: JBESB-2875

Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/util/SecureFtpImpl.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/util/SecureFtpImpl.java	2009-10-19 11:43:29 UTC (rev 29656)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/util/SecureFtpImpl.java	2009-10-19 12:20:49 UTC (rev 29657)
@@ -210,7 +210,8 @@
         
                                 if (m_sPasswd != null)
                                 {
-                                    session.setPassword(m_sPasswd) ;
+                                    final UserInfo ui = new SecureFtpUserInfo(null, m_sPasswd) ;
+                                    session.setUserInfo(ui) ;
                                     session.setConfig("PreferredAuthentications", "password,keyboard-interactive") ;
                                 }
                                 else if (m_oCertificate != null)
@@ -247,7 +248,7 @@
                                     final byte[] privateKey = StreamUtils.readStream(is) ;
                                     m_oJSch.addIdentity(certificateName, privateKey, null, null) ;
                                     
-                                    final UserInfo ui = new SecureFtpUserInfo(m_sPassphrase);
+                                    final UserInfo ui = new SecureFtpUserInfo(m_sPassphrase, null);
                                     session.setUserInfo(ui);
                                     session.setConfig("PreferredAuthentications", "publickey") ;
                                 }

Modified: labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/util/SecureFtpUserInfo.java
===================================================================
--- labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/util/SecureFtpUserInfo.java	2009-10-19 11:43:29 UTC (rev 29656)
+++ labs/jbossesb/trunk/product/rosetta/src/org/jboss/internal/soa/esb/util/SecureFtpUserInfo.java	2009-10-19 12:20:49 UTC (rev 29657)
@@ -25,25 +25,32 @@
  */
 package org.jboss.internal.soa.esb.util;
 
+import com.jcraft.jsch.UIKeyboardInteractive;
 import com.jcraft.jsch.UserInfo;
 
 /**
  * @author geo
  * 
  */
-public class SecureFtpUserInfo implements UserInfo {
+public class SecureFtpUserInfo implements UserInfo, UIKeyboardInteractive {
 
 	/** The user-passphrase */
 	private final String passphrase ;
+	
+	/** The user password */
+	private final String password ;
 
 	/**
 	 * Constructor
 	 * 
 	 * @param passphrase
 	 *            The users passphrase.
+	 * @param password
+	 *            The users password.
 	 */
-	public SecureFtpUserInfo(final String passphrase) {
+	public SecureFtpUserInfo(final String passphrase, final String password) {
 		this.passphrase = passphrase;
+		this.password = password ;
 	}
 
 	/*
@@ -61,7 +68,7 @@
 	 * @see com.jcraft.jsch.UserInfo#getPassword()
 	 */
 	public String getPassword() {
-		return null;
+		return password;
 	}
 
 	/*
@@ -100,4 +107,8 @@
 		
 	}
 
+	public String[] promptKeyboardInteractive(final String dest, final String name,
+		final String instruction, final String[] prompt, final boolean[] echo) {
+		return (password == null ? null : new String[] {password});
+	}
 }



More information about the jboss-svn-commits mailing list