Skip to content

Commit 2e3e5ec

Browse files
Add SPNEGOExchangeError (and retain KerberosExchangeError as a shim)
Signed-off-by: Robbie Harwood <[email protected]> Resolves: #1
1 parent 79e4750 commit 2e3e5ec

File tree

3 files changed

+12
-9
lines changed

3 files changed

+12
-9
lines changed

requests_gssapi/exceptions.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,8 @@ class MutualAuthenticationError(RequestException):
1212
"""Mutual Authentication Error"""
1313

1414

15-
class KerberosExchangeError(RequestException):
16-
"""Kerberos Exchange Failed Error"""
15+
class SPNEGOExchangeError(RequestException):
16+
"""SPNEGO Exchange Failed Error"""
17+
18+
# drop-in shim!
19+
KerberosExchangeError = SPNEGOExchangeError

requests_gssapi/gssapi_.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
from requests.structures import CaseInsensitiveDict
1010
from requests.cookies import cookiejar_from_dict
1111

12-
from .exceptions import MutualAuthenticationError, KerberosExchangeError
12+
from .exceptions import MutualAuthenticationError, SPNEGOExchangeError
1313

1414
log = logging.getLogger(__name__)
1515

@@ -95,9 +95,9 @@ def __init__(self, mutual_authentication=REQUIRED, service="HTTP",
9595

9696
def generate_request_header(self, response, host, is_preemptive=False):
9797
"""
98-
Generates the GSSAPI authentication token with kerberos.
98+
Generates the GSSAPI authentication token
9999
100-
If any GSSAPI step fails, raise KerberosExchangeError
100+
If any GSSAPI step fails, raise SPNEGOExchangeError
101101
with failure detail.
102102
103103
"""
@@ -143,7 +143,7 @@ def generate_request_header(self, response, host, is_preemptive=False):
143143
log.exception(
144144
"generate_request_header(): {0} failed:".format(gss_stage))
145145
log.exception(msg)
146-
raise KerberosExchangeError("%s failed: %s" % (gss_stage, msg))
146+
raise SPNEGOExchangeError("%s failed: %s" % (gss_stage, msg))
147147

148148
def authenticate_user(self, response, **kwargs):
149149
"""Handles user authentication with GSSAPI"""
@@ -152,7 +152,7 @@ def authenticate_user(self, response, **kwargs):
152152

153153
try:
154154
auth_header = self.generate_request_header(response, host)
155-
except KerberosExchangeError:
155+
except SPNEGOExchangeError:
156156
# GSS Failure, return existing response
157157
return response
158158

test_requests_gssapi.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ def test_generate_request_header_init_error(self):
104104
response.headers = {'www-authenticate': 'negotiate token'}
105105
host = urlparse(response.url).hostname
106106
auth = requests_gssapi.HTTPSPNEGOAuth()
107-
self.assertRaises(requests_gssapi.exceptions.KerberosExchangeError,
107+
self.assertRaises(requests_gssapi.exceptions.SPNEGOExchangeError,
108108
auth.generate_request_header, response, host)
109109
fake_init.assert_called_with(
110110
name=gssapi.Name("[email protected]"),
@@ -118,7 +118,7 @@ def test_generate_request_header_step_error(self):
118118
response.headers = {'www-authenticate': 'negotiate token'}
119119
host = urlparse(response.url).hostname
120120
auth = requests_gssapi.HTTPSPNEGOAuth()
121-
self.assertRaises(requests_gssapi.exceptions.KerberosExchangeError,
121+
self.assertRaises(requests_gssapi.exceptions.SPNEGOExchangeError,
122122
auth.generate_request_header, response, host)
123123
fake_init.assert_called_with(
124124
name=gssapi.Name("[email protected]"),

0 commit comments

Comments
 (0)