Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-certbot-nginx for openSUSE:Factory checked in at 2021-04-15 16:57:49 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-certbot-nginx (Old) and /work/SRC/openSUSE:Factory/.python-certbot-nginx.new.12324 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-certbot-nginx" Thu Apr 15 16:57:49 2021 rev:26 rq:885419 version:1.14.0 Changes: -------- --- /work/SRC/openSUSE:Factory/python-certbot-nginx/python-certbot-nginx.changes 2021-03-08 15:21:15.578114537 +0100 +++ /work/SRC/openSUSE:Factory/.python-certbot-nginx.new.12324/python-certbot-nginx.changes 2021-04-15 16:58:32.130780459 +0200 @@ -1,0 +2,6 @@ +Wed Apr 14 15:18:22 UTC 2021 - Mark??ta Machov?? <mmach...@suse.com> + +- update to version 1.14.0 + * sync with the main certbot package + +------------------------------------------------------------------- Old: ---- certbot-nginx-1.13.0.tar.gz New: ---- certbot-nginx-1.14.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-certbot-nginx.spec ++++++ --- /var/tmp/diff_new_pack.dnwS1B/_old 2021-04-15 16:58:32.594781193 +0200 +++ /var/tmp/diff_new_pack.dnwS1B/_new 2021-04-15 16:58:32.598781199 +0200 @@ -19,7 +19,7 @@ %{?!python_module:%define python_module() python-%{**} python3-%{**}} %define skip_python2 1 Name: python-certbot-nginx -Version: 1.13.0 +Version: 1.14.0 Release: 0 Summary: Nginx plugin for Certbot License: Apache-2.0 ++++++ certbot-nginx-1.13.0.tar.gz -> certbot-nginx-1.14.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-nginx-1.13.0/PKG-INFO new/certbot-nginx-1.14.0/PKG-INFO --- old/certbot-nginx-1.13.0/PKG-INFO 2021-03-02 22:37:32.920871300 +0100 +++ new/certbot-nginx-1.14.0/PKG-INFO 2021-04-06 19:17:14.374538700 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 1.2 Name: certbot-nginx -Version: 1.13.0 +Version: 1.14.0 Summary: Nginx plugin for Certbot Home-page: https://github.com/letsencrypt/letsencrypt Author: Certbot Project diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-nginx-1.13.0/certbot_nginx/_internal/configurator.py new/certbot-nginx-1.14.0/certbot_nginx/_internal/configurator.py --- old/certbot-nginx-1.13.0/certbot_nginx/_internal/configurator.py 2021-03-02 22:37:04.000000000 +0100 +++ new/certbot-nginx-1.14.0/certbot_nginx/_internal/configurator.py 2021-04-06 19:17:00.000000000 +0200 @@ -7,6 +7,12 @@ import subprocess import tempfile 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 pkg_resources @@ -14,12 +20,6 @@ from acme import challenges 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 errors from certbot import interfaces @@ -112,14 +112,13 @@ # List of vhosts configured per wildcard domain on this run. # used by deploy_cert() and enhance() - self._wildcard_vhosts = {} # type: Dict[str, List[obj.VirtualHost]] - self._wildcard_redirect_vhosts = {} # type: Dict[str, List[obj.VirtualHost]] + self._wildcard_vhosts: Dict[str, List[obj.VirtualHost]] = {} + self._wildcard_redirect_vhosts: Dict[str, List[obj.VirtualHost]] = {} # Add number of outstanding challenges self._chall_out = 0 # These will be set in the prepare function - self.parser: Optional[parser.NginxParser] = None self.version = version self.openssl_version = openssl_version self._enhance_func = {"redirect": self._enable_redirect, @@ -127,6 +126,7 @@ "staple-ocsp": self._enable_ocsp_stapling} self.reverter.recovery_routine() + self.parser: parser.NginxParser @property def mod_ssl_conf_src(self): @@ -641,7 +641,7 @@ :rtype: set """ - all_names = set() # type: Set[str] + all_names: Set[str] = set() for vhost in self.parser.get_vhosts(): try: @@ -1222,7 +1222,7 @@ """ try: - reload_output = u"" # type: Text + reload_output: Text = u"" with tempfile.TemporaryFile() as out: proc = subprocess.Popen([nginx_ctl, "-c", nginx_conf, "-s", "reload"], env=util.env_no_snap_for_external_calls(), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-nginx-1.13.0/certbot_nginx/_internal/constants.py new/certbot-nginx-1.14.0/certbot_nginx/_internal/constants.py --- old/certbot-nginx-1.13.0/certbot_nginx/_internal/constants.py 2021-03-02 22:37:04.000000000 +0100 +++ new/certbot-nginx-1.14.0/certbot_nginx/_internal/constants.py 2021-04-06 19:17:00.000000000 +0200 @@ -1,8 +1,7 @@ """nginx plugin constants.""" import platform - -from acme.magic_typing import Any -from acme.magic_typing import Dict +from typing import Any +from typing import Dict FREEBSD_DARWIN_SERVER_ROOT = "/usr/local/etc/nginx" LINUX_SERVER_ROOT = "/etc/nginx" @@ -15,11 +14,11 @@ else: server_root_tmp = LINUX_SERVER_ROOT -CLI_DEFAULTS = dict( +CLI_DEFAULTS: Dict[str, Any] = dict( server_root=server_root_tmp, ctl="nginx", sleep_seconds=1 -) # type: Dict[str, Any] +) """CLI defaults.""" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-nginx-1.13.0/certbot_nginx/_internal/http_01.py new/certbot-nginx-1.14.0/certbot_nginx/_internal/http_01.py --- old/certbot-nginx-1.13.0/certbot_nginx/_internal/http_01.py 2021-03-02 22:37:04.000000000 +0100 +++ new/certbot-nginx-1.14.0/certbot_nginx/_internal/http_01.py 2021-04-06 19:17:00.000000000 +0200 @@ -2,10 +2,10 @@ import io import logging +from typing import List +from typing import Optional from acme import challenges -from acme.magic_typing import List -from acme.magic_typing import Optional from certbot import achallenges from certbot import errors from certbot.compat import os @@ -113,7 +113,7 @@ :returns: list of :class:`certbot_nginx._internal.obj.Addr` to apply :rtype: list """ - addresses = [] # type: List[obj.Addr] + addresses: List[obj.Addr] = [] default_addr = "%s" % self.configurator.config.http01_port ipv6_addr = "[::]:{0}".format( self.configurator.config.http01_port) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-nginx-1.13.0/certbot_nginx/_internal/nginxparser.py new/certbot-nginx-1.14.0/certbot_nginx/_internal/nginxparser.py --- old/certbot-nginx-1.13.0/certbot_nginx/_internal/nginxparser.py 2021-03-02 22:37:04.000000000 +0100 +++ new/certbot-nginx-1.14.0/certbot_nginx/_internal/nginxparser.py 2021-04-06 19:17:00.000000000 +0200 @@ -2,6 +2,8 @@ # Forked from https://github.com/fatiherikli/nginxparser (MIT Licensed) import copy import logging +from typing import Any +from typing import IO from pyparsing import Combine from pyparsing import Forward @@ -15,10 +17,10 @@ from pyparsing import stringEnd from pyparsing import White from pyparsing import ZeroOrMore -from acme.magic_typing import IO, Any # pylint: disable=unused-import logger = logging.getLogger(__name__) + class RawNginxParser: # pylint: disable=pointless-statement """A class that parses nginx configuration with pyparsing.""" @@ -104,57 +106,9 @@ return ''.join(self) -# Shortcut functions to respect Python's serialization interface -# (like pyyaml, picker or json) - -def loads(source): - """Parses from a string. - - :param str source: The string to parse - :returns: The parsed tree - :rtype: list - - """ - return UnspacedList(RawNginxParser(source).as_list()) - - -def load(_file): - """Parses from a file. - - :param file _file: The file to parse - :returns: The parsed tree - :rtype: list - - """ - return loads(_file.read()) - - -def dumps(blocks): - # type: (UnspacedList) -> str - """Dump to a Unicode string. - - :param UnspacedList block: The parsed tree - :rtype: str - - """ - return str(RawNginxDumper(blocks.spaced)) - - -def dump(blocks, _file): - # type: (UnspacedList, IO[Any]) -> None - """Dump to a file. - - :param UnspacedList block: The parsed tree - :param IO[Any] _file: The file stream to dump to. It must be opened with - Unicode encoding. - :rtype: None - - """ - _file.write(dumps(blocks)) - - spacey = lambda x: (isinstance(x, str) and x.isspace()) or x == '' + class UnspacedList(list): """Wrap a list [of lists], making any whitespace entries magically invisible""" @@ -273,3 +227,50 @@ idx -= 1 pos += 1 return idx0 + spaces + + +# Shortcut functions to respect Python's serialization interface +# (like pyyaml, picker or json) + +def loads(source): + """Parses from a string. + + :param str source: The string to parse + :returns: The parsed tree + :rtype: list + + """ + return UnspacedList(RawNginxParser(source).as_list()) + + +def load(_file): + """Parses from a file. + + :param file _file: The file to parse + :returns: The parsed tree + :rtype: list + + """ + return loads(_file.read()) + + +def dumps(blocks: UnspacedList) -> str: + """Dump to a Unicode string. + + :param UnspacedList block: The parsed tree + :rtype: six.text_type + + """ + return str(RawNginxDumper(blocks.spaced)) + + +def dump(blocks: UnspacedList, _file: IO[Any]) -> None: + """Dump to a file. + + :param UnspacedList block: The parsed tree + :param IO[Any] _file: The file stream to dump to. It must be opened with + Unicode encoding. + :rtype: None + + """ + _file.write(dumps(blocks)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-nginx-1.13.0/certbot_nginx/_internal/obj.py new/certbot-nginx-1.14.0/certbot_nginx/_internal/obj.py --- old/certbot-nginx-1.13.0/certbot_nginx/_internal/obj.py 2021-03-02 22:37:04.000000000 +0100 +++ new/certbot-nginx-1.14.0/certbot_nginx/_internal/obj.py 2021-04-06 19:17:00.000000000 +0200 @@ -1,7 +1,6 @@ """Module contains classes used by the Nginx Configurator.""" import re - from certbot.plugins import common ADD_HEADER_DIRECTIVE = 'add_header' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-nginx-1.13.0/certbot_nginx/_internal/parser.py new/certbot-nginx-1.14.0/certbot_nginx/_internal/parser.py --- old/certbot-nginx-1.13.0/certbot_nginx/_internal/parser.py 2021-03-02 22:37:04.000000000 +0100 +++ new/certbot-nginx-1.14.0/certbot_nginx/_internal/parser.py 2021-04-06 19:17:00.000000000 +0200 @@ -5,19 +5,20 @@ import io import logging 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 -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.compat import os from certbot_nginx._internal import nginxparser from certbot_nginx._internal import obj +from certbot_nginx._internal.nginxparser import UnspacedList logger = logging.getLogger(__name__) @@ -32,7 +33,7 @@ """ def __init__(self, root): - self.parsed = {} # type: Dict[str, Union[List, nginxparser.UnspacedList]] + self.parsed: Dict[str, Union[List, nginxparser.UnspacedList]] = {} self.root = os.path.abspath(root) self.config_root = self._find_config_root() @@ -94,7 +95,7 @@ """ servers = self._get_raw_servers() - addr_to_ssl = {} # type: Dict[Tuple[str, str], bool] + addr_to_ssl: Dict[Tuple[str, str], bool] = {} for filename in servers: for server, _ in servers[filename]: # Parse the server block to save addr info @@ -106,12 +107,11 @@ addr_to_ssl[addr_tuple] = addr.ssl or addr_to_ssl[addr_tuple] return addr_to_ssl - def _get_raw_servers(self): + def _get_raw_servers(self) -> Dict: # pylint: disable=cell-var-from-loop - # type: () -> Dict """Get a map of unparsed all server blocks """ - servers = {} # type: Dict[str, Union[List, nginxparser.UnspacedList]] + servers: Dict[str, Union[List, nginxparser.UnspacedList]] = {} for filename in self.parsed: tree = self.parsed[filename] servers[filename] = [] @@ -244,6 +244,8 @@ tree = self.parsed[filename] if ext: filename = filename + os.path.extsep + ext + if not isinstance(tree, UnspacedList): + raise ValueError(f"Error tree {tree} is not an UnspacedList") try: if lazy and not tree.is_dirty(): continue @@ -741,9 +743,9 @@ :rtype: dict """ - addrs = set() # type: Set[obj.Addr] - ssl = False # type: bool - names = set() # type: Set[str] + addrs: Set[obj.Addr] = set() + ssl: bool = False + names: Set[str] = set() apply_ssl_to_all_addrs = False diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-nginx-1.13.0/certbot_nginx/_internal/parser_obj.py new/certbot-nginx-1.14.0/certbot_nginx/_internal/parser_obj.py --- old/certbot-nginx-1.13.0/certbot_nginx/_internal/parser_obj.py 2021-03-02 22:37:04.000000000 +0100 +++ new/certbot-nginx-1.14.0/certbot_nginx/_internal/parser_obj.py 2021-04-06 19:17:00.000000000 +0200 @@ -1,11 +1,12 @@ +# type: ignore +# This module is not used for now, so we just skip type check for the sake of simplicity. """ This file contains parsing routines and object classes to help derive meaning from raw lists of tokens from pyparsing. """ import abc import logging +from typing import List - -from acme.magic_typing import List from certbot import errors logger = logging.getLogger(__name__) @@ -23,7 +24,7 @@ __metaclass__ = abc.ABCMeta def __init__(self, parent=None): - self._data = [] # type: List[object] + self._data: List[object] = [] self._tabs = None self.parent = parent @@ -182,7 +183,7 @@ def _space_list(list_): """ Inserts whitespace between adjacent non-whitespace tokens. """ - spaced_statement = [] # type: List[str] + spaced_statement: List[str] = [] for i in reversed(range(len(list_))): spaced_statement.insert(0, list_[i]) if i > 0 and not list_[i].isspace() and not list_[i-1].isspace(): @@ -205,7 +206,7 @@ :returns: whether this lists is parseable by `Sentence`. """ return isinstance(lists, list) and len(lists) > 0 and \ - all(isinstance(elem, str) for elem in lists) + all(isinstance(elem, str) for elem in lists) def parse(self, raw_list, add_spaces=False): """ Parses a list of string types into this object. @@ -213,7 +214,7 @@ if add_spaces: raw_list = _space_list(raw_list) if not isinstance(raw_list, list) or \ - any(not isinstance(elem, str) for elem in raw_list): + any(not isinstance(elem, str) for elem in raw_list): raise errors.MisconfigurationError("Sentence parsing expects a list of string types.") self._data = raw_list @@ -271,8 +272,8 @@ """ def __init__(self, parent=None): super(Block, self).__init__(parent) - self.names = None # type: Sentence - self.contents = None # type: Block + self.names: Sentence = None + self.contents: Block = None @staticmethod def should_parse(lists): @@ -284,7 +285,7 @@ :returns: whether this lists is parseable by `Block`. """ return isinstance(lists, list) and len(lists) == 2 and \ - Sentence.should_parse(lists[0]) and isinstance(lists[1], list) + Sentence.should_parse(lists[0]) and isinstance(lists[1], list) def set_tabs(self, tabs=" "): """ Sets tabs by setting equivalent tabbing on names, then adding tabbing diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-nginx-1.13.0/certbot_nginx.egg-info/PKG-INFO new/certbot-nginx-1.14.0/certbot_nginx.egg-info/PKG-INFO --- old/certbot-nginx-1.13.0/certbot_nginx.egg-info/PKG-INFO 2021-03-02 22:37:32.000000000 +0100 +++ new/certbot-nginx-1.14.0/certbot_nginx.egg-info/PKG-INFO 2021-04-06 19:17:14.000000000 +0200 @@ -1,6 +1,6 @@ Metadata-Version: 1.2 Name: certbot-nginx -Version: 1.13.0 +Version: 1.14.0 Summary: Nginx plugin for Certbot Home-page: https://github.com/letsencrypt/letsencrypt Author: Certbot Project diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-nginx-1.13.0/setup.py new/certbot-nginx-1.14.0/setup.py --- old/certbot-nginx-1.13.0/setup.py 2021-03-02 22:37:05.000000000 +0100 +++ new/certbot-nginx-1.14.0/setup.py 2021-04-06 19:17:02.000000000 +0200 @@ -1,7 +1,7 @@ from setuptools import find_packages from setuptools import setup -version = '1.13.0' +version = '1.14.0' # Remember to update local-oldest-requirements.txt when changing the minimum # acme/certbot version. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/certbot-nginx-1.13.0/tests/parser_test.py new/certbot-nginx-1.14.0/tests/parser_test.py --- old/certbot-nginx-1.13.0/tests/parser_test.py 2021-03-02 22:37:04.000000000 +0100 +++ new/certbot-nginx-1.14.0/tests/parser_test.py 2021-04-06 19:17:00.000000000 +0200 @@ -3,6 +3,7 @@ import re import shutil import unittest +from typing import List from certbot import errors from certbot.compat import os @@ -112,7 +113,7 @@ ([[[0], [3], [4]], [[5], [3], [0]]], [])] for mylist, result in mylists: - paths = [] # type: List[List[int]] + paths: List[List[int]] = [] parser._do_for_subarray(mylist, lambda x: isinstance(x, list) and len(x) >= 1 and