Go to file
Trustin Lee e167ec51eb Add unified NextProtoNego extension support to SslContext
Motivation:

- OpenSslEngine and JDK SSLEngine (+ Jetty NPN) have different APIs to
  support NextProtoNego extension.
  - It is impossible to configure NPN with SslContext when the provider
    type is JDK.

Modification:

- Implement NextProtoNego extension by overriding the behavior of
  SSLSession.getProtocol() for both OpenSSLEngine and JDK SSLEngine.
  - SSLEngine.getProtocol() returns a string delimited by a colon (':')
    where the first component is the transport protosol (e.g. TLSv1.2)
    and the second component is the name of the application protocol
- Remove the direct reference of Jetty NPN classes from the examples
- Add SslContext.newApplicationProtocolSelector

Result:

- A user can now use both JDK SSLEngine and OpenSslEngine for NPN-based
  protocols such as HTTP2 and SPDY
2014-05-21 17:21:18 +09:00
all Generate the default JAR to make oss.sonatype.org happy 2014-05-03 17:28:28 +09:00
buffer Fix capacity check bug affecting offheap buffers 2014-05-13 07:25:26 +02:00
codec Use ByteBuf.readSlice(...).retain() to minimize memory copies. 2014-05-10 17:21:06 +02:00
codec-http Adding short-curcuit option for CORS 2014-05-06 12:06:34 +02:00
codec-http2 Fix resource leak in DefaultHttp2FrameIOTest 2014-05-21 12:54:36 +09:00
codec-memcache Synchronized between 4.1 and master 2014-04-25 00:36:01 +09:00
codec-socks Correctly handle SocksCmdResponse. Related to #2428 2014-04-30 10:45:14 +02:00
common Checkstyle 2014-05-20 17:38:52 +09:00
example Add unified NextProtoNego extension support to SslContext 2014-05-21 17:21:18 +09:00
handler Add unified NextProtoNego extension support to SslContext 2014-05-21 17:21:18 +09:00
license Preparation for porting OpenSSL support in 3.10 2014-05-17 20:01:09 +09:00
microbench Upgrade JMH to 0.4.1 and make use of @Params. 2014-02-23 16:39:15 +01:00
tarball [maven-release-plugin] prepare for next development iteration 2013-12-22 22:06:15 +09:00
testsuite Add an OpenSslEngine and the universal API for enabling SSL 2014-05-18 02:33:26 +09:00
transport Better implementation of AttributeMap and also add hasAttr(...). SeeĀ [#2439] 2014-05-15 06:47:58 +02:00
transport-native-epoll Add an OpenSslEngine and the universal API for enabling SSL 2014-05-18 02:33:26 +09:00
transport-rxtx Resurrect channel deregistration and constructor changes 2014-04-24 20:54:50 +09:00
transport-sctp Synchronized between 4.1 and master again (part 2) 2014-04-25 15:07:12 +09:00
transport-udt Synchronized between 4.1 and master again (part 2) 2014-04-25 15:07:12 +09:00
.fbfilter.xml Update license headers 2012-06-04 13:31:44 -07: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:34:51 +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:17:58 +09:00
LICENSE.txt Relicensed to Apache License v2 2009-08-28 07:15:49 +00:00
NOTICE.txt Preparation for porting OpenSSL support in 3.10 2014-05-17 20:01:09 +09:00
pom.xml Add unified NextProtoNego extension support to SslContext 2014-05-21 17:21:18 +09:00
README.md Synchronized between 4.1 and master (part 3) 2014-04-25 16:17:16 +09:00
run-example.sh Bash 3 compatibility 2014-05-21 13:35:28 +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 versions takes place in each branch whose name is identical to <majorVersion>.<minorVersion>. For example, the development of 3.9 and 4.0 resides in the branch '3.9' and the branch '4.0' respectively.