Return-Path: Delivered-To: apmail-hc-commits-archive@www.apache.org Received: (qmail 78736 invoked from network); 19 Jan 2009 20:58:01 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 19 Jan 2009 20:58:01 -0000 Received: (qmail 59095 invoked by uid 500); 19 Jan 2009 20:58:01 -0000 Delivered-To: apmail-hc-commits-archive@hc.apache.org Received: (qmail 59072 invoked by uid 500); 19 Jan 2009 20:58:01 -0000 Mailing-List: contact commits-help@hc.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "HttpComponents Project" Delivered-To: mailing list commits@hc.apache.org Received: (qmail 59063 invoked by uid 99); 19 Jan 2009 20:58:01 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 19 Jan 2009 12:58:01 -0800 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 19 Jan 2009 20:57:59 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id CCF6C238889E; Mon, 19 Jan 2009 12:57:37 -0800 (PST) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r735808 - in /httpcomponents/httpcore/trunk: ./ module-nio/src/main/java/org/apache/http/impl/nio/ Date: Mon, 19 Jan 2009 20:57:37 -0000 To: commits@hc.apache.org From: olegk@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20090119205737.CCF6C238889E@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: olegk Date: Mon Jan 19 12:57:37 2009 New Revision: 735808 URL: http://svn.apache.org/viewvc?rev=735808&view=rev Log: HTTPCORE-180: Fixed NPE in standard I/O event dispatchers when IOEventDispatch#disconnected fires before the session was fully initialized (IOEventDispatch#connected was not called) Modified: httpcomponents/httpcore/trunk/RELEASE_NOTES.txt httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/DefaultClientIOEventDispatch.java httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/DefaultServerIOEventDispatch.java httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/SSLClientIOEventDispatch.java httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/SSLServerIOEventDispatch.java Modified: httpcomponents/httpcore/trunk/RELEASE_NOTES.txt URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/RELEASE_NOTES.txt?rev=735808&r1=735807&r2=735808&view=diff ============================================================================== --- httpcomponents/httpcore/trunk/RELEASE_NOTES.txt (original) +++ httpcomponents/httpcore/trunk/RELEASE_NOTES.txt Mon Jan 19 12:57:37 2009 @@ -1,6 +1,11 @@ Changes since 4.0 Beta 3 ------------------- +* [HTTPCORE-180] Fixed NPE in standard I/O event dispatchers when + IOEventDispatch#disconnected fires before the session was fully initialized + (IOEventDispatch#connected was not called). + Contributed by Oleg Kalnichevski + * [HTTPCORE-175] Chunk decoders no longer accept truncated chunks as valid input. Contributed by Oleg Kalnichevski Modified: httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/DefaultClientIOEventDispatch.java URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/DefaultClientIOEventDispatch.java?rev=735808&r1=735807&r2=735808&view=diff ============================================================================== --- httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/DefaultClientIOEventDispatch.java (original) +++ httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/DefaultClientIOEventDispatch.java Mon Jan 19 12:57:37 2009 @@ -90,7 +90,9 @@ public void disconnected(final IOSession session) { NHttpClientIOTarget conn = (NHttpClientIOTarget) session.getAttribute(NHTTP_CONN); - this.handler.closed(conn); + if (conn != null) { + this.handler.closed(conn); + } } public void inputReady(final IOSession session) { Modified: httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/DefaultServerIOEventDispatch.java URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/DefaultServerIOEventDispatch.java?rev=735808&r1=735807&r2=735808&view=diff ============================================================================== --- httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/DefaultServerIOEventDispatch.java (original) +++ httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/DefaultServerIOEventDispatch.java Mon Jan 19 12:57:37 2009 @@ -89,7 +89,9 @@ public void disconnected(final IOSession session) { NHttpServerIOTarget conn = (NHttpServerIOTarget) session.getAttribute(NHTTP_CONN); - this.handler.closed(conn); + if (conn != null) { + this.handler.closed(conn); + } } public void inputReady(final IOSession session) { Modified: httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/SSLClientIOEventDispatch.java URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/SSLClientIOEventDispatch.java?rev=735808&r1=735807&r2=735808&view=diff ============================================================================== --- httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/SSLClientIOEventDispatch.java (original) +++ httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/SSLClientIOEventDispatch.java Mon Jan 19 12:57:37 2009 @@ -137,8 +137,9 @@ public void disconnected(final IOSession session) { NHttpClientIOTarget conn = (NHttpClientIOTarget) session.getAttribute(NHTTP_CONN); - - this.handler.closed(conn); + if (conn != null) { + this.handler.closed(conn); + } } public void inputReady(final IOSession session) { Modified: httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/SSLServerIOEventDispatch.java URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/SSLServerIOEventDispatch.java?rev=735808&r1=735807&r2=735808&view=diff ============================================================================== --- httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/SSLServerIOEventDispatch.java (original) +++ httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/SSLServerIOEventDispatch.java Mon Jan 19 12:57:37 2009 @@ -137,7 +137,9 @@ NHttpServerIOTarget conn = (NHttpServerIOTarget) session.getAttribute(NHTTP_CONN); - this.handler.closed(conn); + if (conn != null) { + this.handler.closed(conn); + } } public void inputReady(final IOSession session) {