]> source.dussan.org Git - jgit.git/commitdiff
Apache MINA sshd client: don't leak HostConfigEntry 15/132615/2
authorThomas Wolf <thomas.wolf@paranor.ch>
Sat, 17 Nov 2018 17:44:27 +0000 (18:44 +0100)
committerThomas Wolf <thomas.wolf@paranor.ch>
Sat, 17 Nov 2018 17:55:06 +0000 (18:55 +0100)
ProxyDataFactory had a parameter of type HostConfigEntry, but actually
it wasn't used anywhere. Remove it -- it was the last leaked type from
Apache MINA sshd.

Also use the logger provided by upstream SshClient instead of creating
a new Logger.

Bug: 520927
Change-Id: Iaa78bbb998a5e574fa091664b75c48a3b9cfb897
Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
org.eclipse.jgit.ssh.apache/src/org/eclipse/jgit/internal/transport/sshd/JGitSshClient.java
org.eclipse.jgit.ssh.apache/src/org/eclipse/jgit/transport/sshd/DefaultProxyDataFactory.java
org.eclipse.jgit.ssh.apache/src/org/eclipse/jgit/transport/sshd/ProxyDataFactory.java

index 9e9340482fd5964a532be97044bfbbce48124640..212b67fe339154df85cc58b991044cad71379cf4 100644 (file)
@@ -81,8 +81,6 @@ import org.eclipse.jgit.transport.SshConstants;
 import org.eclipse.jgit.transport.sshd.KeyCache;
 import org.eclipse.jgit.transport.sshd.ProxyData;
 import org.eclipse.jgit.transport.sshd.ProxyDataFactory;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 /**
  * Customized {@link SshClient} for JGit. It creates specialized
@@ -90,7 +88,7 @@ import org.slf4j.LoggerFactory;
  * were created for, and it loads all KeyPair identities lazily.
  */
 public class JGitSshClient extends SshClient {
-       private static Logger LOG = LoggerFactory.getLogger(JGitSshClient.class);
+
        /**
         * We need access to this during the constructor of the ClientSession,
         * before setConnectAddress() can have been called. So we have to remember
@@ -146,7 +144,7 @@ public class JGitSshClient extends SshClient {
                setAttribute(HOST_CONFIG_ENTRY, hostConfig);
                setAttribute(ORIGINAL_REMOTE_ADDRESS, address);
                // Proxy support
-               ProxyData proxy = getProxyData(hostConfig, address);
+               ProxyData proxy = getProxyData(address);
                if (proxy != null) {
                        address = configureProxy(proxy, address);
                        proxy.clearPassword();
@@ -161,10 +159,9 @@ public class JGitSshClient extends SshClient {
                }
        }
 
-       private ProxyData getProxyData(HostConfigEntry hostConfig,
-                       InetSocketAddress remoteAddress) {
+       private ProxyData getProxyData(InetSocketAddress remoteAddress) {
                ProxyDataFactory factory = getProxyDatabase();
-               return factory == null ? null : factory.get(hostConfig, remoteAddress);
+               return factory == null ? null : factory.get(remoteAddress);
        }
 
        private InetSocketAddress configureProxy(ProxyData proxyData,
@@ -187,7 +184,7 @@ public class JGitSshClient extends SshClient {
                                                        proxyData.getUser(), proxyData.getPassword()));
                        return address;
                default:
-                       LOG.warn(format(SshdText.get().unknownProxyProtocol,
+                       log.warn(format(SshdText.get().unknownProxyProtocol,
                                        proxy.type().name()));
                        return remoteAddress;
                }
index d83e31fa2b824ef8ecd631f76e11a0fe5642965a..97e0da0428c2f8f203aede5b56f83dc9997563b0 100644 (file)
@@ -50,8 +50,6 @@ import java.net.URI;
 import java.net.URISyntaxException;
 import java.util.List;
 
-import org.apache.sshd.client.config.hosts.HostConfigEntry;
-
 /**
  * A default implementation of a {@link ProxyDataFactory} based on the standard
  * {@link java.net.ProxySelector}.
@@ -61,8 +59,7 @@ import org.apache.sshd.client.config.hosts.HostConfigEntry;
 public class DefaultProxyDataFactory implements ProxyDataFactory {
 
        @Override
-       public ProxyData get(HostConfigEntry hostConfig,
-                       InetSocketAddress remoteAddress) {
+       public ProxyData get(InetSocketAddress remoteAddress) {
                try {
                        List<Proxy> proxies = ProxySelector.getDefault()
                                        .select(new URI(Proxy.Type.SOCKS.name(),
index 1446d6eceaaa2a4127d1c32124d9b753f9bef241..334fff4f641525e1dbc5f07437ef3bddcd83dfbc 100644 (file)
@@ -44,8 +44,6 @@ package org.eclipse.jgit.transport.sshd;
 
 import java.net.InetSocketAddress;
 
-import org.apache.sshd.client.config.hosts.HostConfigEntry;
-
 /**
  * Interface for obtaining {@link ProxyData} to connect through some proxy.
  *
@@ -59,12 +57,10 @@ public interface ProxyDataFactory {
         * {@link ProxyData} contains a password, the {@link SshdSession} will clear
         * it once it is no longer needed.
         *
-        * @param hostConfig
-        *            from the ssh config that we're going to connect for
         * @param remoteAddress
         *            to connect to
         * @return the {@link ProxyData} or {@code null} if a direct connection is
         *         to be made
         */
-       ProxyData get(HostConfigEntry hostConfig, InetSocketAddress remoteAddress);
+       ProxyData get(InetSocketAddress remoteAddress);
 }