erlang-nox 22.1 breaks Pleroma's ability to perform TLS handshakes #1267

Closed
opened 2019-09-20 07:13:36 +00:00 by sjw · 12 comments
Member

Basically what the title says. erlang-nox-22.1 was added to Arch on September 18th. I was able to resolve #1266 by downgrading to erlang-nox-22.0.7 but this isn't ideal.
However, this means that the Arch install guide will now produce a broken system.

Basically what the title says. erlang-nox-22.1 was added to Arch on September 18th. I was able to resolve #1266 by downgrading to erlang-nox-22.0.7 but this isn't ideal. However, this means that the Arch install guide will now produce a broken system.

I wonder if this is an arch bug, actually

I wonder if this is an arch bug, actually
Owner

Can reproduce on gentoo.

  • erlang 22.1
  • elixir 1.9.1 (got manually rebuilded after erlang's update)
  • tried with clearing _build, deps

Weird thing is that it built fine, will look in elixir and erlang bugtrackers and then hints in the build logs.

Can reproduce on gentoo. - erlang 22.1 - elixir 1.9.1 (got manually rebuilded after erlang's update) - tried with clearing `_build`, `deps` Weird thing is that it built fine, will look in elixir and erlang bugtrackers and then hints in the build logs.
Author
Member

@kaniini made a good point in that it may be because elixir wasn't built against the new OTP. It shouldn't matter but she said that sometimes it can cause issues so it may very well be an arch bug.

@kaniini made a good point in that it may be because elixir wasn't built against the new OTP. It shouldn't matter but she said that sometimes it can cause issues so it may very well be an arch bug.
Owner

Yup, this is why I rebuilt everything depending on Erlang… no success.

Yup, this is why I rebuilt everything depending on Erlang… no success.
Author
Member

Ah, so it is an issue with erlang 22.1 then. Everything seems to work fine except for hackney; which is mostly broken. At least when it comes to TLS.

Ah, so it is an issue with erlang 22.1 then. Everything seems to work fine except for hackney; which is mostly broken. At least when it comes to TLS.
Owner

I though we got rid of hackney…

I though we got rid of hackney…

ping @plataformatec do you guys know anything about this?

ping @plataformatec do you guys know anything about this?
Member

Yup, see the report here: https://github.com/benoitc/hackney/issues/591

The fix is very straight-forward, you have to remove the honor_cipher_order flag. You can temporarily fork the project, remove the line, and depend on it with override: true if you don't want to wait for a fix.

Yup, see the report here: https://github.com/benoitc/hackney/issues/591 The fix is very straight-forward, you have to remove the `honor_cipher_order` flag. You can temporarily fork the project, remove the line, and depend on it with `override: true` if you don't want to wait for a fix.
Member

I don't know if it's the same mistake. Can anyone confirm it? my instance is not federating correctly

erlang-asn1                     1:22.1-1                       amd64        Erlang/OTP modules for ASN.1 support
erlang-base                     1:22.1-1                       amd64        Erlang/OTP virtual machine and base applications
erlang-crypto                   1:22.1-1                       amd64        Erlang/OTP cryptographic modules
erlang-dev                      1:22.1-1                       amd64        Erlang/OTP development libraries and headers
erlang-eldap                    1:22.1-1                       amd64        Erlang/OTP LDAP library
erlang-inets                    1:22.1-1                       amd64        Erlang/OTP Internet clients and servers
erlang-mnesia                   1:22.1-1                       amd64        Erlang/OTP distributed relational/object hybrid database
erlang-parsetools               1:22.1-1                       amd64        Erlang/OTP parsing tools
erlang-public-key               1:22.1-1                       amd64        Erlang/OTP public key infrastructure
erlang-runtime-tools            1:22.1-1                       amd64        Erlang/OTP runtime tracing/debugging tools
erlang-solutions                1.0                            all          A package to add repository.
erlang-ssh                      1:22.1-1                       amd64        Erlang/OTP implementation of SSH protocol
erlang-ssl                      1:22.1-1                       amd64        Erlang/OTP implementation of SSL
erlang-syntax-tools             1:22.1-1                       amd64        Erlang/OTP modules for handling abstract Erlang syntax trees
erlang-tools                    1:22.1-1                       amd64        Erlang/OTP various tools
erlang-xmerl                    1:22.1-1                       amd64        Erlang/OTP XML tools

elixir                          1.9.1-1                        all          Elixir functional meta-programming language

Debian GNU/Linux 9.11 (stretch)

journalctl -fu pleroma.service :

request_id=FcfHhPreBAKHeHsAABFB [error] Could not decode user at fetch https://mastodon.social/users/Ainhoacoci, {:error, {:error, {:option, :server_only, :honor_cipher_order}}}
request_id=FcfHiWR6msG9nP4AABHB [error] Could not decode user at fetch https://mastodon.social/users/JotaSeth, {:error, {:error, {:option, :server_only, :honor_cipher_order}}}
...
...
I don't know if it's the same mistake. Can anyone confirm it? my instance is not federating correctly ``` erlang-asn1 1:22.1-1 amd64 Erlang/OTP modules for ASN.1 support erlang-base 1:22.1-1 amd64 Erlang/OTP virtual machine and base applications erlang-crypto 1:22.1-1 amd64 Erlang/OTP cryptographic modules erlang-dev 1:22.1-1 amd64 Erlang/OTP development libraries and headers erlang-eldap 1:22.1-1 amd64 Erlang/OTP LDAP library erlang-inets 1:22.1-1 amd64 Erlang/OTP Internet clients and servers erlang-mnesia 1:22.1-1 amd64 Erlang/OTP distributed relational/object hybrid database erlang-parsetools 1:22.1-1 amd64 Erlang/OTP parsing tools erlang-public-key 1:22.1-1 amd64 Erlang/OTP public key infrastructure erlang-runtime-tools 1:22.1-1 amd64 Erlang/OTP runtime tracing/debugging tools erlang-solutions 1.0 all A package to add repository. erlang-ssh 1:22.1-1 amd64 Erlang/OTP implementation of SSH protocol erlang-ssl 1:22.1-1 amd64 Erlang/OTP implementation of SSL erlang-syntax-tools 1:22.1-1 amd64 Erlang/OTP modules for handling abstract Erlang syntax trees erlang-tools 1:22.1-1 amd64 Erlang/OTP various tools erlang-xmerl 1:22.1-1 amd64 Erlang/OTP XML tools elixir 1.9.1-1 all Elixir functional meta-programming language Debian GNU/Linux 9.11 (stretch) ``` `journalctl -fu pleroma.service :` ``` request_id=FcfHhPreBAKHeHsAABFB [error] Could not decode user at fetch https://mastodon.social/users/Ainhoacoci, {:error, {:error, {:option, :server_only, :honor_cipher_order}}} request_id=FcfHiWR6msG9nP4AABHB [error] Could not decode user at fetch https://mastodon.social/users/JotaSeth, {:error, {:error, {:option, :server_only, :honor_cipher_order}}} ... ... ```
Owner

It's the same on all distros, if you have Erlang 22.1 fetching is broken.

It's the same on all distros, if you have Erlang 22.1 fetching is broken.
Member

Ok. thanks.
I have done this while I wait for an update:

Put this in mix.exs

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

https://github.com/benoitc/hackney/issues/591#issuecomment-535186928

Ok. thanks. I have done this while I wait for an update: Put this in `mix.exs` ``` {:hackney, github: "benoitc/hackney", override: true} ``` https://github.com/benoitc/hackney/issues/591#issuecomment-535186928
Author
Member

I just downgraded and added IgnorePkg = erlang-nox to /etc/pacman.conf akko_shrug_one_arm

I just downgraded and added `IgnorePkg = erlang-nox` to `/etc/pacman.conf` ![akko_shrug_one_arm](https://neckbeard.xyz/emoji/custom/akko_shrug_one_arm.png)
Sign in to join this conversation.
No milestone
No project
No assignees
5 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
pleroma/pleroma#1267
No description provided.