forked from pool/python-eventlet
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:
@@ -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 = ''
|
||||
|
39
PR-459.patch
39
PR-459.patch
@@ -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:
|
@@ -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
3
eventlet-0.24.1.tar.gz
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:d9d31a3c8dbcedbcce5859a919956d934685b17323fc80e1077cb344a2ffa68d
|
||||
size 391579
|
@@ -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
|
||||
|
||||
|
@@ -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
|
||||
|
Reference in New Issue
Block a user