SSL error when running weather-util in Jammy

Bug #1970684 reported by Greg Leffler
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
weather-util (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

After updating my Ubuntu Server install to Jammy, weather doesn't execute with the following error:

greg@host ~ % weather -a -q KJFK
weather error: failed to retrieve
   https://tgftp.nws.noaa.gov/data/observations/metar/decoded/KJFK.TXT

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 512, in wrap_socket
    return self.sslsocket_class._create(
  File "/usr/lib/python3.10/ssl.py", line 1070, in _create
    self.do_handshake()
  File "/usr/lib/python3.10/ssl.py", line 1341, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLError: [SSL: UNSAFE_LEGACY_RENEGOTIATION_DISABLED] unsafe legacy renegotiation disabled (_ssl.c:997)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/greg/weather-2.4.2/./weather", line 72, in <module>
    partial = weather.get_metar(
  File "/home/greg/weather-2.4.2/weather.py", line 270, in get_metar
    metar = get_uri(
  File "/home/greg/weather-2.4.2/weather.py", line 233, in get_uri
    data = urlopen(uri).read().decode("utf-8")
  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: UNSAFE_LEGACY_RENEGOTIATION_DISABLED] unsafe legacy renegotiation disabled (_ssl.c:997)>

Trying to download the newest upstream release still has the issue, so I think it may have something to do with changes to python or openssl in jammy.

lsb_release:
Description: Ubuntu 22.04 LTS
Release: 22.04

apt-cache policy weather-util:
weather-util:
  Installed: 2.4.1-1
  Candidate: 2.4.1-1
  Version table:
 *** 2.4.1-1 500
        500 http://us.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages
        500 http://us.archive.ubuntu.com/ubuntu jammy/universe i386 Packages
        100 /var/lib/dpkg/status

== Dependencies =================================
adduser 3.118ubuntu5
apt 2.4.5
apt-utils 2.4.5
ca-certificates 20211016
debconf 1.5.79ubuntu1
debconf-i18n 1.5.79ubuntu1
dpkg 1.21.1ubuntu2
gcc-12-base 12-20220319-1ubuntu1
gpgv 2.2.27-3ubuntu2
init-system-helpers 1.62
krb5-locales 1.19.2-2
libacl1 2.3.1-1
libapt-pkg6.0 2.4.5
libaudit-common 1:3.0.7-1build1
libaudit1 1:3.0.7-1build1
libbz2-1.0 1.0.8-5build1
libc6 2.35-0ubuntu3
libcap-ng0 0.7.9-2.2build3
libcap2 1:2.44-1build3
libcom-err2 1.46.5-2ubuntu1
libcrypt1 1:4.4.27-1
libdb5.3 5.3.28+dfsg1-0.8ubuntu3
libexpat1 2.4.7-1
libffi8 3.4.2-4
libgcc-s1 12-20220319-1ubuntu1
libgcrypt20 1.9.4-3ubuntu3
libgmp10 2:6.2.1+dfsg-3ubuntu1
libgnutls30 3.7.3-4ubuntu1
libgpg-error0 1.43-3
libgpm2 1.20.7-10build1
libgssapi-krb5-2 1.19.2-2
libhogweed6 3.7.3-1build2
libidn2-0 2.3.2-2build1
libk5crypto3 1.19.2-2
libkeyutils1 1.6.1-2ubuntu3
libkrb5-3 1.19.2-2
libkrb5support0 1.19.2-2
liblocale-gettext-perl 1.07-4build3
liblz4-1 1.9.3-2build2
liblzma5 5.2.5-2ubuntu1
libmpdec3 2.5.1-2build2
libncursesw6 6.3-2
libnettle8 3.7.3-1build2
libnsl2 1.3.0-2build2
libnss-nis 3.1-0ubuntu6
libnss-nisplus 1.3-0ubuntu6
libp11-kit0 0.24.0-6build1
libpam-modules 1.4.0-11ubuntu2
libpam-modules-bin 1.4.0-11ubuntu2
libpam0g 1.4.0-11ubuntu2
libpcre2-8-0 10.39-3build1
libpython3-stdlib 3.10.4-0ubuntu2
libpython3.10-minimal 3.10.4-3
libpython3.10-stdlib 3.10.4-3
libreadline8 8.1.2-1
libseccomp2 2.5.3-2ubuntu2
libselinux1 3.3-1build2
libsemanage-common 3.3-1build2
libsemanage2 3.3-1build2
libsepol2 3.3-1build1
libsmartcols1 2.37.2-4ubuntu3
libsqlite3-0 3.37.2-2
libssl3 3.0.2-0ubuntu1
libstdc++6 12-20220319-1ubuntu1
libsystemd0 249.11-0ubuntu3
libtasn1-6 4.18.0-4build1
libtext-charwidth-perl 0.04-10build3
libtext-iconv-perl 1.7-7build3
libtext-wrapi18n-perl 0.06-9
libtinfo6 6.3-2
libtirpc-common 1.3.2-2build1
libtirpc3 1.3.2-2build1
libudev1 249.11-0ubuntu3
libunistring2 1.0-1
libuuid1 2.37.2-4ubuntu3
libxxhash0 0.8.1-1
libzstd1 1.4.8+dfsg-3build1
media-types 7.0.0
openssl 3.0.2-0ubuntu1
passwd 1:4.8.1-2ubuntu2
perl-base 5.34.0-3ubuntu1
python3 3.10.4-0ubuntu2
python3-minimal 3.10.4-0ubuntu2
python3.10 3.10.4-3
python3.10-minimal 3.10.4-3
readline-common 8.1.2-1
sensible-utils 0.0.17
tar 1.34+dfsg-1build3
ubuntu-keyring 2021.03.26
uuid-runtime 2.37.2-4ubuntu3
weather-util-data 2.4.1-1
zlib1g 1:1.2.11.dfsg-2ubuntu9

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in weather-util (Ubuntu):
status: New → Confirmed
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.