andreaslind01 commented on code in PR #6742:
URL: https://github.com/apache/jmeter/pull/6742#discussion_r3755298868
##########
src/bom-thirdparty/build.gradle.kts:
##########
@@ -107,6 +107,8 @@ dependencies {
because("User might still rely on commons-text")
}
api("org.apache.httpcomponents.client5:httpclient5:5.5.1")
Review Comment:
Thanks — good catch. Bumped `httpclient5` to 5.6.4 and
`httpcore5`/`httpcore5-h2` to 5.4.3. Confirmed the pairing you flagged:
`httpclient5-parent-5.6.4.pom` sets
`<httpcore.version>5.4.3</httpcore.version>`.
Not a drop-in bump though — it surfaced two real issues:
**1. HTTPS/HTTP-2 handshakes broke** (`SSLHandshakeException: No name
matching localhost found`). Now that SSL parameters are actually applied on the
async path, JSSE endpoint identification runs, and `ClientTlsStrategyBuilder`
defaults to `BOTH` when a `hostnameVerifier` is set, silently overriding our
`NoopHostnameVerifier` + `TrustAllStrategy`. On 5.5.1 that half was a no-op
*because* of the bug. Fixed with
`.setHostVerificationPolicy(HostnameVerificationPolicy.CLIENT)`. This would
have hit anyone testing HTTPS with a self-signed cert, so good that this landed
before the sampler shipped.
**2. `NoClassDefFoundError` in `HTTPHC5Impl`'s static initializer** — 5.6
rewrote `BrotliInputStreamFactory` to use the *optional* `brotli4j`, which we
don't ship. Fixed by decoding `br` via `org.brotli:dec`, already a direct
dependency and what `HTTPHC4Impl` uses.
Also switched deprecated `build()` → `buildAsync()` and suppressed the new
deprecation warnings (`-Werror`). Didn't migrate to the suggested
`ContentCodecRegistry` — it's `@Internal`. Happy to revisit.
`classes style` clean; `:src:protocol:http:test` 977 passed / 0 failed.
--
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]