Skip to content

Commit 856c78b

Browse files
authored
Support for HTTP/3 (server side) (opensearch-project#20017)
* Support for HTTP/3 (server side) Signed-off-by: Andriy Redko <drreta@gmail.com> * Provide the SSLEngine carrier capability (using channel attributes) so it could be accessed through Netty4HttpChannel Signed-off-by: Andriy Redko <drreta@gmail.com> --------- Signed-off-by: Andriy Redko <drreta@gmail.com>
1 parent c544a69 commit 856c78b

56 files changed

Lines changed: 2347 additions & 208 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
1010
- Add integ test for simulating node join left event when data node cluster state publication lag because the cluster applier thread being busy ([#19907](https://github.com/opensearch-project/OpenSearch/pull/19907)).
1111
- Relax jar hell check when extended plugins share transitive dependencies ([#20103](https://github.com/opensearch-project/OpenSearch/pull/20103))
1212
- Added public getter method in `SourceFieldMapper` to return included field ([#20290](https://github.com/opensearch-project/OpenSearch/pull/20290))
13+
- Support for HTTP/3 (server side) ([#20017](https://github.com/opensearch-project/OpenSearch/pull/20017))
1314

1415

1516
### Changed

gradle/libs.versions.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,7 @@ netty-codec-dns = { group = "io.netty", name = "netty-codec-dns", version.ref =
151151
netty-codec-http = { group = "io.netty", name = "netty-codec-http", version.ref = "netty" }
152152
netty-codec-http2 = { group = "io.netty", name = "netty-codec-http2", version.ref = "netty" }
153153
netty-codec-http3 = { group = "io.netty", name = "netty-codec-http3", version.ref = "netty" }
154+
netty-codec-native-quic = { group = "io.netty", name = "netty-codec-native-quic", version.ref = "netty" }
154155
netty-codec-classes-quic = { group = "io.netty", name = "netty-codec-classes-quic", version.ref = "netty" }
155156
netty-common = { group = "io.netty", name = "netty-common", version.ref = "netty" }
156157
netty-handler = { group = "io.netty", name = "netty-handler", version.ref = "netty" }

modules/transport-netty4/build.gradle

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,14 +63,25 @@ dependencies {
6363
api "io.netty:netty-codec:${versions.netty}"
6464
api "io.netty:netty-codec-http:${versions.netty}"
6565
api "io.netty:netty-codec-http2:${versions.netty}"
66+
api "io.netty:netty-codec-http3:${versions.netty}"
67+
api "io.netty:netty-codec-classes-quic:${versions.netty}"
68+
api "io.netty:netty-codec-native-quic:${versions.netty}"
6669
api "io.netty:netty-common:${versions.netty}"
6770
api "io.netty:netty-handler:${versions.netty}"
6871
api "io.netty:netty-resolver:${versions.netty}"
6972
api "io.netty:netty-transport:${versions.netty}"
7073
api "io.netty:netty-transport-native-unix-common:${versions.netty}"
74+
7175
testFipsRuntimeOnly "org.bouncycastle:bc-fips:${versions.bouncycastle_jce}"
7276
testFipsRuntimeOnly "org.bouncycastle:bctls-fips:${versions.bouncycastle_tls}"
7377
testFipsRuntimeOnly "org.bouncycastle:bcutil-fips:${versions.bouncycastle_util}"
78+
79+
// Bundle all supported OSes and Archs
80+
runtimeOnly "io.netty:netty-codec-native-quic:${versions.netty}:linux-x86_64"
81+
runtimeOnly "io.netty:netty-codec-native-quic:${versions.netty}:linux-aarch_64"
82+
runtimeOnly "io.netty:netty-codec-native-quic:${versions.netty}:osx-x86_64"
83+
runtimeOnly "io.netty:netty-codec-native-quic:${versions.netty}:osx-aarch_64"
84+
runtimeOnly "io.netty:netty-codec-native-quic:${versions.netty}:windows-x86_64"
7485
}
7586

7687
restResources {
@@ -205,7 +216,9 @@ thirdPartyAudit {
205216

206217
'io.netty.pkitesting.CertificateBuilder',
207218
'io.netty.pkitesting.CertificateBuilder$Algorithm',
208-
'io.netty.pkitesting.X509Bundle'
219+
'io.netty.pkitesting.X509Bundle',
220+
221+
'io.netty.channel.epoll.SegmentedDatagramPacket'
209222
)
210223

211224
ignoreViolations(
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
8b441d8465077c1ac1ed57bad3f087bc2a84e994
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
e8a593762196738c0265259e5728a275e2d8f1ea
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
87ce82aa487b3701a83312b748d2d311b58bbe68
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
3f0ab9d43f00c8a02ba22702aff482f598863642
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
7725db063980a53420afbced5fb39dbd0eebbd8a
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
53eee547f8731254084274d31b82171c51d509fa
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
6873dd577760b80b345fa5ab7dfe589ed9c1bbc3

0 commit comments

Comments
 (0)