You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by tr...@apache.org on 2007/02/14 11:02:56 UTC

svn commit: r507461 - in /mina: branches/1.0/filter-ssl/src/main/java/org/apache/mina/filter/SSLFilter.java branches/1.1/filter-ssl/src/main/java/org/apache/mina/filter/SSLFilter.java trunk/filter-ssl/src/main/java/org/apache/mina/filter/SSLFilter.java

Author: trustin
Date: Wed Feb 14 02:02:55 2007
New Revision: 507461

URL: http://svn.apache.org/viewvc?view=rev&rev=507461
Log:
Fixed issue: DIRMINA-351 (IllegalStateException in SSLFilter)
* Moved the initialization code to onPreAdd() to make sure SSLHandler is created before getSSLSessionHandler is invoked.


Modified:
    mina/branches/1.0/filter-ssl/src/main/java/org/apache/mina/filter/SSLFilter.java
    mina/branches/1.1/filter-ssl/src/main/java/org/apache/mina/filter/SSLFilter.java
    mina/trunk/filter-ssl/src/main/java/org/apache/mina/filter/SSLFilter.java

Modified: mina/branches/1.0/filter-ssl/src/main/java/org/apache/mina/filter/SSLFilter.java
URL: http://svn.apache.org/viewvc/mina/branches/1.0/filter-ssl/src/main/java/org/apache/mina/filter/SSLFilter.java?view=diff&rev=507461&r1=507460&r2=507461
==============================================================================
--- mina/branches/1.0/filter-ssl/src/main/java/org/apache/mina/filter/SSLFilter.java (original)
+++ mina/branches/1.0/filter-ssl/src/main/java/org/apache/mina/filter/SSLFilter.java Wed Feb 14 02:02:55 2007
@@ -316,10 +316,7 @@
         {
             throw new IllegalStateException( "A filter chain cannot contain more than one SSLFilter." );
         }
-    }
-    
-    public void onPostAdd( IoFilterChain parent, String name, NextFilter nextFilter ) throws SSLException
-    {
+
         IoSession session = parent.getSession();
         session.setAttribute( NEXT_FILTER, nextFilter );
         
@@ -327,7 +324,11 @@
         SSLHandler handler =
             new SSLHandler( this, sslContext, session );
         session.setAttribute( SSL_HANDLER, handler );
-        handler.handshake( nextFilter );
+    }
+    
+    public void onPostAdd( IoFilterChain parent, String name, NextFilter nextFilter ) throws SSLException
+    {
+        getSSLSessionHandler( parent.getSession() ).handshake( nextFilter );
     }
     
     public void onPreRemove( IoFilterChain parent, String name, NextFilter nextFilter ) throws SSLException

Modified: mina/branches/1.1/filter-ssl/src/main/java/org/apache/mina/filter/SSLFilter.java
URL: http://svn.apache.org/viewvc/mina/branches/1.1/filter-ssl/src/main/java/org/apache/mina/filter/SSLFilter.java?view=diff&rev=507461&r1=507460&r2=507461
==============================================================================
--- mina/branches/1.1/filter-ssl/src/main/java/org/apache/mina/filter/SSLFilter.java (original)
+++ mina/branches/1.1/filter-ssl/src/main/java/org/apache/mina/filter/SSLFilter.java Wed Feb 14 02:02:55 2007
@@ -316,10 +316,7 @@
         {
             throw new IllegalStateException( "A filter chain cannot contain more than one SSLFilter." );
         }
-    }
-    
-    public void onPostAdd( IoFilterChain parent, String name, NextFilter nextFilter ) throws SSLException
-    {
+
         IoSession session = parent.getSession();
         session.setAttribute( NEXT_FILTER, nextFilter );
         
@@ -327,7 +324,11 @@
         SSLHandler handler =
             new SSLHandler( this, sslContext, session );
         session.setAttribute( SSL_HANDLER, handler );
-        handler.handshake( nextFilter );
+    }
+    
+    public void onPostAdd( IoFilterChain parent, String name, NextFilter nextFilter ) throws SSLException
+    {
+        getSSLSessionHandler( parent.getSession() ).handshake( nextFilter );
     }
     
     public void onPreRemove( IoFilterChain parent, String name, NextFilter nextFilter ) throws SSLException

Modified: mina/trunk/filter-ssl/src/main/java/org/apache/mina/filter/SSLFilter.java
URL: http://svn.apache.org/viewvc/mina/trunk/filter-ssl/src/main/java/org/apache/mina/filter/SSLFilter.java?view=diff&rev=507461&r1=507460&r2=507461
==============================================================================
--- mina/trunk/filter-ssl/src/main/java/org/apache/mina/filter/SSLFilter.java (original)
+++ mina/trunk/filter-ssl/src/main/java/org/apache/mina/filter/SSLFilter.java Wed Feb 14 02:02:55 2007
@@ -316,10 +316,7 @@
         {
             throw new IllegalStateException( "A filter chain cannot contain more than one SSLFilter." );
         }
-    }
-    
-    public void onPostAdd( IoFilterChain parent, String name, NextFilter nextFilter ) throws SSLException
-    {
+
         IoSession session = parent.getSession();
         session.setAttribute( NEXT_FILTER, nextFilter );
         
@@ -327,7 +324,11 @@
         SSLHandler handler =
             new SSLHandler( this, sslContext, session );
         session.setAttribute( SSL_HANDLER, handler );
-        handler.handshake( nextFilter );
+    }
+    
+    public void onPostAdd( IoFilterChain parent, String name, NextFilter nextFilter ) throws SSLException
+    {
+        getSSLSessionHandler( parent.getSession() ).handshake( nextFilter );
     }
     
     public void onPreRemove( IoFilterChain parent, String name, NextFilter nextFilter ) throws SSLException