summaryrefslogtreecommitdiffstats
path: root/src/config
diff options
context:
space:
mode:
authorSumit Bose <sbose@redhat.com>2010-04-19 11:59:09 +0200
committerStephen Gallagher <sgallagh@redhat.com>2010-05-07 16:38:23 -0400
commitfc7ec12f1b851bab1eedf3ecdcb094ea80b46dd2 (patch)
tree9aa674b262b92ebe2f66c745a42f6cec4a0a1c18 /src/config
parentca6aa84e20e445fb04dfce416a8c3a1912b26451 (diff)
downloadsssd-fc7ec12f1b851bab1eedf3ecdcb094ea80b46dd2.tar.gz
sssd-fc7ec12f1b851bab1eedf3ecdcb094ea80b46dd2.tar.xz
sssd-fc7ec12f1b851bab1eedf3ecdcb094ea80b46dd2.zip
Add support for delayed kinit if offline
If the configuration option krb5_store_password_if_offline is set to true and the backend is offline the plain text user password is stored and used to request a TGT if the backend becomes online. If available the Linux kernel key retention service is used.
Diffstat (limited to 'src/config')
-rw-r--r--src/config/SSSDConfig.py1
-rwxr-xr-xsrc/config/SSSDConfigTest.py3
-rw-r--r--src/config/etc/sssd.api.d/sssd-krb5.conf1
3 files changed, 5 insertions, 0 deletions
diff --git a/src/config/SSSDConfig.py b/src/config/SSSDConfig.py
index 18df97904..ead74c217 100644
--- a/src/config/SSSDConfig.py
+++ b/src/config/SSSDConfig.py
@@ -98,6 +98,7 @@ option_strings = {
'krb5_ccname_template' : _("Location of the user's credential cache"),
'krb5_keytab' : _("Location of the keytab to validate credentials"),
'krb5_validate' : _("Enable credential validation"),
+ 'krb5_store_password_if_offline' : _("Store password if offline for later online authentication"),
# [provider/krb5/chpass]
'krb5_changepw_principal' : _('The principal of the change password service'),
diff --git a/src/config/SSSDConfigTest.py b/src/config/SSSDConfigTest.py
index 7b005f6ca..6381d3bb8 100755
--- a/src/config/SSSDConfigTest.py
+++ b/src/config/SSSDConfigTest.py
@@ -548,6 +548,7 @@ class SSSDConfigTestSSSDDomain(unittest.TestCase):
'krb5_ccname_template',
'krb5_keytab',
'krb5_validate',
+ 'krb5_store_password_if_offline',
'krb5_auth_timeout'])
options = domain.list_options()
@@ -721,6 +722,7 @@ class SSSDConfigTestSSSDDomain(unittest.TestCase):
'krb5_ccname_template',
'krb5_keytab',
'krb5_validate',
+ 'krb5_store_password_if_offline',
'krb5_auth_timeout']
self.assertTrue(type(options) == dict,
@@ -867,6 +869,7 @@ class SSSDConfigTestSSSDDomain(unittest.TestCase):
'krb5_ccname_template',
'krb5_keytab',
'krb5_validate',
+ 'krb5_store_password_if_offline',
'krb5_auth_timeout'])
options = domain.list_options()
diff --git a/src/config/etc/sssd.api.d/sssd-krb5.conf b/src/config/etc/sssd.api.d/sssd-krb5.conf
index f03ce6dbd..adc309feb 100644
--- a/src/config/etc/sssd.api.d/sssd-krb5.conf
+++ b/src/config/etc/sssd.api.d/sssd-krb5.conf
@@ -9,6 +9,7 @@ krb5_ccachedir = str, None, false
krb5_ccname_template = str, None, false
krb5_keytab = str, None, false
krb5_validate = bool, None, false
+krb5_store_password_if_offline = bool, None, false
[provider/krb5/chpass]
krb5_changepw_principal = str, None, false