Go to file
Michael Bildner e146873740 Do not bother closing SSL enging inbound if the outbound has already been closed.
Motivation:

Invoking the javax.net.ssl.SSLEngine.closeInbound() method will send a
fatal alert and invalidate the SSL session if a close_notify alert has
not been received.
From the javadoc:
If the application initiated the closing process by calling
closeOutbound(), under some circumstances it is not required that the
initiator wait for the peer's corresponding close message. (See section
7.2.1 of the TLS specification (RFC 2246) for more information on
waiting for closure alerts.) In such cases, this method need not be
called.
Always invoking the closeInbound() method without regard to whether or
not the closeOutbound() method has been invoked could lead to
invalidating perfectly valid SSL sessions.

Modifications:

Added an instance variable to track whether the
SSLEngine.closeOutbound() method has been invoked. When the instance
variable is true, the SSLEngine.closeInbound() method doesn't need to be
invoked.

Result:

SSL sessions will not be invalidated if the outbound side has been
closed but a close_notify alert hasn't been received.
2015-09-06 10:00:18 +02:00
all [maven-release-plugin] prepare for next development iteration 2015-09-02 08:58:54 +02:00
buffer [maven-release-plugin] prepare for next development iteration 2015-09-02 08:58:54 +02:00
codec [maven-release-plugin] prepare for next development iteration 2015-09-02 08:58:54 +02:00
codec-haproxy [maven-release-plugin] prepare for next development iteration 2015-09-02 08:58:54 +02:00
codec-http [maven-release-plugin] prepare for next development iteration 2015-09-02 08:58:54 +02:00
codec-socks [maven-release-plugin] prepare for next development iteration 2015-09-02 08:58:54 +02:00
common [maven-release-plugin] prepare for next development iteration 2015-09-02 08:58:54 +02:00
example [maven-release-plugin] prepare for next development iteration 2015-09-02 08:58:54 +02:00
handler Do not bother closing SSL enging inbound if the outbound has already been closed. 2015-09-06 10:00:18 +02:00
license Let PoolThreadCache work even if allocation and deallocation Thread are different 2015-05-27 14:35:22 +02:00
microbench [maven-release-plugin] prepare for next development iteration 2015-09-02 08:58:54 +02:00
tarball [maven-release-plugin] prepare for next development iteration 2015-09-02 08:58:54 +02:00
testsuite Do not bother closing SSL enging inbound if the outbound has already been closed. 2015-09-06 10:00:18 +02:00
testsuite-osgi [maven-release-plugin] prepare for next development iteration 2015-09-02 08:58:54 +02:00
transport [maven-release-plugin] prepare for next development iteration 2015-09-02 08:58:54 +02:00
transport-native-epoll Add support for RFC2385 on Linux 2015-09-03 08:41:19 +02:00
transport-rxtx [maven-release-plugin] prepare for next development iteration 2015-09-02 08:58:54 +02:00
transport-sctp [maven-release-plugin] prepare for next development iteration 2015-09-02 08:58:54 +02:00
transport-udt [maven-release-plugin] prepare for next development iteration 2015-09-02 08:58:54 +02:00
.fbprefs Updated Find Bugs configuration 2009-03-04 10:33:09 +00:00
.gitignore Add JVM crash logs to .gitignore 2014-05-18 21:37:12 +09:00
.travis.yml Travis CI branch whitelisting 2013-03-11 09:55:43 +09:00
CONTRIBUTING.md Move the pull request guide to the developer guide 2014-03-12 13:18:14 +09:00
LICENSE.txt Relicensed to Apache License v2 2009-08-28 07:15:49 +00:00
NOTICE.txt Let PoolThreadCache work even if allocation and deallocation Thread are different 2015-05-27 14:35:22 +02:00
pom.xml [maven-release-plugin] prepare for next development iteration 2015-09-02 08:58:54 +02:00
README.md Add a link to the 'native transports' page 2014-07-21 12:54:43 -07:00
run-example.sh Add logLevel property to enable different log levels for the examples. 2014-11-21 10:48:13 +09:00

Netty Project

Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients.

How to build

For the detailed information about building and developing Netty, please visit the developer guide. This page only gives very basic information.

You require the following to build Netty:

Note that this is build-time requirement. JDK 5 (for 3.x) or 6 (for 4.0+) is enough to run your Netty-based application.

Branches to look

The 'master' branch is where the development of the latest major version lives on. The development of all other major versions takes place in each branch whose name is identical to its major version number. For example, the development of 3.x and 4.x resides in the branch '3' and the branch '4' respectively.