You are viewing a plain text version of this content. The canonical link for it is here.
Posted to wagon-commits@maven.apache.org by br...@apache.org on 2008/05/27 14:26:34 UTC

svn commit: r660484 - in /maven/wagon/trunk/wagon-providers: wagon-ssh-common/src/main/java/org/apache/maven/wagon/providers/ssh/ wagon-ssh-external/src/main/java/org/apache/maven/wagon/providers/ssh/external/ wagon-ssh-ganymed/src/main/java/org/apache...

Author: brett
Date: Tue May 27 05:26:27 2008
New Revision: 660484

URL: http://svn.apache.org/viewvc?rev=660484&view=rev
Log:
[WAGON-157] give a proper failure when the key location is specified, but incorrect

Modified:
    maven/wagon/trunk/wagon-providers/wagon-ssh-common/src/main/java/org/apache/maven/wagon/providers/ssh/AbstractSshWagon.java
    maven/wagon/trunk/wagon-providers/wagon-ssh-external/src/main/java/org/apache/maven/wagon/providers/ssh/external/ScpExternalWagon.java
    maven/wagon/trunk/wagon-providers/wagon-ssh-ganymed/src/main/java/org/apache/maven/wagon/providers/ssh/ganymed/AbstractGanymedWagon.java
    maven/wagon/trunk/wagon-providers/wagon-ssh/src/main/java/org/apache/maven/wagon/providers/ssh/jsch/AbstractJschWagon.java

Modified: maven/wagon/trunk/wagon-providers/wagon-ssh-common/src/main/java/org/apache/maven/wagon/providers/ssh/AbstractSshWagon.java
URL: http://svn.apache.org/viewvc/maven/wagon/trunk/wagon-providers/wagon-ssh-common/src/main/java/org/apache/maven/wagon/providers/ssh/AbstractSshWagon.java?rev=660484&r1=660483&r2=660484&view=diff
==============================================================================
--- maven/wagon/trunk/wagon-providers/wagon-ssh-common/src/main/java/org/apache/maven/wagon/providers/ssh/AbstractSshWagon.java (original)
+++ maven/wagon/trunk/wagon-providers/wagon-ssh-common/src/main/java/org/apache/maven/wagon/providers/ssh/AbstractSshWagon.java Tue May 27 05:26:27 2008
@@ -38,6 +38,7 @@
 import org.codehaus.plexus.util.StringUtils;
 
 import java.io.File;
+import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.util.List;
 
@@ -168,7 +169,7 @@
         // nothing to disconnect
     }
 
-    protected File getPrivateKey()
+    protected File getPrivateKey() throws FileNotFoundException
     {
         // If user don't define a password, he want to use a private key
         File privateKey = null;
@@ -178,13 +179,17 @@
             if ( authenticationInfo.getPrivateKey() != null )
             {
                 privateKey = new File( authenticationInfo.getPrivateKey() );
+                if ( !privateKey.exists() )
+                {
+                    throw new FileNotFoundException( "Private key '" + privateKey + "' not found" );
+                }
             }
             else
             {
                 privateKey = findPrivateKey();
             }
 
-            if ( privateKey.exists() )
+            if ( privateKey != null && privateKey.exists() )
             {
                 if ( authenticationInfo.getPassphrase() == null )
                 {
@@ -222,6 +227,10 @@
         if ( !privateKey.exists() )
         {
             privateKey = new File( privateKeyDirectory, ".ssh/id_rsa" );
+            if ( !privateKey.exists() )
+            {
+                privateKey = null;
+            }
         }
 
         return privateKey;

Modified: maven/wagon/trunk/wagon-providers/wagon-ssh-external/src/main/java/org/apache/maven/wagon/providers/ssh/external/ScpExternalWagon.java
URL: http://svn.apache.org/viewvc/maven/wagon/trunk/wagon-providers/wagon-ssh-external/src/main/java/org/apache/maven/wagon/providers/ssh/external/ScpExternalWagon.java?rev=660484&r1=660483&r2=660484&view=diff
==============================================================================
--- maven/wagon/trunk/wagon-providers/wagon-ssh-external/src/main/java/org/apache/maven/wagon/providers/ssh/external/ScpExternalWagon.java (original)
+++ maven/wagon/trunk/wagon-providers/wagon-ssh-external/src/main/java/org/apache/maven/wagon/providers/ssh/external/ScpExternalWagon.java Tue May 27 05:26:27 2008
@@ -20,6 +20,7 @@
  */
 
 import java.io.File;
+import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.util.List;
 
@@ -108,7 +109,16 @@
     {
         boolean putty = sshExecutable.indexOf( "plink" ) >= 0;
 
-        Commandline cl = createBaseCommandLine( putty, sshExecutable );
+        File privateKey;
+        try
+        {
+            privateKey = getPrivateKey();
+        }
+        catch ( FileNotFoundException e )
+        {
+            throw new CommandExecutionException( e.getMessage() );
+        }
+        Commandline cl = createBaseCommandLine( putty, sshExecutable, privateKey );
 
         int port = getPort();
         if ( port != DEFAULT_SSH_PORT )
@@ -161,13 +171,12 @@
         }
     }
 
-    private Commandline createBaseCommandLine( boolean putty, String executable )
+    private Commandline createBaseCommandLine( boolean putty, String executable, File privateKey )
     {
         Commandline cl = new Commandline();
 
         cl.setExecutable( executable );
 
-        File privateKey = getPrivateKey();
         if ( privateKey != null )
         {
             cl.createArgument().setValue( "-i" );
@@ -196,11 +205,20 @@
 
 
     private void executeScpCommand( File localFile, String remoteFile, boolean put )
-        throws TransferFailedException, ResourceDoesNotExistException
+        throws TransferFailedException, ResourceDoesNotExistException, AuthorizationException
     {
         boolean putty = scpExecutable.indexOf( "pscp" ) >= 0;
 
-        Commandline cl = createBaseCommandLine( putty, scpExecutable );
+        File privateKey;
+        try
+        {
+            privateKey = getPrivateKey();
+        }
+        catch ( FileNotFoundException e )
+        {
+            throw new AuthorizationException( e.getMessage() );
+        }
+        Commandline cl = createBaseCommandLine( putty, scpExecutable, privateKey );
 
         cl.setWorkingDirectory( localFile.getParentFile().getAbsolutePath() );
 

Modified: maven/wagon/trunk/wagon-providers/wagon-ssh-ganymed/src/main/java/org/apache/maven/wagon/providers/ssh/ganymed/AbstractGanymedWagon.java
URL: http://svn.apache.org/viewvc/maven/wagon/trunk/wagon-providers/wagon-ssh-ganymed/src/main/java/org/apache/maven/wagon/providers/ssh/ganymed/AbstractGanymedWagon.java?rev=660484&r1=660483&r2=660484&view=diff
==============================================================================
--- maven/wagon/trunk/wagon-providers/wagon-ssh-ganymed/src/main/java/org/apache/maven/wagon/providers/ssh/ganymed/AbstractGanymedWagon.java (original)
+++ maven/wagon/trunk/wagon-providers/wagon-ssh-ganymed/src/main/java/org/apache/maven/wagon/providers/ssh/ganymed/AbstractGanymedWagon.java Tue May 27 05:26:27 2008
@@ -21,6 +21,7 @@
 
 import java.io.BufferedReader;
 import java.io.File;
+import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
@@ -71,7 +72,15 @@
         String host = getRepository().getHost();
         int port = getPort();
 
-        File privateKey = getPrivateKey();
+        File privateKey;
+        try
+        {
+            privateKey = getPrivateKey();
+        }
+        catch ( FileNotFoundException e )
+        {
+            throw new AuthenticationException( e.getMessage() );
+        }
 
         /*
         if ( !interactive )

Modified: maven/wagon/trunk/wagon-providers/wagon-ssh/src/main/java/org/apache/maven/wagon/providers/ssh/jsch/AbstractJschWagon.java
URL: http://svn.apache.org/viewvc/maven/wagon/trunk/wagon-providers/wagon-ssh/src/main/java/org/apache/maven/wagon/providers/ssh/jsch/AbstractJschWagon.java?rev=660484&r1=660483&r2=660484&view=diff
==============================================================================
--- maven/wagon/trunk/wagon-providers/wagon-ssh/src/main/java/org/apache/maven/wagon/providers/ssh/jsch/AbstractJschWagon.java (original)
+++ maven/wagon/trunk/wagon-providers/wagon-ssh/src/main/java/org/apache/maven/wagon/providers/ssh/jsch/AbstractJschWagon.java Tue May 27 05:26:27 2008
@@ -21,6 +21,7 @@
 
 import java.io.BufferedReader;
 import java.io.File;
+import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
@@ -99,7 +100,15 @@
 
         JSch sch = new JSch();
 
-        File privateKey = getPrivateKey();
+        File privateKey;
+        try
+        {
+            privateKey = getPrivateKey();
+        }
+        catch ( FileNotFoundException e )
+        {
+            throw new AuthenticationException( e.getMessage() );
+        }
 
         if ( privateKey != null && privateKey.exists() )
         {



---------------------------------------------------------------------
To unsubscribe, e-mail: wagon-commits-unsubscribe@maven.apache.org
For additional commands, e-mail: wagon-commits-help@maven.apache.org