xiangfu0 opened a new pull request, #20136:
URL: https://github.com/apache/pinot/pull/20136

   When a Java/JDBC client supplies a custom `SSLContext`, 
`DefaultSslContextProvider` replaces AsyncHttpClient's default engine factory. 
That skips the factory's HTTPS endpoint identification, so a trusted 
certificate can be accepted for the wrong broker hostname.
   
   Set HTTPS endpoint identification on the custom engine while honoring AHC's 
existing `disableHttpsEndpointIdentificationAlgorithm` setting. Trust material, 
protocol selection and the path without a custom context remain unchanged.
   
   **Compatibility:** certificates must match the dialed hostname (DNS SAN, or 
CN when no DNS SAN exists). Brokers discovered by IP need an IP SAN. Previously 
accepted mismatched certificates will fail after this fix. The existing 
JVM-wide opt-out is documented, including its once-per-JVM initialization 
behavior. Controller/admin HTTPS transports are separate pre-existing paths and 
are outside this focused change.
   
   **Validation:**
   - Java client suite: 194 tests pass on JDK 25, with Spotless, license and 
Checkstyle enabled.
   - JDBC client suite: 71 tests pass; the subsequent commit only clarifies 
documentation.
   - New real-handshake test: matching localhost succeeds, a trusted mismatched 
IP fails with a certificate error, and the explicit AHC opt-out succeeds.
   - Negative control on unfixed master fails exactly the mismatched-host 
assertion.
   - Independent Claude Opus 5.5 review found no critical or major issues; the 
certificate-matching documentation finding was addressed.
   
   Tested source base: `25d05ce4a90bfede3ee8dafc9fa4b60b76003b19`. At 
submission, master advanced through two unrelated query/rebalance-test commits 
to `772f77233801a8f256b4a045ade4cf46e1ce7e8d`; neither changes the Java/JDBC 
client modules or root POM. Hosted CI will validate the current merge base.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to