Go to file
Renjie Sun ad27387646 Improve client SNI in testSniWithApnHandler
Motivations
The test SniHandlerTest#testSniWithApnHandler() does not actually
involve SNI: given the client setup, the ClientHello in the form of hex
strings is not actually written to the wire, so the server never receives that.
We may need to write in somewhere else (e.g., channelActive()) instead of in
initChannel() in order for the hex strings to reach the server. So here
what's actually going on is an ordinary TLS C/S communication without SNI.

Modifications
The client part is modified to enable SNI by using an SslHandler with an
SSLEngine created by io.netty.handler.ssl.SslContext#newEngine(), where
the server hostname is specified. Also, more clauses are added to verify that
the SNI is indeed successful.

Results
Now the test verifies that both SNI and APN actually happen and succeed.
2016-05-01 20:23:45 +02:00
all [maven-release-plugin] prepare for next development iteration 2016-04-04 16:53:40 +02:00
buffer Fix IndexOutOfBoundsException when FixedCompositeByteBuf is constructed with an empty array. 2016-04-14 08:08:07 +02:00
codec Correctly handle ChannelInputShutdownEvent in ReplayingDecoder 2016-04-14 10:21:12 +02:00
codec-haproxy [maven-release-plugin] prepare for next development iteration 2016-04-04 16:53:40 +02:00
codec-http TreeMap extra get operation removed. 2016-04-25 09:48:39 -07:00
codec-socks Remove ByteBuf.readBytes(int) calls when possible 2016-04-09 18:44:58 +02:00
common Make all InternalLoggerFactory implementations be singletons 2016-04-08 09:39:47 +02:00
example [maven-release-plugin] prepare for next development iteration 2016-04-04 16:53:40 +02:00
handler Improve client SNI in testSniWithApnHandler 2016-05-01 20:23:45 +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 2016-04-04 16:53:40 +02:00
tarball [maven-release-plugin] prepare for next development iteration 2016-04-04 16:53:40 +02:00
testsuite Ensure EpollSocketChannel.localAddress() returns correct address after connect(...) call. 2016-04-09 19:04:59 +02:00
testsuite-osgi [maven-release-plugin] prepare for next development iteration 2016-04-04 16:53:40 +02:00
transport NioEventLoop closes channel even if channel is not registered 2016-04-21 09:16:25 -07:00
transport-native-epoll Revert "EpollEventLoopGroup support Executor" 2016-04-23 11:02:43 -07:00
transport-rxtx [maven-release-plugin] prepare for next development iteration 2016-04-04 16:53:40 +02:00
transport-sctp [maven-release-plugin] prepare for next development iteration 2016-04-04 16:53:40 +02:00
transport-udt [maven-release-plugin] prepare for next development iteration 2016-04-04 16:53:40 +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 [#4836] Enforce 64bit JDK when build netty. 2016-04-14 09:30:46 +02:00
README.md Updating Branches to look section to match the current branching structure of the project 2016-03-10 22:09:30 +01: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

Development of all 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.