Return-Path: Delivered-To: apmail-maven-wagon-cvs-archive@www.apache.org Received: (qmail 24700 invoked from network); 10 Jun 2005 16:33:48 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 10 Jun 2005 16:33:48 -0000 Received: (qmail 72954 invoked by uid 500); 10 Jun 2005 16:33:48 -0000 Delivered-To: apmail-maven-wagon-cvs-archive@maven.apache.org Received: (qmail 72940 invoked by uid 500); 10 Jun 2005 16:33:47 -0000 Mailing-List: contact wagon-cvs-help@maven.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: List-Id: Delivered-To: mailing list wagon-cvs@maven.apache.org Received: (qmail 72927 invoked by uid 99); 10 Jun 2005 16:33:47 -0000 X-ASF-Spam-Status: No, hits=-9.6 required=10.0 tests=ALL_TRUSTED,DATE_IN_PAST_06_12,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from minotaur.apache.org (HELO minotaur.apache.org) (209.237.227.194) by apache.org (qpsmtpd/0.28) with SMTP; Fri, 10 Jun 2005 09:33:41 -0700 Received: (qmail 34835 invoked by uid 65534); 10 Jun 2005 09:26:43 -0000 Message-ID: <20050610092643.34834.qmail@minotaur.apache.org> Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Subject: svn commit: r189930 - /maven/wagon/trunk/wagon-providers/wagon-ssh-external/src/main/java/org/apache/maven/wagon/providers/sshext/ScpExternalWagon.java Date: Fri, 10 Jun 2005 09:26:43 -0000 To: wagon-cvs@maven.apache.org From: brett@apache.org X-Mailer: svnmailer-1.0.0-dev X-Virus-Checked: Checked X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Author: brett Date: Fri Jun 10 02:26:42 2005 New Revision: 189930 URL: http://svn.apache.org/viewcvs?rev=3D189930&view=3Drev Log: PR: MNG-465 o correctly pass private key and port to external app o don't require a private key Modified: maven/wagon/trunk/wagon-providers/wagon-ssh-external/src/main/java/org/= apache/maven/wagon/providers/sshext/ScpExternalWagon.java Modified: maven/wagon/trunk/wagon-providers/wagon-ssh-external/src/main/jav= a/org/apache/maven/wagon/providers/sshext/ScpExternalWagon.java URL: http://svn.apache.org/viewcvs/maven/wagon/trunk/wagon-providers/wagon-= ssh-external/src/main/java/org/apache/maven/wagon/providers/sshext/ScpExter= nalWagon.java?rev=3D189930&r1=3D189929&r2=3D189930&view=3Ddiff =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D --- maven/wagon/trunk/wagon-providers/wagon-ssh-external/src/main/java/org/= apache/maven/wagon/providers/sshext/ScpExternalWagon.java (original) +++ maven/wagon/trunk/wagon-providers/wagon-ssh-external/src/main/java/org/= apache/maven/wagon/providers/sshext/ScpExternalWagon.java Fri Jun 10 02:26:= 42 2005 @@ -22,7 +22,6 @@ import org.apache.maven.wagon.TransferFailedException; import org.apache.maven.wagon.WagonConstants; import org.apache.maven.wagon.authentication.AuthenticationException; -import org.apache.maven.wagon.authentication.AuthenticationInfo; import org.apache.maven.wagon.authorization.AuthorizationException; import org.apache.maven.wagon.events.TransferEvent; import org.apache.maven.wagon.repository.RepositoryPermissions; @@ -33,9 +32,6 @@ import org.codehaus.plexus.util.cli.Commandline; =20 import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.io.InputStream; =20 /** * SCP deployer using "external" scp program. To allow for @@ -49,8 +45,6 @@ extends AbstractWagon implements SshCommandExecutor { - public static int DEFAULT_SSH_PORT =3D 22; - /** * The external SCP command to use - default is scp. * @@ -80,6 +74,10 @@ */ private String sshArgs =3D null; =20 + private int port; + + private File privateKey; + // -------------------------------------------------------------------= --- // // -------------------------------------------------------------------= --- @@ -92,12 +90,7 @@ throw new IllegalArgumentException( "Authentication Credential= s cannot be null for SSH protocol" ); } =20 - int port =3D getRepository().getPort(); - - if ( port =3D=3D WagonConstants.UNKNOWN_PORT ) - { - port =3D DEFAULT_SSH_PORT; - } + port =3D getRepository().getPort(); =20 // If user don't define a password, he want to use a private key if ( authenticationInfo.getPassword() =3D=3D null ) @@ -122,14 +115,7 @@ =20 fireSessionDebug( "Using private key: " + privateKey ); =20 - // TODO: do something with it - } - else - { - String msg =3D "Private key was not found. You must define= a private key or a password for repo: " + - getRepository().getName(); - - throw new AuthenticationException( msg ); + this.privateKey =3D privateKey; } } // nothing to connect to @@ -174,6 +160,24 @@ =20 cl.setExecutable( sshExecutable ); =20 + if ( privateKey !=3D null ) + { + cl.createArgument().setValue( "-i" ); + cl.createArgument().setFile( privateKey ); + } + + if ( port !=3D WagonConstants.UNKNOWN_PORT ) + { + if ( sshExecutable.indexOf( "plink" ) >=3D 0 ) + { + cl.createArgument().setLine( "-P " + port ); + } + else + { + cl.createArgument().setLine( "-p " + port ); + } + } + if ( sshArgs !=3D null ) { cl.createArgument().setLine( sshArgs ); @@ -203,6 +207,17 @@ cl.setWorkingDirectory( localFile.getParentFile().getAbsolutePath(= ) ); =20 cl.setExecutable( scpExecutable ); + + if ( privateKey !=3D null ) + { + cl.createArgument().setValue( "-i" ); + cl.createArgument().setFile( privateKey ); + } + + if ( port !=3D WagonConstants.UNKNOWN_PORT ) + { =20 + cl.createArgument().setLine( "-P " + port ); + } =20 if ( scpArgs !=3D null ) { --------------------------------------------------------------------- To unsubscribe, e-mail: wagon-cvs-unsubscribe@maven.apache.org For additional commands, e-mail: wagon-cvs-help@maven.apache.org