You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by lg...@apache.org on 2016/10/24 09:54:26 UTC
mina-sshd git commit: [SSHD-706] Clear port forwarding event
listeners on preClose
Repository: mina-sshd
Updated Branches:
refs/heads/master 6251902b5 -> c743218a7
[SSHD-706] Clear port forwarding event listeners on preClose
Project: http://git-wip-us.apache.org/repos/asf/mina-sshd/repo
Commit: http://git-wip-us.apache.org/repos/asf/mina-sshd/commit/c743218a
Tree: http://git-wip-us.apache.org/repos/asf/mina-sshd/tree/c743218a
Diff: http://git-wip-us.apache.org/repos/asf/mina-sshd/diff/c743218a
Branch: refs/heads/master
Commit: c743218a72f9083937cdd764170c396f73fbbada
Parents: 6251902
Author: Lyor Goldstein <ly...@gmail.com>
Authored: Mon Oct 24 12:56:45 2016 +0300
Committer: Lyor Goldstein <ly...@gmail.com>
Committed: Mon Oct 24 12:56:45 2016 +0300
----------------------------------------------------------------------
.../apache/sshd/common/forward/DefaultTcpipForwarder.java | 6 ++++++
.../sshd/common/helpers/AbstractFactoryManager.java | 3 ---
.../common/session/helpers/AbstractConnectionService.java | 6 ++++++
.../sshd/common/session/helpers/AbstractSession.java | 1 +
.../sshd/common/util/closeable/IoBaseCloseable.java | 1 -
.../sshd/common/util/closeable/SequentialCloseable.java | 5 ++---
.../src/test/java/org/apache/sshd/KeepAliveTest.java | 3 ---
.../apache/sshd/common/forward/PortForwardingTest.java | 10 +++++-----
8 files changed, 20 insertions(+), 15 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/c743218a/sshd-core/src/main/java/org/apache/sshd/common/forward/DefaultTcpipForwarder.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/forward/DefaultTcpipForwarder.java b/sshd-core/src/main/java/org/apache/sshd/common/forward/DefaultTcpipForwarder.java
index 44eb2fd..5462753 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/forward/DefaultTcpipForwarder.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/forward/DefaultTcpipForwarder.java
@@ -499,6 +499,12 @@ public class DefaultTcpipForwarder
return builder().parallel(dynamicLocal.values()).close(acceptor).build();
}
+ @Override
+ protected void preClose() {
+ this.listeners.clear();
+ super.preClose();
+ }
+
/**
* @param address The request bind address
* @param handlerFactory A {@link Factory} to create an {@link IoHandler} if necessary
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/c743218a/sshd-core/src/main/java/org/apache/sshd/common/helpers/AbstractFactoryManager.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/helpers/AbstractFactoryManager.java b/sshd-core/src/main/java/org/apache/sshd/common/helpers/AbstractFactoryManager.java
index a09ed97..dc5685c 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/helpers/AbstractFactoryManager.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/helpers/AbstractFactoryManager.java
@@ -59,12 +59,9 @@ import org.apache.sshd.common.util.threads.ThreadUtils;
import org.apache.sshd.server.forward.ForwardingFilter;
/**
- * TODO Add javadoc
- *
* @author <a href="mailto:dev@mina.apache.org">Apache MINA SSHD Project</a>
*/
public abstract class AbstractFactoryManager extends AbstractKexFactoryManager implements FactoryManager {
-
protected IoServiceFactoryFactory ioServiceFactoryFactory;
protected IoServiceFactory ioServiceFactory;
protected Factory<Random> randomFactory;
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/c743218a/sshd-core/src/main/java/org/apache/sshd/common/session/helpers/AbstractConnectionService.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/session/helpers/AbstractConnectionService.java b/sshd-core/src/main/java/org/apache/sshd/common/session/helpers/AbstractConnectionService.java
index fcb12e5..368045e 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/session/helpers/AbstractConnectionService.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/session/helpers/AbstractConnectionService.java
@@ -162,6 +162,12 @@ public abstract class AbstractConnectionService<S extends AbstractSession>
return forwarder;
}
+ @Override
+ protected void preClose() {
+ this.listeners.clear();
+ super.preClose();
+ }
+
protected TcpipForwarder createTcpipForwarder(S session) {
FactoryManager manager =
Objects.requireNonNull(session.getFactoryManager(), "No factory manager");
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/c743218a/sshd-core/src/main/java/org/apache/sshd/common/session/helpers/AbstractSession.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/session/helpers/AbstractSession.java b/sshd-core/src/main/java/org/apache/sshd/common/session/helpers/AbstractSession.java
index 1daaddc..72acbc3 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/session/helpers/AbstractSession.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/session/helpers/AbstractSession.java
@@ -902,6 +902,7 @@ public abstract class AbstractSession extends AbstractKexFactoryManager implemen
// clear the listeners since we are closing the session (quicker GC)
this.sessionListeners.clear();
this.channelListeners.clear();
+ this.tunnelListeners.clear();
}
super.preClose();
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/c743218a/sshd-core/src/main/java/org/apache/sshd/common/util/closeable/IoBaseCloseable.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/util/closeable/IoBaseCloseable.java b/sshd-core/src/main/java/org/apache/sshd/common/util/closeable/IoBaseCloseable.java
index e8ef22b..f4c6d1a 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/util/closeable/IoBaseCloseable.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/util/closeable/IoBaseCloseable.java
@@ -32,5 +32,4 @@ public abstract class IoBaseCloseable extends AbstractLoggingBean implements Clo
protected IoBaseCloseable(String discriminator) {
super(discriminator);
}
-
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/c743218a/sshd-core/src/main/java/org/apache/sshd/common/util/closeable/SequentialCloseable.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/main/java/org/apache/sshd/common/util/closeable/SequentialCloseable.java b/sshd-core/src/main/java/org/apache/sshd/common/util/closeable/SequentialCloseable.java
index f63ac91..67abd88 100644
--- a/sshd-core/src/main/java/org/apache/sshd/common/util/closeable/SequentialCloseable.java
+++ b/sshd-core/src/main/java/org/apache/sshd/common/util/closeable/SequentialCloseable.java
@@ -32,7 +32,6 @@ import org.apache.sshd.common.future.SshFutureListener;
* @author <a href="mailto:dev@mina.apache.org">Apache MINA SSHD Project</a>
*/
public class SequentialCloseable extends SimpleCloseable {
-
private final Iterable<? extends Closeable> closeables;
public SequentialCloseable(Object lock, Iterable<? extends Closeable> closeables) {
@@ -41,8 +40,8 @@ public class SequentialCloseable extends SimpleCloseable {
}
@Override
- protected void doClose(final boolean immediately) {
- final Iterator<? extends Closeable> iterator = closeables.iterator();
+ protected void doClose(boolean immediately) {
+ Iterator<? extends Closeable> iterator = closeables.iterator();
SshFutureListener<CloseFuture> listener = new SshFutureListener<CloseFuture>() {
@SuppressWarnings("synthetic-access")
@Override
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/c743218a/sshd-core/src/test/java/org/apache/sshd/KeepAliveTest.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/test/java/org/apache/sshd/KeepAliveTest.java b/sshd-core/src/test/java/org/apache/sshd/KeepAliveTest.java
index 15cef21..dd649e5 100644
--- a/sshd-core/src/test/java/org/apache/sshd/KeepAliveTest.java
+++ b/sshd-core/src/test/java/org/apache/sshd/KeepAliveTest.java
@@ -47,13 +47,10 @@ import org.junit.Test;
import org.junit.runners.MethodSorters;
/**
- * TODO Add javadoc
- *
* @author <a href="mailto:dev@mina.apache.org">Apache MINA SSHD Project</a>
*/
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
public class KeepAliveTest extends BaseTestSupport {
-
private static final long HEARTBEAT = TimeUnit.SECONDS.toMillis(2L);
private static final long TIMEOUT = 2L * HEARTBEAT;
private static final long WAIT = 2L * TIMEOUT;
http://git-wip-us.apache.org/repos/asf/mina-sshd/blob/c743218a/sshd-core/src/test/java/org/apache/sshd/common/forward/PortForwardingTest.java
----------------------------------------------------------------------
diff --git a/sshd-core/src/test/java/org/apache/sshd/common/forward/PortForwardingTest.java b/sshd-core/src/test/java/org/apache/sshd/common/forward/PortForwardingTest.java
index fdba7cc..e3aa2a6 100644
--- a/sshd-core/src/test/java/org/apache/sshd/common/forward/PortForwardingTest.java
+++ b/sshd-core/src/test/java/org/apache/sshd/common/forward/PortForwardingTest.java
@@ -176,7 +176,7 @@ public class PortForwardingTest extends BaseTestSupport {
Thread thread = Thread.currentThread();
ClassLoader cl = thread.getContextClassLoader();
- final TcpipForwarder forwarder = factory.create(service);
+ TcpipForwarder forwarder = factory.create(service);
return (TcpipForwarder) Proxy.newProxyInstance(cl, interfaces, new InvocationHandler() {
private final org.slf4j.Logger log = LoggerFactory.getLogger(TcpipForwarder.class);
@@ -349,10 +349,10 @@ public class PortForwardingTest extends BaseTestSupport {
@Test
public void testRemoteForwardingNativeBigPayload() throws Exception {
- final AtomicReference<SshdSocketAddress> localAddressHolder = new AtomicReference<>();
- final AtomicReference<SshdSocketAddress> remoteAddressHolder = new AtomicReference<>();
- final AtomicReference<SshdSocketAddress> boundAddressHolder = new AtomicReference<>();
- final AtomicInteger tearDownSignal = new AtomicInteger(0);
+ AtomicReference<SshdSocketAddress> localAddressHolder = new AtomicReference<>();
+ AtomicReference<SshdSocketAddress> remoteAddressHolder = new AtomicReference<>();
+ AtomicReference<SshdSocketAddress> boundAddressHolder = new AtomicReference<>();
+ AtomicInteger tearDownSignal = new AtomicInteger(0);
@SuppressWarnings("checkstyle:anoninnerlength")
PortForwardingEventListener listener = new PortForwardingEventListener() {
@Override