Hello community, here is the log from the commit of package python-acme for openSUSE:Factory checked in at 2017-03-09 02:03:56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-acme (Old) and /work/SRC/openSUSE:Factory/.python-acme.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "python-acme" Thu Mar 9 02:03:56 2017 rev:3 rq:477337 version:0.12.0 Changes: -------- --- /work/SRC/openSUSE:Factory/python-acme/python-acme.changes 2017-02-16 16:50:51.660471678 +0100 +++ /work/SRC/openSUSE:Factory/.python-acme.new/python-acme.changes 2017-03-09 02:03:57.366448330 +0100 @@ -1,0 +2,11 @@ +Mon Mar 6 12:33:03 UTC 2017 - ecsos@opensuse.org + +- change require version to python-requests >= 2.10 + +------------------------------------------------------------------- +Fri Mar 3 19:33:20 UTC 2017 - ecsos@opensuse.org + +- update to 0.12.0 + - No changelog provides by upstream + +------------------------------------------------------------------- Old: ---- acme-0.11.1.tar.gz acme-0.11.1.tar.gz.asc New: ---- acme-0.12.0.tar.gz acme-0.12.0.tar.gz.asc ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-acme.spec ++++++ --- /var/tmp/diff_new_pack.IQczUd/_old 2017-03-09 02:03:58.146337824 +0100 +++ /var/tmp/diff_new_pack.IQczUd/_new 2017-03-09 02:03:58.150337258 +0100 @@ -18,7 +18,7 @@ %define libname acme Name: python-%{libname} -Version: 0.11.1 +Version: 0.12.0 Release: 0 Summary: Python library for the ACME protocol License: Apache-2.0 @@ -37,7 +37,7 @@ BuildRequires: python-pyOpenSSL >= 0.13 BuildRequires: python-pyRFC3339 BuildRequires: python-pytz -BuildRequires: python-requests +BuildRequires: python-requests >= 2.10 BuildRequires: python-setuptools >= 11.3 BuildRequires: python-six >= 1.5.2 BuildRequires: python-sphinx @@ -53,7 +53,7 @@ Requires: python-pyRFC3339 Requires: python-pyasn1 Requires: python-pytz -Requires: python-requests +Requires: python-requests >= 2.10 Requires: python-six >= 1.5.2 Requires: python-werkzeug BuildArch: noarch ++++++ acme-0.11.1.tar.gz -> acme-0.12.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/acme-0.11.1/PKG-INFO new/acme-0.12.0/PKG-INFO --- old/acme-0.11.1/PKG-INFO 2017-02-02 04:31:56.000000000 +0100 +++ new/acme-0.12.0/PKG-INFO 2017-03-02 23:01:44.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: acme -Version: 0.11.1 +Version: 0.12.0 Summary: ACME protocol implementation in Python Home-page: https://github.com/letsencrypt/letsencrypt Author: Certbot Project diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/acme-0.11.1/acme/challenges.py new/acme-0.12.0/acme/challenges.py --- old/acme-0.11.1/acme/challenges.py 2017-02-02 04:31:46.000000000 +0100 +++ new/acme-0.12.0/acme/challenges.py 2017-03-02 23:01:28.000000000 +0100 @@ -425,7 +425,7 @@ # TODO: domain is not necessary if host is provided if "host" not in kwargs: host = socket.gethostbyname(domain) - logging.debug('%s resolved to %s', domain, host) + logger.debug('%s resolved to %s', domain, host) kwargs["host"] = host kwargs.setdefault("port", self.PORT) @@ -445,7 +445,7 @@ """ # pylint: disable=protected-access sans = crypto_util._pyopenssl_cert_or_req_san(cert) - logging.debug('Certificate %s. SANs: %s', cert.digest('sha1'), sans) + logger.debug('Certificate %s. SANs: %s', cert.digest('sha1'), sans) return self.z_domain.decode() in sans def simple_verify(self, chall, domain, account_public_key, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/acme-0.11.1/acme/client.py new/acme-0.12.0/acme/client.py --- old/acme-0.11.1/acme/client.py 2017-02-02 04:31:46.000000000 +0100 +++ new/acme-0.12.0/acme/client.py 2017-03-02 23:01:28.000000000 +0100 @@ -620,13 +620,14 @@ """ if method == "POST": - logging.debug('Sending POST request to %s:\n%s', + logger.debug('Sending POST request to %s:\n%s', url, kwargs['data']) else: - logging.debug('Sending %s request to %s.', method, url) + logger.debug('Sending %s request to %s.', method, url) kwargs['verify'] = self.verify_ssl kwargs.setdefault('headers', {}) kwargs['headers'].setdefault('User-Agent', self.user_agent) + kwargs.setdefault('timeout', 45) # timeout after 45 seconds response = self.session.request(method, url, *args, **kwargs) # If content is DER, log the base64 of it instead of raw bytes, to keep # binary data out of the logs. @@ -670,7 +671,7 @@ def _get_nonce(self, url): if not self._nonces: - logging.debug('Requesting fresh nonce') + logger.debug('Requesting fresh nonce') self._add_nonce(self.head(url)) return self._nonces.pop() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/acme-0.11.1/acme/client_test.py new/acme-0.12.0/acme/client_test.py --- old/acme-0.11.1/acme/client_test.py 2017-02-02 04:31:46.000000000 +0100 +++ new/acme-0.12.0/acme/client_test.py 2017-03-02 23:01:28.000000000 +0100 @@ -558,7 +558,7 @@ 'HEAD', 'http://example.com/', 'foo', bar='baz')) self.net.session.request.assert_called_once_with( 'HEAD', 'http://example.com/', 'foo', - headers=mock.ANY, verify=mock.ANY, bar='baz') + headers=mock.ANY, verify=mock.ANY, timeout=mock.ANY, bar='baz') @mock.patch('acme.client.logger') def test_send_request_get_der(self, mock_logger): @@ -568,8 +568,9 @@ headers={"Content-Type": "application/pkix-cert"}, content=b"hi") # pylint: disable=protected-access - self.net._send_request('HEAD', 'http://example.com/', 'foo', bar='baz') - mock_logger.debug.assert_called_once_with( + self.net._send_request('HEAD', 'http://example.com/', 'foo', + timeout=mock.ANY, bar='baz') + mock_logger.debug.assert_called_with( 'Received response:\nHTTP %d\n%s\n\n%s', 200, 'Content-Type: application/pkix-cert', b'aGk=') @@ -581,7 +582,7 @@ 'POST', 'http://example.com/', 'foo', data='qux', bar='baz')) self.net.session.request.assert_called_once_with( 'POST', 'http://example.com/', 'foo', - headers=mock.ANY, verify=mock.ANY, data='qux', bar='baz') + headers=mock.ANY, verify=mock.ANY, timeout=mock.ANY, data='qux', bar='baz') def test_send_request_verify_ssl(self): # pylint: disable=protected-access @@ -594,7 +595,8 @@ self.response, self.net._send_request('GET', 'http://example.com/')) self.net.session.request.assert_called_once_with( - 'GET', 'http://example.com/', verify=verify, headers=mock.ANY) + 'GET', 'http://example.com/', verify=verify, + timeout=mock.ANY, headers=mock.ANY) def test_send_request_user_agent(self): self.net.session = mock.MagicMock() @@ -603,13 +605,23 @@ headers={'bar': 'baz'}) self.net.session.request.assert_called_once_with( 'GET', 'http://example.com/', verify=mock.ANY, + timeout=mock.ANY, headers={'User-Agent': 'acme-python-test', 'bar': 'baz'}) self.net._send_request('GET', 'http://example.com/', headers={'User-Agent': 'foo2'}) self.net.session.request.assert_called_with( 'GET', 'http://example.com/', - verify=mock.ANY, headers={'User-Agent': 'foo2'}) + verify=mock.ANY, timeout=mock.ANY, headers={'User-Agent': 'foo2'}) + + def test_send_request_timeout(self): + self.net.session = mock.MagicMock() + # pylint: disable=protected-access + self.net._send_request('GET', 'http://example.com/', + headers={'bar': 'baz'}) + self.net.session.request.assert_called_once_with( + mock.ANY, mock.ANY, verify=mock.ANY, headers=mock.ANY, + timeout=45) def test_del(self): sess = mock.MagicMock() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/acme-0.11.1/acme.egg-info/PKG-INFO new/acme-0.12.0/acme.egg-info/PKG-INFO --- old/acme-0.11.1/acme.egg-info/PKG-INFO 2017-02-02 04:31:56.000000000 +0100 +++ new/acme-0.12.0/acme.egg-info/PKG-INFO 2017-03-02 23:01:44.000000000 +0100 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: acme -Version: 0.11.1 +Version: 0.12.0 Summary: ACME protocol implementation in Python Home-page: https://github.com/letsencrypt/letsencrypt Author: Certbot Project diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/acme-0.11.1/acme.egg-info/requires.txt new/acme-0.12.0/acme.egg-info/requires.txt --- old/acme-0.11.1/acme.egg-info/requires.txt 2017-02-02 04:31:56.000000000 +0100 +++ new/acme-0.12.0/acme.egg-info/requires.txt 2017-03-02 23:01:44.000000000 +0100 @@ -2,7 +2,7 @@ PyOpenSSL>=0.13 pyrfc3339 pytz -requests[security]>=2.4.1 +requests[security]>=2.10 setuptools>=1.0 six mock diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/acme-0.11.1/setup.py new/acme-0.12.0/setup.py --- old/acme-0.11.1/setup.py 2017-02-02 04:31:46.000000000 +0100 +++ new/acme-0.12.0/setup.py 2017-03-02 23:01:28.000000000 +0100 @@ -4,7 +4,7 @@ from setuptools import find_packages -version = '0.11.1' +version = '0.12.0' # Please update tox.ini when modifying dependency version requirements install_requires = [ @@ -15,7 +15,11 @@ 'PyOpenSSL>=0.13', 'pyrfc3339', 'pytz', - 'requests[security]>=2.4.1', # security extras added in 2.4.1 + # requests>=2.10 is required to fix + # https://github.com/shazow/urllib3/issues/556. This requirement can be + # relaxed to 'requests[security]>=2.4.1', however, less useful errors + # will be raised for some network/SSL errors. + 'requests[security]>=2.10', # For pkg_resources. >=1.0 so pip resolves it to a version cryptography # will tolerate; see #2599: 'setuptools>=1.0',