Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-pycurl for openSUSE:Factory 
checked in at 2021-02-04 20:21:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pycurl (Old)
 and      /work/SRC/openSUSE:Factory/.python-pycurl.new.28504 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-pycurl"

Thu Feb  4 20:21:49 2021 rev:36 rq:867959 version:7.43.0.6

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pycurl/python-pycurl.changes      
2020-12-16 11:00:19.403560221 +0100
+++ /work/SRC/openSUSE:Factory/.python-pycurl.new.28504/python-pycurl.changes   
2021-02-04 20:21:51.490623827 +0100
@@ -1,0 +2,20 @@
+Thu Jan 28 23:06:36 UTC 2021 - Dirk M??ller <dmuel...@suse.com>
+
+- update to 7.43.0.6:
+  * Fixed offset parameter usage in seek callback
+  * Added support for libcurl SSL backend detection via
+    `curl-config --ssl-backends`
+  * Added support for libcurl MultiSSL
+  * Added ability to unset CURLOPT_PROXY.
+  * Added support for CURLOPT_UPLOAD_BUFFERSIZE
+  * Added support for CURLOPT_MAXAGE_CONN
+  * Added support for sharing connection cache in libcurl
+  * Added support for CURLOPT_HAPROXYPROTOCOL
+  * CC and CFLAGS environment variables are now respected when building
+  * Fixed OpenSSL detection on CentOS 7 and 8
+  * surrogateescape error handler is used in multi_info_read to handle
+    invalid UTF-8.
+- drop python-pycurl-7.43.0-tls-backend.patch (upstream)
+- refresh remove_nose.patch to remove even more nose code
+
+-------------------------------------------------------------------

Old:
----
  pycurl-7.43.0.5.tar.gz
  python-pycurl-7.43.0-tls-backend.patch

New:
----
  pycurl-7.43.0.6.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-pycurl.spec ++++++
--- /var/tmp/diff_new_pack.QAhXgS/_old  2021-02-04 20:21:52.106624765 +0100
+++ /var/tmp/diff_new_pack.QAhXgS/_new  2021-02-04 20:21:52.110624770 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package python-pycurl
 #
-# Copyright (c) 2020 SUSE LLC
+# Copyright (c) 2021 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -27,7 +27,7 @@
 %bcond_with test
 %endif
 Name:           python-pycurl%{psuffix}
-Version:        7.43.0.5
+Version:        7.43.0.6
 Release:        0
 Summary:        PycURL -- cURL library module
 License:        LGPL-2.1-or-later AND MIT
@@ -37,8 +37,6 @@
 Patch0:         increase_test_timeout.diff
 # PATCH-FIX-UPSTREAM handle difference between libssh and libssh2
 Patch1:         pycurl-libssh.patch
-# PATCH-FIX-OPENSUSE python-pycurl-7.43.0-tls-backend.patch -- do not run 
runtime tests to compare linked libs
-Patch2:         python-pycurl-7.43.0-tls-backend.patch
 Patch3:         disable_randomly_failing_tests.patch
 # PATCH-FEATURE-UPSTREAM remove_nose.patch gh#pycurl/pycurl#655 mc...@suse.com
 # remove dependency on nose

++++++ pycurl-7.43.0.5.tar.gz -> pycurl-7.43.0.6.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pycurl-7.43.0.5/ChangeLog 
new/pycurl-7.43.0.6/ChangeLog
--- old/pycurl-7.43.0.5/ChangeLog       2020-01-30 05:04:36.000000000 +0100
+++ new/pycurl-7.43.0.6/ChangeLog       2020-09-02 07:16:18.000000000 +0200
@@ -1,3 +1,33 @@
+Version 7.43.0.6 [requires libcurl-7.19.0 or better] - 2020-09-02
+-----------------------------------------------------------------
+
+        * Fixed offset parameter usage in seek callback (patch by Scott 
Talbert).
+
+        * Added support for libcurl SSL backend detection via
+          `curl-config --ssl-backends` (patch by Scott Talbert).
+
+        * Added support for libcurl MultiSSL (patch by Bo Anderson).
+
+        * Added ability to unset CURLOPT_PROXY.
+
+        * Added support for CURLOPT_UPLOAD_BUFFERSIZE (patch by Artur 
Sobierak).
+
+        * Added support for CURLOPT_MAXAGE_CONN (patch by Artur Sobierak).
+
+        * Added support for sharing connection cache in libcurl (patch by
+          Artur Sobierak).
+
+        * Added support for CURLOPT_HAPROXYPROTOCOL (patch by
+          Russell McConnachie).
+
+        * CC and CFLAGS environment variables are now respected when building
+          (patch by Micha?? G??rny).
+
+        * Fixed OpenSSL detection on CentOS 7 and 8 (patch by Nicolas Pauss).
+
+        * surrogateescape error handler is used in multi_info_read to handle
+          invalid UTF-8.
+
 Version 7.43.0.5 [requires libcurl-7.19.0 or better] - 2020-01-29
 -----------------------------------------------------------------
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pycurl-7.43.0.5/MANIFEST.in 
new/pycurl-7.43.0.6/MANIFEST.in
--- old/pycurl-7.43.0.5/MANIFEST.in     2018-06-13 20:07:03.000000000 +0200
+++ new/pycurl-7.43.0.6/MANIFEST.in     2020-09-02 06:53:50.000000000 +0200
@@ -51,3 +51,4 @@
 include tests/vsftpd.conf
 include winbuild.py
 include winbuild/*
+exclude tests/fake-curl/libcurl/*.so
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pycurl-7.43.0.5/PKG-INFO new/pycurl-7.43.0.6/PKG-INFO
--- old/pycurl-7.43.0.5/PKG-INFO        2020-01-30 06:05:46.000000000 +0100
+++ new/pycurl-7.43.0.6/PKG-INFO        2020-09-02 07:16:25.060707300 +0200
@@ -1,10 +1,12 @@
-Metadata-Version: 1.1
+Metadata-Version: 1.2
 Name: pycurl
-Version: 7.43.0.5
+Version: 7.43.0.6
 Summary: PycURL -- A Python Interface To The cURL library
 Home-page: http://pycurl.io/
-Author: Oleg Pudeyev
-Author-email: o...@bsdpower.com
+Author: Kjetil Jacobsen, Markus F.X.J. Oberhumer, Oleg Pudeyev
+Author-email: kjeti...@gmail.com, mar...@oberhumer.com, o...@bsdpower.com
+Maintainer: Oleg Pudeyev
+Maintainer-email: o...@bsdpower.com
 License: LGPL/MIT
 Description: PycURL -- A Python Interface To The cURL library
         ================================================
@@ -34,7 +36,7 @@
         Requirements
         ------------
         
-        - Python 2.7 or 3.4 through 3.6.
+        - Python 3.5-3.8.
         - libcurl 7.19.0 or better.
         
         
@@ -104,3 +106,4 @@
 Classifier: Programming Language :: Python :: 3.8
 Classifier: Topic :: Internet :: File Transfer Protocol (FTP)
 Classifier: Topic :: Internet :: WWW/HTTP
+Requires-Python: >=3.5
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pycurl-7.43.0.5/RELEASE-NOTES.rst 
new/pycurl-7.43.0.6/RELEASE-NOTES.rst
--- old/pycurl-7.43.0.5/RELEASE-NOTES.rst       2020-01-30 05:06:50.000000000 
+0100
+++ new/pycurl-7.43.0.6/RELEASE-NOTES.rst       2020-09-02 07:16:18.000000000 
+0200
@@ -1,6 +1,13 @@
 Release Notes
 =============
 
+PycURL 7.43.0.6 - 2020-09-02
+----------------------------
+
+This release improves SSL backend detection on various systems, adds support
+for libcurl's multiple SSL backend functionality and adds support for several
+libcurl options.
+
 PycURL 7.43.0.5 - 2020-01-29
 ----------------------------
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pycurl-7.43.0.5/doc/conf.py 
new/pycurl-7.43.0.6/doc/conf.py
--- old/pycurl-7.43.0.5/doc/conf.py     2020-01-30 05:04:57.000000000 +0100
+++ new/pycurl-7.43.0.6/doc/conf.py     2020-09-02 07:16:18.000000000 +0200
@@ -54,9 +54,9 @@
 # built documents.
 #
 # The short X.Y version.
-version = '7.43.0.5'
+version = '7.43.0.6'
 # The full version, including alpha/beta/rc tags.
-release = '7.43.0.5'
+release = '7.43.0.6'
 
 # The language for content autogenerated by Sphinx. Refer to documentation
 # for a list of supported languages.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pycurl-7.43.0.5/doc/docstrings/multi_info_read.rst 
new/pycurl-7.43.0.6/doc/docstrings/multi_info_read.rst
--- old/pycurl-7.43.0.5/doc/docstrings/multi_info_read.rst      2018-06-07 
04:04:05.000000000 +0200
+++ new/pycurl-7.43.0.6/doc/docstrings/multi_info_read.rst      2020-09-02 
06:53:50.000000000 +0200
@@ -1,13 +1,17 @@
 info_read([max_objects]) -> tuple(number of queued messages, a list of 
successful objects, a list of failed objects)
 
-Returns a tuple (number of queued handles, [curl objects]).
+Corresponds to the `curl_multi_info_read`_ function in libcurl.
 
-Corresponds to the `curl_multi_info_read`_ function in libcurl. This
-method extracts at most *max* messages from the multi stack and returns them
-in two lists. The first list contains the handles which completed
+This method extracts at most *max* messages from the multi stack and returns
+them in two lists. The first list contains the handles which completed
 successfully and the second list contains a tuple *(curl object, curl error
-number, curl error message)* for each failed curl object. The number of
+number, curl error message)* for each failed curl object. The curl error
+message is returned as a Python string which is decoded from the curl error
+string using the `surrogateescape`_ error handler. The number of
 queued messages after this method has been called is also returned.
 
 .. _curl_multi_info_read:
     https://curl.haxx.se/libcurl/c/curl_multi_info_read.html
+
+.. _surrogateescape:
+    https://www.python.org/dev/peps/pep-0383/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pycurl-7.43.0.5/doc/docstrings/share_setopt.rst 
new/pycurl-7.43.0.6/doc/docstrings/share_setopt.rst
--- old/pycurl-7.43.0.5/doc/docstrings/share_setopt.rst 2018-06-07 
04:04:05.000000000 +0200
+++ new/pycurl-7.43.0.6/doc/docstrings/share_setopt.rst 2020-09-02 
06:53:50.000000000 +0200
@@ -5,7 +5,8 @@
 Corresponds to `curl_share_setopt`_ in libcurl, where *option* is
 specified with the ``CURLSHOPT_*`` constants in libcurl, except that the
 ``CURLSHOPT_`` prefix has been changed to ``SH_``. Currently, *value* must be
-either ``LOCK_DATA_COOKIE`` or ``LOCK_DATA_DNS``.
+one of: ``LOCK_DATA_COOKIE``, ``LOCK_DATA_DNS``, ``LOCK_DATA_SSL_SESSION`` or
+``LOCK_DATA_CONNECT``.
 
 Example usage::
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pycurl-7.43.0.5/pycurl.egg-info/PKG-INFO 
new/pycurl-7.43.0.6/pycurl.egg-info/PKG-INFO
--- old/pycurl-7.43.0.5/pycurl.egg-info/PKG-INFO        1970-01-01 
01:00:00.000000000 +0100
+++ new/pycurl-7.43.0.6/pycurl.egg-info/PKG-INFO        2020-09-02 
07:16:24.000000000 +0200
@@ -0,0 +1,109 @@
+Metadata-Version: 1.2
+Name: pycurl
+Version: 7.43.0.6
+Summary: PycURL -- A Python Interface To The cURL library
+Home-page: http://pycurl.io/
+Author: Kjetil Jacobsen, Markus F.X.J. Oberhumer, Oleg Pudeyev
+Author-email: kjeti...@gmail.com, mar...@oberhumer.com, o...@bsdpower.com
+Maintainer: Oleg Pudeyev
+Maintainer-email: o...@bsdpower.com
+License: LGPL/MIT
+Description: PycURL -- A Python Interface To The cURL library
+        ================================================
+        
+        PycURL is a Python interface to `libcurl`_, the multiprotocol file
+        transfer library. Similarly to the urllib_ Python module,
+        PycURL can be used to fetch objects identified by a URL from a Python 
program.
+        Beyond simple fetches however PycURL exposes most of the functionality 
of
+        libcurl, including:
+        
+        - Speed - libcurl is very fast and PycURL, being a thin wrapper above
+          libcurl, is very fast as well. PycURL `was benchmarked`_ to be 
several
+          times faster than requests_.
+        - Features including multiple protocol support, SSL, authentication and
+          proxy options. PycURL supports most of libcurl's callbacks.
+        - Multi_ and share_ interfaces.
+        - Sockets used for network operations, permitting integration of PycURL
+          into the application's I/O loop (e.g., using Tornado_).
+        
+        .. _was benchmarked: 
http://stackoverflow.com/questions/15461995/python-requests-vs-pycurl-performance
+        .. _requests: http://python-requests.org/
+        .. _Multi: https://curl.haxx.se/libcurl/c/libcurl-multi.html
+        .. _share: https://curl.haxx.se/libcurl/c/libcurl-share.html
+        .. _Tornado: http://www.tornadoweb.org/
+        
+        
+        Requirements
+        ------------
+        
+        - Python 3.5-3.8.
+        - libcurl 7.19.0 or better.
+        
+        
+        Installation
+        ------------
+        
+        Download source and binary distributions from `PyPI`_ or `Bintray`_.
+        Binary wheels are now available for 32 and 64 bit Windows versions.
+        
+        Please see `the installation documentation`_ for installation 
instructions.
+        
+        .. _PyPI: https://pypi.python.org/pypi/pycurl
+        .. _Bintray: https://dl.bintray.com/pycurl/pycurl/
+        .. _the installation documentation: 
http://pycurl.io/docs/latest/install.html
+        
+        
+        Documentation
+        -------------
+        
+        Documentation for the most recent PycURL release is available on
+        `PycURL website <http://pycurl.io/docs/latest/>`_.
+        
+        
+        Support
+        -------
+        
+        For support questions please use `curl-and-python mailing list`_.
+        `Mailing list archives`_ are available for your perusal as well.
+        
+        Although not an official support venue, `Stack Overflow`_ has been
+        popular with some PycURL users.
+        
+        Bugs can be reported `via GitHub`_. Please use GitHub only for bug
+        reports and direct questions to our mailing list instead.
+        
+        .. _curl-and-python mailing list: 
http://cool.haxx.se/mailman/listinfo/curl-and-python
+        .. _Stack Overflow: http://stackoverflow.com/questions/tagged/pycurl
+        .. _Mailing list archives: 
https://curl.haxx.se/mail/list.cgi?list=curl-and-python
+        .. _via GitHub: https://github.com/pycurl/pycurl/issues
+        
+        
+        License
+        -------
+        
+        PycURL is dual licensed under the LGPL and an MIT/X derivative license
+        based on the libcurl license. The complete text of the licenses is 
available
+        in COPYING-LGPL_ and COPYING-MIT_ files in the source distribution.
+        
+        .. _libcurl: https://curl.haxx.se/libcurl/
+        .. _urllib: http://docs.python.org/library/urllib.html
+        .. _COPYING-LGPL: 
https://raw.githubusercontent.com/pycurl/pycurl/master/COPYING-LGPL
+        .. _COPYING-MIT: 
https://raw.githubusercontent.com/pycurl/pycurl/master/COPYING-MIT
+        
+Keywords: curl,libcurl,urllib,wget,download,file transfer,http,www
+Platform: All
+Classifier: Development Status :: 5 - Production/Stable
+Classifier: Environment :: Web Environment
+Classifier: Intended Audience :: Developers
+Classifier: License :: OSI Approved :: GNU Library or Lesser General Public 
License (LGPL)
+Classifier: License :: OSI Approved :: MIT License
+Classifier: Operating System :: Microsoft :: Windows
+Classifier: Operating System :: POSIX
+Classifier: Programming Language :: Python :: 3
+Classifier: Programming Language :: Python :: 3.5
+Classifier: Programming Language :: Python :: 3.6
+Classifier: Programming Language :: Python :: 3.7
+Classifier: Programming Language :: Python :: 3.8
+Classifier: Topic :: Internet :: File Transfer Protocol (FTP)
+Classifier: Topic :: Internet :: WWW/HTTP
+Requires-Python: >=3.5
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pycurl-7.43.0.5/pycurl.egg-info/SOURCES.txt 
new/pycurl-7.43.0.6/pycurl.egg-info/SOURCES.txt
--- old/pycurl-7.43.0.5/pycurl.egg-info/SOURCES.txt     1970-01-01 
01:00:00.000000000 +0100
+++ new/pycurl-7.43.0.6/pycurl.egg-info/SOURCES.txt     2020-09-02 
07:16:24.000000000 +0200
@@ -0,0 +1,228 @@
+AUTHORS
+COPYING-LGPL
+COPYING-MIT
+ChangeLog
+INSTALL.rst
+MANIFEST.in
+Makefile
+README.rst
+RELEASE-NOTES.rst
+requirements-dev.txt
+setup.py
+winbuild.py
+doc/callbacks.rst
+doc/conf.py
+doc/curl.rst
+doc/curlmultiobject.rst
+doc/curlobject.rst
+doc/curlshareobject.rst
+doc/files.rst
+doc/index.rst
+doc/install.rst
+doc/internals.rst
+doc/pycurl.rst
+doc/quickstart.rst
+doc/release-notes.rst
+doc/release-process.rst
+doc/thread-safety.rst
+doc/troubleshooting.rst
+doc/unicode.rst
+doc/unimplemented.rst
+doc/docstrings/curl.rst
+doc/docstrings/curl_close.rst
+doc/docstrings/curl_errstr.rst
+doc/docstrings/curl_errstr_raw.rst
+doc/docstrings/curl_getinfo.rst
+doc/docstrings/curl_getinfo_raw.rst
+doc/docstrings/curl_pause.rst
+doc/docstrings/curl_perform.rst
+doc/docstrings/curl_perform_rb.rst
+doc/docstrings/curl_perform_rs.rst
+doc/docstrings/curl_reset.rst
+doc/docstrings/curl_set_ca_certs.rst
+doc/docstrings/curl_setopt.rst
+doc/docstrings/curl_setopt_string.rst
+doc/docstrings/curl_unsetopt.rst
+doc/docstrings/multi.rst
+doc/docstrings/multi_add_handle.rst
+doc/docstrings/multi_assign.rst
+doc/docstrings/multi_close.rst
+doc/docstrings/multi_fdset.rst
+doc/docstrings/multi_info_read.rst
+doc/docstrings/multi_perform.rst
+doc/docstrings/multi_remove_handle.rst
+doc/docstrings/multi_select.rst
+doc/docstrings/multi_setopt.rst
+doc/docstrings/multi_socket_action.rst
+doc/docstrings/multi_socket_all.rst
+doc/docstrings/multi_timeout.rst
+doc/docstrings/pycurl_global_cleanup.rst
+doc/docstrings/pycurl_global_init.rst
+doc/docstrings/pycurl_module.rst
+doc/docstrings/pycurl_version_info.rst
+doc/docstrings/share.rst
+doc/docstrings/share_close.rst
+doc/docstrings/share_setopt.rst
+doc/static/favicon.ico
+examples/basicfirst.py
+examples/file_upload.py
+examples/linksys.py
+examples/opensocketexception.py
+examples/retriever-multi.py
+examples/retriever.py
+examples/sfquery.py
+examples/smtp.py
+examples/ssh_keyfunction.py
+examples/xmlrpc_curl.py
+examples/quickstart/file_upload_buffer.py
+examples/quickstart/file_upload_real.py
+examples/quickstart/file_upload_real_fancy.py
+examples/quickstart/follow_redirect.py
+examples/quickstart/form_post.py
+examples/quickstart/get.py
+examples/quickstart/get_python2.py
+examples/quickstart/get_python2_https.py
+examples/quickstart/get_python3.py
+examples/quickstart/get_python3_https.py
+examples/quickstart/put_buffer.py
+examples/quickstart/put_file.py
+examples/quickstart/response_headers.py
+examples/quickstart/response_info.py
+examples/quickstart/write_file.py
+examples/tests/test_build_config.py
+examples/tests/test_gtk.py
+examples/tests/test_xmlrpc.py
+pycurl.egg-info/PKG-INFO
+pycurl.egg-info/SOURCES.txt
+pycurl.egg-info/dependency_links.txt
+pycurl.egg-info/top_level.txt
+python/curl/__init__.py
+src/docstrings.c
+src/docstrings.h
+src/easy.c
+src/easycb.c
+src/easyinfo.c
+src/easyopt.c
+src/easyperform.c
+src/module.c
+src/multi.c
+src/oscompat.c
+src/pycurl.h
+src/pythoncompat.c
+src/share.c
+src/stringcompat.c
+src/threadsupport.c
+src/util.c
+tests/__init__.py
+tests/app.py
+tests/appmanager.py
+tests/cadata_test.py
+tests/certinfo_test.py
+tests/close_socket_cb_test.py
+tests/curl_object_test.py
+tests/debug_test.py
+tests/default_write_cb_test.py
+tests/error_constants_test.py
+tests/error_test.py
+tests/failonerror_test.py
+tests/ftp_test.py
+tests/getinfo_test.py
+tests/global_init_test.py
+tests/header_cb_test.py
+tests/header_test.py
+tests/high_level_curl_test.py
+tests/info_constants_test.py
+tests/info_test.py
+tests/internals_test.py
+tests/matrix.py
+tests/memory_mgmt_test.py
+tests/multi_memory_mgmt_test.py
+tests/multi_option_constants_test.py
+tests/multi_socket_select_test.py
+tests/multi_socket_test.py
+tests/multi_test.py
+tests/multi_timer_test.py
+tests/open_socket_cb_test.py
+tests/option_constants_test.py
+tests/pause_test.py
+tests/perform_test.py
+tests/post_test.py
+tests/procmgr.py
+tests/protocol_constants_test.py
+tests/read_cb_test.py
+tests/readdata_test.py
+tests/relative_url_test.py
+tests/reload_test.py
+tests/reset_test.py
+tests/resolve_test.py
+tests/run-quickstart.sh
+tests/run.sh
+tests/runwsgi.py
+tests/seek_cb_constants_test.py
+tests/seek_cb_test.py
+tests/setopt_lifecycle_test.py
+tests/setopt_string_test.py
+tests/setopt_test.py
+tests/setopt_unicode_test.py
+tests/setup_test.py
+tests/share_test.py
+tests/sockopt_cb_test.py
+tests/ssh_key_cb_test.py
+tests/unset_range_test.py
+tests/user_agent_string_test.py
+tests/util.py
+tests/version_comparison_test.py
+tests/version_constants_test.py
+tests/version_test.py
+tests/vsftpd.conf
+tests/weakref_test.py
+tests/write_abort_test.py
+tests/write_cb_bogus_test.py
+tests/write_test.py
+tests/write_to_stringio_test.py
+tests/xferinfo_cb_test.py
+tests/certs/ca.crt
+tests/certs/ca.key
+tests/certs/server.crt
+tests/certs/server.key
+tests/ext/test-lib.sh
+tests/ext/test-suite.sh
+tests/fake-curl/curl-config-empty
+tests/fake-curl/curl-config-libs-and-static-libs
+tests/fake-curl/curl-config-ssl-feature-only
+tests/fake-curl/curl-config-ssl-in-libs
+tests/fake-curl/curl-config-ssl-in-static-libs
+tests/fake-curl/libcurl/Makefile
+tests/fake-curl/libcurl/with_gnutls.c
+tests/fake-curl/libcurl/with_nss.c
+tests/fake-curl/libcurl/with_openssl.c
+tests/fake-curl/libcurl/with_unknown_ssl.c
+tests/fake-curl/libcurl/without_ssl.c
+tests/fixtures/form_submission.txt
+tests/matrix/curl-7.19.0-sslv2-2b0e09b0f98.patch
+tests/matrix/curl-7.19.0-sslv2-c66b0b32fba-modified.patch
+tests/matrix/openssl-1.0.1e-fix_pod_syntax-1.patch
+winbuild/__init__.py
+winbuild/builder.py
+winbuild/c-ares-vs2015.patch
+winbuild/cares.py
+winbuild/config.py
+winbuild/curl.py
+winbuild/iconv.py
+winbuild/idn.py
+winbuild/libcurl-fix-zlib-references.patch
+winbuild/libssh2-vs2015.patch
+winbuild/nghttp_cmake.py
+winbuild/nghttp_gmake.py
+winbuild/openssl-fix-crt-1.0.2.patch
+winbuild/openssl-fix-crt-1.1.0.patch
+winbuild/openssl-fix-crt-1.1.1.patch
+winbuild/openssl.py
+winbuild/pycurl.py
+winbuild/pythons.py
+winbuild/ssh.py
+winbuild/tools.py
+winbuild/utils.py
+winbuild/vcvars-vc14-32.sh
+winbuild/vcvars-vc14-64.sh
+winbuild/zlib.py
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pycurl-7.43.0.5/pycurl.egg-info/dependency_links.txt 
new/pycurl-7.43.0.6/pycurl.egg-info/dependency_links.txt
--- old/pycurl-7.43.0.5/pycurl.egg-info/dependency_links.txt    1970-01-01 
01:00:00.000000000 +0100
+++ new/pycurl-7.43.0.6/pycurl.egg-info/dependency_links.txt    2020-09-02 
07:16:24.000000000 +0200
@@ -0,0 +1 @@
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pycurl-7.43.0.5/pycurl.egg-info/top_level.txt 
new/pycurl-7.43.0.6/pycurl.egg-info/top_level.txt
--- old/pycurl-7.43.0.5/pycurl.egg-info/top_level.txt   1970-01-01 
01:00:00.000000000 +0100
+++ new/pycurl-7.43.0.6/pycurl.egg-info/top_level.txt   2020-09-02 
07:16:24.000000000 +0200
@@ -0,0 +1,2 @@
+curl
+pycurl
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pycurl-7.43.0.5/setup.cfg 
new/pycurl-7.43.0.6/setup.cfg
--- old/pycurl-7.43.0.5/setup.cfg       1970-01-01 01:00:00.000000000 +0100
+++ new/pycurl-7.43.0.6/setup.cfg       2020-09-02 07:16:25.060707300 +0200
@@ -0,0 +1,4 @@
+[egg_info]
+tag_build = 
+tag_date = 0
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pycurl-7.43.0.5/setup.py new/pycurl-7.43.0.6/setup.py
--- old/pycurl-7.43.0.5/setup.py        2020-01-30 05:05:01.000000000 +0100
+++ new/pycurl-7.43.0.6/setup.py        2020-09-02 07:16:18.000000000 +0200
@@ -6,7 +6,7 @@
 
 PACKAGE = "pycurl"
 PY_PACKAGE = "curl"
-VERSION = "7.43.0.5"
+VERSION = "7.43.0.6"
 
 import glob, os, re, sys, subprocess
 import distutils
@@ -182,6 +182,9 @@
                 ssl_lib_detected = 
self.detect_ssl_lib_from_libcurl_dll(libcurl_dll_path)
 
         if not ssl_lib_detected:
+            ssl_lib_detected = self.detect_ssl_lib_using_curl_config()
+
+        if not ssl_lib_detected:
             # self.sslhintbuf is a hack
             for arg in split_quoted(self.sslhintbuf):
                 if arg[:2] == "-l":
@@ -211,7 +214,7 @@
                 and not os.environ.get('PYCURL_SSL_LIBRARY'):
             # this path should only be taken when no options or
             # configuration environment variables are given to setup.py
-            ssl_lib_detected = self.detect_ssl_lib_on_centos6()
+            ssl_lib_detected = self.detect_ssl_lib_on_centos6_plus()
 
         self.ssl_lib_detected = ssl_lib_detected
 
@@ -372,7 +375,7 @@
             ssl_lib_detected = 'mbedtls'
         return ssl_lib_detected
 
-    def detect_ssl_lib_on_centos6(self):
+    def detect_ssl_lib_on_centos6_plus(self):
         import platform
         from ctypes.util import find_library
         os_name = platform.system()
@@ -380,12 +383,35 @@
             return False
         dist_name, dist_version, _ = platform.dist()
         dist_version = dist_version.split('.')[0]
-        if dist_name != 'centos' or dist_version != '6':
+        if dist_name != 'centos' or int(dist_version) < 6:
             return False
         libcurl_dll_path = find_library('curl')
         print('libcurl_dll_path = "%s"' % libcurl_dll_path)
         return self.detect_ssl_lib_from_libcurl_dll(libcurl_dll_path)
 
+    def detect_ssl_lib_using_curl_config(self):
+        ssl_lib_detected = None
+        p = subprocess.Popen((self.curl_config(), '--ssl-backends'),
+            stdout=subprocess.PIPE, stderr=subprocess.PIPE)
+        stdout, stderr = p.communicate()
+        if p.wait() != 0:
+            # curl-config --ssl-backends is not supported on older curl 
versions
+            return None
+        ssl_version = stdout.decode()
+        if ssl_version.startswith('OpenSSL') or 
ssl_version.startswith('LibreSSL'):
+            self.using_openssl()
+            ssl_lib_detected = 'openssl'
+        elif ssl_version.startswith('GnuTLS'):
+            self.using_gnutls()
+            ssl_lib_detected = 'gnutls'
+        elif ssl_version.startswith('NSS'):
+            self.using_nss()
+            ssl_lib_detected = 'nss'
+        elif ssl_version.startswith('mbedTLS'):
+            self.using_mbedtls()
+            ssl_lib_detected = 'mbedtls'
+        return ssl_lib_detected
+
     def configure_windows(self):
         # Windows users have to pass --curl-dir parameter to specify path
         # to libcurl, because there is no curl-config on windows at all.
@@ -817,7 +843,7 @@
 Requirements
 ------------
 
-- Python 2.7 or 3.4 through 3.6.
+- Python 3.5-3.8.
 - libcurl 7.19.0 or better.
 
 
@@ -897,6 +923,7 @@
     ],
     packages=[PY_PACKAGE],
     package_dir={ PY_PACKAGE: os.path.join('python', 'curl') },
+    python_requires='>=3.5',
 )
 
 if sys.platform == "win32":
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pycurl-7.43.0.5/src/docstrings.c 
new/pycurl-7.43.0.6/src/docstrings.c
--- old/pycurl-7.43.0.5/src/docstrings.c        2020-01-30 05:08:02.000000000 
+0100
+++ new/pycurl-7.43.0.6/src/docstrings.c        2020-09-02 07:10:33.000000000 
+0200
@@ -501,17 +501,21 @@
 
 PYCURL_INTERNAL const char multi_info_read_doc[] = "info_read([max_objects]) 
-> tuple(number of queued messages, a list of successful objects, a list of 
failed objects)\n\
 \n\
-Returns a tuple (number of queued handles, [curl objects]).\n\
+Corresponds to the `curl_multi_info_read`_ function in libcurl.\n\
 \n\
-Corresponds to the `curl_multi_info_read`_ function in libcurl. This\n\
-method extracts at most *max* messages from the multi stack and returns them\n\
-in two lists. The first list contains the handles which completed\n\
+This method extracts at most *max* messages from the multi stack and returns\n\
+them in two lists. The first list contains the handles which completed\n\
 successfully and the second list contains a tuple *(curl object, curl error\n\
-number, curl error message)* for each failed curl object. The number of\n\
+number, curl error message)* for each failed curl object. The curl error\n\
+message is returned as a Python string which is decoded from the curl error\n\
+string using the `surrogateescape`_ error handler. The number of\n\
 queued messages after this method has been called is also returned.\n\
 \n\
 .. _curl_multi_info_read:\n\
-    https://curl.haxx.se/libcurl/c/curl_multi_info_read.html";;
+    https://curl.haxx.se/libcurl/c/curl_multi_info_read.html\n\
+\n\
+.. _surrogateescape:\n\
+    https://www.python.org/dev/peps/pep-0383/";;
 
 PYCURL_INTERNAL const char multi_perform_doc[] = "perform() -> tuple of status 
and the number of active Curl objects\n\
 \n\
@@ -688,7 +692,8 @@
 Corresponds to `curl_share_setopt`_ in libcurl, where *option* is\n\
 specified with the ``CURLSHOPT_*`` constants in libcurl, except that the\n\
 ``CURLSHOPT_`` prefix has been changed to ``SH_``. Currently, *value* must 
be\n\
-either ``LOCK_DATA_COOKIE`` or ``LOCK_DATA_DNS``.\n\
+one of: ``LOCK_DATA_COOKIE``, ``LOCK_DATA_DNS``, ``LOCK_DATA_SSL_SESSION`` 
or\n\
+``LOCK_DATA_CONNECT``.\n\
 \n\
 Example usage::\n\
 \n\
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pycurl-7.43.0.5/src/easycb.c 
new/pycurl-7.43.0.6/src/easycb.c
--- old/pycurl-7.43.0.5/src/easycb.c    2018-06-13 20:07:03.000000000 +0200
+++ new/pycurl-7.43.0.6/src/easycb.c    2020-09-02 06:53:50.000000000 +0200
@@ -485,7 +485,7 @@
     cb = self->seek_cb;
     if (cb == NULL)
         goto silent_error;
-    arglist = Py_BuildValue("(i,i)", offset, source);
+    arglist = Py_BuildValue("(L,i)", (PY_LONG_LONG) offset, source);
     if (arglist == NULL)
         goto verbose_error;
     result = PyEval_CallObject(cb, arglist);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pycurl-7.43.0.5/src/easyopt.c 
new/pycurl-7.43.0.6/src/easyopt.c
--- old/pycurl-7.43.0.5/src/easyopt.c   2019-06-17 07:14:54.000000000 +0200
+++ new/pycurl-7.43.0.6/src/easyopt.c   2020-09-02 06:53:50.000000000 +0200
@@ -100,6 +100,10 @@
     case CURLOPT_PASSWORD:
 #endif
     case CURLOPT_RANGE:
+#if LIBCURL_VERSION_NUM >= MAKE_LIBCURL_VERSION(7, 10, 0)
+    /* added by 0ff89b9c3c02a911e1e5ea9a4182c373a6e0f1c7 */
+    case CURLOPT_PROXY:
+#endif
 #if LIBCURL_VERSION_NUM >= MAKE_LIBCURL_VERSION(7, 43, 0)
     case CURLOPT_SERVICE_NAME:
     case CURLOPT_PROXY_SERVICE_NAME:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pycurl-7.43.0.5/src/module.c 
new/pycurl-7.43.0.6/src/module.c
--- old/pycurl-7.43.0.5/src/module.c    2019-07-05 01:24:02.000000000 +0200
+++ new/pycurl-7.43.0.6/src/module.c    2020-09-02 06:53:50.000000000 +0200
@@ -322,12 +322,21 @@
 {
     PyObject *m, *d;
     const curl_version_info_data *vi;
-    const char *libcurl_version, *runtime_ssl_lib;
+    const char *libcurl_version;
     size_t libcurl_version_len, pycurl_version_len;
     PyObject *xio_module = NULL;
     PyObject *collections_module = NULL;
     PyObject *named_tuple = NULL;
     PyObject *arglist = NULL;
+#ifdef HAVE_CURL_GLOBAL_SSLSET
+    const curl_ssl_backend **ssllist = NULL;
+    CURLsslset sslset;
+    int i, runtime_supported_backend_found = 0;
+    char backends[200];
+    size_t backends_len = 0;
+#else
+    const char *runtime_ssl_lib;
+#endif
 
     assert(Curl_Type.tp_weaklistoffset > 0);
     assert(CurlMulti_Type.tp_weaklistoffset > 0);
@@ -346,6 +355,36 @@
     }
 
     /* Our compiled crypto locks should correspond to runtime ssl library. */
+#ifdef HAVE_CURL_GLOBAL_SSLSET
+    sslset = curl_global_sslset(-1, COMPILE_SSL_LIB, &ssllist);
+    if (sslset != CURLSSLSET_OK) {
+        if (sslset == CURLSSLSET_NO_BACKENDS) {
+            strcpy(backends, "none");
+        } else {
+            for (i = 0; ssllist[i] != NULL; i++) {
+                switch (ssllist[i]->id) {
+                case CURLSSLBACKEND_OPENSSL:
+                case CURLSSLBACKEND_GNUTLS:
+                case CURLSSLBACKEND_NSS:
+                case CURLSSLBACKEND_WOLFSSL:
+                case CURLSSLBACKEND_MBEDTLS:
+                    runtime_supported_backend_found = 1;
+                    break;
+                default:
+                    break;
+                }
+                if (backends_len < sizeof(backends)) {
+                    backends_len += snprintf(backends + backends_len, 
sizeof(backends) - backends_len, "%s%s", (i > 0) ? ", " : "", ssllist[i]->name);
+                }
+            }
+        }
+        /* Don't error if both the curl library and pycurl itself is compiled 
without SSL */
+        if (runtime_supported_backend_found || 
COMPILE_SUPPORTED_SSL_BACKEND_FOUND) {
+            PyErr_Format(PyExc_ImportError, "pycurl: libcurl link-time ssl 
backends (%s) do not include compile-time ssl backend (%s)", backends, 
COMPILE_SSL_LIB);
+            goto error;
+        }
+    }
+#else
     if (vi->ssl_version == NULL) {
         runtime_ssl_lib = "none/other";
     } else if (!strncmp(vi->ssl_version, "OpenSSL/", 8) || 
!strncmp(vi->ssl_version, "LibreSSL/", 9) ||
@@ -366,6 +405,7 @@
         PyErr_Format(PyExc_ImportError, "pycurl: libcurl link-time ssl backend 
(%s) is different from compile-time ssl backend (%s)", runtime_ssl_lib, 
COMPILE_SSL_LIB);
         goto error;
     }
+#endif
 
     /* Initialize the type of the new type objects here; doing it here
      * is required for portability to Windows without requiring C++. */
@@ -791,6 +831,9 @@
     insint_c(d, "OPT_FILETIME", CURLOPT_FILETIME);
     insint_c(d, "MAXREDIRS", CURLOPT_MAXREDIRS);
     insint_c(d, "MAXCONNECTS", CURLOPT_MAXCONNECTS);
+#if LIBCURL_VERSION_NUM >= MAKE_LIBCURL_VERSION(7, 65, 0)
+    insint_c(d, "MAXAGE_CONN", CURLOPT_MAXAGE_CONN);
+#endif
     insint_c(d, "FRESH_CONNECT", CURLOPT_FRESH_CONNECT);
     insint_c(d, "FORBID_REUSE", CURLOPT_FORBID_REUSE);
     insint_c(d, "RANDOM_FILE", CURLOPT_RANDOM_FILE);
@@ -813,6 +856,9 @@
     insint_c(d, "DNS_USE_GLOBAL_CACHE", CURLOPT_DNS_USE_GLOBAL_CACHE);
     insint_c(d, "DEBUGFUNCTION", CURLOPT_DEBUGFUNCTION);
     insint_c(d, "BUFFERSIZE", CURLOPT_BUFFERSIZE);
+#if LIBCURL_VERSION_NUM >= MAKE_LIBCURL_VERSION(7, 62, 0)
+    insint_c(d, "UPLOAD_BUFFERSIZE", CURLOPT_UPLOAD_BUFFERSIZE);
+#endif
     insint_c(d, "NOSIGNAL", CURLOPT_NOSIGNAL);
     insint_c(d, "SHARE", CURLOPT_SHARE);
     insint_c(d, "PROXYTYPE", CURLOPT_PROXYTYPE);
@@ -1075,6 +1121,9 @@
     insint_c(d, "SSLVERSION_MAX_TLSv1_2", CURL_SSLVERSION_MAX_TLSv1_2);
     insint_c(d, "SSLVERSION_MAX_TLSv1_3", CURL_SSLVERSION_MAX_TLSv1_3);
 #endif
+#if LIBCURL_VERSION_NUM >= MAKE_LIBCURL_VERSION(7, 60, 0)
+    insint_c(d, "HAPROXYPROTOCOL", CURLOPT_HAPROXYPROTOCOL);
+#endif
 
     /* curl_TimeCond: constants for setopt(TIMECONDITION, x) */
     insint_c(d, "TIMECONDITION_NONE", CURL_TIMECOND_NONE);
@@ -1341,6 +1390,9 @@
     insint_s(d, "LOCK_DATA_COOKIE", CURL_LOCK_DATA_COOKIE);
     insint_s(d, "LOCK_DATA_DNS", CURL_LOCK_DATA_DNS);
     insint_s(d, "LOCK_DATA_SSL_SESSION", CURL_LOCK_DATA_SSL_SESSION);
+#if LIBCURL_VERSION_NUM >= MAKE_LIBCURL_VERSION(7, 57, 0)
+    insint_s(d, "LOCK_DATA_CONNECT", CURL_LOCK_DATA_CONNECT);
+#endif
 
     /* Initialize callback locks if ssl is enabled */
 #if defined(PYCURL_NEED_SSL_TSL)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pycurl-7.43.0.5/src/multi.c 
new/pycurl-7.43.0.6/src/multi.c
--- old/pycurl-7.43.0.5/src/multi.c     2020-01-15 01:23:26.000000000 +0100
+++ new/pycurl-7.43.0.6/src/multi.c     2020-09-02 06:53:50.000000000 +0200
@@ -806,9 +806,14 @@
         }
         else {
             /* Create a result tuple that will get added to err_list. */
-            PyObject *v = Py_BuildValue("(Ois)", (PyObject *)co, 
(int)msg->data.result, co->error);
+            PyObject *error_str = PyUnicode_DecodeLocale(co->error, 
"surrogateescape");
+            if (error_str == NULL) {
+                goto error;
+            }
+            PyObject *v = Py_BuildValue("(OiO)", (PyObject *)co, 
(int)msg->data.result, error_str);
             /* Append curl object to list of objects which failed */
             if (v == NULL || PyList_Append(err_list, v) != 0) {
+                Py_XDECREF(error_str);
                 Py_XDECREF(v);
                 goto error;
             }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pycurl-7.43.0.5/src/pycurl.h 
new/pycurl-7.43.0.6/src/pycurl.h
--- old/pycurl-7.43.0.5/src/pycurl.h    2020-01-15 01:20:00.000000000 +0100
+++ new/pycurl-7.43.0.6/src/pycurl.h    2020-09-02 06:53:50.000000000 +0200
@@ -154,6 +154,15 @@
 #define HAVE_CURLINFO_HTTP_VERSION
 #endif
 
+#if LIBCURL_VERSION_NUM >= 0x073C00 /* check for 7.60.0 or greater */
+#define HAVE_CURLOPT_HAPROXYPROTOCOL
+#endif
+
+/* curl_global_sslset() was added in 7.56.0 but was buggy until 7.63.0 */
+#if LIBCURL_VERSION_NUM >= 0x073F00 /* check for 7.63.0 or greater */
+#define HAVE_CURL_GLOBAL_SSLSET
+#endif
+
 #undef UNUSED
 #define UNUSED(var)     ((void)&var)
 
@@ -165,6 +174,7 @@
 #   include <openssl/ssl.h>
 #   include <openssl/err.h>
 #   define COMPILE_SSL_LIB "openssl"
+#   define COMPILE_SUPPORTED_SSL_BACKEND_FOUND 1
 # elif defined(HAVE_CURL_WOLFSSL)
 #   include <wolfssl/options.h>
 #   if defined(OPENSSL_EXTRA)
@@ -187,6 +197,7 @@
 #    endif
 #   endif
 #   define COMPILE_SSL_LIB "wolfssl"
+#   define COMPILE_SUPPORTED_SSL_BACKEND_FOUND 1
 # elif defined(HAVE_CURL_GNUTLS)
 #   include <gnutls/gnutls.h>
 #   if GNUTLS_VERSION_NUMBER <= 0x020b00
@@ -195,13 +206,16 @@
 #     include <gcrypt.h>
 #   endif
 #   define COMPILE_SSL_LIB "gnutls"
+#   define COMPILE_SUPPORTED_SSL_BACKEND_FOUND 1
 # elif defined(HAVE_CURL_NSS)
 #   define COMPILE_SSL_LIB "nss"
+#   define COMPILE_SUPPORTED_SSL_BACKEND_FOUND 1
 # elif defined(HAVE_CURL_MBEDTLS)
 #   include <mbedtls/ssl.h>
 #   define PYCURL_NEED_SSL_TSL
 #   define PYCURL_NEED_MBEDTLS_TSL
 #   define COMPILE_SSL_LIB "mbedtls"
+#   define COMPILE_SUPPORTED_SSL_BACKEND_FOUND 1
 # else
 #  ifdef _MSC_VER
     /* sigh */
@@ -218,9 +232,11 @@
    /* since we have no crypto callbacks for other ssl backends,
     * no reason to require users match those */
 #  define COMPILE_SSL_LIB "none/other"
+#  define COMPILE_SUPPORTED_SSL_BACKEND_FOUND 0
 # endif /* HAVE_CURL_OPENSSL || HAVE_CURL_WOLFSSL || HAVE_CURL_GNUTLS || 
HAVE_CURL_NSS || HAVE_CURL_MBEDTLS */
 #else
 # define COMPILE_SSL_LIB "none/other"
+# define COMPILE_SUPPORTED_SSL_BACKEND_FOUND 0
 #endif /* HAVE_CURL_SSL */
 
 #if defined(PYCURL_NEED_SSL_TSL)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pycurl-7.43.0.5/src/share.c 
new/pycurl-7.43.0.6/src/share.c
--- old/pycurl-7.43.0.5/src/share.c     2018-06-07 04:04:05.000000000 +0200
+++ new/pycurl-7.43.0.6/src/share.c     2020-09-02 06:53:50.000000000 +0200
@@ -180,7 +180,15 @@
     /* Handle the case of integer arguments */
     if (PyInt_Check(obj)) {
         long d = PyInt_AsLong(obj);
-        if (d != CURL_LOCK_DATA_COOKIE && d != CURL_LOCK_DATA_DNS && d != 
CURL_LOCK_DATA_SSL_SESSION) {
+        switch(d) {
+        case CURL_LOCK_DATA_COOKIE:
+        case CURL_LOCK_DATA_DNS:
+        case CURL_LOCK_DATA_SSL_SESSION:
+#if LIBCURL_VERSION_NUM >= MAKE_LIBCURL_VERSION(7, 57, 0)
+        case CURL_LOCK_DATA_CONNECT:
+#endif
+            break;
+        default:
             goto error;
         }
         switch(option) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pycurl-7.43.0.5/tests/certs/ca.crt 
new/pycurl-7.43.0.6/tests/certs/ca.crt
--- old/pycurl-7.43.0.5/tests/certs/ca.crt      2018-06-07 04:04:05.000000000 
+0200
+++ new/pycurl-7.43.0.6/tests/certs/ca.crt      2020-09-02 06:53:50.000000000 
+0200
@@ -1,24 +1,25 @@
 -----BEGIN CERTIFICATE-----
-MIIEGzCCAwOgAwIBAgIJAJYfjyO6SAVVMA0GCSqGSIb3DQEBBQUAMGYxCzAJBgNV
-BAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMRowGAYDVQQKExFQeWNVUkwgdGVz
-dCBzdWl0ZTESMBAGA1UECxMJbG9jYWxob3N0MRIwEAYDVQQDEwlsb2NhbGhvc3Qw
-HhcNMTcwNTI2MDcxNzM3WhcNNDQxMDExMDcxNzM3WjBmMQswCQYDVQQGEwJBVTET
-MBEGA1UECBMKU29tZS1TdGF0ZTEaMBgGA1UEChMRUHljVVJMIHRlc3Qgc3VpdGUx
-EjAQBgNVBAsTCWxvY2FsaG9zdDESMBAGA1UEAxMJbG9jYWxob3N0MIIBIjANBgkq
-hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAra7SYD1pzWQhxJryYKf9AuKPJfLamkcq
-Y062YBUgoSDCx0ZjFfMTa2u0zqG2Vt2ETuvVkDhBAw/0AF7vLChU9tjANKXuhRIK
-zGrqEk/wOMFxtbVYGwc+VufB3NBB3fOXFjwe/yAP5N/Zw4+P3Lkn4OAVRFvpRrNh
-RgixJUVpqzjzzELMj+ZZcLlYWkUOUDfMEIJHeZ9sFxdrbENnTmJieX1Q47ND9H9E
-zQloUvc8Xf6K1e1KliIhlombdo3RLAGUzZlWlG2WorFzX161E2hY2FHFId9SusWH
-NJxKsmOUerNv0rWYez54OOwXWh/2OKcNV1hK1IFKkEHUP7UMLhvAUwIDAQABo4HL
-MIHIMB0GA1UdDgQWBBQu1NQH28vT0GEQe3ZIFM2R/ZpGwTCBmAYDVR0jBIGQMIGN
-gBQu1NQH28vT0GEQe3ZIFM2R/ZpGwaFqpGgwZjELMAkGA1UEBhMCQVUxEzARBgNV
-BAgTClNvbWUtU3RhdGUxGjAYBgNVBAoTEVB5Y1VSTCB0ZXN0IHN1aXRlMRIwEAYD
-VQQLEwlsb2NhbGhvc3QxEjAQBgNVBAMTCWxvY2FsaG9zdIIJAJYfjyO6SAVVMAwG
-A1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAAYSpSiFOhdPC1Q6wvLlHC+R
-6m4L9B++wvnZd0MUVgUf0zlxCVZwitkj+39SX5mTrn4SZTEKt73M+bT/pfdjUaKd
-qSztbp4xVCnMN5QBt9UH7W565t296pzgwhv97PGvBgMhW91dQIoi4TeloYL1O41z
-bPgIrTg+W87+ugorZNFPWHAgKbxhiKx8X2w1Z/ohDZhyzh5VC40hD97jRXePq4hy
-C9fq6zKbF0lPPNJyjMnc5Ppj03eUTsChqd6j8S1JmdeQYeubdkQYnyt2vLYdrxEy
-21iULWPWIMc5RVUfVHtjn/o2NWeR7y/2TDRrVK7AlrbrcRCH2J7JgA2PWSffvxE=
+MIIEMTCCAxmgAwIBAgIUFrIR/j704ZfessaZ6fpA3BE0HNEwDQYJKoZIhvcNAQEL
+BQAwZjELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxGjAYBgNVBAoM
+EVB5Y1VSTCB0ZXN0IHN1aXRlMRIwEAYDVQQLDAlsb2NhbGhvc3QxEjAQBgNVBAMM
+CWxvY2FsaG9zdDAeFw0yMDA4MTMxNzI1MTRaFw00NzEyMzAxNzI1MTRaMGYxCzAJ
+BgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMRowGAYDVQQKDBFQeWNVUkwg
+dGVzdCBzdWl0ZTESMBAGA1UECwwJbG9jYWxob3N0MRIwEAYDVQQDDAlsb2NhbGhv
+c3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCtrtJgPWnNZCHEmvJg
+p/0C4o8l8tqaRypjTrZgFSChIMLHRmMV8xNra7TOobZW3YRO69WQOEEDD/QAXu8s
+KFT22MA0pe6FEgrMauoST/A4wXG1tVgbBz5W58Hc0EHd85cWPB7/IA/k39nDj4/c
+uSfg4BVEW+lGs2FGCLElRWmrOPPMQsyP5llwuVhaRQ5QN8wQgkd5n2wXF2tsQ2dO
+YmJ5fVDjs0P0f0TNCWhS9zxd/orV7UqWIiGWiZt2jdEsAZTNmVaUbZaisXNfXrUT
+aFjYUcUh31K6xYc0nEqyY5R6s2/StZh7Png47BdaH/Y4pw1XWErUgUqQQdQ/tQwu
+G8BTAgMBAAGjgdYwgdMwHQYDVR0OBBYEFC7U1Afby9PQYRB7dkgUzZH9mkbBMIGj
+BgNVHSMEgZswgZiAFC7U1Afby9PQYRB7dkgUzZH9mkbBoWqkaDBmMQswCQYDVQQG
+EwJBVTETMBEGA1UECAwKU29tZS1TdGF0ZTEaMBgGA1UECgwRUHljVVJMIHRlc3Qg
+c3VpdGUxEjAQBgNVBAsMCWxvY2FsaG9zdDESMBAGA1UEAwwJbG9jYWxob3N0ghQW
+shH+PvThl96yxpnp+kDcETQc0TAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBCwUA
+A4IBAQAX3ENYqtAZLRz0p/EzRpIia+8fgwAjQrg9ucMX/UMVXHaUq/cgTPR2YhUn
+aIwhANqdZnSQ2nUHlDgCmUQmH2hLKhkR7PVOMuYDAQmPusII4iUdmwGFLPTudxRV
+fMKE8VBDKrRNSvWIS6Y9ucJi04jE705+wjUzB5eylP0R5kj7qt9VmPFYGgGb+jLz
+hNHmaI7NVC6cIhafMWcbI2uGdpPlGDK79HVtR53EtmCDlIVZ/DfIsVQ3KA0SwdD5
+TzqIM/V2vCKEsGbFMgVc5S4RLK5mu0/wTP3Y/PSy9zTz/z1l5BMEvbBxNhu3uqAi
+kBlHhSUHg81tR609TkQ/zl9ehe33
 -----END CERTIFICATE-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pycurl-7.43.0.5/tests/certs/server.crt 
new/pycurl-7.43.0.6/tests/certs/server.crt
--- old/pycurl-7.43.0.5/tests/certs/server.crt  2018-06-07 04:04:05.000000000 
+0200
+++ new/pycurl-7.43.0.6/tests/certs/server.crt  2020-09-02 06:53:50.000000000 
+0200
@@ -1,20 +1,20 @@
 -----BEGIN CERTIFICATE-----
-MIIDNDCCAhwCCQDgdMxIoTFgtTANBgkqhkiG9w0BAQUFADBmMQswCQYDVQQGEwJB
-VTETMBEGA1UECBMKU29tZS1TdGF0ZTEaMBgGA1UEChMRUHljVVJMIHRlc3Qgc3Vp
-dGUxEjAQBgNVBAsTCWxvY2FsaG9zdDESMBAGA1UEAxMJbG9jYWxob3N0MB4XDTE3
-MDUyNjA3MTkyM1oXDTQ0MTAxMDA3MTkyM1owUjELMAkGA1UEBhMCQVUxEzARBgNV
-BAgTClNvbWUtU3RhdGUxGjAYBgNVBAoTEVB5Y1VSTCB0ZXN0IHN1aXRlMRIwEAYD
-VQQDEwlsb2NhbGhvc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDm
-Jy7+5TjQyQym2GISHFX1jUXanxpPoRaTx1YvEXw+PYPdFinUr4ZiKzwrX6Hl1Wb0
-oIfrV7g2UYrnM7qEatLjjOKZDTF8kGp5Q5+QBbYQTZw23OA12+pQVyHVGyWQfmF6
-YjEL0LJjtFxTA/Z2fAnnmbrZMRd+E3AxNWBOMgmSIKbbS19VRvDlRSaJl3mr630P
-H460aQ3zn5rjOCO2IApeSMTgFcoRTxhzYaRPDP3yZ5O1Ge4rgdPEHGvO/29Ib5Rm
-nC9gMFn8AHc9iXMVXZrSjIXdN/jzKm1DWA+15RyYisPvPVS7/ZWRiyRDvdpTUZSd
-OrLuR80EhMnC6YirwxwRAgMBAAEwDQYJKoZIhvcNAQEFBQADggEBAGxhzIkTNXW7
-C/3qhudGHJO5SX2t7Am3ObyjrHDrhEQj7bpUg3xze/WMhxJ87Rq9UC8aZwQ019Eu
-XTBHWwaDJJhoRAWvxgb1F1i1pvK6ZknXCvoFTYejlflbOTPJlJB09Pj3XrMCPCEW
-yZZsvI+JDd+LrChFmLUEaNgl1H58blXKoMeEmjE4QOb2ttemCJb0FfndvqiniVW1
-h35AjhkJBfy9NGYB6FpMfj+NJYhXji0fVg0CYPeO7lRZNJ/Dg5GhdxcmGhlHkx8u
-WqYZZLD4ovsphhuP0spsxPi4Uw+pXKHKHh5MVngWPHO237g/+JpD4IY4G2jgNruV
-Wu5cKxU79Iw=
+MIIDPzCCAicCFERGPoslPJ3jHZfE8sJaHNmaFqfcMA0GCSqGSIb3DQEBCwUAMGYx
+CzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMRowGAYDVQQKDBFQeWNV
+UkwgdGVzdCBzdWl0ZTESMBAGA1UECwwJbG9jYWxob3N0MRIwEAYDVQQDDAlsb2Nh
+bGhvc3QwHhcNMjAwODEzMTc0MTI2WhcNNDcxMjMwMTc0MTI2WjBSMQswCQYDVQQG
+EwJBVTETMBEGA1UECAwKU29tZS1TdGF0ZTEaMBgGA1UECgwRUHljVVJMIHRlc3Qg
+c3VpdGUxEjAQBgNVBAMMCWxvY2FsaG9zdDCCASIwDQYJKoZIhvcNAQEBBQADggEP
+ADCCAQoCggEBAOYnLv7lONDJDKbYYhIcVfWNRdqfGk+hFpPHVi8RfD49g90WKdSv
+hmIrPCtfoeXVZvSgh+tXuDZRiuczuoRq0uOM4pkNMXyQanlDn5AFthBNnDbc4DXb
+6lBXIdUbJZB+YXpiMQvQsmO0XFMD9nZ8CeeZutkxF34TcDE1YE4yCZIgpttLX1VG
+8OVFJomXeavrfQ8fjrRpDfOfmuM4I7YgCl5IxOAVyhFPGHNhpE8M/fJnk7UZ7iuB
+08Qca87/b0hvlGacL2AwWfwAdz2JcxVdmtKMhd03+PMqbUNYD7XlHJiKw+89VLv9
+lZGLJEO92lNRlJ06su5HzQSEycLpiKvDHBECAwEAATANBgkqhkiG9w0BAQsFAAOC
+AQEAboEGBE+LJhRBMXtcxGbewEK6KByid7VR3/j+e2jSQiy9l8UTrKDx+hinwIPp
+g/qNbVJC/aqa1kuaQrF8fHidM8t1A1brCjsZ+sEfc3q1K0jPZEzvSabRWznM21L+
+eZYnmINMrq4vlSjh5Oz1QGdoImjq+o4qWokOt8p38FYBMKgrMLBbW6N+olU8htuu
+x1o9y6CscwkFrhGvENe6nCrE9QTVEH0Ka1BMFOwfCUIztgz5YWgvJpSzw+2l6lo0
+4lh8olZ09Fzu+VcjUU9t0yiFFh1qwKTLWJA7NJMWOtEwTbfx/K+5m2Xiuzp6BPM5
+DcPA3/hx8YLKkxA570MOszh6Dg==
 -----END CERTIFICATE-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pycurl-7.43.0.5/tests/fake-curl/libcurl/Makefile 
new/pycurl-7.43.0.6/tests/fake-curl/libcurl/Makefile
--- old/pycurl-7.43.0.5/tests/fake-curl/libcurl/Makefile        2018-06-07 
04:04:05.000000000 +0200
+++ new/pycurl-7.43.0.6/tests/fake-curl/libcurl/Makefile        2020-09-02 
06:53:50.000000000 +0200
@@ -1,14 +1,21 @@
-all: \
+ALL = \
        with_gnutls.so \
        with_nss.so \
        with_openssl.so \
        with_unknown_ssl.so \
        without_ssl.so
 
+all: $(ALL)
+clean:
+       rm -f $(ALL)
+
 .SUFFIXES: .c .so
 
+CC = `curl-config --cc`
+CFLAGS += `curl-config --cflags`
+
 .c.so:
-       `curl-config --cc` `curl-config --cflags` -shared -fPIC \
+       $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -shared -fPIC \
                -Wl,-soname,$@ -o $@ $<
 
 show-targets:
Binary files old/pycurl-7.43.0.5/tests/fake-curl/libcurl/with_gnutls.so and 
new/pycurl-7.43.0.6/tests/fake-curl/libcurl/with_gnutls.so differ
Binary files old/pycurl-7.43.0.5/tests/fake-curl/libcurl/with_nss.so and 
new/pycurl-7.43.0.6/tests/fake-curl/libcurl/with_nss.so differ
Binary files old/pycurl-7.43.0.5/tests/fake-curl/libcurl/with_openssl.so and 
new/pycurl-7.43.0.6/tests/fake-curl/libcurl/with_openssl.so differ
Binary files old/pycurl-7.43.0.5/tests/fake-curl/libcurl/with_unknown_ssl.so 
and new/pycurl-7.43.0.6/tests/fake-curl/libcurl/with_unknown_ssl.so differ
Binary files old/pycurl-7.43.0.5/tests/fake-curl/libcurl/without_ssl.so and 
new/pycurl-7.43.0.6/tests/fake-curl/libcurl/without_ssl.so differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pycurl-7.43.0.5/tests/option_constants_test.py 
new/pycurl-7.43.0.6/tests/option_constants_test.py
--- old/pycurl-7.43.0.5/tests/option_constants_test.py  2019-06-30 
16:09:50.000000000 +0200
+++ new/pycurl-7.43.0.6/tests/option_constants_test.py  2020-09-02 
06:53:50.000000000 +0200
@@ -387,6 +387,7 @@
     def test_keypasswd(self):
         self.curl.setopt(self.curl.KEYPASSWD, 'secret')
 
+    @util.only_telnet
     def test_telnetoptions(self):
         self.curl.setopt(self.curl.TELNETOPTIONS, ('TTYPE=1', 'XDISPLOC=2'))
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pycurl-7.43.0.5/tests/util.py 
new/pycurl-7.43.0.6/tests/util.py
--- old/pycurl-7.43.0.5/tests/util.py   2018-06-13 20:07:03.000000000 +0200
+++ new/pycurl-7.43.0.6/tests/util.py   2020-09-02 06:53:50.000000000 +0200
@@ -138,6 +138,20 @@
 
     return decorated
 
+def only_telnet(fn):
+    import nose.plugins.skip
+    import pycurl
+
+    @functools.wraps(fn)
+    def decorated(*args, **kwargs):
+        # pycurl.version_info()[8] is a tuple of protocols supported by libcurl
+        if 'telnet' not in pycurl.version_info()[8]:
+            raise nose.plugins.skip.SkipTest('libcurl does not support telnet')
+
+        return fn(*args, **kwargs)
+
+    return decorated
+
 def only_ssl_backends(*backends):
     def decorator(fn):
         import nose.plugins.skip
Binary files old/pycurl-7.43.0.5/winbuild/__init__.pyc and 
new/pycurl-7.43.0.6/winbuild/__init__.pyc differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pycurl-7.43.0.5/winbuild.py 
new/pycurl-7.43.0.6/winbuild.py
--- old/pycurl-7.43.0.5/winbuild.py     2020-01-30 05:05:05.000000000 +0100
+++ new/pycurl-7.43.0.6/winbuild.py     2020-09-02 07:16:18.000000000 +0200
@@ -65,7 +65,7 @@
     # which versions of python to build against
     #python_versions = ['2.7.10', '3.2.5', '3.3.5', '3.4.3', '3.5.4', '3.6.2']
     # these require only vc9 and vc14
-    python_versions = ['3.7.6', '3.8.1']
+    python_versions = ['3.5.4', '3.6.8', '3.7.6', '3.8.1']
     # where pythons are installed
     python_path_template = 'c:/dev/%(bitness)s/python%(python_release)s/python'
     # overrides only, defaults are given in default_vc_paths below
@@ -103,7 +103,7 @@
     # whether to build binary wheels
     build_wheels = True
     # pycurl version to build, we should know this ourselves
-    pycurl_version = '7.43.0.5'
+    pycurl_version = '7.43.0.6'
 
     # Sometimes vc14 does not include windows sdk path in vcvars which breaks 
stuff.
     # another application for this is to supply normaliz.lib for vc9

++++++ remove_nose.patch ++++++
--- /var/tmp/diff_new_pack.QAhXgS/_old  2021-02-04 20:21:52.254624990 +0100
+++ /var/tmp/diff_new_pack.QAhXgS/_new  2021-02-04 20:21:52.254624990 +0100
@@ -31,8 +31,10 @@
  22 files changed, 95 insertions(+), 113 deletions(-)
  create mode 100644 pytest.ini
 
---- a/Makefile
-+++ b/Makefile
+Index: pycurl-7.43.0.6/Makefile
+===================================================================
+--- pycurl-7.43.0.6.orig/Makefile
++++ pycurl-7.43.0.6/Makefile
 @@ -6,7 +6,7 @@
  SHELL = /bin/sh
  
@@ -42,8 +44,10 @@
  PYFLAKES = pyflakes
  
  # -c on linux
---- a/README.rst
-+++ b/README.rst
+Index: pycurl-7.43.0.6/README.rst
+===================================================================
+--- pycurl-7.43.0.6.orig/README.rst
++++ pycurl-7.43.0.6/README.rst
 @@ -93,7 +93,7 @@ PycURL comes with an automated test suit
  
      make test
@@ -62,8 +66,10 @@
  .. _bottle: http://bottlepy.org/
  .. _vsftpd: http://vsftpd.beasts.org/
  
+Index: pycurl-7.43.0.6/pytest.ini
+===================================================================
 --- /dev/null
-+++ b/pytest.ini
++++ pycurl-7.43.0.6/pytest.ini
 @@ -0,0 +1,10 @@
 +[pytest]
 +python_files = tests/*.py
@@ -75,8 +81,10 @@
 +    http2: mark a test as requiring HTTP/2
 +    standalone: mark a test as being standalone
 +    occasionally_failing: mark a test as unstable
---- a/requirements-dev.txt
-+++ b/requirements-dev.txt
+Index: pycurl-7.43.0.6/requirements-dev.txt
+===================================================================
+--- pycurl-7.43.0.6.orig/requirements-dev.txt
++++ pycurl-7.43.0.6/requirements-dev.txt
 @@ -1,10 +1,7 @@
  # bottle 0.12.17 changed behavior
  # https://github.com/pycurl/pycurl/issues/573
@@ -91,8 +99,10 @@
 \ No newline at end of file
 +pytest>=5
 +sphinx
---- a/tests/certinfo_test.py
-+++ b/tests/certinfo_test.py
+Index: pycurl-7.43.0.6/tests/certinfo_test.py
+===================================================================
+--- pycurl-7.43.0.6.orig/tests/certinfo_test.py
++++ pycurl-7.43.0.6/tests/certinfo_test.py
 @@ -4,7 +4,6 @@
  
  import pycurl
@@ -119,8 +129,10 @@
  
          self.curl.setopt(pycurl.URL, 'https://localhost:8383/success')
          sio = util.BytesIO()
---- a/tests/curl_object_test.py
-+++ b/tests/curl_object_test.py
+Index: pycurl-7.43.0.6/tests/curl_object_test.py
+===================================================================
+--- pycurl-7.43.0.6.orig/tests/curl_object_test.py
++++ pycurl-7.43.0.6/tests/curl_object_test.py
 @@ -3,8 +3,8 @@
  # vi:ts=4:et
  
@@ -169,8 +181,10 @@
 -        del self.curl.foo
 +        with pytest.raises(AttributeError, match='trying to delete.*'):
 +            del self.curl.foo
---- a/tests/global_init_test.py
-+++ b/tests/global_init_test.py
+Index: pycurl-7.43.0.6/tests/global_init_test.py
+===================================================================
+--- pycurl-7.43.0.6.orig/tests/global_init_test.py
++++ pycurl-7.43.0.6/tests/global_init_test.py
 @@ -3,9 +3,8 @@
  # vi:ts=4:et
  
@@ -199,8 +213,10 @@
 -        pycurl.global_init(0xffff)
 +        with pytest.raises(ValueError):
 +            pycurl.global_init(0xffff)
---- a/tests/header_test.py
-+++ b/tests/header_test.py
+Index: pycurl-7.43.0.6/tests/header_test.py
+===================================================================
+--- pycurl-7.43.0.6.orig/tests/header_test.py
++++ pycurl-7.43.0.6/tests/header_test.py
 @@ -3,9 +3,9 @@
  # vi:ts=4:et
  
@@ -230,8 +246,10 @@
  
      def test_encoded_unicode_header(self):
          self.check(util.u('x-test-header: ????????????').encode('utf-8'), 
util.u('????????????'))
---- a/tests/multi_test.py
-+++ b/tests/multi_test.py
+Index: pycurl-7.43.0.6/tests/multi_test.py
+===================================================================
+--- pycurl-7.43.0.6.orig/tests/multi_test.py
++++ pycurl-7.43.0.6/tests/multi_test.py
 @@ -4,8 +4,8 @@
  
  from . import localhost
@@ -258,8 +276,10 @@
 -        pycurl.CurlMulti(a=1)
 +        with pytest.raises(TypeError):
 +            pycurl.CurlMulti(a=1)
---- a/tests/option_constants_test.py
-+++ b/tests/option_constants_test.py
+Index: pycurl-7.43.0.6/tests/option_constants_test.py
+===================================================================
+--- pycurl-7.43.0.6.orig/tests/option_constants_test.py
++++ pycurl-7.43.0.6/tests/option_constants_test.py
 @@ -4,9 +4,8 @@
  
  from . import localhost
@@ -333,7 +353,7 @@
      def test_ssl_enable_npn(self):
          curl = pycurl.Curl()
          curl.setopt(curl.SSL_ENABLE_NPN, 1)
-@@ -449,23 +448,23 @@ class OptionConstantsSettingTest(unittes
+@@ -450,23 +449,23 @@ class OptionConstantsSettingTest(unittes
          self.curl.setopt(self.curl.HTTP_VERSION, 
self.curl.CURL_HTTP_VERSION_1_0)
          self.curl.setopt(self.curl.HTTP_VERSION, 
self.curl.CURL_HTTP_VERSION_1_1)
  
@@ -361,8 +381,10 @@
      def test_http_version_2prior_knowledge(self):
          self.curl.setopt(self.curl.HTTP_VERSION, 
self.curl.CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE)
  
---- a/tests/procmgr.py
-+++ b/tests/procmgr.py
+Index: pycurl-7.43.0.6/tests/procmgr.py
+===================================================================
+--- pycurl-7.43.0.6.orig/tests/procmgr.py
++++ pycurl-7.43.0.6/tests/procmgr.py
 @@ -3,7 +3,7 @@ import subprocess
  import os
  import sys
@@ -390,8 +412,10 @@
          try:
              setup_module()
          except OSError:
---- a/tests/reload_test.py
-+++ b/tests/reload_test.py
+Index: pycurl-7.43.0.6/tests/reload_test.py
+===================================================================
+--- pycurl-7.43.0.6.orig/tests/reload_test.py
++++ pycurl-7.43.0.6/tests/reload_test.py
 @@ -3,11 +3,11 @@
  # vi:ts=4:et
  
@@ -406,8 +430,10 @@
      def test_reloading(self):
          try:
              # python 2
---- a/tests/resolve_test.py
-+++ b/tests/resolve_test.py
+Index: pycurl-7.43.0.6/tests/resolve_test.py
+===================================================================
+--- pycurl-7.43.0.6.orig/tests/resolve_test.py
++++ pycurl-7.43.0.6/tests/resolve_test.py
 @@ -2,7 +2,6 @@
  
  import pycurl
@@ -425,8 +451,10 @@
  
          self.curl.setopt(pycurl.URL, 'http://p.localhost:8380/success')
          self.curl.setopt(pycurl.RESOLVE, ['p.localhost:8380:127.0.0.1'])
---- a/tests/run.sh
-+++ b/tests/run.sh
+Index: pycurl-7.43.0.6/tests/run.sh
+===================================================================
+--- pycurl-7.43.0.6.orig/tests/run.sh
++++ pycurl-7.43.0.6/tests/run.sh
 @@ -4,7 +4,7 @@ set -e
  set -x
  
@@ -443,8 +471,10 @@
 -$NOSETESTS -a \!standalone"$extra_attrs" --with-flaky --show-skipped "$@"
 -$NOSETESTS -a standalone --with-flaky --show-skipped "$@"
 +$PYTEST
---- a/tests/setopt_string_test.py
-+++ b/tests/setopt_string_test.py
+Index: pycurl-7.43.0.6/tests/setopt_string_test.py
+===================================================================
+--- pycurl-7.43.0.6.orig/tests/setopt_string_test.py
++++ pycurl-7.43.0.6/tests/setopt_string_test.py
 @@ -3,9 +3,9 @@
  # vi:ts=4:et
  
@@ -465,8 +495,10 @@
 -        self.curl.setopt_string(pycurl.VERBOSE, True)
 +        with pytest.raises(TypeError):
 +            self.curl.setopt_string(pycurl.VERBOSE, True)
---- a/tests/setopt_test.py
-+++ b/tests/setopt_test.py
+Index: pycurl-7.43.0.6/tests/setopt_test.py
+===================================================================
+--- pycurl-7.43.0.6.orig/tests/setopt_test.py
++++ pycurl-7.43.0.6/tests/setopt_test.py
 @@ -4,8 +4,8 @@
  
  from . import localhost
@@ -505,8 +537,10 @@
  
      def test_httpheader_list(self):
          self.curl.setopt(self.curl.HTTPHEADER, ['Accept:'])
---- a/tests/setopt_unicode_test.py
-+++ b/tests/setopt_unicode_test.py
+Index: pycurl-7.43.0.6/tests/setopt_unicode_test.py
+===================================================================
+--- pycurl-7.43.0.6.orig/tests/setopt_unicode_test.py
++++ pycurl-7.43.0.6/tests/setopt_unicode_test.py
 @@ -4,8 +4,8 @@
  
  from . import localhost
@@ -529,8 +563,10 @@
  
      def test_unicode_encoded(self):
          self.check(util.u('p=????????????').encode('utf8'), 
util.u('????????????'))
---- a/tests/setup_test.py
-+++ b/tests/setup_test.py
+Index: pycurl-7.43.0.6/tests/setup_test.py
+===================================================================
+--- pycurl-7.43.0.6.orig/tests/setup_test.py
++++ pycurl-7.43.0.6/tests/setup_test.py
 @@ -6,7 +6,6 @@ from . import util
  import setup as pycurl_setup
  import unittest
@@ -548,8 +584,10 @@
  
              return fn(*args, **kwargs)
          return decorated
---- a/tests/share_test.py
-+++ b/tests/share_test.py
+Index: pycurl-7.43.0.6/tests/share_test.py
+===================================================================
+--- pycurl-7.43.0.6.orig/tests/share_test.py
++++ pycurl-7.43.0.6/tests/share_test.py
 @@ -5,8 +5,8 @@
  from . import localhost
  import threading
@@ -576,8 +614,10 @@
 -        pycurl.CurlShare(a=1)
 +        with pytest.raises(TypeError):
 +            pycurl.CurlShare(a=1)
---- a/tests/ssh_key_cb_test.py
-+++ b/tests/ssh_key_cb_test.py
+Index: pycurl-7.43.0.6/tests/ssh_key_cb_test.py
+===================================================================
+--- pycurl-7.43.0.6.orig/tests/ssh_key_cb_test.py
++++ pycurl-7.43.0.6/tests/ssh_key_cb_test.py
 @@ -2,16 +2,16 @@
  # -*- coding: utf-8 -*-
  # vi:ts=4:et
@@ -607,8 +647,10 @@
  class SshKeyCbUnsetTest(unittest.TestCase):
      def setUp(self):
          self.curl = util.DefaultCurl()
---- a/tests/util.py
-+++ b/tests/util.py
+Index: pycurl-7.43.0.6/tests/util.py
+===================================================================
+--- pycurl-7.43.0.6.orig/tests/util.py
++++ pycurl-7.43.0.6/tests/util.py
 @@ -5,6 +5,7 @@ import tempfile
  import os, sys, socket
  import time as _time
@@ -681,7 +723,7 @@
      import pycurl
  
      @functools.wraps(fn)
-@@ -132,7 +124,7 @@ def only_ssl(fn):
+@@ -132,21 +124,20 @@ def only_ssl(fn):
          # theoretically it is not the same test.
          # pycurl.version_info()[8] is a tuple of protocols supported by 
libcurl
          if 'https' not in pycurl.version_info()[8]:
@@ -690,7 +732,22 @@
  
          return fn(*args, **kwargs)
  
-@@ -140,7 +132,6 @@ def only_ssl(fn):
+     return decorated
+ 
+ def only_telnet(fn):
+-    import nose.plugins.skip
+     import pycurl
+ 
+     @functools.wraps(fn)
+     def decorated(*args, **kwargs):
+         # pycurl.version_info()[8] is a tuple of protocols supported by 
libcurl
+         if 'telnet' not in pycurl.version_info()[8]:
+-            raise nose.plugins.skip.SkipTest('libcurl does not support 
telnet')
++            raise unittest.SkipTest('libcurl does not support telnet')
+ 
+         return fn(*args, **kwargs)
+ 
+@@ -154,7 +145,6 @@ def only_telnet(fn):
  
  def only_ssl_backends(*backends):
      def decorator(fn):
@@ -698,7 +755,7 @@
          import pycurl
  
          @functools.wraps(fn)
-@@ -149,7 +140,7 @@ def only_ssl_backends(*backends):
+@@ -163,7 +153,7 @@ def only_ssl_backends(*backends):
              # theoretically it is not the same test.
              # pycurl.version_info()[8] is a tuple of protocols supported by 
libcurl
              if 'https' not in pycurl.version_info()[8]:
@@ -707,7 +764,7 @@
  
              # XXX move to pycurl library
              if 'OpenSSL/' in pycurl.version:
-@@ -161,7 +152,7 @@ def only_ssl_backends(*backends):
+@@ -175,7 +165,7 @@ def only_ssl_backends(*backends):
              else:
                  current_backend = 'none'
              if current_backend not in backends:
@@ -716,7 +773,7 @@
  
              return fn(*args, **kwargs)
  
-@@ -169,25 +160,22 @@ def only_ssl_backends(*backends):
+@@ -183,25 +173,22 @@ def only_ssl_backends(*backends):
      return decorator
  
  def only_ipv6(fn):
@@ -744,7 +801,7 @@
  
          return fn(*args, **kwargs)
  
-@@ -200,7 +188,6 @@ def guard_unknown_libcurl_option(fn):
+@@ -214,7 +201,6 @@ def guard_unknown_libcurl_option(fn):
      where libcurl does not provide a way of detecting whether the
      required libraries were compiled against.'''
  
@@ -752,7 +809,7 @@
      import pycurl
  
      @functools.wraps(fn)
-@@ -211,7 +198,7 @@ def guard_unknown_libcurl_option(fn):
+@@ -225,7 +211,7 @@ def guard_unknown_libcurl_option(fn):
              exc = sys.exc_info()[1]
              # E_UNKNOWN_OPTION is available as of libcurl 7.21.5
              if hasattr(pycurl, 'E_UNKNOWN_OPTION') and exc.args[0] == 
pycurl.E_UNKNOWN_OPTION:
@@ -761,7 +818,7 @@
  
      return decorated
  
-@@ -286,12 +273,12 @@ def DefaultCurlLocalhost(port):
+@@ -300,12 +286,12 @@ def DefaultCurlLocalhost(port):
      '''This is a default curl with localhost -> 127.0.0.1 name mapping
      on windows systems, because they don't have it in the hosts file.
      '''
@@ -777,8 +834,10 @@
      return curl
  
  def with_real_write_file(fn):
---- a/tests/memory_mgmt_test.py
-+++ b/tests/memory_mgmt_test.py
+Index: pycurl-7.43.0.6/tests/memory_mgmt_test.py
+===================================================================
+--- pycurl-7.43.0.6.orig/tests/memory_mgmt_test.py
++++ pycurl-7.43.0.6/tests/memory_mgmt_test.py
 @@ -9,7 +9,7 @@ import unittest
  import gc
  import flaky
@@ -847,8 +906,10 @@
          c.close()
          gc.collect()
          assert ref() is None
---- a/tests/multi_memory_mgmt_test.py
-+++ b/tests/multi_memory_mgmt_test.py
+Index: pycurl-7.43.0.6/tests/multi_memory_mgmt_test.py
+===================================================================
+--- pycurl-7.43.0.6.orig/tests/multi_memory_mgmt_test.py
++++ pycurl-7.43.0.6/tests/multi_memory_mgmt_test.py
 @@ -7,21 +7,21 @@ import unittest
  import gc
  import flaky
@@ -911,8 +972,10 @@
          m.remove_handle(ref())
          gc.collect()
          assert ref() is None
---- a/tests/multi_timer_test.py
-+++ b/tests/multi_timer_test.py
+Index: pycurl-7.43.0.6/tests/multi_timer_test.py
+===================================================================
+--- pycurl-7.43.0.6.orig/tests/multi_timer_test.py
++++ pycurl-7.43.0.6/tests/multi_timer_test.py
 @@ -5,7 +5,7 @@
  from . import localhost
  import pycurl

Reply via email to