CargoSense / dart_sass

Install and run Dart Sass using Elixir.
https://hex.pm/packages/dart_sass
MIT License
102 stars 23 forks source link

Failing to connect to objects.githubusercontent.com #29

Closed jamesvl closed 2 years ago

jamesvl commented 2 years ago

I'm using a Docker build for deploys, happily based on hexpm/elixir tags.

Was working fine until this afternoon when our builds started failing with the following:

20:05:41.171 [notice] TLS :client: In state :hello_middlebox_assert at ssl_gen_statem.erl:736 generated CLIENT ALERT: Fatal - Unexpected Message
 - {:unexpected_msg, {:internal, {:encrypted_extensions, %{sni: {:sni, []}}}}}
** (RuntimeError) couldn't fetch https://objects.githubusercontent.com/github-production-release-asset-2e65be/72474275/7945012e-ed08-429b-a243-f203131fe2b5?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20220826%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20220826T200541Z&X-Amz-Expires=300&X-Amz-Signature=faa383efd5b17a3e0633ad2104fa4086232ba172d03c49e068aab33682ba4032&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=72474275&response-content-disposition=attachment%3B%20filename%3Ddart-sass-1.54.5-linux-x64.tar.gz&response-content-type=application%2Foctet-stream:
      {:error, {:failed_connect, [{:to_address, {'objects.githubusercontent.com', 443}}, {:inet, [:inet], {:tls_alert, {:unexpected_message, 'TLS client: In state hello_middlebox_assert at ssl_gen_statem.erl:736 generated CLIENT ALERT: Fatal - Unexpected Message\n {unexpected_msg,{internal,{encrypted_extensions,\#{sni => {sni,[]}}}}}'}}}]}}
    (dart_sass 0.5.0) lib/dart_sass.ex:384: DartSass.fetch_body!/1
    (dart_sass 0.5.0) lib/dart_sass.ex:231: DartSass.install/0
    (dart_sass 0.5.0) lib/dart_sass.ex:210: DartSass.install_and_run/2
    (dart_sass 0.5.0) lib/mix/tasks/sass.ex:47: Mix.Tasks.Sass.install_and_run/1
    (mix 1.13.4) lib/mix/task.ex:397: anonymous fn/3 in Mix.Task.run_task/3
    (mix 1.13.4) lib/mix/task.ex:455: Mix.Task.run_alias/5
    (mix 1.13.4) lib/mix/cli.ex:84: Mix.CLI.run_task/2

Docker image tag is hexpm/elixir:1.13.4-erlang-24.3.4.4-ubuntu-focal-20211006.

Update to add: may be related to https://elixirforum.com/t/github-ci-down-is-it-working-for-you/49661 ?

mcrumm commented 2 years ago

@jamesvl Thanks for the report!

I pushed a commit to restrict the TLS version to 1.2 on OTP releases < 25. I will publish a new release but in the meantime you can pull from GitHub:

def deps do
  [
    {:dart_sass, github: "CargoSense/dart_sass", override: true},
    ...
  ]
end
mcrumm commented 2 years ago

v0.5.1 has been released :)

jamesvl commented 2 years ago

FYI, this fix may no longer be needed once this fix is present in OTP 24: https://github.com/erlang/otp/issues/6241

mcrumm commented 2 years ago

Good to note, thank you!