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
* 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
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();
}
}
- 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,
proxyData.getUser(), proxyData.getPassword()));
return address;
default:
- LOG.warn(format(SshdText.get().unknownProxyProtocol,
+ log.warn(format(SshdText.get().unknownProxyProtocol,
proxy.type().name()));
return remoteAddress;
}
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}.
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(),
import java.net.InetSocketAddress;
-import org.apache.sshd.client.config.hosts.HostConfigEntry;
-
/**
* Interface for obtaining {@link ProxyData} to connect through some proxy.
*
* {@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);
}