diff options
author | Jan Cholasta <jcholast@redhat.com> | 2012-04-03 09:23:39 -0400 |
---|---|---|
committer | Rob Crittenden <rcritten@redhat.com> | 2012-04-08 17:10:39 -0400 |
commit | dcea80fc1700aff5a87e3f3bff442e80455243a0 (patch) | |
tree | e6578859de1b0298d15209bf81b1fa999591409c /ipalib | |
parent | 7471ba22370626b26413c0f861c4ebb4a7128948 (diff) | |
download | freeipa-dcea80fc1700aff5a87e3f3bff442e80455243a0.tar.gz freeipa-dcea80fc1700aff5a87e3f3bff442e80455243a0.tar.xz freeipa-dcea80fc1700aff5a87e3f3bff442e80455243a0.zip |
Check configured maximum user login length on user rename.
ticket 2587
Diffstat (limited to 'ipalib')
-rw-r--r-- | ipalib/plugins/user.py | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/ipalib/plugins/user.py b/ipalib/plugins/user.py index a1afe40a3..5b20984c4 100644 --- a/ipalib/plugins/user.py +++ b/ipalib/plugins/user.py @@ -551,6 +551,16 @@ class user_mod(LDAPUpdate): has_output_params = LDAPUpdate.has_output_params + user_output_params def pre_callback(self, ldap, dn, entry_attrs, attrs_list, *keys, **options): + if 'rename' in options: + config = ldap.get_ipa_config()[1] + if 'ipamaxusernamelength' in config: + if len(options['rename']) > int(config.get('ipamaxusernamelength')[0]): + raise errors.ValidationError( + name=self.obj.primary_key.cli_name, + error=_('can be at most %(len)d characters') % dict( + len = int(config.get('ipamaxusernamelength')[0]) + ) + ) if 'mail' in entry_attrs: entry_attrs['mail'] = self.obj._normalize_email(entry_attrs['mail']) if 'manager' in entry_attrs: |