aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--test_trac.py14
-rw-r--r--urllib2_kerberos.py4
2 files changed, 17 insertions, 1 deletions
diff --git a/test_trac.py b/test_trac.py
new file mode 100644
index 0000000..06cbb77
--- /dev/null
+++ b/test_trac.py
@@ -0,0 +1,14 @@
+#!/usr/bin/python
+import urllib2
+import cookielib
+import urllib2_kerberos
+
+
+cj = cookielib.CookieJar()
+opener = urllib2.build_opener(urllib2.HTTPSHandler(debuglevel=2),
+ urllib2.HTTPRedirectHandler,
+ urllib2.HTTPCookieProcessor(cj),
+ urllib2_kerberos.HTTPKerberosAuthHandler)
+
+response = opener.open(
+ 'https://trac.dqe.lab.eng.bos.redhat.com/desktopqe-backlog/login')
diff --git a/urllib2_kerberos.py b/urllib2_kerberos.py
index ecac521..84542bd 100644
--- a/urllib2_kerberos.py
+++ b/urllib2_kerberos.py
@@ -46,6 +46,7 @@ class AbstractKerberosAuthHandler:
"""checks for "Negotiate" in proper auth header
"""
authreq = headers.get(self.auth_header, None)
+ log.debug('authreq = {}'.format(authreq))
if authreq:
rx = re.compile(r'(?:.*,)*\s*Negotiate\s*([^,]*),?', re.I)
@@ -136,7 +137,8 @@ class AbstractKerberosAuthHandler:
req.add_unredirected_header(self.authz_header, neg_hdr)
resp = self.parent.open(req)
- self.authenticate_server(resp.info())
+ if resp.getcode() != 200:
+ self.authenticate_server(resp.info())
return resp