Hello community,
here is the log from the commit of package python-certbot-dns-cloudflare for
openSUSE:Factory checked in at 2020-07-15 15:01:40
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-certbot-dns-cloudflare (Old)
and /work/SRC/openSUSE:Factory/.python-certbot-dns-cloudflare.new.3060
(New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-certbot-dns-cloudflare"
Wed Jul 15 15:01:40 2020 rev:20 rq:820650 version:1.6.0
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-certbot-dns-cloudflare/python-certbot-dns-cloudflare.changes
2020-06-11 15:15:44.499002766 +0200
+++
/work/SRC/openSUSE:Factory/.python-certbot-dns-cloudflare.new.3060/python-certbot-dns-cloudflare.changes
2020-07-15 15:02:08.503241619 +0200
@@ -1,0 +2,6 @@
+Mon Jul 13 08:38:46 UTC 2020 - Marketa Calabkova <[email protected]>
+
+- update to version 1.6.0
+ * Sync with main certbot package.
+
+-------------------------------------------------------------------
Old:
----
certbot-dns-cloudflare-1.5.0.tar.gz
New:
----
certbot-dns-cloudflare-1.6.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-certbot-dns-cloudflare.spec ++++++
--- /var/tmp/diff_new_pack.ZNXit7/_old 2020-07-15 15:02:09.231242329 +0200
+++ /var/tmp/diff_new_pack.ZNXit7/_new 2020-07-15 15:02:09.235242333 +0200
@@ -18,7 +18,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-certbot-dns-cloudflare
-Version: 1.5.0
+Version: 1.6.0
Release: 0
Summary: Cloudflare Authenticator plugin for Certbot
License: Apache-2.0
@@ -57,6 +57,6 @@
%{python_sitelib}/*
%check
-%python_exec setup.py test
+%pytest
%changelog
++++++ certbot-dns-cloudflare-1.5.0.tar.gz ->
certbot-dns-cloudflare-1.6.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/certbot-dns-cloudflare-1.5.0/PKG-INFO
new/certbot-dns-cloudflare-1.6.0/PKG-INFO
--- old/certbot-dns-cloudflare-1.5.0/PKG-INFO 2020-06-02 19:13:06.000000000
+0200
+++ new/certbot-dns-cloudflare-1.6.0/PKG-INFO 2020-07-07 19:13:44.000000000
+0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: certbot-dns-cloudflare
-Version: 1.5.0
+Version: 1.6.0
Summary: Cloudflare DNS Authenticator plugin for Certbot
Home-page: https://github.com/certbot/certbot
Author: Certbot Project
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/certbot-dns-cloudflare-1.5.0/certbot_dns_cloudflare/__init__.py
new/certbot-dns-cloudflare-1.6.0/certbot_dns_cloudflare/__init__.py
--- old/certbot-dns-cloudflare-1.5.0/certbot_dns_cloudflare/__init__.py
2020-06-02 19:12:32.000000000 +0200
+++ new/certbot-dns-cloudflare-1.6.0/certbot_dns_cloudflare/__init__.py
2020-07-07 19:13:20.000000000 +0200
@@ -21,8 +21,8 @@
-----------
Use of this plugin requires a configuration file containing Cloudflare API
-credentials, obtained from your Cloudflare
-`account page <https://dash.cloudflare.com/profile/api-tokens>`_.
+credentials, obtained from your
+`Cloudflare dashboard
<https://dash.cloudflare.com/?to=/:account/profile/api-tokens>`_.
Previously, Cloudflare's "Global API Key" was used for authentication, however
this key can access the entire Cloudflare API for all domains in your account,
@@ -31,11 +31,8 @@
Cloudflare's newer API Tokens can be restricted to specific domains and
operations, and are therefore now the recommended authentication option.
-However, due to some shortcomings in Cloudflare's implementation of Tokens,
-Tokens created for Certbot currently require ``Zone:Zone:Read`` and
``Zone:DNS:Edit``
-permissions for **all** zones in your account. While this is not ideal, your
Token
-will still have fewer permission than the Global key, so it's still worth
doing.
-Hopefully Cloudflare will improve this in the future.
+The Token needed by Certbot requires ``Zone:DNS:Edit`` permissions for only the
+zones you need certificates for.
Using Cloudflare Tokens also requires at least version 2.3.1 of the
``cloudflare``
python module. If the version that automatically installed with this plugin is
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/certbot-dns-cloudflare-1.5.0/certbot_dns_cloudflare/_internal/dns_cloudflare.py
new/certbot-dns-cloudflare-1.6.0/certbot_dns_cloudflare/_internal/dns_cloudflare.py
---
old/certbot-dns-cloudflare-1.5.0/certbot_dns_cloudflare/_internal/dns_cloudflare.py
2020-06-02 19:12:32.000000000 +0200
+++
new/certbot-dns-cloudflare-1.6.0/certbot_dns_cloudflare/_internal/dns_cloudflare.py
2020-07-07 19:13:20.000000000 +0200
@@ -14,7 +14,7 @@
logger = logging.getLogger(__name__)
-ACCOUNT_URL = 'https://dash.cloudflare.com/profile/api-tokens'
+ACCOUNT_URL = 'https://dash.cloudflare.com/?to=/:account/profile/api-tokens'
@zope.interface.implementer(interfaces.IAuthenticator)
@@ -118,7 +118,7 @@
code = int(e)
hint = None
- if code == 9109:
+ if code == 1009:
hint = 'Does your API token have "Zone:DNS:Edit" permissions?'
logger.error('Encountered CloudFlareAPIError adding TXT record: %d
%s', e, e)
@@ -210,11 +210,22 @@
logger.debug('Found zone_id of %s for %s using name %s',
zone_id, domain, zone_name)
return zone_id
- raise errors.PluginError('Unable to determine zone_id for {0} using
zone names: {1}. '
- 'Please confirm that the domain name has been
entered correctly '
- 'and is already associated with the supplied
Cloudflare account.{2}'
- .format(domain, zone_name_guesses, ' The error
from Cloudflare was:'
- ' {0} {1}'.format(code, msg) if code is not
None else ''))
+ if msg is not None:
+ if 'com.cloudflare.api.account.zone.list' in msg:
+ raise errors.PluginError('Unable to determine zone_id for {0}
using zone names: '
+ '{1}. Please confirm that the domain
name has been '
+ 'entered correctly and your
Cloudflare Token has access '
+ 'to the domain.'.format(domain,
zone_name_guesses))
+ else:
+ raise errors.PluginError('Unable to determine zone_id for {0}
using zone names: '
+ '{1}. The error from Cloudflare was:
{2} {3}.'
+ .format(domain, zone_name_guesses,
code, msg))
+ else:
+ raise errors.PluginError('Unable to determine zone_id for {0}
using zone names: '
+ '{1}. Please confirm that the domain name
has been '
+ 'entered correctly and is already
associated with the '
+ 'supplied Cloudflare account.'
+ .format(domain, zone_name_guesses))
def _find_txt_record_id(self, zone_id, record_name, record_content):
"""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/certbot-dns-cloudflare-1.5.0/certbot_dns_cloudflare.egg-info/PKG-INFO
new/certbot-dns-cloudflare-1.6.0/certbot_dns_cloudflare.egg-info/PKG-INFO
--- old/certbot-dns-cloudflare-1.5.0/certbot_dns_cloudflare.egg-info/PKG-INFO
2020-06-02 19:13:06.000000000 +0200
+++ new/certbot-dns-cloudflare-1.6.0/certbot_dns_cloudflare.egg-info/PKG-INFO
2020-07-07 19:13:44.000000000 +0200
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: certbot-dns-cloudflare
-Version: 1.5.0
+Version: 1.6.0
Summary: Cloudflare DNS Authenticator plugin for Certbot
Home-page: https://github.com/certbot/certbot
Author: Certbot Project
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/certbot-dns-cloudflare-1.5.0/certbot_dns_cloudflare.egg-info/requires.txt
new/certbot-dns-cloudflare-1.6.0/certbot_dns_cloudflare.egg-info/requires.txt
---
old/certbot-dns-cloudflare-1.5.0/certbot_dns_cloudflare.egg-info/requires.txt
2020-06-02 19:13:06.000000000 +0200
+++
new/certbot-dns-cloudflare-1.6.0/certbot_dns_cloudflare.egg-info/requires.txt
2020-07-07 19:13:44.000000000 +0200
@@ -1,8 +1,8 @@
-acme>=0.29.0
-certbot>=1.1.0
cloudflare>=1.5.1
setuptools
zope.interface
+acme>=0.29.0
+certbot>=1.1.0
[:python_version < "3.3"]
mock
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/certbot-dns-cloudflare-1.5.0/setup.py
new/certbot-dns-cloudflare-1.6.0/setup.py
--- old/certbot-dns-cloudflare-1.5.0/setup.py 2020-06-02 19:12:35.000000000
+0200
+++ new/certbot-dns-cloudflare-1.6.0/setup.py 2020-07-07 19:13:23.000000000
+0200
@@ -1,4 +1,5 @@
-from distutils.version import StrictVersion
+from distutils.version import LooseVersion
+import os
import sys
from setuptools import __version__ as setuptools_version
@@ -6,19 +7,26 @@
from setuptools import setup
from setuptools.command.test import test as TestCommand
-version = '1.5.0'
+version = '1.6.0'
# Remember to update local-oldest-requirements.txt when changing the minimum
# acme/certbot version.
install_requires = [
- 'acme>=0.29.0',
- 'certbot>=1.1.0',
'cloudflare>=1.5.1',
'setuptools',
'zope.interface',
]
-setuptools_known_environment_markers = (StrictVersion(setuptools_version) >=
StrictVersion('36.2'))
+if not os.environ.get('EXCLUDE_CERTBOT_DEPS'):
+ install_requires.extend([
+ 'acme>=0.29.0',
+ 'certbot>=1.1.0',
+ ])
+elif 'bdist_wheel' in sys.argv[1:]:
+ raise RuntimeError('Unset EXCLUDE_CERTBOT_DEPS when building wheels '
+ 'to include certbot dependencies.')
+
+setuptools_known_environment_markers = (LooseVersion(setuptools_version) >=
LooseVersion('36.2'))
if setuptools_known_environment_markers:
install_requires.append('mock ; python_version < "3.3"')
elif 'bdist_wheel' in sys.argv[1:]:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/certbot-dns-cloudflare-1.5.0/tests/dns_cloudflare_test.py
new/certbot-dns-cloudflare-1.6.0/tests/dns_cloudflare_test.py
--- old/certbot-dns-cloudflare-1.5.0/tests/dns_cloudflare_test.py
2020-06-02 19:12:32.000000000 +0200
+++ new/certbot-dns-cloudflare-1.6.0/tests/dns_cloudflare_test.py
2020-07-07 19:13:20.000000000 +0200
@@ -133,7 +133,7 @@
def test_add_txt_record_error(self):
self.cf.zones.get.return_value = [{'id': self.zone_id}]
- self.cf.zones.dns_records.post.side_effect =
CloudFlare.exceptions.CloudFlareAPIError(9109, '', '')
+ self.cf.zones.dns_records.post.side_effect =
CloudFlare.exceptions.CloudFlareAPIError(1009, '', '')
self.assertRaises(
errors.PluginError,
@@ -173,6 +173,12 @@
self.assertRaises(
errors.PluginError,
self.cloudflare_client.add_txt_record,
+ DOMAIN, self.record_name, self.record_content, self.record_ttl)
+
+ self.cf.zones.get.side_effect =
CloudFlare.exceptions.CloudFlareAPIError(0,
'com.cloudflare.api.account.zone.list', '')
+ self.assertRaises(
+ errors.PluginError,
+ self.cloudflare_client.add_txt_record,
DOMAIN, self.record_name, self.record_content, self.record_ttl)
def test_del_txt_record(self):