1
0
mirror of https://github.com/certbot/certbot.git synced 2025-08-09 15:02:48 +03:00

Deprecate acme.typing_magic module, stop using it in certbot (#8643)

* Deprecate acme.magic_typing, stop to use it in certbot

* Isort

* Add a changelog entry

Co-authored-by: Brad Warren <bmw@users.noreply.github.com>
This commit is contained in:
Adrien Ferrand
2021-03-10 01:12:32 +01:00
committed by GitHub
parent 76895457c9
commit 67b65bb2c0
65 changed files with 165 additions and 145 deletions

View File

@@ -8,14 +8,15 @@ import socket
from cryptography.hazmat.primitives import hashes # type: ignore from cryptography.hazmat.primitives import hashes # type: ignore
import josepy as jose import josepy as jose
import requests
from OpenSSL import SSL # type: ignore # https://github.com/python/typeshed/issues/2052
from OpenSSL import crypto from OpenSSL import crypto
from OpenSSL import SSL # type: ignore # https://github.com/python/typeshed/issues/2052
import requests
from acme import crypto_util from acme import crypto_util
from acme import errors from acme import errors
from acme import fields from acme import fields
from acme.mixins import ResourceMixin, TypeMixin from acme.mixins import ResourceMixin
from acme.mixins import TypeMixin
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)

View File

@@ -8,6 +8,10 @@ import http.client as http_client
import logging import logging
import re import re
import time import time
from typing import Dict
from typing import List
from typing import Set
from typing import Text
import josepy as jose import josepy as jose
import OpenSSL import OpenSSL
@@ -20,10 +24,6 @@ from acme import crypto_util
from acme import errors from acme import errors
from acme import jws from acme import jws
from acme import messages from acme import messages
from acme.magic_typing import Dict
from acme.magic_typing import List
from acme.magic_typing import Set
from acme.magic_typing import Text
from acme.mixins import VersionedLEACMEMixin from acme.mixins import VersionedLEACMEMixin
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)

View File

@@ -5,15 +5,15 @@ import logging
import os import os
import re import re
import socket import socket
from typing import Callable
from typing import Tuple
from typing import Union
import josepy as jose import josepy as jose
from OpenSSL import crypto from OpenSSL import crypto
from OpenSSL import SSL # type: ignore # https://github.com/python/typeshed/issues/2052 from OpenSSL import SSL # type: ignore # https://github.com/python/typeshed/issues/2052
from acme import errors from acme import errors
from acme.magic_typing import Callable
from acme.magic_typing import Tuple
from acme.magic_typing import Union
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)

View File

@@ -4,9 +4,12 @@ This was useful when this code supported Python 2 and typing wasn't always
available. This code is being kept for now for backwards compatibility. available. This code is being kept for now for backwards compatibility.
""" """
import warnings
from typing import * # pylint: disable=wildcard-import, unused-wildcard-import from typing import * # pylint: disable=wildcard-import, unused-wildcard-import
from typing import Collection, IO # type: ignore from typing import Collection, IO # type: ignore
warnings.warn("acme.magic_typing is deprecated and will be removed in a future release.",
DeprecationWarning)
class TypingClass: class TypingClass:
"""Ignore import errors by getting anything""" """Ignore import errors by getting anything"""

View File

@@ -7,10 +7,10 @@ import logging
import socket import socket
import socketserver import socketserver
import threading import threading
from typing import List
from acme import challenges from acme import challenges
from acme import crypto_util from acme import crypto_util
from acme.magic_typing import List
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)

View File

@@ -1,6 +1,7 @@
"""Tests for acme.magic_typing.""" """Tests for acme.magic_typing."""
import sys import sys
import unittest import unittest
import warnings
from unittest import mock from unittest import mock
@@ -9,15 +10,17 @@ class MagicTypingTest(unittest.TestCase):
def test_import_success(self): def test_import_success(self):
try: try:
import typing as temp_typing import typing as temp_typing
except ImportError: # pragma: no cover except ImportError: # pragma: no cover
temp_typing = None # pragma: no cover temp_typing = None # pragma: no cover
typing_class_mock = mock.MagicMock() typing_class_mock = mock.MagicMock()
text_mock = mock.MagicMock() text_mock = mock.MagicMock()
typing_class_mock.Text = text_mock typing_class_mock.Text = text_mock
sys.modules['typing'] = typing_class_mock sys.modules['typing'] = typing_class_mock
if 'acme.magic_typing' in sys.modules: if 'acme.magic_typing' in sys.modules:
del sys.modules['acme.magic_typing'] # pragma: no cover del sys.modules['acme.magic_typing'] # pragma: no cover
from acme.magic_typing import Text with warnings.catch_warnings():
warnings.filterwarnings("ignore", category=DeprecationWarning)
from acme.magic_typing import Text
self.assertEqual(Text, text_mock) self.assertEqual(Text, text_mock)
del sys.modules['acme.magic_typing'] del sys.modules['acme.magic_typing']
sys.modules['typing'] = temp_typing sys.modules['typing'] = temp_typing

View File

@@ -9,7 +9,6 @@ import pkg_resources
from certbot import errors from certbot import errors
from certbot import util from certbot import util
from certbot.compat import os from certbot.compat import os
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)

View File

@@ -3,7 +3,6 @@ import fnmatch
from certbot_apache._internal import interfaces from certbot_apache._internal import interfaces
PASS = "CERTBOT_PASS_ASSERT" PASS = "CERTBOT_PASS_ASSERT"

View File

@@ -64,10 +64,10 @@ Translates over to:
"/files/etc/apache2/apache2.conf/bLoCk[1]", "/files/etc/apache2/apache2.conf/bLoCk[1]",
] ]
""" """
from acme.magic_typing import Set from typing import Set
from certbot import errors from certbot import errors
from certbot.compat import os from certbot.compat import os
from certbot_apache._internal import apache_util from certbot_apache._internal import apache_util
from certbot_apache._internal import assertions from certbot_apache._internal import assertions
from certbot_apache._internal import interfaces from certbot_apache._internal import interfaces

View File

@@ -1,13 +1,18 @@
"""Apache Configurator.""" """Apache Configurator."""
# pylint: disable=too-many-lines # pylint: disable=too-many-lines
from collections import defaultdict from collections import defaultdict
from distutils.version import LooseVersion
import copy import copy
from distutils.version import LooseVersion
import fnmatch import fnmatch
import logging import logging
import re import re
import socket import socket
import time import time
from typing import DefaultDict
from typing import Dict
from typing import List
from typing import Set
from typing import Union
import zope.component import zope.component
import zope.interface import zope.interface
@@ -18,11 +23,6 @@ except ImportError: # pragma: no cover
HAS_APACHECONFIG = False HAS_APACHECONFIG = False
from acme import challenges from acme import challenges
from acme.magic_typing import DefaultDict
from acme.magic_typing import Dict
from acme.magic_typing import List
from acme.magic_typing import Set
from acme.magic_typing import Union
from certbot import errors from certbot import errors
from certbot import interfaces from certbot import interfaces
from certbot import util from certbot import util
@@ -41,6 +41,7 @@ from certbot_apache._internal import http_01
from certbot_apache._internal import obj from certbot_apache._internal import obj
from certbot_apache._internal import parser from certbot_apache._internal import parser
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)

View File

@@ -1,7 +1,7 @@
""" Dual ParserNode implementation """ """ Dual ParserNode implementation """
from certbot_apache._internal import apacheparser
from certbot_apache._internal import assertions from certbot_apache._internal import assertions
from certbot_apache._internal import augeasparser from certbot_apache._internal import augeasparser
from certbot_apache._internal import apacheparser
class DualNodeBase: class DualNodeBase:

View File

@@ -1,9 +1,9 @@
"""A class that performs HTTP-01 challenges for Apache""" """A class that performs HTTP-01 challenges for Apache"""
import logging
import errno import errno
import logging
from typing import List
from typing import Set
from acme.magic_typing import List
from acme.magic_typing import Set
from certbot import errors from certbot import errors
from certbot.compat import filesystem from certbot.compat import filesystem
from certbot.compat import os from certbot.compat import os

View File

@@ -102,7 +102,6 @@ For this reason the internal representation of data should not ignore the case.
import abc import abc
class ParserNode(object, metaclass=abc.ABCMeta): class ParserNode(object, metaclass=abc.ABCMeta):
""" """
ParserNode is the basic building block of the tree of such nodes, ParserNode is the basic building block of the tree of such nodes,

View File

@@ -1,7 +1,7 @@
"""Module contains classes used by the Apache Configurator.""" """Module contains classes used by the Apache Configurator."""
import re import re
from typing import Set
from acme.magic_typing import Set
from certbot.plugins import common from certbot.plugins import common

View File

@@ -1,9 +1,9 @@
""" Distribution specific override class for CentOS family (RHEL, Fedora) """ """ Distribution specific override class for CentOS family (RHEL, Fedora) """
import logging import logging
from typing import List
import zope.interface import zope.interface
from acme.magic_typing import List
from certbot import errors from certbot import errors
from certbot import interfaces from certbot import interfaces
from certbot import util from certbot import util

View File

@@ -3,9 +3,10 @@ import copy
import fnmatch import fnmatch
import logging import logging
import re import re
from typing import Dict
from typing import List
from acme.magic_typing import Dict
from acme.magic_typing import List
from certbot import errors from certbot import errors
from certbot.compat import os from certbot.compat import os
from certbot_apache._internal import apache_util from certbot_apache._internal import apache_util

View File

@@ -1,8 +1,8 @@
"""Module executing integration tests against certbot with nginx plugin.""" """Module executing integration tests against certbot with nginx plugin."""
import os import os
import ssl import ssl
from typing import List from typing import List
import pytest import pytest
from certbot_integration_tests.nginx_tests import context as nginx_context from certbot_integration_tests.nginx_tests import context as nginx_context

View File

@@ -1,7 +1,7 @@
"""Module to handle the context of RFC2136 integration tests.""" """Module to handle the context of RFC2136 integration tests."""
import tempfile
from contextlib import contextmanager from contextlib import contextmanager
import tempfile
from pkg_resources import resource_filename from pkg_resources import resource_filename
from pytest import skip from pytest import skip

View File

@@ -11,14 +11,14 @@ import subprocess
import sys import sys
import tempfile import tempfile
import time import time
from typing import List from typing import List
import requests import requests
# pylint: disable=wildcard-import,unused-wildcard-import
from certbot_integration_tests.utils import misc from certbot_integration_tests.utils import misc
from certbot_integration_tests.utils import pebble_artifacts from certbot_integration_tests.utils import pebble_artifacts
from certbot_integration_tests.utils import proxy from certbot_integration_tests.utils import proxy
# pylint: disable=wildcard-import,unused-wildcard-import
from certbot_integration_tests.utils.constants import * from certbot_integration_tests.utils.constants import *

View File

@@ -26,8 +26,8 @@ from OpenSSL import crypto
import pkg_resources import pkg_resources
import requests import requests
from certbot_integration_tests.utils.constants import \ from certbot_integration_tests.utils.constants import PEBBLE_ALTERNATE_ROOTS
PEBBLE_ALTERNATE_ROOTS, PEBBLE_MANAGEMENT_URL from certbot_integration_tests.utils.constants import PEBBLE_MANAGEMENT_URL
RSA_KEY_TYPE = 'rsa' RSA_KEY_TYPE = 'rsa'
ECDSA_KEY_TYPE = 'ecdsa' ECDSA_KEY_TYPE = 'ecdsa'

View File

@@ -7,7 +7,8 @@ import stat
import pkg_resources import pkg_resources
import requests import requests
from certbot_integration_tests.utils.constants import DEFAULT_HTTP_01_PORT, MOCK_OCSP_SERVER_PORT from certbot_integration_tests.utils.constants import DEFAULT_HTTP_01_PORT
from certbot_integration_tests.utils.constants import MOCK_OCSP_SERVER_PORT
PEBBLE_VERSION = 'v2.3.0' PEBBLE_VERSION = 'v2.3.0'
ASSETS_PATH = pkg_resources.resource_filename('certbot_integration_tests', 'assets') ASSETS_PATH = pkg_resources.resource_filename('certbot_integration_tests', 'assets')

View File

@@ -1,9 +1,10 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
import pytest
import subprocess
import glob import glob
import os import os
import re import re
import subprocess
import pytest
@pytest.fixture(autouse=True, scope="module") @pytest.fixture(autouse=True, scope="module")

View File

@@ -1,8 +1,8 @@
import os import os
import re
import subprocess
import time import time
import unittest import unittest
import subprocess
import re
@unittest.skipIf(os.name != 'nt', reason='Windows installer tests must be run on Windows.') @unittest.skipIf(os.name != 'nt', reason='Windows installer tests must be run on Windows.')

View File

@@ -2,10 +2,10 @@
import os import os
import shutil import shutil
import subprocess import subprocess
from typing import Set
import zope.interface import zope.interface
from acme.magic_typing import Set
from certbot._internal import configuration from certbot._internal import configuration
from certbot_compatibility_test import errors from certbot_compatibility_test import errors
from certbot_compatibility_test import interfaces from certbot_compatibility_test import interfaces

View File

@@ -8,6 +8,8 @@ import shutil
import sys import sys
import tempfile import tempfile
import time import time
from typing import List
from typing import Tuple
import OpenSSL import OpenSSL
from urllib3.util import connection from urllib3.util import connection
@@ -15,8 +17,6 @@ from urllib3.util import connection
from acme import challenges from acme import challenges
from acme import crypto_util from acme import crypto_util
from acme import messages from acme import messages
from acme.magic_typing import List
from acme.magic_typing import Tuple
from certbot import achallenges from certbot import achallenges
from certbot import errors as le_errors from certbot import errors as le_errors
from certbot.tests import acme_util from certbot.tests import acme_util

View File

@@ -1,13 +1,12 @@
"""DNS Authenticator for Cloudflare.""" """DNS Authenticator for Cloudflare."""
import logging import logging
from typing import Any
from typing import Dict
from typing import List
import CloudFlare import CloudFlare
import zope.interface import zope.interface
from acme.magic_typing import Any
from acme.magic_typing import Dict
from acme.magic_typing import List
from certbot import errors from certbot import errors
from certbot import interfaces from certbot import interfaces
from certbot.plugins import dns_common from certbot.plugins import dns_common

View File

@@ -2,15 +2,15 @@
import collections import collections
import logging import logging
import time import time
from typing import DefaultDict
from typing import Dict
from typing import List
import boto3 import boto3
from botocore.exceptions import ClientError from botocore.exceptions import ClientError
from botocore.exceptions import NoCredentialsError from botocore.exceptions import NoCredentialsError
import zope.interface import zope.interface
from acme.magic_typing import DefaultDict
from acme.magic_typing import Dict
from acme.magic_typing import List
from certbot import errors from certbot import errors
from certbot import interfaces from certbot import interfaces
from certbot.plugins import dns_common from certbot.plugins import dns_common

View File

@@ -7,6 +7,12 @@ import socket
import subprocess import subprocess
import tempfile import tempfile
import time import time
from typing import Dict
from typing import List
from typing import Optional
from typing import Set
from typing import Text
from typing import Tuple
import OpenSSL import OpenSSL
import pkg_resources import pkg_resources
@@ -14,12 +20,6 @@ import zope.interface
from acme import challenges from acme import challenges
from acme import crypto_util as acme_crypto_util from acme import crypto_util as acme_crypto_util
from acme.magic_typing import Dict
from acme.magic_typing import List
from acme.magic_typing import Optional
from acme.magic_typing import Set
from acme.magic_typing import Text
from acme.magic_typing import Tuple
from certbot import crypto_util from certbot import crypto_util
from certbot import errors from certbot import errors
from certbot import interfaces from certbot import interfaces

View File

@@ -1,8 +1,7 @@
"""nginx plugin constants.""" """nginx plugin constants."""
import platform import platform
from typing import Any
from acme.magic_typing import Any from typing import Dict
from acme.magic_typing import Dict
FREEBSD_DARWIN_SERVER_ROOT = "/usr/local/etc/nginx" FREEBSD_DARWIN_SERVER_ROOT = "/usr/local/etc/nginx"
LINUX_SERVER_ROOT = "/etc/nginx" LINUX_SERVER_ROOT = "/etc/nginx"

View File

@@ -2,10 +2,10 @@
import io import io
import logging import logging
from typing import List
from typing import Optional
from acme import challenges from acme import challenges
from acme.magic_typing import List
from acme.magic_typing import Optional
from certbot import achallenges from certbot import achallenges
from certbot import errors from certbot import errors
from certbot.compat import os from certbot.compat import os

View File

@@ -2,6 +2,8 @@
# Forked from https://github.com/fatiherikli/nginxparser (MIT Licensed) # Forked from https://github.com/fatiherikli/nginxparser (MIT Licensed)
import copy import copy
import logging import logging
from typing import Any # pylint: disable=unused-import
from typing import IO # pylint: disable=unused-import
from pyparsing import Combine from pyparsing import Combine
from pyparsing import Forward from pyparsing import Forward
@@ -15,7 +17,6 @@ from pyparsing import restOfLine
from pyparsing import stringEnd from pyparsing import stringEnd
from pyparsing import White from pyparsing import White
from pyparsing import ZeroOrMore from pyparsing import ZeroOrMore
from acme.magic_typing import IO, Any # pylint: disable=unused-import
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)

View File

@@ -5,15 +5,15 @@ import glob
import io import io
import logging import logging
import re import re
from typing import Dict
from typing import List
from typing import Optional
from typing import Set
from typing import Tuple
from typing import Union
import pyparsing import pyparsing
from acme.magic_typing import Dict
from acme.magic_typing import List
from acme.magic_typing import Optional
from acme.magic_typing import Set
from acme.magic_typing import Tuple
from acme.magic_typing import Union
from certbot import errors from certbot import errors
from certbot.compat import os from certbot.compat import os
from certbot_nginx._internal import nginxparser from certbot_nginx._internal import nginxparser

View File

@@ -3,9 +3,9 @@ raw lists of tokens from pyparsing. """
import abc import abc
import logging import logging
from typing import List
from acme.magic_typing import List
from certbot import errors from certbot import errors
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)

View File

@@ -11,6 +11,8 @@ Certbot adheres to [Semantic Versioning](https://semver.org/).
### Changed ### Changed
* certbot-auto no longer checks for updates on any operating system. * certbot-auto no longer checks for updates on any operating system.
* The module `acme.magic_typing` is deprecated and will be removed in a future release.
Please use the built-in module `typing` instead.
* The DigitalOcean plugin now creates TXT records for the DNS-01 challenge with a lower 30s TTL. * The DigitalOcean plugin now creates TXT records for the DNS-01 challenge with a lower 30s TTL.
### Fixed ### Fixed

View File

@@ -18,8 +18,8 @@ from certbot import errors
from certbot import interfaces from certbot import interfaces
from certbot import util from certbot import util
from certbot._internal import constants from certbot._internal import constants
from certbot.compat import os
from certbot.compat import filesystem from certbot.compat import filesystem
from certbot.compat import os
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)

View File

@@ -2,15 +2,15 @@
import datetime import datetime
import logging import logging
import time import time
from typing import Dict
from typing import List
from typing import Tuple
import zope.component import zope.component
from acme import challenges from acme import challenges
from acme import errors as acme_errors from acme import errors as acme_errors
from acme import messages from acme import messages
from acme.magic_typing import Dict
from acme.magic_typing import List
from acme.magic_typing import Tuple
from certbot import achallenges from certbot import achallenges
from certbot import errors from certbot import errors
from certbot import interfaces from certbot import interfaces

View File

@@ -3,11 +3,11 @@ import datetime
import logging import logging
import re import re
import traceback import traceback
from typing import List
import pytz import pytz
import zope.component import zope.component
from acme.magic_typing import List
from certbot import crypto_util from certbot import crypto_util
from certbot import errors from certbot import errors
from certbot import interfaces from certbot import interfaces

View File

@@ -4,11 +4,11 @@ import logging
import logging.handlers import logging.handlers
import argparse import argparse
import sys import sys
from typing import Optional
import certbot._internal.plugins.selection as plugin_selection import certbot._internal.plugins.selection as plugin_selection
from certbot._internal.plugins import disco as plugins_disco from certbot._internal.plugins import disco as plugins_disco
from acme.magic_typing import Optional
# pylint: disable=ungrouped-imports # pylint: disable=ungrouped-imports
import certbot import certbot
from certbot._internal import constants from certbot._internal import constants

View File

@@ -5,11 +5,11 @@ import copy
import zope.interface.interface # pylint: disable=unused-import import zope.interface.interface # pylint: disable=unused-import
from acme import challenges from acme import challenges
from certbot import errors
from certbot import interfaces from certbot import interfaces
from certbot import util from certbot import util
from certbot import errors
from certbot.compat import os
from certbot._internal import constants from certbot._internal import constants
from certbot.compat import os
class _Default: class _Default:

View File

@@ -5,6 +5,8 @@ import copy
import functools import functools
import glob import glob
import sys import sys
from typing import Any
from typing import Dict
import configargparse import configargparse
import zope.component import zope.component
@@ -12,8 +14,6 @@ import zope.interface
from zope.interface import interfaces as zope_interfaces from zope.interface import interfaces as zope_interfaces
from acme.magic_typing import Any, Dict
from certbot import crypto_util from certbot import crypto_util
from certbot import errors from certbot import errors
from certbot import interfaces from certbot import interfaces

View File

@@ -2,6 +2,8 @@
import datetime import datetime
import logging import logging
import platform import platform
from typing import List
from typing import Optional
from cryptography.hazmat.backends import default_backend from cryptography.hazmat.backends import default_backend
# See https://github.com/pyca/cryptography/issues/4275 # See https://github.com/pyca/cryptography/issues/4275
@@ -14,8 +16,6 @@ from acme import client as acme_client
from acme import crypto_util as acme_crypto_util from acme import crypto_util as acme_crypto_util
from acme import errors as acme_errors from acme import errors as acme_errors
from acme import messages from acme import messages
from acme.magic_typing import List
from acme.magic_typing import Optional
import certbot import certbot
from certbot import crypto_util from certbot import crypto_util
from certbot import errors from certbot import errors

View File

@@ -1,16 +1,15 @@
"""Subscribes users to the EFF newsletter.""" """Subscribes users to the EFF newsletter."""
import logging import logging
from typing import Optional # pylint: disable=unused-import
import requests import requests
import zope.component import zope.component
from acme.magic_typing import Optional # pylint: disable=unused-import
from certbot import interfaces from certbot import interfaces
from certbot.display import util as display_util
from certbot._internal import constants from certbot._internal import constants
from certbot._internal.account import Account # pylint: disable=unused-import from certbot._internal.account import Account # pylint: disable=unused-import
from certbot._internal.account import AccountFileStorage from certbot._internal.account import AccountFileStorage
from certbot.display import util as display_util
from certbot.interfaces import IConfig # pylint: disable=unused-import from certbot.interfaces import IConfig # pylint: disable=unused-import
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)

View File

@@ -3,12 +3,12 @@ import functools
import logging import logging
import signal import signal
import traceback import traceback
from typing import Any
from typing import Callable
from typing import Dict
from typing import List
from typing import Union
from acme.magic_typing import Any
from acme.magic_typing import Callable
from acme.magic_typing import Dict
from acme.magic_typing import List
from acme.magic_typing import Union
from certbot import errors from certbot import errors
from certbot.compat import os from certbot.compat import os

View File

@@ -1,9 +1,9 @@
"""Facilities for implementing hooks that call shell commands.""" """Facilities for implementing hooks that call shell commands."""
import logging import logging
from typing import List
from typing import Set
from acme.magic_typing import List
from acme.magic_typing import Set
from certbot import errors from certbot import errors
from certbot import util from certbot import util
from certbot.compat import filesystem from certbot.compat import filesystem

View File

@@ -1,8 +1,8 @@
"""Implements file locks compatible with Linux and Windows for locking files and directories.""" """Implements file locks compatible with Linux and Windows for locking files and directories."""
import errno import errno
import logging import logging
from typing import Optional
from acme.magic_typing import Optional
from certbot import errors from certbot import errors
from certbot.compat import filesystem from certbot.compat import filesystem
from certbot.compat import os from certbot.compat import os

View File

@@ -4,13 +4,17 @@
import functools import functools
import logging.handlers import logging.handlers
import sys import sys
from typing import Iterable # pylint: disable=unused-import
from typing import List
from typing import Optional
from typing import Tuple
from typing import Union
import configobj import configobj
import josepy as jose import josepy as jose
import zope.component import zope.component
from acme import errors as acme_errors from acme import errors as acme_errors
from acme.magic_typing import Union, Iterable, Optional, List, Tuple # pylint: disable=unused-import
import certbot import certbot
from certbot import crypto_util from certbot import crypto_util
from certbot import errors from certbot import errors

View File

@@ -2,13 +2,13 @@
import itertools import itertools
import logging import logging
import sys import sys
from typing import Dict
from collections.abc import Mapping from collections.abc import Mapping
import pkg_resources import pkg_resources
import zope.interface import zope.interface
import zope.interface.verify import zope.interface.verify
from acme.magic_typing import Dict
from certbot import errors from certbot import errors
from certbot import interfaces from certbot import interfaces
from certbot._internal import constants from certbot._internal import constants

View File

@@ -1,9 +1,10 @@
"""Manual authenticator plugin""" """Manual authenticator plugin"""
from typing import Dict
import zope.component import zope.component
import zope.interface import zope.interface
from acme import challenges from acme import challenges
from acme.magic_typing import Dict
from certbot import achallenges # pylint: disable=unused-import from certbot import achallenges # pylint: disable=unused-import
from certbot import errors from certbot import errors
from certbot import interfaces from certbot import interfaces

View File

@@ -4,17 +4,17 @@ import logging
import socket import socket
# https://github.com/python/typeshed/blob/master/stdlib/2and3/socket.pyi # https://github.com/python/typeshed/blob/master/stdlib/2and3/socket.pyi
from socket import errno as socket_errors # type: ignore from socket import errno as socket_errors # type: ignore
from typing import DefaultDict
from typing import Dict
from typing import Set
from typing import Tuple
from typing import TYPE_CHECKING
import OpenSSL # pylint: disable=unused-import import OpenSSL # pylint: disable=unused-import
import zope.interface import zope.interface
from acme import challenges from acme import challenges
from acme import standalone as acme_standalone from acme import standalone as acme_standalone
from acme.magic_typing import DefaultDict
from acme.magic_typing import Dict
from acme.magic_typing import Set
from acme.magic_typing import Tuple
from acme.magic_typing import TYPE_CHECKING
from certbot import achallenges from certbot import achallenges
from certbot import errors from certbot import errors
from certbot import interfaces from certbot import interfaces

View File

@@ -3,15 +3,15 @@ import argparse
import collections import collections
import json import json
import logging import logging
from typing import DefaultDict
from typing import Dict
from typing import List
from typing import Set
import zope.component import zope.component
import zope.interface import zope.interface
from acme import challenges from acme import challenges
from acme.magic_typing import DefaultDict
from acme.magic_typing import Dict
from acme.magic_typing import List
from acme.magic_typing import Set
from certbot import achallenges # pylint: disable=unused-import from certbot import achallenges # pylint: disable=unused-import
from certbot import errors from certbot import errors
from certbot import interfaces from certbot import interfaces

View File

@@ -7,17 +7,17 @@ import random
import sys import sys
import time import time
import traceback import traceback
from typing import List
from typing import Optional # pylint: disable=unused-import
from cryptography.hazmat.backends import default_backend from cryptography.hazmat.backends import default_backend
from cryptography.hazmat.primitives.asymmetric import ec, rsa from cryptography.hazmat.primitives.asymmetric import ec
from cryptography.hazmat.primitives.asymmetric import rsa
from cryptography.hazmat.primitives.serialization import load_pem_private_key from cryptography.hazmat.primitives.serialization import load_pem_private_key
import OpenSSL import OpenSSL
import zope.component import zope.component
from acme.magic_typing import List
from acme.magic_typing import Optional # pylint: disable=unused-import
from certbot import crypto_util from certbot import crypto_util
from certbot.display import util as display_util
from certbot import errors from certbot import errors
from certbot import interfaces from certbot import interfaces
from certbot import util from certbot import util
@@ -29,6 +29,7 @@ from certbot._internal import storage
from certbot._internal import updater from certbot._internal import updater
from certbot._internal.plugins import disco as plugins_disco from certbot._internal.plugins import disco as plugins_disco
from certbot.compat import os from certbot.compat import os
from certbot.display import util as display_util
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)

View File

@@ -1,13 +1,13 @@
"""Module configuring Certbot in a snap environment""" """Module configuring Certbot in a snap environment"""
import logging import logging
import socket import socket
from typing import List
from requests import Session from requests import Session
from requests.adapters import HTTPAdapter from requests.adapters import HTTPAdapter
from requests.exceptions import HTTPError from requests.exceptions import HTTPError
from requests.exceptions import RequestException from requests.exceptions import RequestException
from acme.magic_typing import List
from certbot.compat import os from certbot.compat import os
from certbot.errors import Error from certbot.errors import Error

View File

@@ -5,8 +5,7 @@ import errno
import os # pylint: disable=os-module-forbidden import os # pylint: disable=os-module-forbidden
import stat import stat
import sys import sys
from typing import List
from acme.magic_typing import List
try: try:
import ntsecuritycon import ntsecuritycon

View File

@@ -8,12 +8,12 @@ import logging
import select import select
import subprocess import subprocess
import sys import sys
from typing import Optional
from typing import Tuple
from certbot import errors from certbot import errors
from certbot.compat import os from certbot.compat import os
from acme.magic_typing import Tuple, Optional
try: try:
from win32com.shell import shell as shellwin32 from win32com.shell import shell as shellwin32
POSIX_MODE = False POSIX_MODE = False

View File

@@ -6,26 +6,29 @@
""" """
import hashlib import hashlib
import logging import logging
import re
from typing import IO # pylint: disable=unused-import
import warnings import warnings
import re
# See https://github.com/pyca/cryptography/issues/4275 # See https://github.com/pyca/cryptography/issues/4275
from cryptography import x509 # type: ignore from cryptography import x509 # type: ignore
from cryptography.exceptions import InvalidSignature, UnsupportedAlgorithm from cryptography.exceptions import InvalidSignature
from cryptography.exceptions import UnsupportedAlgorithm
from cryptography.hazmat.backends import default_backend from cryptography.hazmat.backends import default_backend
from cryptography.hazmat.primitives.asymmetric import ec from cryptography.hazmat.primitives.asymmetric import ec
from cryptography.hazmat.primitives.asymmetric.ec import ECDSA, EllipticCurvePublicKey from cryptography.hazmat.primitives.asymmetric.ec import ECDSA
from cryptography.hazmat.primitives.asymmetric.ec import EllipticCurvePublicKey
from cryptography.hazmat.primitives.asymmetric.padding import PKCS1v15 from cryptography.hazmat.primitives.asymmetric.padding import PKCS1v15
from cryptography.hazmat.primitives.asymmetric.rsa import RSAPublicKey from cryptography.hazmat.primitives.asymmetric.rsa import RSAPublicKey
from cryptography.hazmat.primitives.serialization import Encoding, NoEncryption, PrivateFormat from cryptography.hazmat.primitives.serialization import Encoding
from cryptography.hazmat.primitives.serialization import NoEncryption
from cryptography.hazmat.primitives.serialization import PrivateFormat
from OpenSSL import crypto from OpenSSL import crypto
from OpenSSL import SSL # type: ignore from OpenSSL import SSL # type: ignore
import pyrfc3339 import pyrfc3339
import zope.component import zope.component
from acme import crypto_util as acme_crypto_util from acme import crypto_util as acme_crypto_util
from acme.magic_typing import IO # pylint: disable=unused-import
from certbot import errors from certbot import errors
from certbot import interfaces from certbot import interfaces
from certbot import util from certbot import util

View File

@@ -12,11 +12,11 @@ Other messages can use the `logging` module. See `log.py`.
import logging import logging
import sys import sys
import textwrap import textwrap
from typing import List
import zope.interface import zope.interface
import zope.component import zope.component
from acme.magic_typing import List
from certbot import errors from certbot import errors
from certbot import interfaces from certbot import interfaces
from certbot._internal import constants from certbot._internal import constants

View File

@@ -5,6 +5,8 @@ import logging
import re import re
from subprocess import PIPE from subprocess import PIPE
from subprocess import Popen from subprocess import Popen
from typing import Optional
from typing import Tuple
from cryptography import x509 from cryptography import x509
from cryptography.exceptions import InvalidSignature from cryptography.exceptions import InvalidSignature
@@ -16,8 +18,6 @@ from cryptography.hazmat.primitives import serialization
import pytz import pytz
import requests import requests
from acme.magic_typing import Optional
from acme.magic_typing import Tuple
from certbot import crypto_util from certbot import crypto_util
from certbot import errors from certbot import errors
from certbot import util from certbot import util

View File

@@ -3,12 +3,12 @@ import logging
import re import re
import shutil import shutil
import tempfile import tempfile
from typing import List
from josepy import util as jose_util from josepy import util as jose_util
import pkg_resources import pkg_resources
import zope.interface import zope.interface
from acme.magic_typing import List
from certbot import achallenges # pylint: disable=unused-import from certbot import achallenges # pylint: disable=unused-import
from certbot import crypto_util from certbot import crypto_util
from certbot import errors from certbot import errors

View File

@@ -1,12 +1,12 @@
"""Common code for DNS Authenticator Plugins built on Lexicon.""" """Common code for DNS Authenticator Plugins built on Lexicon."""
import logging import logging
from typing import Any
from typing import Dict
from typing import Union
from requests.exceptions import HTTPError from requests.exceptions import HTTPError
from requests.exceptions import RequestException from requests.exceptions import RequestException
from acme.magic_typing import Any
from acme.magic_typing import Dict
from acme.magic_typing import Union
from certbot import errors from certbot import errors
from certbot.plugins import dns_common from certbot.plugins import dns_common

View File

@@ -1,9 +1,9 @@
"""New interface style Certbot enhancements""" """New interface style Certbot enhancements"""
import abc import abc
from typing import Any
from typing import Dict
from typing import List
from acme.magic_typing import Any
from acme.magic_typing import Dict
from acme.magic_typing import List
from certbot._internal import constants from certbot._internal import constants
ENHANCEMENTS = ["redirect", "ensure-http-header", "ocsp-stapling"] ENHANCEMENTS = ["redirect", "ensure-http-header", "ocsp-stapling"]

View File

@@ -1,9 +1,9 @@
"""Plugin storage class.""" """Plugin storage class."""
import json import json
import logging import logging
from typing import Any
from typing import Dict
from acme.magic_typing import Any
from acme.magic_typing import Dict
from certbot import errors from certbot import errors
from certbot.compat import filesystem from certbot.compat import filesystem
from certbot.compat import os from certbot.compat import os

View File

@@ -12,13 +12,13 @@ import re
import socket import socket
import subprocess import subprocess
import sys import sys
from typing import Dict
from typing import Text
from typing import Tuple
from typing import Union
import configargparse import configargparse
from acme.magic_typing import Dict
from acme.magic_typing import Text
from acme.magic_typing import Tuple
from acme.magic_typing import Union
from certbot import errors from certbot import errors
from certbot._internal import constants from certbot._internal import constants
from certbot._internal import lock from certbot._internal import lock

View File

@@ -45,7 +45,6 @@ import yaml
from fabric import Config from fabric import Config
from fabric import Connection from fabric import Connection
# Command line parser # Command line parser
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
parser = argparse.ArgumentParser(description='Builds EC2 cluster for testing.') parser = argparse.ArgumentParser(description='Builds EC2 cluster for testing.')

View File

@@ -4,7 +4,6 @@ import os
import pip_install import pip_install
_REQUIREMENTS_PATH = os.path.join(os.path.dirname(__file__), "pipstrap_constraints.txt") _REQUIREMENTS_PATH = os.path.join(os.path.dirname(__file__), "pipstrap_constraints.txt")

View File

@@ -2,12 +2,18 @@
import argparse import argparse
import datetime import datetime
import glob import glob
from multiprocessing import Manager
from multiprocessing import Pool
from multiprocessing import Process
from os.path import basename
from os.path import dirname
from os.path import exists
from os.path import join
from os.path import realpath
import re import re
import subprocess import subprocess
import sys import sys
import time import time
from multiprocessing import Pool, Process, Manager
from os.path import join, realpath, dirname, basename, exists
CERTBOT_DIR = dirname(dirname(dirname(realpath(__file__)))) CERTBOT_DIR = dirname(dirname(dirname(realpath(__file__))))
PLUGINS = [basename(path) for path in glob.glob(join(CERTBOT_DIR, 'certbot-dns-*'))] PLUGINS = [basename(path) for path in glob.glob(join(CERTBOT_DIR, 'certbot-dns-*'))]