Updated Branches:
  refs/heads/master 6b3746366 -> e476306f1

[WAGON-403] SSH agent support for wagon-ssh
Submitted by Charles Duffy


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

Branch: refs/heads/master
Commit: 0544394e44e94b6649e2975f6a5fb8d31afd655d
Parents: 6b37463
Author: Olivier Lamy <[email protected]>
Authored: Fri Oct 25 14:34:15 2013 +1100
Committer: Olivier Lamy <[email protected]>
Committed: Fri Oct 25 14:34:15 2013 +1100

----------------------------------------------------------------------
 wagon-providers/wagon-ssh/pom.xml                    | 12 +++++++++++-
 .../wagon/providers/ssh/jsch/AbstractJschWagon.java  | 15 +++++++++++++++
 2 files changed, 26 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/0544394e/wagon-providers/wagon-ssh/pom.xml
----------------------------------------------------------------------
diff --git a/wagon-providers/wagon-ssh/pom.xml 
b/wagon-providers/wagon-ssh/pom.xml
index 525fea5..172b16e 100644
--- a/wagon-providers/wagon-ssh/pom.xml
+++ b/wagon-providers/wagon-ssh/pom.xml
@@ -38,7 +38,17 @@ under the License.
     <dependency>
       <groupId>com.jcraft</groupId>
       <artifactId>jsch</artifactId>
-      <version>0.1.44-1</version>
+      <version>0.1.50</version>
+    </dependency>
+    <dependency>
+      <groupId>com.jcraft</groupId>
+      <artifactId>jsch.agentproxy.connector-factory</artifactId>
+      <version>0.0.6</version>
+    </dependency>
+    <dependency>
+      <groupId>com.jcraft</groupId>
+      <artifactId>jsch.agentproxy.jsch</artifactId>
+      <version>0.0.6</version>
     </dependency>
     <dependency>
       <groupId>org.codehaus.plexus</groupId>

http://git-wip-us.apache.org/repos/asf/maven-wagon/blob/0544394e/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 3dfd604..01d8dd3 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
@@ -55,9 +55,14 @@ 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;
+import com.jcraft.jsch.IdentityRepository;
 import com.jcraft.jsch.JSch;
 import com.jcraft.jsch.JSchException;
 import com.jcraft.jsch.Proxy;
@@ -125,6 +130,16 @@ public abstract class AbstractJschWagon
             throw new AuthenticationException( e.getMessage() );
         }
 
+        try {
+            Connector connector = 
ConnectorFactory.getDefault().createConnector();
+            if ( connector != null ) {
+                IdentityRepository repo = new RemoteIdentityRepository( 
connector );
+                sch.setIdentityRepository( repo );
+            }
+        } catch ( AgentProxyException e ) {
+            fireSessionDebug( "Unable to connect to agent: " + e.toString() );
+        }
+
         if ( privateKey != null && privateKey.exists() )
         {
             fireSessionDebug( "Using private key: " + privateKey );

Reply via email to