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>tags/v5.2.0.201811281532-m3
@@ -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; | |||
} |
@@ -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(), |
@@ -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); | |||
} |