Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bug: Courier Installation for The Messenger fails #4150

Open
D1zzl3D0p opened this issue Nov 5, 2024 · 3 comments
Open

Bug: Courier Installation for The Messenger fails #4150

D1zzl3D0p opened this issue Nov 5, 2024 · 3 comments
Assignees

Comments

@D1zzl3D0p
Copy link

What happened?

When installing the Archipelago Mod for the Messenger, installation fails with the error:

Installing Courier
requesting https://api.github.com/repos/Brokemia/Courier/releases
Starting new HTTPS connection (1): api.github.com:443
https://api.github.com:443 "GET /repos/Brokemia/Courier/releases HTTP/11" 200 None
Uncaught Exception:
Traceback (most recent call last):
  File "urllib/request.py", line 1348, in do_open
  File "http/client.py", line 1303, in request
  File "http/client.py", line 1349, in _send_request
  File "http/client.py", line 1298, in endheaders
  File "http/client.py", line 1058, in _send_output
  File "http/client.py", line 996, in send
  File "http/client.py", line 1475, in connect
  File "ssl.py", line 517, in wrap_socket
  File "ssl.py", line 1104, in _create
  File "ssl.py", line 1382, in do_handshake
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1006)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "kivy/base.py", line 339, in mainloop
  File "kivy/base.py", line 383, in idle
  File "kivy/base.py", line 334, in dispatch_input
  File "kivy/base.py", line 302, in post_dispatch_input
  File "kivy/_event.pyx", line 731, in kivy._event.EventDispatcher.dispatch
  File "kivy/uix/behaviors/button.py", line 179, in on_touch_up
  File "kivy/_event.pyx", line 727, in kivy._event.EventDispatcher.dispatch
  File "kivy/_event.pyx", line 1307, in kivy._event.EventObservers.dispatch
  File "kivy/_event.pyx", line 1231, in kivy._event.EventObservers._dispatch
  File "Launcher.py", line 259, in component_action
  File "worlds/messenger/client_setup.py", line 135, in launch_game
  File "worlds/messenger/client_setup.py", line 49, in install_courier
  File "urllib/request.py", line 216, in urlopen
  File "urllib/request.py", line 519, in open
  File "urllib/request.py", line 536, in _open
  File "urllib/request.py", line 496, in _call_chain
  File "urllib/request.py", line 1391, in https_open
  File "urllib/request.py", line 1351, in do_open
urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1006)>

Not super sure how to help, or where the error is.

I will say that I'm running Archipelago on NixOS, using the package available, there, but I do think this is system agnostic. I have also tested this multiple times, and the errors have persisted. Also have a solid internet connection via ethernet, so I'm assuming it has nothing to do with that.

What were the expected results?

Install of Courier would be automatic and succeed.

Software

Local generation

@alwaysintreble
Copy link
Collaborator

That error says your local ssl cert is outdated/ invalid. I believe commonclient has some code that should attempt to update it so you can try running that first then running the installer again. Idk anything about nixos but found this you can try if that doesn't work https://forum.m-labs.hk/d/564-nix-build-setup-ssl-certificate-failure

@alwaysintreble
Copy link
Collaborator

alwaysintreble commented Nov 5, 2024

Also possibly relevant but which version of ap are you running? Source/ tarball/appimage. If it's one of the latter two there's been some improvements to the installer process for specifically Linux since the last ap release

@black-sliver
Copy link
Member

black-sliver commented Nov 10, 2024

The nixos package is based on the AppImage it seems.

The AppImage bundles an OpenSSL which may be incompatible with the system configuration, resulting in it not being able to load the system certificates. This is why certifi is kinda required and bundled with AP as well, however in 0.5.0 the messenger client setup did NOT load certifi, resulting in it trying to find the system certs, which may fail and possibly result in the error shown above.

This should already be fixed in 0.5.1 RC1 here:

context = ssl.create_default_context(ssl.Purpose.SERVER_AUTH, cafile=certifi.where())

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants