Author: trustin
Date: Mon Mar 19 19:25:46 2007
New Revision: 520229
URL: http://svn.apache.org/viewvc?view=rev&rev=520229
Log:
Fixed issue: DIRMINA-359 (IllegalStateException in SSLFilter.isSSLStarted())
* Added a private method getSSLSessionHandler0() which returns null instead of
throwing an IllegalStateException
* isSSLStarted() now uses getSSLSessionHandler0() instead of
getSSLSessionHandler() to avoid IllegalStateException
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=520229&r1=520228&r2=520229
==============================================================================
---
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
Mon Mar 19 19:25:46 2007
@@ -187,7 +187,12 @@
*/
public boolean isSSLStarted( IoSession session )
{
- SSLHandler handler = getSSLSessionHandler( session );
+ SSLHandler handler = getSSLSessionHandler0( session );
+ if( handler == null )
+ {
+ return false;
+ }
+
synchronized( handler )
{
return !handler.isOutboundDone();
@@ -629,7 +634,7 @@
private SSLHandler getSSLSessionHandler( IoSession session )
{
- SSLHandler handler = ( SSLHandler ) session.getAttribute( SSL_HANDLER
);
+ SSLHandler handler = getSSLSessionHandler0( session );
if( handler == null )
{
throw new IllegalStateException();
@@ -639,6 +644,11 @@
throw new IllegalArgumentException( "Not managed by this filter."
);
}
return handler;
+ }
+
+ private SSLHandler getSSLSessionHandler0( IoSession session )
+ {
+ return ( SSLHandler ) session.getAttribute( SSL_HANDLER );
}
/**
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=520229&r1=520228&r2=520229
==============================================================================
---
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
Mon Mar 19 19:25:46 2007
@@ -187,7 +187,12 @@
*/
public boolean isSSLStarted( IoSession session )
{
- SSLHandler handler = getSSLSessionHandler( session );
+ SSLHandler handler = getSSLSessionHandler0( session );
+ if( handler == null )
+ {
+ return false;
+ }
+
synchronized( handler )
{
return !handler.isOutboundDone();
@@ -629,7 +634,7 @@
private SSLHandler getSSLSessionHandler( IoSession session )
{
- SSLHandler handler = ( SSLHandler ) session.getAttribute( SSL_HANDLER
);
+ SSLHandler handler = getSSLSessionHandler0( session );
if( handler == null )
{
throw new IllegalStateException();
@@ -639,6 +644,11 @@
throw new IllegalArgumentException( "Not managed by this filter."
);
}
return handler;
+ }
+
+ private SSLHandler getSSLSessionHandler0( IoSession session )
+ {
+ return ( SSLHandler ) session.getAttribute( SSL_HANDLER );
}
/**
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=520229&r1=520228&r2=520229
==============================================================================
--- 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
Mon Mar 19 19:25:46 2007
@@ -187,7 +187,12 @@
*/
public boolean isSSLStarted( IoSession session )
{
- SSLHandler handler = getSSLSessionHandler( session );
+ SSLHandler handler = getSSLSessionHandler0( session );
+ if( handler == null )
+ {
+ return false;
+ }
+
synchronized( handler )
{
return !handler.isOutboundDone();
@@ -628,7 +633,7 @@
private SSLHandler getSSLSessionHandler( IoSession session )
{
- SSLHandler handler = ( SSLHandler ) session.getAttribute( SSL_HANDLER
);
+ SSLHandler handler = getSSLSessionHandler0( session );
if( handler == null )
{
throw new IllegalStateException();
@@ -638,6 +643,11 @@
throw new IllegalArgumentException( "Not managed by this filter."
);
}
return handler;
+ }
+
+ private SSLHandler getSSLSessionHandler0( IoSession session )
+ {
+ return ( SSLHandler ) session.getAttribute( SSL_HANDLER );
}
/**