From 6249ccd7275d628d00136d710e7fc50d85358ddd Mon Sep 17 00:00:00 2001 From: Mike Adamson Date: Mon, 5 Jan 2015 12:54:52 +0000 Subject: [PATCH] Allow GSS to work with older version of kerberos library --- puresasl/mechanisms.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/puresasl/mechanisms.py b/puresasl/mechanisms.py index 37a47f9..5f26c28 100644 --- a/puresasl/mechanisms.py +++ b/puresasl/mechanisms.py @@ -452,8 +452,14 @@ def __init__(self, sasl, principal=None, **props): self._fetch_properties('host', 'service') krb_service = b'@'.join((bytes(self.service), bytes(self.host))) - _, self.context = kerberos.authGSSClientInit( - service=krb_service, principal=self.principal) + try: + _, self.context = kerberos.authGSSClientInit( + service=krb_service, principal=self.principal) + except TypeError: + if self.principal is not None: + raise StandardError("Error: kerberos library does not support principal.") + _, self.context = kerberos.authGSSClientInit( + service=krb_service) def process(self, challenge=None): if not self._have_negotiated_details: