summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRob Crittenden <rcritten@redhat.com>2007-12-03 18:07:47 -0500
committerRob Crittenden <rcritten@redhat.com>2007-12-03 18:07:47 -0500
commit299e45769811c7573d1389e5eb25643e62b1d128 (patch)
tree8692894565daaeb4b76554ed9050e6497eb67dfd
parent25c542870dc59db59008d7c683f4f12596d68a1e (diff)
downloadfreeipa-299e45769811c7573d1389e5eb25643e62b1d128.tar.gz
freeipa-299e45769811c7573d1389e5eb25643e62b1d128.tar.xz
freeipa-299e45769811c7573d1389e5eb25643e62b1d128.zip
Convert krbmaxpwdlife and krbminpwdlife from seconds into days and hours
-rw-r--r--ipa-server/ipa-gui/ipagui/forms/ipapolicy.py4
-rw-r--r--ipa-server/xmlrpc-server/funcs.py21
2 files changed, 18 insertions, 7 deletions
diff --git a/ipa-server/ipa-gui/ipagui/forms/ipapolicy.py b/ipa-server/ipa-gui/ipagui/forms/ipapolicy.py
index 6cd967a97..78acac664 100644
--- a/ipa-server/ipa-gui/ipagui/forms/ipapolicy.py
+++ b/ipa-server/ipa-gui/ipagui/forms/ipapolicy.py
@@ -16,8 +16,8 @@ class IPAPolicyFields(object):
ipapolicy_orig = widgets.HiddenField(name="ipapolicy_orig")
# From cn=accounts
- krbmaxpwdlife = widgets.TextField(name="krbmaxpwdlife", label="Max. Password Lifetime", attrs=dict(size=3,maxlength=3))
- krbminpwdlife = widgets.TextField(name="krbminpwdlife", label="Min. Password Lifetime", attrs=dict(size=3,maxlength=3))
+ krbmaxpwdlife = widgets.TextField(name="krbmaxpwdlife", label="Max. Password Lifetime (days)", attrs=dict(size=3,maxlength=3))
+ krbminpwdlife = widgets.TextField(name="krbminpwdlife", label="Min. Password Lifetime (hours)", attrs=dict(size=3,maxlength=3))
krbpwdmindiffchars = widgets.TextField(name="krbpwdmindiffchars", label="Min. number of character classes", attrs=dict(size=3,maxlength=3))
krbpwdminlength = widgets.TextField(name="krbpwdminlength", label="Min. Length of password", attrs=dict(size=3,maxlength=3))
krbpwdhistorylength = widgets.TextField(name="krbpwdhistorylength", label="Password History size", attrs=dict(size=3,maxlength=3))
diff --git a/ipa-server/xmlrpc-server/funcs.py b/ipa-server/xmlrpc-server/funcs.py
index 032f6b422..12131c26b 100644
--- a/ipa-server/xmlrpc-server/funcs.py
+++ b/ipa-server/xmlrpc-server/funcs.py
@@ -1406,6 +1406,10 @@ class IPAServer:
except ipaerror.exception_for(ipaerror.LDAP_NOT_FOUND):
raise ipaerror.gen_exception(ipaerror.LDAP_NO_CONFIG)
+ # convert some values for display purposes
+ policy['krbmaxpwdlife'] = str(int(policy.get('krbmaxpwdlife')) / 86400)
+ policy['krbminpwdlife'] = str(int(policy.get('krbminpwdlife')) / 3600)
+
return policy
def update_password_policy(self, oldpolicy, newpolicy, opts=None):
@@ -1414,11 +1418,18 @@ class IPAServer:
# The LDAP routines want strings, not ints, so convert a few
# things. Otherwise it sees a string -> int conversion as a change.
try:
- newpolicy['krbmaxpwdlife'] = str(newpolicy.get('krbmaxpwdlife'))
- newpolicy['krbminpwdlife'] = str(newpolicy.get('krbminpwdlife'))
- newpolicy['krbpwdhistorylength'] = str(newpolicy.get('krbpwdhistorylength'))
- newpolicy['krbpwdmindiffchars'] = str(newpolicy.get('krbpwdmindiffchars'))
- newpolicy['krbpwdminlength'] = str(newpolicy.get('krbpwdminlength'))
+ for k in oldpolicy.iterkeys():
+ if k.startswith("krb", 0, 3):
+ oldpolicy[k] = str(oldpolicy[k])
+ for k in newpolicy.iterkeys():
+ if k.startswith("krb", 0, 3):
+ newpolicy[k] = str(newpolicy[k])
+
+ # Convert hours and days to seconds
+ oldpolicy['krbmaxpwdlife'] = str(int(oldpolicy.get('krbmaxpwdlife')) * 86400)
+ oldpolicy['krbminpwdlife'] = str(int(oldpolicy.get('krbminpwdlife')) * 3600)
+ newpolicy['krbmaxpwdlife'] = str(int(newpolicy.get('krbmaxpwdlife')) * 86400)
+ newpolicy['krbminpwdlife'] = str(int(newpolicy.get('krbminpwdlife')) * 3600)
except KeyError:
# These should all be there but if not, let things proceed
pass