NullPointerException in reactor-netty SniProvider and unmapped SSL bundle with RSocket#50640
Merged
Merged
Conversation
af6fda4 to
0bd6f9f
Compare
The RSocket WebSocket transport's HttpServerSslCustomizer kept its own copy of the SNI provider lookup that returned null for server names without a mapped SSL bundle. This commit adapts the copy to fall back to the default provider, as it is done in spring-projectsgh-50301. See spring-projectsgh-50640 Signed-off-by: Lee JiWon <dlwldnjs1009@gmail.com>
0bd6f9f to
9446bd7
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The RSocket WebSocket transport's
HttpServerSslCustomizerreturnsnullfrom its SNI provider lookup when a server name has no mapped SSL bundle, so
reactor-netty calls
promise.setSuccess(null)and throws aNullPointerExceptionduring the TLS handshake.This is the same failure fixed for the shared
SslServerCustomizerin #50301,but RSocket keeps its own copy of the lookup in the modularized layout and was
missed.
Changes:
SslProviderviagetOrDefaultfor unmapped server namesTesting:
NettyRSocketServerFactoryTests.websocketTransportSslProviderFallsBackToDefaultWhenServerNameIsUnmappedNettyRSocketServerFactoryTests.websocketTransportSslProviderReturnsDefaultWhenServerNameIsNull