diff options
author | rcritten@redhat.com <rcritten@redhat.com> | 2007-09-11 02:48:53 -0400 |
---|---|---|
committer | rcritten@redhat.com <rcritten@redhat.com> | 2007-09-11 02:48:53 -0400 |
commit | ed6ab17c9c703edb43c92a3205c5536771ce4d4f (patch) | |
tree | af34ee5fdda2896a180ac332b0db4d9e57d2533d /ipa-server/xmlrpc-server/funcs.py | |
parent | 2ca655980b623a4a65a635a1467c0db90f421f25 (diff) | |
download | freeipa.git-ed6ab17c9c703edb43c92a3205c5536771ce4d4f.tar.gz freeipa.git-ed6ab17c9c703edb43c92a3205c5536771ce4d4f.tar.xz freeipa.git-ed6ab17c9c703edb43c92a3205c5536771ce4d4f.zip |
Add function to allow user's to set/reset their kerberos password
Remove some unused calls to retrieve the current realm
Diffstat (limited to 'ipa-server/xmlrpc-server/funcs.py')
-rw-r--r-- | ipa-server/xmlrpc-server/funcs.py | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/ipa-server/xmlrpc-server/funcs.py b/ipa-server/xmlrpc-server/funcs.py index 66fabf4b..79dd04d6 100644 --- a/ipa-server/xmlrpc-server/funcs.py +++ b/ipa-server/xmlrpc-server/funcs.py @@ -524,6 +524,24 @@ class IPAServer: self.releaseConnection(conn) return res + def modifyPassword (self, uid, oldpass, newpass, opts=None): + """Set/Reset a user's password + + uid tells us who's password to change + oldpass is the old password (if available) + newpass is the new password + """ + user_dn = self.get_user_by_uid(uid, ['dn', 'uid', 'objectclass'], opts) + if user_dn is None: + raise ipaerror.gen_exception(ipaerror.LDAP_NOT_FOUND) + + conn = self.getConnection(opts) + try: + res = conn.modifyPassword(user_dn['dn'], oldpass, newpass) + finally: + self.releaseConnection(conn) + return res + # Group support def __is_group_unique(self, cn, opts): |