Go to file
Roger Kapsi b604a22395 Expose the ChannelHandlerContext from SniHandler's select() step to the user.
Motivation

I'm looking to harden our SSL impl. a little bit and add some guards agaist certain types of abuse. One can think of invalid hostname strings in the SNI extenstion or invalid SNI handshakes altogether. This will require measuring, velocity tracking and other things.

Modifications

Adding a protected `lookup(ctx, hostname)` method that is called from SniHandler's `select(...)` method which users can override and implement custom behaviour. The default implementation will simply call the AsyncMapper.

Result

It's possible to get a hold onto the ChannelHandlerContext. Users can override that method and do something with it right there or they can delegate it to something else. SniHandler is happy as long as a `Future<SslContext>` is being returned.
2016-09-06 07:29:12 +02:00
all [maven-release-plugin] prepare for next development iteration 2016-08-26 10:06:32 +02:00
buffer Share code between retain(...) and release(...) implementations. 2016-09-02 21:53:10 +02:00
codec [maven-release-plugin] prepare for next development iteration 2016-08-26 10:06:32 +02:00
codec-dns Add support for Client Subnet in DNS Queries (RFC7871) 2016-09-06 07:16:57 +02:00
codec-haproxy [maven-release-plugin] prepare for next development iteration 2016-08-26 10:06:32 +02:00
codec-http CorsHandler to respect http connection (keep-alive) header. 2016-09-06 07:18:53 +02:00
codec-http2 HTTP/2: Fix some errors reported by h2spec. 2016-09-01 08:28:16 +02:00
codec-memcache [maven-release-plugin] prepare for next development iteration 2016-08-26 10:06:32 +02:00
codec-mqtt [maven-release-plugin] prepare for next development iteration 2016-08-26 10:06:32 +02:00
codec-redis [maven-release-plugin] prepare for next development iteration 2016-08-26 10:06:32 +02:00
codec-smtp [maven-release-plugin] prepare for next development iteration 2016-08-26 10:06:32 +02:00
codec-socks [maven-release-plugin] prepare for next development iteration 2016-08-26 10:06:32 +02:00
codec-stomp [maven-release-plugin] prepare for next development iteration 2016-08-26 10:06:32 +02:00
codec-xml [maven-release-plugin] prepare for next development iteration 2016-08-26 10:06:32 +02:00
common Share code between retain(...) and release(...) implementations. 2016-09-02 21:53:10 +02:00
example [maven-release-plugin] prepare for next development iteration 2016-08-26 10:06:32 +02:00
handler Expose the ChannelHandlerContext from SniHandler's select() step to the user. 2016-09-06 07:29:12 +02:00
handler-proxy [maven-release-plugin] prepare for next development iteration 2016-08-26 10:06:32 +02:00
license added support for Protobuf codec nano runtime 2016-01-19 21:39:17 +01:00
microbench [maven-release-plugin] prepare for next development iteration 2016-08-26 10:06:32 +02:00
resolver [maven-release-plugin] prepare for next development iteration 2016-08-26 10:06:32 +02:00
resolver-dns Add support for Client Subnet in DNS Queries (RFC7871) 2016-09-06 07:16:57 +02:00
tarball [maven-release-plugin] prepare for next development iteration 2016-08-26 10:06:32 +02:00
testsuite Correct throw ClosedChannelException when attempt to call shutdown*(...) on closed EpollSocketChannel. 2016-09-01 08:16:02 +02:00
testsuite-osgi [maven-release-plugin] prepare for next development iteration 2016-08-26 10:06:32 +02:00
transport Add support for Client Subnet in DNS Queries (RFC7871) 2016-09-06 07:16:57 +02:00
transport-native-epoll Correct throw ClosedChannelException when attempt to call shutdown*(...) on closed EpollSocketChannel. 2016-09-01 08:16:02 +02:00
transport-rxtx Remove @Deprecated for primitive WriteWaterMark getters and setters 2016-09-05 10:26:05 +02:00
transport-sctp Remove @Deprecated for primitive WriteWaterMark getters and setters 2016-09-05 10:26:05 +02:00
transport-udt Remove @Deprecated for primitive WriteWaterMark getters and setters 2016-09-05 10:26:05 +02:00
.fbprefs Updated Find Bugs configuration 2009-03-04 10:33:09 +00:00
.gitignore Use shaded dependency on JCTools instead of copy and paste 2016-06-10 13:19:45 +02: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:13:58 +09:00
LICENSE.txt Relicensed to Apache License v2 2009-08-28 07:15:49 +00:00
NOTICE.txt added support for Protobuf codec nano runtime 2016-01-19 21:39:17 +01:00
pom.xml Ensure we not sent duplicate certificates when using OpenSslEngine 2016-09-05 15:05:17 +02:00
README.md Updating Branches to look section to match the current branching structure of the project 2016-03-10 22:08:01 +01:00
run-example.sh Add an example client for codec-redis 2016-04-23 11:18:12 -07: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.