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 <gno...@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); }