Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-certbot-dns-digitalocean for openSUSE:Factory checked in at 2022-04-08 22:46:03 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-certbot-dns-digitalocean (Old) and /work/SRC/openSUSE:Factory/.python-certbot-dns-digitalocean.new.1900 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-certbot-dns-digitalocean" Fri Apr 8 22:46:03 2022 rev:31 rq:967764 version:1.26.0 Changes: -------- --- /work/SRC/openSUSE:Factory/python-certbot-dns-digitalocean/python-certbot-dns-digitalocean.changes 2021-12-21 20:42:19.762013630 +0100 +++ /work/SRC/openSUSE:Factory/.python-certbot-dns-digitalocean.new.1900/python-certbot-dns-digitalocean.changes 2022-04-08 22:46:23.170694664 +0200 @@ -1,0 +2,6 @@ +Fri Apr 8 09:48:14 UTC 2022 - Mark??ta Machov?? <mmach...@suse.com> + +- update to version 1.26.0 + * dns-digitalocean used the SOA TTL for newly created records, rather than 30 seconds. Fixed. + +------------------------------------------------------------------- Old: ---- certbot-dns-digitalocean-1.22.0.tar.gz New: ---- certbot-dns-digitalocean-1.26.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-certbot-dns-digitalocean.spec ++++++ --- /var/tmp/diff_new_pack.4IZqAL/_old 2022-04-08 22:46:23.718688582 +0200 +++ /var/tmp/diff_new_pack.4IZqAL/_new 2022-04-08 22:46:23.730688449 +0200 @@ -1,7 +1,7 @@ # # spec file for package python-certbot-dns-digitalocean # -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,7 +19,7 @@ %{?!python_module:%define python_module() python-%{**} python3-%{**}} %define skip_python2 1 Name: python-certbot-dns-digitalocean -Version: 1.22.0 +Version: 1.26.0 Release: 0 Summary: DigitalOcean Authenticator plugin for Certbot License: Apache-2.0 ++++++ certbot-dns-digitalocean-1.22.0.tar.gz -> certbot-dns-digitalocean-1.26.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-dns-digitalocean-1.22.0/MANIFEST.in new/certbot-dns-digitalocean-1.26.0/MANIFEST.in --- old/certbot-dns-digitalocean-1.22.0/MANIFEST.in 2021-12-07 23:02:45.000000000 +0100 +++ new/certbot-dns-digitalocean-1.26.0/MANIFEST.in 2022-04-05 19:41:26.000000000 +0200 @@ -2,5 +2,6 @@ include README.rst recursive-include docs * recursive-include tests * +include certbot_dns_digitalocean/py.typed global-exclude __pycache__ global-exclude *.py[cod] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-dns-digitalocean-1.22.0/PKG-INFO new/certbot-dns-digitalocean-1.26.0/PKG-INFO --- old/certbot-dns-digitalocean-1.22.0/PKG-INFO 2021-12-07 23:03:00.942607600 +0100 +++ new/certbot-dns-digitalocean-1.26.0/PKG-INFO 2022-04-05 19:41:49.502216800 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: certbot-dns-digitalocean -Version: 1.22.0 +Version: 1.26.0 Summary: DigitalOcean DNS Authenticator plugin for Certbot Home-page: https://github.com/certbot/certbot Author: Certbot Project @@ -14,7 +14,6 @@ Classifier: Operating System :: POSIX :: Linux Classifier: Programming Language :: Python Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.6 Classifier: Programming Language :: Python :: 3.7 Classifier: Programming Language :: Python :: 3.8 Classifier: Programming Language :: Python :: 3.9 @@ -25,7 +24,7 @@ Classifier: Topic :: System :: Networking Classifier: Topic :: System :: Systems Administration Classifier: Topic :: Utilities -Requires-Python: >=3.6 +Requires-Python: >=3.7 Provides-Extra: docs License-File: LICENSE.txt diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-dns-digitalocean-1.22.0/certbot_dns_digitalocean/__init__.py new/certbot-dns-digitalocean-1.26.0/certbot_dns_digitalocean/__init__.py --- old/certbot-dns-digitalocean-1.22.0/certbot_dns_digitalocean/__init__.py 2021-12-07 23:02:45.000000000 +0100 +++ new/certbot-dns-digitalocean-1.26.0/certbot_dns_digitalocean/__init__.py 2022-04-05 19:41:26.000000000 +0200 @@ -78,6 +78,15 @@ -d www.example.com .. code-block:: bash + :caption: To acquire a wildcard certificate for ``*.example.com`` + + certbot certonly \\ + --dns-digitalocean \\ + --dns-digitalocean-credentials ~/.secrets/certbot/digitalocean.ini \\ + -d example.com \\ + -d '*.example.com' + +.. code-block:: bash :caption: To acquire a certificate for ``example.com``, waiting 60 seconds for DNS propagation diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-dns-digitalocean-1.22.0/certbot_dns_digitalocean/_internal/dns_digitalocean.py new/certbot-dns-digitalocean-1.26.0/certbot_dns_digitalocean/_internal/dns_digitalocean.py --- old/certbot-dns-digitalocean-1.22.0/certbot_dns_digitalocean/_internal/dns_digitalocean.py 2021-12-07 23:02:45.000000000 +0100 +++ new/certbot-dns-digitalocean-1.26.0/certbot_dns_digitalocean/_internal/dns_digitalocean.py 2022-04-05 19:41:26.000000000 +0200 @@ -1,5 +1,7 @@ """DNS Authenticator for DigitalOcean.""" import logging +from typing import Any +from typing import Callable from typing import Optional import digitalocean @@ -21,20 +23,21 @@ 'using DigitalOcean for DNS).' ttl = 30 - def __init__(self, *args, **kwargs): + def __init__(self, *args: Any, **kwargs: Any) -> None: super().__init__(*args, **kwargs) self.credentials: Optional[CredentialsConfiguration] = None @classmethod - def add_parser_arguments(cls, add): # pylint: disable=arguments-differ - super().add_parser_arguments(add) + def add_parser_arguments(cls, add: Callable[..., None], + default_propagation_seconds: int = 10) -> None: + super().add_parser_arguments(add, default_propagation_seconds) add('credentials', help='DigitalOcean credentials INI file.') - def more_info(self): # pylint: disable=missing-function-docstring + def more_info(self) -> str: return 'This plugin configures a DNS TXT record to respond to a dns-01 challenge using ' + \ 'the DigitalOcean API.' - def _setup_credentials(self): + def _setup_credentials(self) -> None: self.credentials = self._configure_credentials( 'credentials', 'DigitalOcean credentials INI file', @@ -43,14 +46,14 @@ } ) - def _perform(self, domain, validation_name, validation): + def _perform(self, domain: str, validation_name: str, validation: str) -> None: self._get_digitalocean_client().add_txt_record(domain, validation_name, validation, self.ttl) - def _cleanup(self, domain, validation_name, validation): + def _cleanup(self, domain: str, validation_name: str, validation: str) -> None: self._get_digitalocean_client().del_txt_record(domain, validation_name, validation) - def _get_digitalocean_client(self): + def _get_digitalocean_client(self) -> "_DigitalOceanClient": if not self.credentials: # pragma: no cover raise errors.Error("Plugin has not been prepared.") return _DigitalOceanClient(self.credentials.conf('token')) @@ -61,11 +64,11 @@ Encapsulates all communication with the DigitalOcean API. """ - def __init__(self, token): + def __init__(self, token: str) -> None: self.manager = digitalocean.Manager(token=token) def add_txt_record(self, domain_name: str, record_name: str, record_content: str, - record_ttl: int): + record_ttl: int) -> None: """ Add a TXT record using the supplied information. @@ -79,6 +82,10 @@ try: domain = self._find_domain(domain_name) + # The TTL value is set to the SOA record's TTL. Unless set to a falsy value, + # the optional TTL argument to add_txt_record() would be ignored. + # See https://github.com/certbot/certbot/pull/9149 for details. + domain.ttl = None except digitalocean.Error as e: hint = None @@ -104,7 +111,7 @@ raise errors.PluginError('Error adding TXT record using the DigitalOcean API: {0}' .format(e)) - def del_txt_record(self, domain_name: str, record_name: str, record_content: str): + def del_txt_record(self, domain_name: str, record_name: str, record_content: str) -> None: """ Delete a TXT record using the supplied information. @@ -143,7 +150,7 @@ logger.warning('Error deleting TXT record %s using the DigitalOcean API: %s', record.id, e) - def _find_domain(self, domain_name): + def _find_domain(self, domain_name: str) -> digitalocean.Domain: """ Find the domain object for a given domain name. @@ -165,10 +172,10 @@ logger.debug('Found base domain for %s using name %s', domain_name, guess) return domain - raise errors.PluginError('Unable to determine base domain for {0} using names: {1}.' - .format(domain_name, domain_name_guesses)) + raise errors.PluginError(f'Unable to determine base domain for {domain_name} using names: ' + f'{domain_name_guesses}.') @staticmethod - def _compute_record_name(domain, full_record_name): + def _compute_record_name(domain: digitalocean.Domain, full_record_name: str) -> str: # The domain, from DigitalOcean's point of view, is automatically appended. return full_record_name.rpartition("." + domain.name)[0] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-dns-digitalocean-1.22.0/certbot_dns_digitalocean.egg-info/PKG-INFO new/certbot-dns-digitalocean-1.26.0/certbot_dns_digitalocean.egg-info/PKG-INFO --- old/certbot-dns-digitalocean-1.22.0/certbot_dns_digitalocean.egg-info/PKG-INFO 2021-12-07 23:03:00.000000000 +0100 +++ new/certbot-dns-digitalocean-1.26.0/certbot_dns_digitalocean.egg-info/PKG-INFO 2022-04-05 19:41:49.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: certbot-dns-digitalocean -Version: 1.22.0 +Version: 1.26.0 Summary: DigitalOcean DNS Authenticator plugin for Certbot Home-page: https://github.com/certbot/certbot Author: Certbot Project @@ -14,7 +14,6 @@ Classifier: Operating System :: POSIX :: Linux Classifier: Programming Language :: Python Classifier: Programming Language :: Python :: 3 -Classifier: Programming Language :: Python :: 3.6 Classifier: Programming Language :: Python :: 3.7 Classifier: Programming Language :: Python :: 3.8 Classifier: Programming Language :: Python :: 3.9 @@ -25,7 +24,7 @@ Classifier: Topic :: System :: Networking Classifier: Topic :: System :: Systems Administration Classifier: Topic :: Utilities -Requires-Python: >=3.6 +Requires-Python: >=3.7 Provides-Extra: docs License-File: LICENSE.txt diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-dns-digitalocean-1.22.0/certbot_dns_digitalocean.egg-info/SOURCES.txt new/certbot-dns-digitalocean-1.26.0/certbot_dns_digitalocean.egg-info/SOURCES.txt --- old/certbot-dns-digitalocean-1.22.0/certbot_dns_digitalocean.egg-info/SOURCES.txt 2021-12-07 23:03:00.000000000 +0100 +++ new/certbot-dns-digitalocean-1.26.0/certbot_dns_digitalocean.egg-info/SOURCES.txt 2022-04-05 19:41:49.000000000 +0200 @@ -1,9 +1,9 @@ LICENSE.txt MANIFEST.in README.rst -setup.cfg setup.py certbot_dns_digitalocean/__init__.py +certbot_dns_digitalocean/py.typed certbot_dns_digitalocean.egg-info/PKG-INFO certbot_dns_digitalocean.egg-info/SOURCES.txt certbot_dns_digitalocean.egg-info/dependency_links.txt diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-dns-digitalocean-1.22.0/certbot_dns_digitalocean.egg-info/entry_points.txt new/certbot-dns-digitalocean-1.26.0/certbot_dns_digitalocean.egg-info/entry_points.txt --- old/certbot-dns-digitalocean-1.22.0/certbot_dns_digitalocean.egg-info/entry_points.txt 2021-12-07 23:03:00.000000000 +0100 +++ new/certbot-dns-digitalocean-1.26.0/certbot_dns_digitalocean.egg-info/entry_points.txt 2022-04-05 19:41:49.000000000 +0200 @@ -1,3 +1,2 @@ [certbot.plugins] dns-digitalocean = certbot_dns_digitalocean._internal.dns_digitalocean:Authenticator - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-dns-digitalocean-1.22.0/certbot_dns_digitalocean.egg-info/requires.txt new/certbot-dns-digitalocean-1.26.0/certbot_dns_digitalocean.egg-info/requires.txt --- old/certbot-dns-digitalocean-1.22.0/certbot_dns_digitalocean.egg-info/requires.txt 2021-12-07 23:03:00.000000000 +0100 +++ new/certbot-dns-digitalocean-1.26.0/certbot_dns_digitalocean.egg-info/requires.txt 2022-04-05 19:41:49.000000000 +0200 @@ -1,7 +1,7 @@ python-digitalocean>=1.11 -setuptools>=39.0.1 -acme>=1.22.0 -certbot>=1.22.0 +setuptools>=41.6.0 +acme>=1.26.0 +certbot>=1.26.0 [docs] Sphinx>=1.0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-dns-digitalocean-1.22.0/setup.cfg new/certbot-dns-digitalocean-1.26.0/setup.cfg --- old/certbot-dns-digitalocean-1.22.0/setup.cfg 2021-12-07 23:03:00.942607600 +0100 +++ new/certbot-dns-digitalocean-1.26.0/setup.cfg 2022-04-05 19:41:49.502377700 +0200 @@ -1,6 +1,3 @@ -[bdist_wheel] -universal = 1 - [egg_info] tag_build = tag_date = 0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-dns-digitalocean-1.22.0/setup.py new/certbot-dns-digitalocean-1.26.0/setup.py --- old/certbot-dns-digitalocean-1.22.0/setup.py 2021-12-07 23:02:46.000000000 +0100 +++ new/certbot-dns-digitalocean-1.26.0/setup.py 2022-04-05 19:41:27.000000000 +0200 @@ -4,11 +4,11 @@ from setuptools import find_packages from setuptools import setup -version = '1.22.0' +version = '1.26.0' install_requires = [ 'python-digitalocean>=1.11', # 1.15.0 or newer is recommended for TTL support - 'setuptools>=39.0.1', + 'setuptools>=41.6.0', ] if not os.environ.get('SNAP_BUILD'): @@ -38,7 +38,7 @@ author="Certbot Project", author_email='certbot-...@eff.org', license='Apache License 2.0', - python_requires='>=3.6', + python_requires='>=3.7', classifiers=[ 'Development Status :: 5 - Production/Stable', 'Environment :: Plugins', @@ -47,7 +47,6 @@ 'Operating System :: POSIX :: Linux', 'Programming Language :: Python', 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.6', 'Programming Language :: Python :: 3.7', 'Programming Language :: Python :: 3.8', 'Programming Language :: Python :: 3.9',