You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hc.apache.org by ol...@apache.org on 2007/09/08 18:41:26 UTC
svn commit: r573880 - in /jakarta/httpcomponents/httpcore/trunk: ./
module-main/src/main/java/org/apache/http/
module-main/src/main/java/org/apache/http/impl/entity/
module-main/src/test/java/org/apache/http/impl/
module-main/src/test/java/org/apache/h...
Author: olegk
Date: Sat Sep 8 09:41:24 2007
New Revision: 573880
URL: http://svn.apache.org/viewvc?rev=573880&view=rev
Log:
HTTPCORE-114: Fixed incorrect handling of the end-of-stream condition in SSLIOSession; a number incremental improvements in SSLIOSession
Modified:
jakarta/httpcomponents/httpcore/trunk/RELEASE_NOTES.txt
jakarta/httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/HttpVersion.java
jakarta/httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/impl/entity/StrictContentLengthStrategy.java
jakarta/httpcomponents/httpcore/trunk/module-main/src/test/java/org/apache/http/impl/TestBasicRequest.java
jakarta/httpcomponents/httpcore/trunk/module-main/src/test/java/org/apache/http/message/TestBasicLineParser.java
jakarta/httpcomponents/httpcore/trunk/module-niossl/src/main/java/org/apache/http/impl/nio/reactor/SSLClientIOEventDispatch.java
jakarta/httpcomponents/httpcore/trunk/module-niossl/src/main/java/org/apache/http/impl/nio/reactor/SSLIOSession.java
Modified: jakarta/httpcomponents/httpcore/trunk/RELEASE_NOTES.txt
URL: http://svn.apache.org/viewvc/jakarta/httpcomponents/httpcore/trunk/RELEASE_NOTES.txt?rev=573880&r1=573879&r2=573880&view=diff
==============================================================================
--- jakarta/httpcomponents/httpcore/trunk/RELEASE_NOTES.txt (original)
+++ jakarta/httpcomponents/httpcore/trunk/RELEASE_NOTES.txt Sat Sep 8 09:41:24 2007
@@ -1,5 +1,8 @@
Changes since release 4.0 Alpha 5
+* [HTTPCORE-114]: Fixed incorrect handling of the end-of-stream condition in SSLIOSession.
+ Oleg Kalnichevski <olegk at apache.org>
+
* [HTTPCORE-110] refactored message parsing and formatting logic
Contributed by Roland Weber <rolandw at apache.org>
Modified: jakarta/httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/HttpVersion.java
URL: http://svn.apache.org/viewvc/jakarta/httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/HttpVersion.java?rev=573880&r1=573879&r2=573880&view=diff
==============================================================================
--- jakarta/httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/HttpVersion.java (original)
+++ jakarta/httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/HttpVersion.java Sat Sep 8 09:41:24 2007
@@ -32,7 +32,6 @@
package org.apache.http;
import java.io.Serializable;
-import org.apache.http.util.CharArrayBuffer;
/**
* Represents an HTTP version, as specified in RFC 2616.
Modified: jakarta/httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/impl/entity/StrictContentLengthStrategy.java
URL: http://svn.apache.org/viewvc/jakarta/httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/impl/entity/StrictContentLengthStrategy.java?rev=573880&r1=573879&r2=573880&view=diff
==============================================================================
--- jakarta/httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/impl/entity/StrictContentLengthStrategy.java (original)
+++ jakarta/httpcomponents/httpcore/trunk/module-main/src/main/java/org/apache/http/impl/entity/StrictContentLengthStrategy.java Sat Sep 8 09:41:24 2007
@@ -35,7 +35,6 @@
import org.apache.http.HttpException;
import org.apache.http.HttpMessage;
import org.apache.http.HttpVersion;
-import org.apache.http.ProtocolVersion;
import org.apache.http.ProtocolException;
import org.apache.http.entity.ContentLengthStrategy;
import org.apache.http.protocol.HTTP;
Modified: jakarta/httpcomponents/httpcore/trunk/module-main/src/test/java/org/apache/http/impl/TestBasicRequest.java
URL: http://svn.apache.org/viewvc/jakarta/httpcomponents/httpcore/trunk/module-main/src/test/java/org/apache/http/impl/TestBasicRequest.java?rev=573880&r1=573879&r2=573880&view=diff
==============================================================================
--- jakarta/httpcomponents/httpcore/trunk/module-main/src/test/java/org/apache/http/impl/TestBasicRequest.java (original)
+++ jakarta/httpcomponents/httpcore/trunk/module-main/src/test/java/org/apache/http/impl/TestBasicRequest.java Sat Sep 8 09:41:24 2007
@@ -36,7 +36,6 @@
import org.apache.http.HttpRequest;
import org.apache.http.HttpVersion;
-import org.apache.http.ProtocolVersion;
import org.apache.http.message.BasicHttpRequest;
import org.apache.http.params.HttpProtocolParams;
Modified: jakarta/httpcomponents/httpcore/trunk/module-main/src/test/java/org/apache/http/message/TestBasicLineParser.java
URL: http://svn.apache.org/viewvc/jakarta/httpcomponents/httpcore/trunk/module-main/src/test/java/org/apache/http/message/TestBasicLineParser.java?rev=573880&r1=573879&r2=573880&view=diff
==============================================================================
--- jakarta/httpcomponents/httpcore/trunk/module-main/src/test/java/org/apache/http/message/TestBasicLineParser.java (original)
+++ jakarta/httpcomponents/httpcore/trunk/module-main/src/test/java/org/apache/http/message/TestBasicLineParser.java Sat Sep 8 09:41:24 2007
@@ -35,7 +35,6 @@
import junit.framework.TestSuite;
import org.apache.http.HttpVersion;
-import org.apache.http.ProtocolVersion;
import org.apache.http.ParseException;
import org.apache.http.RequestLine;
import org.apache.http.StatusLine;
Modified: jakarta/httpcomponents/httpcore/trunk/module-niossl/src/main/java/org/apache/http/impl/nio/reactor/SSLClientIOEventDispatch.java
URL: http://svn.apache.org/viewvc/jakarta/httpcomponents/httpcore/trunk/module-niossl/src/main/java/org/apache/http/impl/nio/reactor/SSLClientIOEventDispatch.java?rev=573880&r1=573879&r2=573880&view=diff
==============================================================================
--- jakarta/httpcomponents/httpcore/trunk/module-niossl/src/main/java/org/apache/http/impl/nio/reactor/SSLClientIOEventDispatch.java (original)
+++ jakarta/httpcomponents/httpcore/trunk/module-niossl/src/main/java/org/apache/http/impl/nio/reactor/SSLClientIOEventDispatch.java Sat Sep 8 09:41:24 2007
@@ -130,7 +130,7 @@
SSL_SESSION);
try {
synchronized (sslSession) {
- while (sslSession.isAppInputReady()) {
+ if (sslSession.isAppInputReady()) {
conn.consumeInput(this.handler);
}
sslSession.inboundTransport();
Modified: jakarta/httpcomponents/httpcore/trunk/module-niossl/src/main/java/org/apache/http/impl/nio/reactor/SSLIOSession.java
URL: http://svn.apache.org/viewvc/jakarta/httpcomponents/httpcore/trunk/module-niossl/src/main/java/org/apache/http/impl/nio/reactor/SSLIOSession.java?rev=573880&r1=573879&r2=573880&view=diff
==============================================================================
--- jakarta/httpcomponents/httpcore/trunk/module-niossl/src/main/java/org/apache/http/impl/nio/reactor/SSLIOSession.java (original)
+++ jakarta/httpcomponents/httpcore/trunk/module-niossl/src/main/java/org/apache/http/impl/nio/reactor/SSLIOSession.java Sat Sep 8 09:41:24 2007
@@ -222,14 +222,7 @@
}
private int receiveEncryptedData() throws IOException {
- int bytesRead = this.session.channel().read(this.inEncrypted);
- if (bytesRead == -1) {
- this.session.close();
- }
- if (this.sslEngine.isInboundDone() && this.sslEngine.isOutboundDone()) {
- this.session.close();
- }
- return bytesRead;
+ return this.session.channel().read(this.inEncrypted);
}
private boolean decryptData() throws SSLException {
@@ -252,11 +245,11 @@
int bytesRead = receiveEncryptedData();
if (bytesRead == -1) {
this.status = CLOSED;
- return false;
}
doHandshake();
decryptData();
- return this.inPlain.position() > 0;
+ // Some decrypted data is available or at the end of stream
+ return this.inPlain.position() > 0 || this.status == CLOSED;
}
public synchronized boolean isAppOutputReady() throws IOException {
@@ -265,7 +258,11 @@
}
public synchronized void inboundTransport() throws IOException {
- updateEventMask();
+ if (this.status == CLOSED) {
+ this.session.close();
+ } else {
+ updateEventMask();
+ }
}
public synchronized void outboundTransport() throws IOException {