[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1025925: marked as done (bullseye-pu: package python-acme/1.12.0-2)



Your message dated Sat, 29 Apr 2023 10:54:14 +0100
with message-id <502b8fb37ece620c9723446611a9287974ba5a0c.camel@adam-barratt.org.uk>
and subject line Closing p-u requests for fixes included in 11.7
has caused the Debian Bug report #1025925,
regarding bullseye-pu: package python-acme/1.12.0-2
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
1025925: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1025925
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
Tags: bullseye
User: release.debian.org@packages.debian.org
Usertags: pu
X-Debbugs-Cc: python-acme@packages.debian.org, hlieberman@debian.org
Control: affects -1 + src:python-acme

Hello SRMs!

A bug, #1025891, was recently reported about the certbot package failing to
produce certificates when run against certain strictly-RFC-complying instances
of the ACME API. A fix is present upstream in later versions, however, stable is
still affected.

This is a simple backport, changing only the version number (and its associated
test), taken from upstream.

I have tested the updated version of certbot against the Let's Encrypt test
instances directly, and through the apache and nginx plugins. All were
successful. Note: the Let's Encrypt API is not strictly-RFC-complying in this
regard, so this proves only that the package is not broken further. However,
considering the simplicity of the patch, I'm not concerned about testing against
a stricter endpoint.

A source debdiff is attached.  I await your thumbs-up before uploading.

Sincerely,

--
Harlan Lieberman-Berg
~hlieberman
diff -Nru python-acme-1.12.0/debian/changelog python-acme-1.12.0/debian/changelog
--- python-acme-1.12.0/debian/changelog	2021-02-02 16:37:28.000000000 -0500
+++ python-acme-1.12.0/debian/changelog	2022-12-11 16:44:00.000000000 -0500
@@ -1,3 +1,10 @@
+python-acme (1.12.0-2+deb11u1) bullseye; urgency=medium
+
+  * Fix CSR version to prevent problems with strictly RFC-complying
+    implementations of the ACME API (Closes: #1025891)
+
+ -- Harlan Lieberman-Berg <hlieberman@debian.org>  Sun, 11 Dec 2022 16:44:00 -0500
+
 python-acme (1.12.0-2) unstable; urgency=medium
 
   * Commit missed changes to control file.
diff -Nru python-acme-1.12.0/debian/control python-acme-1.12.0/debian/control
--- python-acme-1.12.0/debian/control	2021-02-02 16:37:28.000000000 -0500
+++ python-acme-1.12.0/debian/control	2022-12-11 16:26:05.000000000 -0500
@@ -7,7 +7,6 @@
 Build-Depends: debhelper-compat (= 13),
                dh-python,
                python3,
-               python3-chardet,
                python3-cryptography (>= 2.1.4),
                python3-docutils,
                python3-josepy,
@@ -18,6 +17,7 @@
                python3-requests-toolbelt,
                python3-rfc3339,
                python3-setuptools (>= 11.3),
+               python3-six (>= 1.9),
                python3-sphinx (>= 1.3.1-1~),
                python3-sphinx-rtd-theme,
                python3-tz
diff -Nru python-acme-1.12.0/debian/patches/fix-csr-version.patch python-acme-1.12.0/debian/patches/fix-csr-version.patch
--- python-acme-1.12.0/debian/patches/fix-csr-version.patch	1969-12-31 19:00:00.000000000 -0500
+++ python-acme-1.12.0/debian/patches/fix-csr-version.patch	2022-12-11 16:42:50.000000000 -0500
@@ -0,0 +1,40 @@
+Description: Fix incorrect CSR version
+  Certain strict implementations of the ACME API deny all version numbers except
+  that defined in the RFC (version 0). To accommodate, unilaterally set it to 0.
+Author: Amir Omidi
+Origin: https://github.com/certbot/certbot/pull/9334/
+Bug-Debian: https://bugs.debian.org/1025891
+Acked-By: Harlan Lieberman-Berg <hlieberman@debian.org>
+Index: python-acme/acme/crypto_util.py
+===================================================================
+--- python-acme.orig/acme/crypto_util.py
++++ python-acme/acme/crypto_util.py
+@@ -213,7 +213,8 @@ def make_csr(private_key_pem, domains, m
+             value=b"DER:30:03:02:01:05"))
+     csr.add_extensions(extensions)
+     csr.set_pubkey(private_key)
+-    csr.set_version(2)
++    # RFC 2986 Section 4.1 only defines version 0
++    csr.set_version(0)
+     csr.sign(private_key, 'sha256')
+     return crypto.dump_certificate_request(
+         crypto.FILETYPE_PEM, csr)
+Index: python-acme/tests/crypto_util_test.py
+===================================================================
+--- python-acme.orig/tests/crypto_util_test.py
++++ python-acme/tests/crypto_util_test.py
+@@ -244,6 +244,14 @@ class MakeCSRTest(unittest.TestCase):
+             self.assertEqual(len(must_staple_exts), 1,
+                 "Expected exactly one Must Staple extension")
+ 
++    def test_make_csr_correct_version(self):
++        csr_pem = self._call_with_key(["a.example"])
++        csr = OpenSSL.crypto.load_certificate_request(
++            OpenSSL.crypto.FILETYPE_PEM, csr_pem)
++
++        self.assertEqual(csr.get_version(), 0,
++                         "Expected CSR version to be v1 (encoded as 0), per RFC 2986, section 4")
++
+ 
+ class DumpPyopensslChainTest(unittest.TestCase):
+     """Test for dump_pyopenssl_chain."""
diff -Nru python-acme-1.12.0/debian/patches/series python-acme-1.12.0/debian/patches/series
--- python-acme-1.12.0/debian/patches/series	2021-01-10 14:56:16.000000000 -0500
+++ python-acme-1.12.0/debian/patches/series	2022-12-11 16:38:15.000000000 -0500
@@ -1 +1,2 @@
 disable-tls-alpn-test.patch
+fix-csr-version.patch

--- End Message ---
--- Begin Message ---
Package: release.debian.org
Version: 11.7

Hi,

Each of the updates referred to in these requests was included in this
morning's 11.7 point release.

Regards,

Adam

--- End Message ---

Reply to: