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