** Description changed:

  This bug tracks an update for python-certbot from 0.39.0 to 0.40.0.
  
  This update includes bugfixes only following the SRU policy exception
  defined at https://wiki.ubuntu.com/StableReleaseUpdates/Certbot.
  
  [Impact]
  
  Not directly applicable; see the exception policy document at
  https://wiki.ubuntu.com/StableReleaseUpdates/Certbot
  
  Reguesting a certificate via the nginx plugin fails:
  
  AttributeError: module 'acme.challenges' has no attribute 'TLSSNI01'
  
  The problem here is python-certbot-nginx contains references to code in
  python-acme that has been removed. This problem makes python-certbot-
  nginx completely unable to obtain certificates.
  
  [Major Changes]
  
  To fix the problem, python-certbot-nginx is being updated from 0.39.0 to
  0.40.0. The diff[1] is small and is about removing TLSSNI01 support.
  
  It was also noticed that the build-time tests were never run due to a
  bug in how they were called in d/rules. This has been fixed, and turns
  out the current version in focal release (0.39.0-1) is already an FTBFS
  when tests are properly run during build.
  
  To have the tests run at build time (as was the original intention), the
  conditional in d/rules was fixed and a patch from upstream was added. I
  also submitted the d/rules fix to Debian via [2]. Once that is merged,
  groovy will have the fix as well via a standard sync. Note the extra
  patch isn't needed in that version.
- 
  
  1. see the linked MP. Getting a diff from github just for the nginx plugin is 
hard because it is a subdirectory of the bigger certbot project.
  2. 
https://salsa.debian.org/letsencrypt-team/certbot/certbot-nginx/-/merge_requests/1
  
  [Test Plan]
  
  See
  https://wiki.ubuntu.com/StableReleaseUpdates/Certbot#SRU_Verification_Process
  
  TODO: add testscript.sh run results
  TODO: add manual registration results with nginx and apache against staging
  
  [Regression Potential]
  
  Upstream performs extensive testing before release, giving us a high
  degree of confidence in the general case. There problems are most likely
  to manifest in Ubuntu-specific integrations, such as in relation to the
  versions of dependencies available and other packaging-specific matters.
  
  python-acme 1.x which removed TLSSNI01 (among other changes) shouldn't
  have migrated to the release pocket without also migrating a newer 1.x
  version of python-certbot-*. This was fixed in the development release
  and in Debian via an ABI provides.
  
  This situation of having a more recent python-acme in focal but not 
accompanying python-certbot-* version bumps to the same series also made some 
related packages to become FTBFS in focal release:
  - bug #1876933: python-certbot FTBFS due to failing build time tests
  - bug #1876929: python-acme FTBFS due to unsatisfied dependency on 
python3-idna << 2.8
  - bug #1876934: python-certbot-apache FTBFS due to failing build time tests
  
  python-certbot-nginx 0.39.0 didn't become an FTBFS like python-certbot-
  apache just because of the d/rules error in calling those tests, which
  is being fixed in this update.
  
  Fixing those FTBFS issues in the other packages is not in scope for this
  SRU. It is expected that certbot in general will get more updates in the
  future during the lifecycle of Ubuntu Focal, and updating the packages
  at that time will fix the build problem. At the moment, they don't
  impact the functionality of the system. See the discussion further down
- here in this bug.
+ here in this bug, in particular comment #12 and comment #15, the latter
+ being what was implemented for this SRU.
  
  [Original Description]
  This issue only affects version 0.39.0-1 of the python-certbot-nginx package 
in Ubuntu 20.04.
  
  To reproduce the problem, install python3-certbot-nginx and run a
  command like:
  
  sudo certbot -d example.org --agree-tos --staging --register-unsafely-
  without-email --nginx
  
  This command will fail and the relevant output is:
  
  AttributeError: module 'acme.challenges' has no attribute 'TLSSNI01'
  
  The problem here is python-certbot-nginx contains references to code in
  python-acme that has been removed. This problem makes python-certbot-
  nginx completely unable to obtain certificates.
  
  As the upstream maintainer of this package, I'll suggest two ways to fix
  this problem:
  
  1. Update python-certbot-nginx to our 0.40.0 release. The benefit of
  this is it sticks to well tested versions of our software rather than
  making potentially error prone backports. Certbot has an SRU exception
  which can be seen at
  https://wiki.ubuntu.com/StableReleaseUpdates/Certbot. The diff of  code
  upstream between 0.39.0 and 0.40.0 if you all want to take this route
  can be see at
  https://gist.github.com/bmw/a88429687f4aed13e300fafdad85ce30.
  
  2. You can manually backport minimal fixes. The only changes that should
  required from the above gist are the changes to:
  
  * certbot_nginx/configurator.py
  * certbot_nginx/tests/configurator_test.py
  
  While I have essentially no knowledge of creating .debs myself, please
  let me know if you have any questions resolving this, want help testing
  proposed packages, etc.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1875471

Title:
  python3-certbot-nginx is incompatible with its dependencies

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/python-certbot-nginx/+bug/1875471/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to