You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by gn...@apache.org on 2020/07/15 17:36:36 UTC
[mina-sshd] 02/02: [SSHD-1033] simplify a bit using plain getters
for getLocalIoAcceptor / getDynamicIoAcceptor
This is an automated email from the ASF dual-hosted git repository.
gnodet pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mina-sshd.git
commit 78fe673fd111d74885f7ab07f06f0168fe2ec336
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Wed Jul 15 19:22:49 2020 +0200
[SSHD-1033] simplify a bit using plain getters for getLocalIoAcceptor / getDynamicIoAcceptor
---
.../common/forward/DefaultForwardingFilter.java | 62 +++++++++++-----------
.../apache/sshd/common/forward/Sshd1033Test.java | 16 ++++--
2 files changed, 43 insertions(+), 35 deletions(-)
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/forward/DefaultForwardingFilter.java b/sshd-core/src/main/java/org/apache/sshd/common/forward/DefaultForwardingFilter.java
index 28dbff0..c225718 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/forward/DefaultForwardingFilter.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/forward/DefaultForwardingFilter.java
@@ -111,7 +111,7 @@ public class DefaultForwardingFilter
private final Collection<PortForwardingEventListenerManager> managersHolder = new CopyOnWriteArraySet<>();
private final PortForwardingEventListener listenerProxy;
- private IoAcceptor localAcceptor;
+ private IoAcceptor localAcceptor;
private IoAcceptor dynamicAcceptor;
public DefaultForwardingFilter(ConnectionService service) {
@@ -201,7 +201,7 @@ public class DefaultForwardingFilter
int port;
signalEstablishingExplicitTunnel(local, remote, true);
try {
- bound = doBind(local, getLocalIoAcceptor(staticIoHandlerFactory));
+ bound = doBind(local, getLocalIoAcceptor());
port = bound.getPort();
synchronized (localLock) {
SshdSocketAddress prevRemote = localToRemote.get(port);
@@ -471,7 +471,7 @@ public class DefaultForwardingFilter
int port;
signalEstablishingDynamicTunnel(local);
try {
- bound = doBind(local, getDynamicIoAcceptor(socksProxyIoHandlerFactory));
+ bound = doBind(local, getDynamicIoAcceptor());
port = bound.getPort();
synchronized (dynamicLock) {
SocksProxy prevProxy = dynamicLocal.get(port);
@@ -739,7 +739,7 @@ public class DefaultForwardingFilter
signalEstablishingExplicitTunnel(local, null, true);
SshdSocketAddress result;
try {
- InetSocketAddress bound = doBind(local, getLocalIoAcceptor(staticIoHandlerFactory));
+ InetSocketAddress bound = doBind(local, getLocalIoAcceptor());
result = new SshdSocketAddress(bound.getHostString(), bound.getPort());
if (log.isDebugEnabled()) {
log.debug("localPortForwardingRequested(" + local + "): " + result);
@@ -965,7 +965,7 @@ public class DefaultForwardingFilter
@Override
protected synchronized Closeable getInnerCloseable() {
- return builder().parallel(toString(), dynamicLocal.values())
+ return builder().parallel(toString(), dynamicLocal.values())
.close(localAcceptor).close(dynamicAcceptor).build();
}
@@ -976,33 +976,33 @@ public class DefaultForwardingFilter
super.preClose();
}
- protected IoAcceptor createIoAcceptor(Factory<? extends IoHandler> handlerFactory) {
- Session session = getSession();
- FactoryManager manager = Objects.requireNonNull(session.getFactoryManager(), "No factory manager");
- IoServiceFactory factory = Objects.requireNonNull(manager.getIoServiceFactory(), "No I/O service factory");
- IoHandler handler = handlerFactory.create();
- return factory.createAcceptor(handler);
- }
-
- protected IoAcceptor getLocalIoAcceptor(Factory<? extends IoHandler> handlerFactory) {
- if (localAcceptor == null) {
- localAcceptor = createIoAcceptor(handlerFactory);
- }
- return localAcceptor;
- }
-
- protected IoAcceptor getDynamicIoAcceptor(Factory<? extends IoHandler> handlerFactory) {
- if (dynamicAcceptor == null) {
- dynamicAcceptor = createIoAcceptor(handlerFactory);
- }
- return dynamicAcceptor;
- }
-
+ protected IoAcceptor createIoAcceptor(Factory<? extends IoHandler> handlerFactory) {
+ Session session = getSession();
+ FactoryManager manager = Objects.requireNonNull(session.getFactoryManager(), "No factory manager");
+ IoServiceFactory factory = Objects.requireNonNull(manager.getIoServiceFactory(), "No I/O service factory");
+ IoHandler handler = handlerFactory.create();
+ return factory.createAcceptor(handler);
+ }
+
+ protected IoAcceptor getLocalIoAcceptor() {
+ if (localAcceptor == null) {
+ localAcceptor = createIoAcceptor(staticIoHandlerFactory);
+ }
+ return localAcceptor;
+ }
+
+ protected IoAcceptor getDynamicIoAcceptor() {
+ if (dynamicAcceptor == null) {
+ dynamicAcceptor = createIoAcceptor(socksProxyIoHandlerFactory);
+ }
+ return dynamicAcceptor;
+ }
+
/**
- * @param address The request bind address
- * @param acceptor An {@link IoAcceptor} to bind addresses
- * @return The {@link InetSocketAddress} to which the binding occurred
- * @throws IOException If failed to bind
+ * @param address The request bind address
+ * @param acceptor An {@link IoAcceptor} to bind addresses
+ * @return The {@link InetSocketAddress} to which the binding occurred
+ * @throws IOException If failed to bind
*/
protected InetSocketAddress doBind(SshdSocketAddress address, IoAcceptor acceptor)
throws IOException {
diff --git a/sshd-core/src/test/java/org/apache/sshd/common/forward/Sshd1033Test.java b/sshd-core/src/test/java/org/apache/sshd/common/forward/Sshd1033Test.java
index 26e0259..0160939 100644
--- a/sshd-core/src/test/java/org/apache/sshd/common/forward/Sshd1033Test.java
+++ b/sshd-core/src/test/java/org/apache/sshd/common/forward/Sshd1033Test.java
@@ -60,6 +60,10 @@ public class Sshd1033Test extends BaseTestSupport {
private static SshServer sshd;
private static int sshPort;
+ public Sshd1033Test() {
+ // Default constructor
+ }
+
@BeforeClass
public static void beforeClass() throws Exception {
sshd = CoreTestSupportUtils.setupTestServer(Sshd1033Test.class);
@@ -111,10 +115,12 @@ public class Sshd1033Test extends BaseTestSupport {
try (ExplicitPortForwardingTracker localTracker = session.createLocalPortForwardingTracker(
new SshdSocketAddress("localhost", 8082),
new SshdSocketAddress("test.javastack.org", 80))) {
- LOGGER.info("LocalPortForwarding: {} -> {}", localTracker.getLocalAddress(), localTracker.getRemoteAddress());
+ LOGGER.info("LocalPortForwarding: {} -> {}", localTracker.getLocalAddress(),
+ localTracker.getRemoteAddress());
SshdSocketAddress localSocketAddress = localTracker.getLocalAddress();
assertNotNull(localSocketAddress);
- Proxy proxy = new Proxy(Proxy.Type.HTTP,
+ Proxy proxy = new Proxy(
+ Proxy.Type.HTTP,
new InetSocketAddress(localSocketAddress.getHostName(), localSocketAddress.getPort()));
testRemoteURL(proxy);
}
@@ -127,8 +133,10 @@ public class Sshd1033Test extends BaseTestSupport {
LOGGER.info("DynamicPortForwarding: {}", dynamicTracker.getLocalAddress());
SshdSocketAddress dynamicSocketAddress = dynamicTracker.getLocalAddress();
assertNotNull(dynamicSocketAddress);
- Proxy proxy = new Proxy(Proxy.Type.SOCKS,
- new InetSocketAddress(dynamicSocketAddress.getHostName(), //
+ Proxy proxy = new Proxy(
+ Proxy.Type.SOCKS,
+ new InetSocketAddress(
+ dynamicSocketAddress.getHostName(), //
dynamicSocketAddress.getPort()));
testRemoteURL(proxy);
}