parent
5b09f4de5f
commit
bb9c72092b
2 changed files with 15 additions and 11 deletions
|
|
@ -575,17 +575,12 @@ def activate_session(session, options):
|
|||
elif options.authtype == "kerberos" or has_krb_creds() and options.authtype is None:
|
||||
try:
|
||||
if getattr(options, 'keytab', None) and getattr(options, 'principal', None):
|
||||
session.krb_login(principal=options.principal, keytab=options.keytab,
|
||||
proxyuser=runas)
|
||||
session.gssapi_login(principal=options.principal, keytab=options.keytab,
|
||||
proxyuser=runas)
|
||||
else:
|
||||
session.krb_login(proxyuser=runas)
|
||||
session.gssapi_login(proxyuser=runas)
|
||||
except socket.error as e:
|
||||
warn(_("Could not connect to Kerberos authentication service: %s") % e.args[1])
|
||||
except Exception as e:
|
||||
if krbV is not None and isinstance(e, krbV.Krb5Error):
|
||||
error(_("Kerberos authentication failed: %s (%s)") % (e.args[1], e.args[0]))
|
||||
else:
|
||||
raise
|
||||
if not noauth and not session.logged_in:
|
||||
error(_("Unable to log in, no authentication methods available"))
|
||||
ensure_connection(session)
|
||||
|
|
|
|||
|
|
@ -34,6 +34,7 @@ class TestActivateSession(unittest.TestCase):
|
|||
session.login.assert_not_called()
|
||||
session.ssl_login.assert_not_called()
|
||||
session.krb_login.assert_not_called()
|
||||
session.gssapi_login.assert_not_called()
|
||||
|
||||
def test_activate_session_ssl(self):
|
||||
session = mock.MagicMock()
|
||||
|
|
@ -48,6 +49,7 @@ class TestActivateSession(unittest.TestCase):
|
|||
proxyuser=None)
|
||||
session.login.assert_not_called()
|
||||
session.krb_login.assert_not_called()
|
||||
session.gssapi_login.assert_not_called()
|
||||
|
||||
def test_activate_session_ssl_implicit(self):
|
||||
session = mock.MagicMock()
|
||||
|
|
@ -63,6 +65,7 @@ class TestActivateSession(unittest.TestCase):
|
|||
proxyuser=None)
|
||||
session.login.assert_not_called()
|
||||
session.krb_login.assert_not_called()
|
||||
session.gssapi_login.assert_not_called()
|
||||
|
||||
def test_activate_session_pw(self):
|
||||
session = mock.MagicMock()
|
||||
|
|
@ -72,6 +75,7 @@ class TestActivateSession(unittest.TestCase):
|
|||
session.login.assert_called_once_with()
|
||||
session.ssl_login.assert_not_called()
|
||||
session.krb_login.assert_not_called()
|
||||
session.gssapi_login.assert_not_called()
|
||||
|
||||
def test_activate_session_pw_implicit(self):
|
||||
session = mock.MagicMock()
|
||||
|
|
@ -82,6 +86,7 @@ class TestActivateSession(unittest.TestCase):
|
|||
session.login.assert_called_once_with()
|
||||
session.ssl_login.assert_not_called()
|
||||
session.krb_login.assert_not_called()
|
||||
session.gssapi_login.assert_not_called()
|
||||
|
||||
def test_activate_session_krb(self):
|
||||
session = mock.MagicMock()
|
||||
|
|
@ -91,7 +96,8 @@ class TestActivateSession(unittest.TestCase):
|
|||
activate_session(session, options)
|
||||
session.login.assert_not_called()
|
||||
session.ssl_login.assert_not_called()
|
||||
session.krb_login.assert_called_once_with(proxyuser=None)
|
||||
session.krb_login.assert_not_called()
|
||||
session.gssapi_login.assert_called_once_with(proxyuser=None)
|
||||
|
||||
def test_activate_session_krb_implicit(self):
|
||||
session = mock.MagicMock()
|
||||
|
|
@ -102,7 +108,8 @@ class TestActivateSession(unittest.TestCase):
|
|||
activate_session(session, options)
|
||||
session.login.assert_not_called()
|
||||
session.ssl_login.assert_not_called()
|
||||
session.krb_login.assert_called_once_with(proxyuser=None)
|
||||
session.krb_login.assert_not_called()
|
||||
session.gssapi_login.assert_called_once_with(proxyuser=None)
|
||||
|
||||
def test_activate_session_krb_keytab(self):
|
||||
session = mock.MagicMock()
|
||||
|
|
@ -112,7 +119,8 @@ class TestActivateSession(unittest.TestCase):
|
|||
activate_session(session, options)
|
||||
session.login.assert_not_called()
|
||||
session.ssl_login.assert_not_called()
|
||||
session.krb_login.assert_called_once_with(principal='PRINCIPAL',
|
||||
session.krb_login.assert_not_called()
|
||||
session.gssapi_login.assert_called_once_with(principal='PRINCIPAL',
|
||||
keytab='KEYTAB', proxyuser=None)
|
||||
|
||||
def test_activate_session_no_method(self):
|
||||
|
|
@ -124,4 +132,5 @@ class TestActivateSession(unittest.TestCase):
|
|||
session.login.assert_not_called()
|
||||
session.ssl_login.assert_not_called()
|
||||
session.krb_login.assert_not_called()
|
||||
session.gssapi_login.assert_not_called()
|
||||
self.error.assert_called_once()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue