Closed jasperfect closed 2 years ago
This is a bug in MssqlConnectionFactoryProvider
. As soon as the SSL
option is being configured, the driver enables SSL regardless of the configuration values. If you remove option(ConnectionFactoryOptions.SSL, false)
, then it will work.
We need to fix this.
@mp911de Thanks a lot for the fix!
Bug Report
Versions
Current Behavior
As long as the dependency "io.netty:netty-tcnative-boringssl-static:2.0.40.final" exists in class path, then R2DBC always tries to handshaking with MSSQL with SSLv3, then protocol not supported exception pops up.
Steps to reproduce
Input Code
``` 1. add "io.netty:netty-tcnative-boringssl-static:2.0.40.final" to deps 2. setup R2DBC like below @Bean fun connectionFactory(): ConnectionFactory = ConnectionFactories.get( ConnectionFactoryOptions.builder() .option(ConnectionFactoryOptions.DRIVER, "sqlserver") .option(ConnectionFactoryOptions.HOST, "localhost") .option(ConnectionFactoryOptions.PORT, "1433") .option(ConnectionFactoryOptions.USER, "user") .option(ConnectionFactoryOptions.PASSWORD, "pwd") .option(ConnectionFactoryOptions.DATABASE, "foo") .option(ConnectionFactoryOptions.SSL, false) .option(Option.valueOf("sslTunnel"), false) .option(Option.valueOf("trustServerCertificate"), true) .build() ) ```Expected behavior/code
Set ConnectionFactoryOptions.SSL to false should disable SSL handshaking, even with dependency "io.netty:netty-tcnative-boringssl-static" exists in class path