You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by da...@apache.org on 2015/09/20 05:20:48 UTC

maven-wagon git commit: Revert "[WAGON-426] Prevent fingerprints loss in known_hosts. Append in"

Repository: maven-wagon
Updated Branches:
  refs/heads/master fc34bf340 -> 8863ded43


Revert "[WAGON-426] Prevent fingerprints loss in known_hosts. Append in"

This reverts commit fc34bf340e64f42ea969b29bb83aa73d0b10d910.


Project: http://git-wip-us.apache.org/repos/asf/maven-wagon/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven-wagon/commit/8863ded4
Tree: http://git-wip-us.apache.org/repos/asf/maven-wagon/tree/8863ded4
Diff: http://git-wip-us.apache.org/repos/asf/maven-wagon/diff/8863ded4

Branch: refs/heads/master
Commit: 8863ded43b40a030bef525f5a42b5adc3a0cb8de
Parents: fc34bf3
Author: Dan Tran <da...@apache.org>
Authored: Sat Sep 19 20:19:43 2015 -0700
Committer: Dan Tran <da...@apache.org>
Committed: Sat Sep 19 20:19:43 2015 -0700

----------------------------------------------------------------------
 .../knownhost/AbstractKnownHostsProvider.java   | 15 ++----
 .../ssh/knownhost/FileKnownHostsProvider.java   | 17 ++-----
 .../ssh/knownhost/KnownHostsProvider.java       |  3 --
 .../providers/ssh/jsch/AbstractJschWagon.java   | 53 +++++++++++---------
 .../ssh/jsch/EmbeddedScpWagonTest.java          |  6 ---
 .../ssh/jsch/EmbeddedScpWagonWithKeyTest.java   |  6 ---
 6 files changed, 37 insertions(+), 63 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/8863ded4/wagon-providers/wagon-ssh-common/src/main/java/org/apache/maven/wagon/providers/ssh/knownhost/AbstractKnownHostsProvider.java
----------------------------------------------------------------------
diff --git a/wagon-providers/wagon-ssh-common/src/main/java/org/apache/maven/wagon/providers/ssh/knownhost/AbstractKnownHostsProvider.java b/wagon-providers/wagon-ssh-common/src/main/java/org/apache/maven/wagon/providers/ssh/knownhost/AbstractKnownHostsProvider.java
index 6b9117a..19c9f3f 100644
--- a/wagon-providers/wagon-ssh-common/src/main/java/org/apache/maven/wagon/providers/ssh/knownhost/AbstractKnownHostsProvider.java
+++ b/wagon-providers/wagon-ssh-common/src/main/java/org/apache/maven/wagon/providers/ssh/knownhost/AbstractKnownHostsProvider.java
@@ -34,7 +34,7 @@ public abstract class AbstractKnownHostsProvider
 {
     /**
      * Valid values are ask, yes, no.
-     *
+     * 
      * @plexus.configuration default-value="ask"
      */
     private String hostKeyChecking = "ask";
@@ -43,7 +43,7 @@ public abstract class AbstractKnownHostsProvider
      * the known hosts, in the openssh format
      */
     protected String contents;
-
+    
     protected Set<KnownHostEntry> knownHosts = new HashSet<KnownHostEntry>();
 
     public void setHostKeyChecking( String hostKeyChecking )
@@ -60,16 +60,11 @@ public abstract class AbstractKnownHostsProvider
     {
         return contents;
     }
-
+    
     public void storeKnownHosts( String contents )
         throws IOException
     {
     }
-
-    public void addKnownHost( KnownHostEntry knownHost )
-        throws IOException
-    {
-    }
-
-
+    
+    
 }

http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/8863ded4/wagon-providers/wagon-ssh-common/src/main/java/org/apache/maven/wagon/providers/ssh/knownhost/FileKnownHostsProvider.java
----------------------------------------------------------------------
diff --git a/wagon-providers/wagon-ssh-common/src/main/java/org/apache/maven/wagon/providers/ssh/knownhost/FileKnownHostsProvider.java b/wagon-providers/wagon-ssh-common/src/main/java/org/apache/maven/wagon/providers/ssh/knownhost/FileKnownHostsProvider.java
index 48ab250..399c1d2 100644
--- a/wagon-providers/wagon-ssh-common/src/main/java/org/apache/maven/wagon/providers/ssh/knownhost/FileKnownHostsProvider.java
+++ b/wagon-providers/wagon-ssh-common/src/main/java/org/apache/maven/wagon/providers/ssh/knownhost/FileKnownHostsProvider.java
@@ -33,7 +33,7 @@ import org.codehaus.plexus.util.FileUtils;
  *
  * @author Juan F. Codagnone
  * @since Sep 12, 2005
- *
+ * 
  * @plexus.component role="org.apache.maven.wagon.providers.ssh.knownhost.KnownHostsProvider"
  *    role-hint="file"
  *    instantiation-strategy="per-lookup"
@@ -72,7 +72,7 @@ public class FileKnownHostsProvider
         throws IOException
     {
         Set<KnownHostEntry> hosts = this.loadKnownHosts( contents );
-
+        
         if ( ! this.knownHosts.equals( hosts ) )
         {
             file.getParentFile().mkdirs();
@@ -80,18 +80,7 @@ public class FileKnownHostsProvider
             this.knownHosts = hosts;
         }
     }
-
-    public void addKnownHost( KnownHostEntry knownHostEntry )
-        throws IOException
-    {
-        if ( !this.knownHosts.contains( knownHostEntry ) )
-        {
-            String knownHost = knownHostEntry.getHostName() + " " + knownHostEntry.getKeyType() + " "
-                + knownHostEntry.getKeyValue() + "\n";
-            FileUtils.fileAppend( file.getAbsolutePath(), knownHost );
-        }
-    }
-
+    
     public File getFile()
     {
         return file;

http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/8863ded4/wagon-providers/wagon-ssh-common/src/main/java/org/apache/maven/wagon/providers/ssh/knownhost/KnownHostsProvider.java
----------------------------------------------------------------------
diff --git a/wagon-providers/wagon-ssh-common/src/main/java/org/apache/maven/wagon/providers/ssh/knownhost/KnownHostsProvider.java b/wagon-providers/wagon-ssh-common/src/main/java/org/apache/maven/wagon/providers/ssh/knownhost/KnownHostsProvider.java
index abaebef..85ce9aa 100644
--- a/wagon-providers/wagon-ssh-common/src/main/java/org/apache/maven/wagon/providers/ssh/knownhost/KnownHostsProvider.java
+++ b/wagon-providers/wagon-ssh-common/src/main/java/org/apache/maven/wagon/providers/ssh/knownhost/KnownHostsProvider.java
@@ -34,9 +34,6 @@ public interface KnownHostsProvider
     void storeKnownHosts( String contents )
         throws IOException;
 
-    void addKnownHost( KnownHostEntry knownHost )
-        throws IOException;
-
     void setHostKeyChecking( String hostKeyChecking );
 
     String getHostKeyChecking();

http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/8863ded4/wagon-providers/wagon-ssh/src/main/java/org/apache/maven/wagon/providers/ssh/jsch/AbstractJschWagon.java
----------------------------------------------------------------------
diff --git a/wagon-providers/wagon-ssh/src/main/java/org/apache/maven/wagon/providers/ssh/jsch/AbstractJschWagon.java b/wagon-providers/wagon-ssh/src/main/java/org/apache/maven/wagon/providers/ssh/jsch/AbstractJschWagon.java
index 0b3ad5a..9ae7625 100644
--- a/wagon-providers/wagon-ssh/src/main/java/org/apache/maven/wagon/providers/ssh/jsch/AbstractJschWagon.java
+++ b/wagon-providers/wagon-ssh/src/main/java/org/apache/maven/wagon/providers/ssh/jsch/AbstractJschWagon.java
@@ -25,6 +25,8 @@ import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
+import java.io.PrintWriter;
+import java.io.StringWriter;
 import java.util.List;
 import java.util.Properties;
 
@@ -46,7 +48,6 @@ import org.apache.maven.wagon.providers.ssh.interactive.InteractiveUserInfo;
 import org.apache.maven.wagon.providers.ssh.interactive.NullInteractiveUserInfo;
 import org.apache.maven.wagon.providers.ssh.jsch.interactive.UserInfoUIKeyboardInteractiveProxy;
 import org.apache.maven.wagon.providers.ssh.knownhost.KnownHostChangedException;
-import org.apache.maven.wagon.providers.ssh.knownhost.KnownHostEntry;
 import org.apache.maven.wagon.providers.ssh.knownhost.KnownHostsProvider;
 import org.apache.maven.wagon.providers.ssh.knownhost.UnknownHostException;
 import org.apache.maven.wagon.proxy.ProxyInfo;
@@ -54,6 +55,10 @@ import org.apache.maven.wagon.resource.Resource;
 import org.codehaus.plexus.util.IOUtil;
 import org.codehaus.plexus.util.StringInputStream;
 
+import com.jcraft.jsch.agentproxy.AgentProxyException;
+import com.jcraft.jsch.agentproxy.Connector;
+import com.jcraft.jsch.agentproxy.ConnectorFactory;
+import com.jcraft.jsch.agentproxy.RemoteIdentityRepository;
 import com.jcraft.jsch.ChannelExec;
 import com.jcraft.jsch.HostKey;
 import com.jcraft.jsch.HostKeyRepository;
@@ -66,10 +71,6 @@ import com.jcraft.jsch.ProxySOCKS5;
 import com.jcraft.jsch.Session;
 import com.jcraft.jsch.UIKeyboardInteractive;
 import com.jcraft.jsch.UserInfo;
-import com.jcraft.jsch.agentproxy.AgentProxyException;
-import com.jcraft.jsch.agentproxy.Connector;
-import com.jcraft.jsch.agentproxy.ConnectorFactory;
-import com.jcraft.jsch.agentproxy.RemoteIdentityRepository;
 
 /**
  * AbstractJschWagon
@@ -250,9 +251,24 @@ public abstract class AbstractJschWagon
 
         session.setUserInfo( ui );
 
+        StringWriter stringWriter = new StringWriter();
         try
         {
             session.connect();
+
+            if ( getKnownHostsProvider() != null )
+            {
+                PrintWriter w = new PrintWriter( stringWriter );
+
+                HostKeyRepository hkr = sch.getHostKeyRepository();
+                HostKey[] keys = hkr.getHostKey();
+
+                for ( int i = 0; keys != null && i < keys.length; i++ )
+                {
+                    HostKey key = keys[i];
+                    w.println( key.getHost() + " " + key.getType() + " " + key.getKey() );
+                }
+            }
         }
         catch ( JSchException e )
         {
@@ -270,27 +286,16 @@ public abstract class AbstractJschWagon
             }
         }
 
-        if ( getKnownHostsProvider() != null )
+        try
         {
-            HostKeyRepository hkr = sch.getHostKeyRepository();
-
-            HostKey[] hk = hkr.getHostKey( host, null );
-            try
-            {
-                for ( HostKey hostKey : hk )
-                {
-                    KnownHostEntry knownHostEntry = new KnownHostEntry( hostKey.getHost(), hostKey.getType(),
-                            hostKey.getKey() );
-                    getKnownHostsProvider().addKnownHost( knownHostEntry );
-                }
-            }
-            catch ( IOException e )
-            {
-                closeConnection();
+            getKnownHostsProvider().storeKnownHosts( stringWriter.toString() );
+        }
+        catch ( IOException e )
+        {
+            closeConnection();
 
-                throw new AuthenticationException(
-                    "Connection aborted - failed to write to known_hosts. Reason: " + e.getMessage(), e );
-            }
+            throw new AuthenticationException(
+                "Connection aborted - failed to write to known_hosts. Reason: " + e.getMessage(), e );
         }
     }
 

http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/8863ded4/wagon-providers/wagon-ssh/src/test/java/org/apache/maven/wagon/providers/ssh/jsch/EmbeddedScpWagonTest.java
----------------------------------------------------------------------
diff --git a/wagon-providers/wagon-ssh/src/test/java/org/apache/maven/wagon/providers/ssh/jsch/EmbeddedScpWagonTest.java b/wagon-providers/wagon-ssh/src/test/java/org/apache/maven/wagon/providers/ssh/jsch/EmbeddedScpWagonTest.java
index 72dc1c0..7ff8fee 100644
--- a/wagon-providers/wagon-ssh/src/test/java/org/apache/maven/wagon/providers/ssh/jsch/EmbeddedScpWagonTest.java
+++ b/wagon-providers/wagon-ssh/src/test/java/org/apache/maven/wagon/providers/ssh/jsch/EmbeddedScpWagonTest.java
@@ -21,7 +21,6 @@ package org.apache.maven.wagon.providers.ssh.jsch;
 
 import org.apache.maven.wagon.Wagon;
 import org.apache.maven.wagon.providers.ssh.AbstractEmbeddedScpWagonTest;
-import org.apache.maven.wagon.providers.ssh.knownhost.KnownHostEntry;
 import org.apache.maven.wagon.providers.ssh.knownhost.KnownHostsProvider;
 
 import java.io.IOException;
@@ -48,11 +47,6 @@ public class EmbeddedScpWagonTest
 
             }
 
-            public void addKnownHost( KnownHostEntry knownHost )
-                throws IOException
-            {
-            }
-
             public void setHostKeyChecking( String hostKeyChecking )
             {
             }

http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/8863ded4/wagon-providers/wagon-ssh/src/test/java/org/apache/maven/wagon/providers/ssh/jsch/EmbeddedScpWagonWithKeyTest.java
----------------------------------------------------------------------
diff --git a/wagon-providers/wagon-ssh/src/test/java/org/apache/maven/wagon/providers/ssh/jsch/EmbeddedScpWagonWithKeyTest.java b/wagon-providers/wagon-ssh/src/test/java/org/apache/maven/wagon/providers/ssh/jsch/EmbeddedScpWagonWithKeyTest.java
index 47d642d..c46609f 100644
--- a/wagon-providers/wagon-ssh/src/test/java/org/apache/maven/wagon/providers/ssh/jsch/EmbeddedScpWagonWithKeyTest.java
+++ b/wagon-providers/wagon-ssh/src/test/java/org/apache/maven/wagon/providers/ssh/jsch/EmbeddedScpWagonWithKeyTest.java
@@ -22,7 +22,6 @@ package org.apache.maven.wagon.providers.ssh.jsch;
 import org.apache.maven.wagon.Wagon;
 import org.apache.maven.wagon.authentication.AuthenticationInfo;
 import org.apache.maven.wagon.providers.ssh.AbstractEmbeddedScpWagonWithKeyTest;
-import org.apache.maven.wagon.providers.ssh.knownhost.KnownHostEntry;
 import org.apache.maven.wagon.providers.ssh.knownhost.KnownHostsProvider;
 
 import java.io.File;
@@ -51,11 +50,6 @@ public class EmbeddedScpWagonWithKeyTest
 
             }
 
-            public void addKnownHost( KnownHostEntry knownHost )
-                    throws IOException
-            {
-            }
-
             public void setHostKeyChecking( String hostKeyChecking )
             {
             }