Import upstream version 1.15.0
Debian Janitor
2 years ago
0 | 0 | Metadata-Version: 2.1 |
1 | 1 | Name: certbot-dns-rfc2136 |
2 | Version: 1.10.1 | |
2 | Version: 1.15.0 | |
3 | 3 | Summary: RFC 2136 DNS Authenticator plugin for Certbot |
4 | 4 | Home-page: https://github.com/certbot/certbot |
5 | 5 | Author: Certbot Project |
6 | Author-email: client-dev@letsencrypt.org | |
6 | Author-email: certbot-dev@eff.org | |
7 | 7 | License: Apache License 2.0 |
8 | 8 | Description: UNKNOWN |
9 | 9 | Platform: UNKNOWN |
13 | 13 | Classifier: License :: OSI Approved :: Apache Software License |
14 | 14 | Classifier: Operating System :: POSIX :: Linux |
15 | 15 | Classifier: Programming Language :: Python |
16 | Classifier: Programming Language :: Python :: 2 | |
17 | Classifier: Programming Language :: Python :: 2.7 | |
18 | 16 | Classifier: Programming Language :: Python :: 3 |
19 | 17 | Classifier: Programming Language :: Python :: 3.6 |
20 | 18 | Classifier: Programming Language :: Python :: 3.7 |
26 | 24 | Classifier: Topic :: System :: Networking |
27 | 25 | Classifier: Topic :: System :: Systems Administration |
28 | 26 | Classifier: Topic :: Utilities |
29 | Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.* | |
27 | Requires-Python: >=3.6 | |
30 | 28 | Provides-Extra: docs |
2 | 2 | completing a ``dns-01`` challenge (`~acme.challenges.DNS01`) by creating, and |
3 | 3 | subsequently removing, TXT records using RFC 2136 Dynamic Updates. |
4 | 4 | |
5 | .. note:: | |
6 | The plugin is not installed by default. It can be installed by heading to | |
7 | `certbot.eff.org <https://certbot.eff.org/instructions#wildcard>`_, choosing your system and | |
8 | selecting the Wildcard tab. | |
5 | 9 | |
6 | 10 | Named Arguments |
7 | 11 | --------------- |
0 | # type: ignore | |
1 | # pylint: disable=no-member | |
2 | # Many attributes of dnspython are now dynamically defined which causes both | |
3 | # mypy and pylint to error about accessing attributes they think do not exist. | |
4 | # This is the case even in up-to-date versions of mypy and pylint which as of | |
5 | # writing this are 0.790 and 2.6.0 respectively. This problem may be fixed in | |
6 | # dnspython 2.1.0. See https://github.com/rthalley/dnspython/issues/598. For | |
7 | # now, let's disable these checks. This is done at the very top of the file | |
8 | # like this because "type: ignore" must be the first line in the file to be | |
9 | # respected by mypy. | |
10 | 0 | """DNS Authenticator using RFC 2136 Dynamic Updates.""" |
11 | 1 | import logging |
2 | from typing import Optional | |
12 | 3 | |
13 | 4 | import dns.flags |
14 | 5 | import dns.message |
24 | 15 | from certbot import errors |
25 | 16 | from certbot import interfaces |
26 | 17 | from certbot.plugins import dns_common |
18 | from certbot.plugins.dns_common import CredentialsConfiguration | |
27 | 19 | |
28 | 20 | logger = logging.getLogger(__name__) |
29 | 21 | |
52 | 44 | ttl = 120 |
53 | 45 | |
54 | 46 | def __init__(self, *args, **kwargs): |
55 | super(Authenticator, self).__init__(*args, **kwargs) | |
56 | self.credentials = None | |
47 | super().__init__(*args, **kwargs) | |
48 | self.credentials: Optional[CredentialsConfiguration] = None | |
57 | 49 | |
58 | 50 | @classmethod |
59 | 51 | def add_parser_arguments(cls, add): # pylint: disable=arguments-differ |
60 | super(Authenticator, cls).add_parser_arguments(add, default_propagation_seconds=60) | |
52 | super().add_parser_arguments(add, default_propagation_seconds=60) | |
61 | 53 | add('credentials', help='RFC 2136 credentials INI file.') |
62 | 54 | |
63 | 55 | def more_info(self): # pylint: disable=missing-function-docstring |
89 | 81 | self._get_rfc2136_client().del_txt_record(validation_name, validation) |
90 | 82 | |
91 | 83 | def _get_rfc2136_client(self): |
84 | if not self.credentials: # pragma: no cover | |
85 | raise errors.Error("Plugin has not been prepared.") | |
92 | 86 | return _RFC2136Client(self.credentials.conf('server'), |
93 | 87 | int(self.credentials.conf('port') or self.PORT), |
94 | 88 | self.credentials.conf('name'), |
97 | 91 | dns.tsig.HMAC_MD5)) |
98 | 92 | |
99 | 93 | |
100 | class _RFC2136Client(object): | |
94 | class _RFC2136Client: | |
101 | 95 | """ |
102 | 96 | Encapsulates all communication with the target DNS server. |
103 | 97 | """ |
0 | 0 | Metadata-Version: 2.1 |
1 | 1 | Name: certbot-dns-rfc2136 |
2 | Version: 1.10.1 | |
2 | Version: 1.15.0 | |
3 | 3 | Summary: RFC 2136 DNS Authenticator plugin for Certbot |
4 | 4 | Home-page: https://github.com/certbot/certbot |
5 | 5 | Author: Certbot Project |
6 | Author-email: client-dev@letsencrypt.org | |
6 | Author-email: certbot-dev@eff.org | |
7 | 7 | License: Apache License 2.0 |
8 | 8 | Description: UNKNOWN |
9 | 9 | Platform: UNKNOWN |
13 | 13 | Classifier: License :: OSI Approved :: Apache Software License |
14 | 14 | Classifier: Operating System :: POSIX :: Linux |
15 | 15 | Classifier: Programming Language :: Python |
16 | Classifier: Programming Language :: Python :: 2 | |
17 | Classifier: Programming Language :: Python :: 2.7 | |
18 | 16 | Classifier: Programming Language :: Python :: 3 |
19 | 17 | Classifier: Programming Language :: Python :: 3.6 |
20 | 18 | Classifier: Programming Language :: Python :: 3.7 |
26 | 24 | Classifier: Topic :: System :: Networking |
27 | 25 | Classifier: Topic :: System :: Systems Administration |
28 | 26 | Classifier: Topic :: Utilities |
29 | Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.* | |
27 | Requires-Python: >=3.6 | |
30 | 28 | Provides-Extra: docs |
0 | 0 | dnspython |
1 | setuptools | |
1 | setuptools>=39.0.1 | |
2 | 2 | zope.interface |
3 | 3 | acme>=0.29.0 |
4 | 4 | certbot>=1.1.0 |
5 | 5 | |
6 | [:python_version < "3.3"] | |
7 | mock | |
8 | ||
9 | 6 | [docs] |
10 | 7 | Sphinx>=1.0 |
11 | 8 | sphinx_rtd_theme |
110 | 110 | # Add any paths that contain custom static files (such as style sheets) here, |
111 | 111 | # relative to this directory. They are copied after the builtin static files, |
112 | 112 | # so a file named "default.css" will overwrite the builtin "default.css". |
113 | html_static_path = ['_static'] | |
113 | #html_static_path = ['_static'] | |
114 | 114 | |
115 | 115 | |
116 | 116 | # -- Options for HTMLHelp output ------------------------------------------ |
0 | from distutils.version import LooseVersion | |
1 | 0 | import os |
2 | 1 | import sys |
3 | 2 | |
4 | from setuptools import __version__ as setuptools_version | |
5 | 3 | from setuptools import find_packages |
6 | 4 | from setuptools import setup |
7 | 5 | |
8 | version = '1.10.1' | |
6 | version = '1.15.0' | |
9 | 7 | |
10 | 8 | # Remember to update local-oldest-requirements.txt when changing the minimum |
11 | 9 | # acme/certbot version. |
12 | 10 | install_requires = [ |
13 | 11 | 'dnspython', |
14 | 'setuptools', | |
12 | 'setuptools>=39.0.1', | |
15 | 13 | 'zope.interface', |
16 | 14 | ] |
17 | 15 | |
26 | 24 | if os.environ.get('SNAP_BUILD'): |
27 | 25 | install_requires.append('packaging') |
28 | 26 | |
29 | setuptools_known_environment_markers = (LooseVersion(setuptools_version) >= LooseVersion('36.2')) | |
30 | if setuptools_known_environment_markers: | |
31 | install_requires.append('mock ; python_version < "3.3"') | |
32 | elif 'bdist_wheel' in sys.argv[1:]: | |
33 | raise RuntimeError('Error, you are trying to build certbot wheels using an old version ' | |
34 | 'of setuptools. Version 36.2+ of setuptools is required.') | |
35 | elif sys.version_info < (3,3): | |
36 | install_requires.append('mock') | |
37 | ||
38 | 27 | docs_extras = [ |
39 | 28 | 'Sphinx>=1.0', # autodoc_member_order = 'bysource', autodoc_default_flags |
40 | 29 | 'sphinx_rtd_theme', |
46 | 35 | description="RFC 2136 DNS Authenticator plugin for Certbot", |
47 | 36 | url='https://github.com/certbot/certbot', |
48 | 37 | author="Certbot Project", |
49 | author_email='client-dev@letsencrypt.org', | |
38 | author_email='certbot-dev@eff.org', | |
50 | 39 | license='Apache License 2.0', |
51 | python_requires='>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*', | |
40 | python_requires='>=3.6', | |
52 | 41 | classifiers=[ |
53 | 42 | 'Development Status :: 5 - Production/Stable', |
54 | 43 | 'Environment :: Plugins', |
56 | 45 | 'License :: OSI Approved :: Apache Software License', |
57 | 46 | 'Operating System :: POSIX :: Linux', |
58 | 47 | 'Programming Language :: Python', |
59 | 'Programming Language :: Python :: 2', | |
60 | 'Programming Language :: Python :: 2.7', | |
61 | 48 | 'Programming Language :: Python :: 3', |
62 | 49 | 'Programming Language :: Python :: 3.6', |
63 | 50 | 'Programming Language :: Python :: 3.7', |