Repository: mina
Updated Branches:
  refs/heads/2.0 a01ad27f6 -> 38c83b5c7


Applied patch for DIRMINA-1073

Project: http://git-wip-us.apache.org/repos/asf/mina/repo
Commit: http://git-wip-us.apache.org/repos/asf/mina/commit/38c83b5c
Tree: http://git-wip-us.apache.org/repos/asf/mina/tree/38c83b5c
Diff: http://git-wip-us.apache.org/repos/asf/mina/diff/38c83b5c

Branch: refs/heads/2.0
Commit: 38c83b5c72b330d4d1f749360dad5f14ce75517a
Parents: a01ad27
Author: Emmanuel Lécharny <elecha...@symas.com>
Authored: Sat Oct 7 01:36:27 2017 +0200
Committer: Emmanuel Lécharny <elecha...@symas.com>
Committed: Sat Oct 7 01:36:27 2017 +0200

----------------------------------------------------------------------
 .../org/apache/mina/filter/ssl/SslFilter.java   | 24 ++++++++++++++++++++
 .../transport/socket/nio/NioSocketSession.java  |  2 +-
 2 files changed, 25 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mina/blob/38c83b5c/mina-core/src/main/java/org/apache/mina/filter/ssl/SslFilter.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/ssl/SslFilter.java 
b/mina-core/src/main/java/org/apache/mina/filter/ssl/SslFilter.java
index c2b92c2..b8659af 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/ssl/SslFilter.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/ssl/SslFilter.java
@@ -296,6 +296,26 @@ public class SslFilter extends IoFilterAdapter {
     }
 
     /**
+     * @return <tt>true</tt> if and only if the conditions for
+     * {@link #isSslStarted(IoSession)} are met, and the handhake has
+     * completed.
+     *
+     * @param session the session we want to check
+     */
+    public boolean isSecured(IoSession session) {
+        SslHandler sslHandler = (SslHandler) session.getAttribute(SSL_HANDLER);
+
+        if (sslHandler == null) {
+            return false;
+        }
+
+        synchronized (sslHandler) {
+            return !sslHandler.isOutboundDone() && 
sslHandler.isHandshakeComplete();
+        }
+    }
+
+
+    /**
      * Stops the SSL session by sending TLS <tt>close_notify</tt> message to
      * initiate TLS closure.
      *
@@ -496,6 +516,10 @@ public class SslFilter extends IoFilterAdapter {
                 IoBuffer buf = (IoBuffer) message;
 
                 try {
+                    /*if (sslHandler.isOutboundDone()) {
+                        throw new SSLException("Outbound done");
+                    }*/
+                    
                     // forward read encrypted data to SSL handler
                     sslHandler.messageReceived(nextFilter, buf.buf());
 

http://git-wip-us.apache.org/repos/asf/mina/blob/38c83b5c/mina-core/src/main/java/org/apache/mina/transport/socket/nio/NioSocketSession.java
----------------------------------------------------------------------
diff --git 
a/mina-core/src/main/java/org/apache/mina/transport/socket/nio/NioSocketSession.java
 
b/mina-core/src/main/java/org/apache/mina/transport/socket/nio/NioSocketSession.java
index 80af30d..0208e3f 100644
--- 
a/mina-core/src/main/java/org/apache/mina/transport/socket/nio/NioSocketSession.java
+++ 
b/mina-core/src/main/java/org/apache/mina/transport/socket/nio/NioSocketSession.java
@@ -360,7 +360,7 @@ class NioSocketSession extends NioSession {
 
         if (sslFilter != null) {
         // Get the SslHandler from the SslFilter
-            return ((SslFilter)sslFilter).isSslStarted(this);
+            return ((SslFilter)sslFilter).isSecured(this);
         } else {
             return false;
         }

Reply via email to