[yum-commits] urlgrabber/grabber.py

zpavlas at osuosl.org zpavlas at osuosl.org
Wed Jan 9 08:35:12 UTC 2013


 urlgrabber/grabber.py |    8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

New commits:
commit 9b9a1db530511197d98df076dc97a13252d69711
Author: Zdeněk Pavlas <zpavlas at redhat.com>
Date:   Tue Jan 8 11:39:30 2013 +0100

    Enable GSSNEGOTIATE when curl >= 7.28.0  BZ 892070.
    
    The underlying curl bug "auth status not being cleared
    when handles are reset" was fixed in 7.28.0
    
    https://sourceforge.net/p/curl/bugs/1127/

diff --git a/urlgrabber/grabber.py b/urlgrabber/grabber.py
index 6ce9861..44e2848 100644
--- a/urlgrabber/grabber.py
+++ b/urlgrabber/grabber.py
@@ -1417,9 +1417,11 @@ class PyCurlFileObject(object):
         # proxy
         if opts.proxy is not None:
             self.curl_obj.setopt(pycurl.PROXY, opts.proxy)
-            self.curl_obj.setopt(pycurl.PROXYAUTH,
-                # All but Kerberos.  BZ 769254
-                pycurl.HTTPAUTH_ANY - pycurl.HTTPAUTH_GSSNEGOTIATE)
+            auth = pycurl.HTTPAUTH_ANY
+            if pycurl.version_info()[2] < (7 << 16 | 28 << 8 | 0):
+                # BZ 769254: work around a bug in curl < 7.28.0
+                auth &= ~pycurl.HTTPAUTH_GSSNEGOTIATE
+            self.curl_obj.setopt(pycurl.PROXYAUTH, auth)
 
         if opts.username and opts.password:
             if self.scheme in ('http', 'https'):


More information about the Yum-commits mailing list