Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-certbot for openSUSE:Factory checked in at 2024-06-25 23:08:57 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-certbot (Old) and /work/SRC/openSUSE:Factory/.python-certbot.new.18349 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "python-certbot" Tue Jun 25 23:08:57 2024 rev:51 rq:1183167 version:2.11.0 Changes: -------- --- /work/SRC/openSUSE:Factory/python-certbot/python-certbot.changes 2024-05-16 17:19:43.297808745 +0200 +++ /work/SRC/openSUSE:Factory/.python-certbot.new.18349/python-certbot.changes 2024-06-25 23:10:13.552316888 +0200 @@ -1,0 +2,10 @@ +Tue Jun 25 12:15:06 UTC 2024 - Markéta Machová <mmachova@suse.com> + +- update to 2.11.0 + * Fixed a bug in Certbot where a CSR's SANs did not always follow + the order of the domain names that the user requested interactively. + In some cases, the resulting cert's common name might seem picked + up randomly from the SANs when it should be the first item the user + had in mind. + +------------------------------------------------------------------- Old: ---- certbot-2.10.0.tar.gz New: ---- certbot-2.11.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-certbot.spec ++++++ --- /var/tmp/diff_new_pack.tk8VFK/_old 2024-06-25 23:10:15.476387026 +0200 +++ /var/tmp/diff_new_pack.tk8VFK/_new 2024-06-25 23:10:15.480387171 +0200 @@ -18,7 +18,7 @@ %{?sle15_python_module_pythons} Name: python-certbot -Version: 2.10.0 +Version: 2.11.0 Release: 0 Summary: ACME client License: Apache-2.0 ++++++ certbot-2.10.0.tar.gz -> certbot-2.11.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-2.10.0/CHANGELOG.md new/certbot-2.11.0/CHANGELOG.md --- old/certbot-2.10.0/CHANGELOG.md 2024-04-02 23:20:00.000000000 +0200 +++ new/certbot-2.11.0/CHANGELOG.md 2024-06-05 23:34:02.000000000 +0200 @@ -2,6 +2,26 @@ Certbot adheres to [Semantic Versioning](https://semver.org/). +## 2.11.0 - 2024-06-05 + +### Added + +* + +### Changed + +* In anticipation of backwards incompatible changes, certbot-dns-cloudflare now + requires less than version 2.20 of Cloudflare's python library. + +### Fixed + +* Fixed a bug in Certbot where a CSR's SANs did not always follow the order of + the domain names that the user requested interactively. In some cases, the + resulting cert's common name might seem picked up randomly from the SANs + when it should be the first item the user had in mind. + +More details about these changes can be found on our GitHub repo. + ## 2.10.0 - 2024-04-02 ### Added diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-2.10.0/PKG-INFO new/certbot-2.11.0/PKG-INFO --- old/certbot-2.10.0/PKG-INFO 2024-04-02 23:20:00.495622000 +0200 +++ new/certbot-2.11.0/PKG-INFO 2024-06-05 23:34:03.529808500 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: certbot -Version: 2.10.0 +Version: 2.11.0 Summary: ACME client Home-page: https://github.com/certbot/certbot Author: Certbot Project @@ -27,7 +27,7 @@ Classifier: Topic :: Utilities Requires-Python: >=3.8 License-File: LICENSE.txt -Requires-Dist: acme>=2.10.0 +Requires-Dist: acme>=2.11.0 Requires-Dist: ConfigArgParse>=1.5.3 Requires-Dist: configobj>=5.0.6 Requires-Dist: cryptography>=3.2.1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-2.10.0/certbot/__init__.py new/certbot-2.11.0/certbot/__init__.py --- old/certbot-2.10.0/certbot/__init__.py 2024-04-02 23:20:00.000000000 +0200 +++ new/certbot-2.11.0/certbot/__init__.py 2024-06-05 23:34:03.000000000 +0200 @@ -1,4 +1,4 @@ """Certbot client.""" # version number like 1.2.3a0, must have at least 2 parts, like 1.2 -__version__ = '2.10.0' +__version__ = '2.11.0' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-2.10.0/certbot/_internal/display/obj.py new/certbot-2.11.0/certbot/_internal/display/obj.py --- old/certbot-2.10.0/certbot/_internal/display/obj.py 2024-04-02 23:19:59.000000000 +0200 +++ new/certbot-2.11.0/certbot/_internal/display/obj.py 2024-06-05 23:34:02.000000000 +0200 @@ -328,8 +328,9 @@ except ValueError: return [] - # Remove duplicates - indices_int = list(set(indices_int)) + # Remove duplicates. dict is used instead of set, since dict perserves + # insertion order as of Python 3.7 + indices_int = list(dict.fromkeys(indices_int).keys()) # Check all input is within range for index in indices_int: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-2.10.0/certbot/_internal/snap_config.py new/certbot-2.11.0/certbot/_internal/snap_config.py --- old/certbot-2.10.0/certbot/_internal/snap_config.py 2024-04-02 23:19:59.000000000 +0200 +++ new/certbot-2.11.0/certbot/_internal/snap_config.py 2024-06-05 23:34:02.000000000 +0200 @@ -4,8 +4,10 @@ from typing import Iterable from typing import List from typing import Optional +from typing import Tuple +from typing import Union -from requests import Session +from requests import PreparedRequest, Session from requests.adapters import HTTPAdapter from requests.exceptions import HTTPError from requests.exceptions import RequestException @@ -100,6 +102,21 @@ class _SnapdAdapter(HTTPAdapter): + # get_connection is used with versions of requests before 2.32.2 and + # get_connection_with_tls_context is used instead in versions after that. as of + # writing this, Certbot in EPEL 9 is still seeing updates and they have requests 2.25.1 so to + # help out those packagers while ensuring this code works reliably, we offer custom versions of + # both functions for now. when certbot does declare a dependency on requests>=2.32.2 in its + # setup.py files, get_connection can be deleted def get_connection(self, url: str, proxies: Optional[Iterable[str]] = None) -> _SnapdConnectionPool: return _SnapdConnectionPool() + + def get_connection_with_tls_context(self, request: PreparedRequest, + verify: bool, + proxies: Optional[Iterable[str]] = None, + cert: Optional[Union[str, Tuple[str,str]]] = None + ) -> _SnapdConnectionPool: + """Required method for creating a new connection pool. Simply return our + shim that forces a UNIX socket connection to snapd.""" + return _SnapdConnectionPool() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-2.10.0/certbot/_internal/tests/display/obj_test.py new/certbot-2.11.0/certbot/_internal/tests/display/obj_test.py --- old/certbot-2.10.0/certbot/_internal/tests/display/obj_test.py 2024-04-02 23:19:59.000000000 +0200 +++ new/certbot-2.11.0/certbot/_internal/tests/display/obj_test.py 2024-06-05 23:34:02.000000000 +0200 @@ -194,6 +194,25 @@ self.displayer._scrub_checklist_input(list_, TAGS)) assert set_tags == exp[i] + def test_scrub_checklist_maintain_indices_order(self): + # pylint: disable=protected-access + source_tags = ["T1", "T2", "T3", "T4", "T5", "T6", "T7", "T8", "T9"] + indices = [ + ["4", "9"], + ["9", "4"], + ["4", "9", "4"], + ["9", "4", "9"], + ] + exp = [ + ["T4", "T9"], + ["T9", "T4"], + ["T4", "T9"], + ["T9", "T4"], + ] + for i, list_ in enumerate(indices): + tags = self.displayer._scrub_checklist_input(list_, source_tags) + assert tags == exp[i] + @mock.patch("certbot._internal.display.util.input_with_timeout") def test_directory_select(self, mock_input): args = ["msg", "/var/www/html", "--flag", True] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-2.10.0/certbot.egg-info/PKG-INFO new/certbot-2.11.0/certbot.egg-info/PKG-INFO --- old/certbot-2.10.0/certbot.egg-info/PKG-INFO 2024-04-02 23:20:00.000000000 +0200 +++ new/certbot-2.11.0/certbot.egg-info/PKG-INFO 2024-06-05 23:34:03.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: certbot -Version: 2.10.0 +Version: 2.11.0 Summary: ACME client Home-page: https://github.com/certbot/certbot Author: Certbot Project @@ -27,7 +27,7 @@ Classifier: Topic :: Utilities Requires-Python: >=3.8 License-File: LICENSE.txt -Requires-Dist: acme>=2.10.0 +Requires-Dist: acme>=2.11.0 Requires-Dist: ConfigArgParse>=1.5.3 Requires-Dist: configobj>=5.0.6 Requires-Dist: cryptography>=3.2.1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-2.10.0/certbot.egg-info/requires.txt new/certbot-2.11.0/certbot.egg-info/requires.txt --- old/certbot-2.10.0/certbot.egg-info/requires.txt 2024-04-02 23:20:00.000000000 +0200 +++ new/certbot-2.11.0/certbot.egg-info/requires.txt 2024-06-05 23:34:03.000000000 +0200 @@ -1,4 +1,4 @@ -acme>=2.10.0 +acme>=2.11.0 ConfigArgParse>=1.5.3 configobj>=5.0.6 cryptography>=3.2.1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-2.10.0/docs/cli-help.txt new/certbot-2.11.0/docs/cli-help.txt --- old/certbot-2.10.0/docs/cli-help.txt 2024-04-02 23:19:59.000000000 +0200 +++ new/certbot-2.11.0/docs/cli-help.txt 2024-06-05 23:34:02.000000000 +0200 @@ -122,7 +122,7 @@ case, and to know when to deprecate support for past Python versions and flags. If you wish to hide this information from the Let's Encrypt server, set this to - "". (default: CertbotACMEClient/2.9.0 (certbot; + "". (default: CertbotACMEClient/2.10.0 (certbot; OS_NAME OS_VERSION) Authenticator/XXX Installer/YYY (SUBCOMMAND; flags: FLAGS) Py/major.minor.patchlevel). The flags encoded in the user agent are: --duplicate, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-2.10.0/docs/contributing.rst new/certbot-2.11.0/docs/contributing.rst --- old/certbot-2.10.0/docs/contributing.rst 2024-04-02 23:19:59.000000000 +0200 +++ new/certbot-2.11.0/docs/contributing.rst 2024-06-05 23:34:02.000000000 +0200 @@ -134,7 +134,7 @@ Once you are done with your code changes, and the tests in ``foo_test.py`` pass, run all of the unit tests for Certbot and check for coverage with ``tox --e cover``. You should then check for code style with ``tox -e lint`` (all +-e cover``. You should then check for code style with ``tox run -e lint`` (all files) or ``pylint --rcfile=.pylintrc path/to/file.py`` (single file at a time). @@ -163,7 +163,7 @@ .. code-block:: shell - tox -e integration + tox run -e integration Tests will be run using pytest. A test report and a code coverage report will be displayed at the end of the integration tests execution. @@ -485,7 +485,7 @@ Zulip wrote a `great guide`_ to using mypy. It’s useful, but you don’t have to read the whole thing to start contributing to Certbot. -To run mypy on Certbot, use ``tox -e mypy`` on a machine that has Python 3 installed. +To run mypy on Certbot, use ``tox run -e mypy`` on a machine that has Python 3 installed. Also note that OpenSSL, which we rely on, has type definitions for crypto but not SSL. We use both. Those imports should look like this: @@ -509,12 +509,12 @@ something we have the time and interest to review. 1. Write your code! When doing this, you should add :ref:`mypy type annotations <type annotations>` for any functions you add or modify. You can check that - you've done this correctly by running ``tox -e mypy`` on a machine that has + you've done this correctly by running ``tox run -e mypy`` on a machine that has Python 3 installed. 2. Make sure your environment is set up properly and that you're in your virtualenv. You can do this by following the instructions in the :ref:`Getting Started <getting_started>` section. -3. Run ``tox -e lint`` to check for pylint errors. Fix any errors. +3. Run ``tox run -e lint`` to check for pylint errors. Fix any errors. 4. Run ``tox --skip-missing-interpreters`` to run all the tests we recommend developers run locally. The ``--skip-missing-interpreters`` argument ignores missing versions of Python needed for running the tests. Fix any errors. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-2.10.0/docs/using.rst new/certbot-2.11.0/docs/using.rst --- old/certbot-2.10.0/docs/using.rst 2024-04-02 23:19:59.000000000 +0200 +++ new/certbot-2.11.0/docs/using.rst 2024-06-05 23:34:02.000000000 +0200 @@ -326,6 +326,7 @@ standalone-nfq_ Y N HTTP Authentication that works with any webserver (Linux only) dns-solidserver_ Y N DNS Authentication using SOLIDserver (EfficientIP) dns-stackit_ Y N DNS Authentication using STACKIT DNS +dns-ionos_ Y N DNS Authentication using IONOS Cloud DNS ================== ==== ==== =============================================================== .. _haproxy: https://github.com/greenhost/certbot-haproxy @@ -353,6 +354,7 @@ .. _standalone-nfq: https://github.com/alexzorin/certbot-standalone-nfq .. _dns-solidserver: https://gitlab.com/charlyhong/certbot-dns-solidserver .. _dns-stackit: https://github.com/stackitcloud/certbot-dns-stackit +.. _dns-ionos: https://github.com/ionos-cloud/certbot-dns-ionos-cloud If you're interested, you can also :ref:`write your own plugin <dev-plugin>`.