Browse Source

hackney adapter helper: support tlsv1.3 and remove custom opts

- partitial_chain is no longer exported, but it seems to be the default anyway.
- The bug that caused sni to not be sent automatically seems to be fixed -
https://github.com/benoitc/hackney/issues/612
1570-levenshtein-distance-user-search
rinpatch 4 years ago
parent
commit
0cb7b0ea84
2 changed files with 1 additions and 28 deletions
  1. +1
    -16
      lib/pleroma/http/adapter_helper/hackney.ex
  2. +0
    -12
      test/http/adapter_helper/hackney_test.exs

+ 1
- 16
lib/pleroma/http/adapter_helper/hackney.ex View File

@@ -22,22 +22,7 @@ defmodule Pleroma.HTTP.AdapterHelper.Hackney do
|> Pleroma.HTTP.AdapterHelper.maybe_add_proxy(proxy)
end

defp add_scheme_opts(opts, %URI{scheme: "http"}), do: opts

defp add_scheme_opts(opts, %URI{scheme: "https", host: host}) do
ssl_opts = [
ssl_options: [
# Workaround for remote server certificate chain issues
partial_chain: &:hackney_connect.partial_chain/1,

# We don't support TLS v1.3 yet
versions: [:tlsv1, :"tlsv1.1", :"tlsv1.2"],
server_name_indication: to_charlist(host)
]
]

Keyword.merge(opts, ssl_opts)
end
defp add_scheme_opts(opts, _), do: opts

def after_request(_), do: :ok
end

+ 0
- 12
test/http/adapter_helper/hackney_test.exs View File

@@ -31,17 +31,5 @@ defmodule Pleroma.HTTP.AdapterHelper.HackneyTest do
assert opts[:b] == 1
refute Keyword.has_key?(opts, :proxy)
end

test "add opts for https" do
uri = URI.parse("https://domain.com")

opts = Hackney.options(uri)

assert opts[:ssl_options] == [
partial_chain: &:hackney_connect.partial_chain/1,
versions: [:tlsv1, :"tlsv1.1", :"tlsv1.2"],
server_name_indication: 'domain.com'
]
end
end
end

Loading…
Cancel
Save