14
0

Accepting request 655972 from devel:languages:python

- update to 0.24.1:
  * greendns: don't contact nameservers if one entry is returned from hosts file; Thanks to Daniel Alvarez
  * greendns: Fix infinite loop when UDP source address mismatch; Thanks to Lon Hohberger
  * greendns: Fix bad ipv6 comparison; Thanks to Lon Hohberger
  * wsgi: Use byte strings on py2 and unicode strings on py3; Thanks to Tim Burke
  * pools: put to empty pool would block sometimes; Thanks to Sam Merritt
  * greendns: resolving over TCP produced ValueError; Thanks to Jaume Marhuenda
  * support.greendns: ImportError when dns.rdtypes was imported before eventlet; Thanks to Jaume Marhuenda
  * greendns: full comment lines were not skipped; Thanks to nat-goodspeed
  * Drop support for Python3.3; Python2.6 and python-epoll package
  * external dependencies for six, monotonic, dnspython; Thanks to nat-goodspeed
  * wsgi: Don't strip all Unicode whitespace from headers on py3; Thanks to Tim Burke
  * green.threading: current_thread() did not see new monkey-patched threads; Thanks to Jake Tesler
  * tpool: exception in tpool-ed call leaked memory via backtrace
  * wsgi: latin-1 encoding dance for environ[PATH_INFO]
  * Fixed issue installing excess enum34 on Python3.4+ (rebuild with updated setuptools)
  * event: Event.wait() timeout=None argument to be compatible with upstream CPython
  * greendns: Treat /etc/hosts entries case-insensitive; Thanks to Ralf Haferkamp
  * convenience: (SO_REUSEPORT) socket.error is not OSError on Python 2; Thanks to JacoFourie@github
  * convenience: SO_REUSEPORT is not available on WSL platform (Linux on Windows)
  * convenience: skip SO_REUSEPORT for bind on random port (0)
  * dns: reading /etc/hosts raised DeprecationWarning for universal lines on Python 3.4+; Thanks to Chris Kerr
  * green.openssl: Drop OpenSSL.rand support; Thanks to Haikel Guemar
  * green.subprocess: keep CalledProcessError identity; Thanks to Linbing@github
  * greendns: be explicit about expecting bytes from sock.recv; Thanks to Matt Bennett
  * greendns: early socket.timeout was breaking IO retry loops
  * GreenSocket.accept does not notify_open; Thanks to orishoshan
  * patcher: set locked RLocks' owner only when patching existing locks; Thanks to Quan Tian
  * patcher: workaround for monotonic "no suitable implementation"; Thanks to Geoffrey Thomas
  * queue: empty except was catching too much

OBS-URL: https://build.opensuse.org/request/show/655972
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-eventlet?expand=0&rev=29
This commit is contained in:
2018-12-13 18:48:11 +00:00
committed by Git OBS Bridge
6 changed files with 91 additions and 77 deletions

View File

@@ -1,18 +0,0 @@
diff --git a/eventlet/wsgi.py b/eventlet/wsgi.py
index ef458aa..3c848b7 100644
--- a/eventlet/wsgi.py
+++ b/eventlet/wsgi.py
@@ -346,7 +346,12 @@ class HttpProtocol(BaseHTTPServer.BaseHTTPRequestHandler):
except greenio.SSL.ZeroReturnError:
self.raw_requestline = ''
except socket.error as e:
- if support.get_errno(e) not in BAD_SOCK:
+ last_errno = support.get_errno(e)
+ if last_errno in BROKEN_SOCK:
+ self.server.log.debug('(%s) connection reset by peer %r',
+ self.server.pid,
+ self.client_address)
+ elif last_errno not in BAD_SOCK:
raise
self.raw_requestline = ''

View File

@@ -1,39 +0,0 @@
From 6ad13590aff7d6544443e6646555d949bd316796 Mon Sep 17 00:00:00 2001
From: Ralf Haferkamp <rhafer@suse.de>
Date: Fri, 12 Jan 2018 13:48:09 +0100
Subject: [PATCH] greendns: Treat /etc/hosts entries case-insensitive
Hostname in /etc/hosts are not case-sensitive, this fixes
HostsResolver() accordingly.
eventlet#458
Co-Authored-By: Thomas Bechtold <tbechtold@suse.com>
---
eventlet/support/greendns.py | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/eventlet/support/greendns.py b/eventlet/support/greendns.py
index cff0581c..140388ec 100644
--- a/eventlet/support/greendns.py
+++ b/eventlet/support/greendns.py
@@ -222,9 +222,10 @@ def _load(self):
ipmap = self._v6
else:
continue
- cname = parts.pop(0)
+ cname = parts.pop(0).lower()
ipmap[cname] = ip
for alias in parts:
+ alias = alias.lower()
ipmap[alias] = ip
self._aliases[alias] = cname
self._last_load = time.time()
@@ -251,6 +252,7 @@ def query(self, qname, rdtype=dns.rdatatype.A, rdclass=dns.rdataclass.IN,
qname = dns.name.from_text(qname)
else:
name = str(qname)
+ name = name.lower()
rrset = dns.rrset.RRset(qname, rdclass, rdtype)
rrset.ttl = self._last_load + self.interval - now
if rdclass == dns.rdataclass.IN and rdtype == dns.rdatatype.A:

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2e17cda85f2003796f13de0e6c59a5253c0afd1f45dfc97bb9b6bfb8962f7895
size 466828

3
eventlet-0.24.1.tar.gz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d9d31a3c8dbcedbcce5859a919956d934685b17323fc80e1077cb344a2ffa68d
size 391579

View File

@@ -1,3 +1,79 @@
-------------------------------------------------------------------
Thu Dec 6 15:31:02 UTC 2018 - Thomas Bechtold <tbechtold@suse.com>
- update to 0.24.1:
* greendns: don't contact nameservers if one entry is returned from hosts file; Thanks to Daniel Alvarez
* greendns: Fix infinite loop when UDP source address mismatch; Thanks to Lon Hohberger
* greendns: Fix bad ipv6 comparison; Thanks to Lon Hohberger
* wsgi: Use byte strings on py2 and unicode strings on py3; Thanks to Tim Burke
* pools: put to empty pool would block sometimes; Thanks to Sam Merritt
* greendns: resolving over TCP produced ValueError; Thanks to Jaume Marhuenda
* support.greendns: ImportError when dns.rdtypes was imported before eventlet; Thanks to Jaume Marhuenda
* greendns: full comment lines were not skipped; Thanks to nat-goodspeed
* Drop support for Python3.3; Python2.6 and python-epoll package
* external dependencies for six, monotonic, dnspython; Thanks to nat-goodspeed
* wsgi: Don't strip all Unicode whitespace from headers on py3; Thanks to Tim Burke
* green.threading: current_thread() did not see new monkey-patched threads; Thanks to Jake Tesler
* tpool: exception in tpool-ed call leaked memory via backtrace
* wsgi: latin-1 encoding dance for environ[PATH_INFO]
* Fixed issue installing excess enum34 on Python3.4+ (rebuild with updated setuptools)
* event: Event.wait() timeout=None argument to be compatible with upstream CPython
* greendns: Treat /etc/hosts entries case-insensitive; Thanks to Ralf Haferkamp
* convenience: (SO_REUSEPORT) socket.error is not OSError on Python 2; Thanks to JacoFourie@github
* convenience: SO_REUSEPORT is not available on WSL platform (Linux on Windows)
* convenience: skip SO_REUSEPORT for bind on random port (0)
* dns: reading /etc/hosts raised DeprecationWarning for universal lines on Python 3.4+; Thanks to Chris Kerr
* green.openssl: Drop OpenSSL.rand support; Thanks to Haikel Guemar
* green.subprocess: keep CalledProcessError identity; Thanks to Linbing@github
* greendns: be explicit about expecting bytes from sock.recv; Thanks to Matt Bennett
* greendns: early socket.timeout was breaking IO retry loops
* GreenSocket.accept does not notify_open; Thanks to orishoshan
* patcher: set locked RLocks' owner only when patching existing locks; Thanks to Quan Tian
* patcher: workaround for monotonic "no suitable implementation"; Thanks to Geoffrey Thomas
* queue: empty except was catching too much
* socket: context manager support; Thanks to Miguel Grinberg
* support: update monotonic 1.3 (5c0322dc559bf)
* support: upgrade bundled dnspython to 1.16.0 (22e9de1d7957e) https://github.com/eventlet/eventlet/issues/427
* websocket: fd leak when client did not close connection properly; Thanks to Konstantin Enchant
* websocket: support permessage-deflate extension; Thanks to Costas Christofi and Peter Kovary
* wsgi: close idle connections (also applies to websockets)
* wsgi: deprecated options are one step closer to removal
* wsgi: handle remote connection resets; Thanks to Stefan Nica
* New timeout error API: .is_timeout=True on exception object
It's now easy to test if network error is transient and retry is appropriate.
Please spread the word and invite other libraries to support this interface.
* hubs: use monotonic clock by default (bundled package); Thanks to Roman Podoliaka and Victor Stinner
* dns: EVENTLET_NO_GREENDNS option is back, green is still default
* dns: hosts file was consulted after nameservers
* ssl: RecursionError on Python3.6+; Thanks to justdoit0823@github and Gevent developers
* wsgi: log_output=False was not disabling startup and accepted messages
* greenio: Fixed OSError: [WinError 10038] Socket operation on nonsocket
* dns: EAI_NODATA was removed from RFC3493 and FreeBSD
* green.select: fix mark_as_closed() wrong number of args
* green.zmq: socket.{recv,send}_* signatures did not match recent upstream pyzmq
* New feature: Add zipkin tracing to eventlet
* db_pool: proxy Connection.set_isolation_level()
* green.zmq: support RCVTIMEO (receive timeout)
* green.profile: Python3 compatibility; Thanks to Artur Stawiarski
* support: upgrade bundled six to 1.10 (dbfbfc818e3d)
* python3.6: http.client.request support chunked_encoding
* dns: try unqualified queries as top level
* test_import_patched_defaults bended to play with pyopenssl>=16.1.0
* Explicit environ flag for importing eventlet.__version__ without ignoring import errors
* Type check Semaphore, GreenPool arguments; Thanks to Matthew D. Pagel
- Drop 0001-Fix-SSL-connection-reset-errors.patch . Merged upstream
- Drop PR-459.patch . Merged upstream
-------------------------------------------------------------------
Thu Dec 6 13:26:44 UTC 2018 - Tomáš Chvátal <tchvatal@suse.com>
- Fix fdupes call
-------------------------------------------------------------------
Tue Dec 4 12:47:46 UTC 2018 - Matej Cepl <mcepl@suse.com>
- Remove superfluous devel dependency for noarch package
-------------------------------------------------------------------
Fri Jan 12 12:57:09 UTC 2018 - tbechtold@suse.com

View File

@@ -12,36 +12,34 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-eventlet
Version: 0.20.0
Version: 0.24.1
Release: 0
Summary: Concurrent networking library for Python
License: MIT
Group: Development/Languages/Python
Url: http://eventlet.net
URL: http://eventlet.net
Source: https://files.pythonhosted.org/packages/source/e/eventlet/eventlet-%{version}.tar.gz
Patch0: 0001-Fix-SSL-connection-reset-errors.patch
# PATCH-FIX-UPSTREAM PR-459.patch -- https://github.com/eventlet/eventlet/pull/459
Patch1: PR-459.patch
BuildRequires: %{python_module Sphinx}
BuildRequires: %{python_module devel}
BuildRequires: %{python_module greenlet}
BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
%if %python_version_nodots < 34
Requires: python-enum34
%endif
# eventlet parses /etc/protocols which is not available in normal build envs
Requires: netcfg
Requires: python-dnspython >= 1.15.0
Requires: python-greenlet >= 0.3
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Requires: python-monotonic >= 1.4
Requires: python-six >= 1.10.0
BuildArch: noarch
%if %{python_version_nodots} < 34
Requires: python-enum34
%endif
%python_subpackages
%description
@@ -65,8 +63,6 @@ for Python that allows changing how code is run.
%prep
%setup -q -n eventlet-%{version}
%patch0 -p1
%patch1 -p1
sed -i '/enum.compat/d' setup.py # crude way to drop the strange "enum-compat" requirement
sed -i "s|^#!.*||" eventlet/support/greendns.py # Fix non-executable script
@@ -76,15 +72,14 @@ sed -i "s|^#!.*||" eventlet/support/greendns.py # Fix non-executable script
%install
%python_install
%fdupes %{buildroot}%{_prefix}
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%files %{python_files}
%defattr(-,root,root,-)
%doc AUTHORS LICENSE NEWS README.rst
%license LICENSE
%doc AUTHORS NEWS README.rst
%{python_sitelib}/*
%files %{python_files doc}
%defattr(-,root,root,-)
%doc build/sphinx/html examples
%changelog