Author: trustin
Date: Sun Jul 29 20:12:24 2007
New Revision: 560848
URL: http://svn.apache.org/viewvc?view=rev&rev=560848
Log:
* Fixed handshake returns without executing tasks during renegotiation
* Cleaned up code a little bit
Modified:
mina/branches/1.0/filter-ssl/src/main/java/org/apache/mina/filter/support/SSLHandler.java
mina/branches/1.1/filter-ssl/src/main/java/org/apache/mina/filter/support/SSLHandler.java
mina/trunk/core/src/main/java/org/apache/mina/filter/ssl/SSLHandler.java
Modified:
mina/branches/1.0/filter-ssl/src/main/java/org/apache/mina/filter/support/SSLHandler.java
URL:
http://svn.apache.org/viewvc/mina/branches/1.0/filter-ssl/src/main/java/org/apache/mina/filter/support/SSLHandler.java?view=diff&rev=560848&r1=560847&r2=560848
==============================================================================
---
mina/branches/1.0/filter-ssl/src/main/java/org/apache/mina/filter/support/SSLHandler.java
(original)
+++
mina/branches/1.0/filter-ssl/src/main/java/org/apache/mina/filter/support/SSLHandler.java
Sun Jul 29 20:12:24 2007
@@ -438,8 +438,11 @@
* @param status
* @throws SSLException
*/
- private SSLEngineResult.Status checkStatus(SSLEngineResult.Status status)
+ private void checkStatus(NextFilter nextFilter, SSLEngineResult res)
throws SSLException {
+
+ SSLEngineResult.Status status = res.getStatus();
+
/*
* The status may be:
* OK - Normal operation
@@ -456,7 +459,11 @@
+ appBuffer);
}
- return status;
+ if (res.getHandshakeStatus() !=
SSLEngineResult.HandshakeStatus.NOT_HANDSHAKING) {
+ // Renegotiation required.
+ SessionLog.debug(session, " Renegotiating...");
+ handshake(nextFilter);
+ }
}
/**
@@ -595,7 +602,7 @@
}
}
- private SSLEngineResult.Status unwrap(NextFilter nextFilter) throws
SSLException {
+ private void unwrap(NextFilter nextFilter) throws SSLException {
if (SessionLog.isDebugEnabled(session)) {
SessionLog.debug(session, " unwrap()");
}
@@ -612,15 +619,7 @@
// prepare app data to be read
appBuffer.flip();
- checkStatus(res.getStatus());
-
- if (res.getHandshakeStatus() !=
SSLEngineResult.HandshakeStatus.NOT_HANDSHAKING) {
- // Renegotiation required.
- SessionLog.debug(session, " Renegotiating...");
- handshake(nextFilter);
- }
-
- return res.getStatus();
+ checkStatus(nextFilter, res);
}
private SSLEngineResult.Status unwrapHandshake(NextFilter nextFilter)
throws SSLException {
@@ -651,8 +650,8 @@
// prepare app data to be read
appBuffer.flip();
- //initialHandshakeStatus = res.getHandshakeStatus();
- return checkStatus(res.getStatus());
+ checkStatus(nextFilter, res);
+ return res.getStatus();
}
private SSLEngineResult unwrap0() throws SSLException {
Modified:
mina/branches/1.1/filter-ssl/src/main/java/org/apache/mina/filter/support/SSLHandler.java
URL:
http://svn.apache.org/viewvc/mina/branches/1.1/filter-ssl/src/main/java/org/apache/mina/filter/support/SSLHandler.java?view=diff&rev=560848&r1=560847&r2=560848
==============================================================================
---
mina/branches/1.1/filter-ssl/src/main/java/org/apache/mina/filter/support/SSLHandler.java
(original)
+++
mina/branches/1.1/filter-ssl/src/main/java/org/apache/mina/filter/support/SSLHandler.java
Sun Jul 29 20:12:24 2007
@@ -435,8 +435,11 @@
* @param status
* @throws SSLException
*/
- private SSLEngineResult.Status checkStatus(SSLEngineResult.Status status)
+ private void checkStatus(NextFilter nextFilter, SSLEngineResult res)
throws SSLException {
+
+ SSLEngineResult.Status status = res.getStatus();
+
/*
* The status may be:
* OK - Normal operation
@@ -453,7 +456,11 @@
+ appBuffer);
}
- return status;
+ if (res.getHandshakeStatus() !=
SSLEngineResult.HandshakeStatus.NOT_HANDSHAKING) {
+ // Renegotiation required.
+ SessionLog.debug(session, " Renegotiating...");
+ handshake(nextFilter);
+ }
}
/**
@@ -587,7 +594,7 @@
return writeFuture;
}
- private SSLEngineResult.Status unwrap(NextFilter nextFilter) throws
SSLException {
+ private void unwrap(NextFilter nextFilter) throws SSLException {
if (SessionLog.isDebugEnabled(session)) {
SessionLog.debug(session, " unwrap()");
}
@@ -604,15 +611,7 @@
// prepare app data to be read
appBuffer.flip();
- checkStatus(res.getStatus());
-
- if (res.getHandshakeStatus() !=
SSLEngineResult.HandshakeStatus.NOT_HANDSHAKING) {
- // Renegotiation required.
- SessionLog.debug(session, " Renegotiating...");
- handshake(nextFilter);
- }
-
- return res.getStatus();
+ checkStatus(nextFilter, res);
}
private SSLEngineResult.Status unwrapHandshake(NextFilter nextFilter)
throws SSLException {
@@ -643,8 +642,8 @@
// prepare app data to be read
appBuffer.flip();
- //initialHandshakeStatus = res.getHandshakeStatus();
- return checkStatus(res.getStatus());
+ checkStatus(nextFilter, res);
+ return res.getStatus();
}
private SSLEngineResult unwrap0() throws SSLException {
Modified:
mina/trunk/core/src/main/java/org/apache/mina/filter/ssl/SSLHandler.java
URL:
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/filter/ssl/SSLHandler.java?view=diff&rev=560848&r1=560847&r2=560848
==============================================================================
--- mina/trunk/core/src/main/java/org/apache/mina/filter/ssl/SSLHandler.java
(original)
+++ mina/trunk/core/src/main/java/org/apache/mina/filter/ssl/SSLHandler.java
Sun Jul 29 20:12:24 2007
@@ -441,8 +441,11 @@
* @param status
* @throws SSLException
*/
- private SSLEngineResult.Status checkStatus(SSLEngineResult.Status status)
+ private void checkStatus(NextFilter nextFilter, SSLEngineResult res)
throws SSLException {
+
+ SSLEngineResult.Status status = res.getStatus();
+
/*
* The status may be:
* OK - Normal operation
@@ -459,7 +462,11 @@
+ appBuffer);
}
- return status;
+ if (res.getHandshakeStatus() !=
SSLEngineResult.HandshakeStatus.NOT_HANDSHAKING) {
+ // Renegotiation required.
+ SessionLog.debug(session, " Renegotiating...");
+ handshake(nextFilter);
+ }
}
/**
@@ -597,7 +604,7 @@
}
}
- private SSLEngineResult.Status unwrap(NextFilter nextFilter) throws
SSLException {
+ private void unwrap(NextFilter nextFilter) throws SSLException {
if (SessionLog.isDebugEnabled(session)) {
SessionLog.debug(session, " unwrap()");
}
@@ -614,15 +621,7 @@
// prepare app data to be read
appBuffer.flip();
- checkStatus(res.getStatus());
-
- if (res.getHandshakeStatus() !=
SSLEngineResult.HandshakeStatus.NOT_HANDSHAKING) {
- // Renegotiation required.
- SessionLog.debug(session, " Renegotiating...");
- handshake(nextFilter);
- }
-
- return res.getStatus();
+ checkStatus(nextFilter, res);
}
private SSLEngineResult.Status unwrapHandshake(NextFilter nextFilter)
throws SSLException {
@@ -653,8 +652,8 @@
// prepare app data to be read
appBuffer.flip();
- //initialHandshakeStatus = res.getHandshakeStatus();
- return checkStatus(res.getStatus());
+ checkStatus(nextFilter, res);
+ return res.getStatus();
}
private SSLEngineResult unwrap0() throws SSLException {