[
https://issues.apache.org/jira/browse/HTTPCLIENT-2198?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andrei Vasilev updated HTTPCLIENT-2198:
---------------------------------------
Description:
The HttpVersionPolicy when set via the new TlsConfig class is not respected due
to the wrong data being passed between AbstractClientTlsStrategy and
H2TlsSupport.
On line 138 of AbstractClientTlsStrategy, the
H2TlsSupport.selectApplicationProtocols() method expects a type of
HttpVersionPolicy to be provided, but AbstractClientTlsStrategy passes the
entire TlsConfig. Since the types do not match H2TlsSupport defaults to the
NEGOTIATE protocol and ignores the value set in TlsConfig.
This results in all sorts of random behavior depending on the target host being
requested, but in all cases requests will fail with some sort of error. I have
attached a sample program to reproduce the issue.
On a side note, the toString() method of TlsConfig also results in a
NullPointerException if all fields are not initialized due to the calling of
Arrays.toString() without a null check.
was:
The HttpVersionPolicy when set via the new TlsConfig class is not respected due
to the wrong data being passed between AbstractClientTlsStrategy and
H2TlsSupport.
On line 138 of AbstractClientTlsStrategy, the
H2TlsSupport.selectApplicationProtocols() method expects a type of
HttpVersionPolicy to be provided, but AbstractClientTlsStrategy passes the
entire TlsConfig. Since the types do not match H2TlsSupport defaults to the
NEGOTIATE protocol and ignores the value set in TlsConfig.
This results in all sorts of random behavior depending on the target host being
requested, but in all cases requests will fail with some sort of error. I have
attached a sample program to reproduce the issue.
On a side note, the toString() method of TlsConfig also results in a
NullPointerException if all fields are not initialized due to the calling of
Arrays.toString() without a null check. I noticed this simply from my debugger
telling me.
> HttpVersionPolicy is not respected
> ----------------------------------
>
> Key: HTTPCLIENT-2198
> URL: https://issues.apache.org/jira/browse/HTTPCLIENT-2198
> Project: HttpComponents HttpClient
> Issue Type: Bug
> Components: HttpClient (async)
> Affects Versions: 5.2-alpha1
> Reporter: Andrei Vasilev
> Priority: Minor
> Attachments: Main.java
>
>
> The HttpVersionPolicy when set via the new TlsConfig class is not respected
> due to the wrong data being passed between AbstractClientTlsStrategy and
> H2TlsSupport.
> On line 138 of AbstractClientTlsStrategy, the
> H2TlsSupport.selectApplicationProtocols() method expects a type of
> HttpVersionPolicy to be provided, but AbstractClientTlsStrategy passes the
> entire TlsConfig. Since the types do not match H2TlsSupport defaults to the
> NEGOTIATE protocol and ignores the value set in TlsConfig.
> This results in all sorts of random behavior depending on the target host
> being requested, but in all cases requests will fail with some sort of error.
> I have attached a sample program to reproduce the issue.
> On a side note, the toString() method of TlsConfig also results in a
> NullPointerException if all fields are not initialized due to the calling of
> Arrays.toString() without a null check.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]