Arch Linux

Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!
Tasklist

FS#77992 - Add new Mirror: Canada @ Gaab-Networks

Attached to Project: Arch Linux
Opened by Kevin Gaab (Strub3l) - Friday, 24 March 2023, 23:58 GMT
Last edited by Toolybird (Toolybird) - Wednesday, 05 April 2023, 21:11 GMT
Task Type Feature Request
Category Mirrors
Status Closed
Assigned To Johannes Löthberg (demize)
Anton Hvornum (Torxed)
Arun Bahl (pitastrudl)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Mirror URLs: https://archive_ca.gaab-networks.de/arch http://archive_ca.gaab-networks.de/arch rsync://archive_ca.gaab-networks.de/arch

Country: Montreal, Canada
Supported Protocols: HTTP; HTTPS; RSYNC
Bandwidth: 1Gbps
Contact Mail: kontakt@kevingaab.de
ISOs: Yes
Tier 1 Source: https://arch.mirror.constant.com
This task depends upon

Closed by  Toolybird (Toolybird)
Wednesday, 05 April 2023, 21:11 GMT
Reason for closing:  Fixed
Additional comments about closing:  "Thanks for adding! Everything works now! Described the rest in  FS#78102 "
Comment by Arun Bahl (pitastrudl) - Monday, 27 March 2023, 22:24 GMT
hey, your mirror has been added. Thank you for joining the efforts!
Comment by Kevin Gaab (Strub3l) - Tuesday, 28 March 2023, 19:09 GMT
Question:
Why is the Mirror Site showing "[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: Hostname mismatch, certificate is not valid for 'archive_ca.gaab-networks.de'. (_ssl.c:997)"
- https://archlinux.org/mirrors/gaab-networks.de/1883/

Both SSLLabs and all my browsers/cURL on Windows and Linux show "ok".
https://www.ssllabs.com/ssltest/analyze.html?d=archive_ca.gaab-networks.de&latest
Comment by Jelle van der Waa (jelly) - Wednesday, 29 March 2023, 11:52 GMT
Our mirrorcheck script tries rsync which fails.

Mar 29 11:42:39 gemini.archlinux.org python[846512]: 2023-03-29 11:42:39 -> DEBUG: rsync cmd: rsync --quiet --contimeout=10 --timeout=10 --ipv4 rsync://archive_ca.gaab-networks.de/arch/lastsync /tmp/tmpfscgzv6h/lastsync
Mar 29 11:42:39 gemini.archlinux.org python[846512]: 2023-03-29 11:42:39 -> DEBUG: failed: https://archive_ca.gaab-networks.de/arch/lastsync, [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: Hostname mismatch, certificate is not valid for 'archive_ca.gaab-networks.de'. (_ssl.c:997)
Mar 29 11:42:39 gemini.archlinux.org python[846512]: 2023-03-29 11:42:39 -> DEBUG: error: rsync://archive_ca.gaab-networks.de/arch/lastsync, b'rsync: [Receiver] failed to connect to archive_ca.gaab-networks.de (209.209.9.227): Connection refused (111)\nrsync error: error in socket IO (code 10) at clientserver.c(139) [Receiver=3.2.7]\n'
Mar 29 11:42:39 gemini.archlinux.org python[846512]: 2023-03-29 11:42:39 -> INFO: checking URL http://arch.mirror.constant.com/lastsync

Code: https://github.com/archlinux/archweb/blob/6b92832714d8a3c6c6c1189ad4353526b8d9bd14/mirrors/management/commands/mirrorcheck.py#L179
Comment by Kevin Gaab (Strub3l) - Thursday, 30 March 2023, 06:43 GMT
The rsync error should be fixed, the rsync deamon was stalled.
But I could not identify the certificate error that is given.
Is there somehow a more detailed error log?

Could it be that the verification program does not support certificates with multiple hostnames?
Comment by Jelle van der Waa (jelly) - Thursday, 30 March 2023, 06:54 GMT
rsync is fixed, our server has some issue with dns lookups..

Mar 30 06:50:15 gemini.archlinux.org python[2810076]: 2023-03-30 06:50:15 -> INFO: checking URL https://archive_ca.gaab-networks.de/arch/lastsync
Mar 30 06:50:15 gemini.archlinux.org python[2810076]: 2023-03-30 06:50:15 -> DEBUG: failed: https://archive_ca.gaab-networks.de/arch/lastsync, Name or service not known
Mar 30 06:50:15 gemini.archlinux.org python[2810076]: 2023-03-30 06:50:15 -> INFO: checking URL http://archive_ca.gaab-networks.de/arch/lastsync

Comment by Jelle van der Waa (jelly) - Saturday, 01 April 2023, 12:44 GMT
[jelle@natrium][~/projects/archweb]%python3
Python 3.10.10 (main, Mar 5 2023, 22:26:53) [GCC 12.2.1 20230201] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import urllib
>>> urllib.request
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: module 'urllib' has no attribute 'request'
>>> import urllib.request
>>> urllib.request.Request("https://archive_ca.gaab-networks.de/", None)
<urllib.request.Request object at 0x7fd5241dfd30>
>>> req = urllib.request.Request("https://archive_ca.gaab-networks.de/", None)
>>> result = urllib.request.urlopen(req, timeout=5)
Traceback (most recent call last):
File "/usr/lib/python3.10/urllib/request.py", line 1348, in do_open
h.request(req.get_method(), req.selector, req.data, headers,
File "/usr/lib/python3.10/http/client.py", line 1282, in request
self._send_request(method, url, body, headers, encode_chunked)
File "/usr/lib/python3.10/http/client.py", line 1328, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File "/usr/lib/python3.10/http/client.py", line 1277, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "/usr/lib/python3.10/http/client.py", line 1037, in _send_output
self.send(msg)
File "/usr/lib/python3.10/http/client.py", line 975, in send
self.connect()
File "/usr/lib/python3.10/http/client.py", line 1454, in connect
self.sock = self._context.wrap_socket(self.sock,
File "/usr/lib/python3.10/ssl.py", line 513, in wrap_socket
return self.sslsocket_class._create(
File "/usr/lib/python3.10/ssl.py", line 1071, in _create
self.do_handshake()
File "/usr/lib/python3.10/ssl.py", line 1342, in do_handshake
self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: Hostname mismatch, certificate is not valid for 'archive_ca.gaab-networks.de'. (_ssl.c:997)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3.10/urllib/request.py", line 216, in urlopen
return opener.open(url, data, timeout)
File "/usr/lib/python3.10/urllib/request.py", line 519, in open
response = self._open(req, data)
File "/usr/lib/python3.10/urllib/request.py", line 536, in _open
result = self._call_chain(self.handle_open, protocol, protocol +
File "/usr/lib/python3.10/urllib/request.py", line 496, in _call_chain
result = func(*args)
File "/usr/lib/python3.10/urllib/request.py", line 1391, in https_open
return self.do_open(http.client.HTTPSConnection, req,
File "/usr/lib/python3.10/urllib/request.py", line 1351, in do_open
raise URLError(err)
urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: Hostname mismatch, certificate is not valid for 'archive_ca.gaab-networks.de'. (_ssl.c:997)>
>>>
>>>


This is an upstream python bug
Comment by Jelle van der Waa (jelly) - Saturday, 01 April 2023, 13:02 GMT
So it seems openssl just does not work with underscores it domains as it is deemed as not allowed.

OpenSSL bug report https://mta.openssl.org/pipermail/openssl-dev/2015-August/002416.html
Similiar dotnet issue https://github.com/dotnet/runtime/issues/35880#issuecomment-624449110

Would you mind changing the subdomain to archive-ca?
Comment by Kevin Gaab (Strub3l) - Saturday, 01 April 2023, 13:31 GMT
Ok, update the record, both -ca is now available.
Thanks for solving the problem!
I also figured out why _ is not allowed in the DNS name.
"The use of underscores is a bit confusing. Underscores are not allowed in domain names according to RFC 1035."
So this is not a bug, it is a feature.

In the meantime, I've deployed more nodes of mine with the Arch Mirror, should I make a new feature request for that or does it work here too?
Comment by Arun Bahl (pitastrudl) - Sunday, 02 April 2023, 16:48 GMT
thanks for the help to all involved! I've updated the URLs and swapped the underscore with the hyphen ( _ -> - )

Loading...