benoitc/hackney

Failed to send https request on OTP 22.1

Closed this issue ยท 15 comments

Hackney returns {error,{option,server_only,honor_cipher_order}} with https url, starting from OTP 22.1.

Here's a location on ssl library which causes a problem. It seems that honor_cipher_order have not been work on client connections so they started blocking it.
https://github.com/erlang/otp/blob/bf2dfb7f51fa50d832f4dc4e4e271e7a6df93629/lib/ssl/src/ssl.erl#L1703-L1706

Commenting following line fixes the problem.
https://github.com/benoitc/hackney/blob/master/src/hackney_ssl.erl#L68

gmile commented

FWIW I just noticed a similar line with honor_cipher_order was removed from hex back in January hexpm/hex@f34518e

ruudk commented

Is there a workaround to this issue?

@ruudk, I think only workarounds are downgrade erlang or fork hackney.

or wait i merge the pr tonight.

fixed in latest master

@benoitc are you planning a release for this as well? Not too familiar with your project or release strategy, sorry if it's a silly question.

@hernanat i will make a release today. Was too late yesterday for it :)

Hi, can you please increment the Hackney version so that we can pull in changes from Hex for this? Thanks

Can we get a new version cut? This is a big blocker. I appreciate it!

ltj commented

While waiting for a new hex release, you can point deps to the github master branch or downgrade to OTP 22.0.7. Both are perfectly viable options ;)

If anyone is having problems down the chain on Elixir and finds yourself here, here's a quick fix for now: edgurgel/httpoison#393

To fix: Put this in your mix.exs

{:hackney, github: "benoitc/hackney", override: true}

@mdarby just released the version 1.15.2 . Was side-tracked. Hope it helps :)

ruudk commented

Because nobody replied yet: Tested it and verified that it works. Thanks @benoitc โค๏ธ

If anyone is having problems down the chain on Elixir and finds yourself here, here's a quick fix for now: edgurgel/httpoison#393

To fix: Put this in your mix.exs

{:hackney, github: "benoitc/hackney", override: true}

Worked for me, but first I had to update hex to the last version.

thanks boize @lxqnt appreciates

mucho calor!