diff options
author | Rob Crittenden <rcritten@redhat.com> | 2009-10-02 09:21:45 -0400 |
---|---|---|
committer | Jason Gerard DeRose <jderose@redhat.com> | 2009-10-05 12:57:31 -0600 |
commit | aa7792a00035c7b7a37726f07a08824d8a4334f8 (patch) | |
tree | ae8b6177bedc396a5119739cd8f2d47e789adcfd | |
parent | 0d70c68395f180ad61b6cefedcef9d8d428df46c (diff) | |
download | freeipa-aa7792a00035c7b7a37726f07a08824d8a4334f8.tar.gz freeipa-aa7792a00035c7b7a37726f07a08824d8a4334f8.tar.xz freeipa-aa7792a00035c7b7a37726f07a08824d8a4334f8.zip |
Add option to not normalize a DN when adding/updating a record.
The KDC ldap plugin is very picky about the format of DNs. It does
not allow spacing between elements so we can't normalize it.
-rw-r--r-- | ipaserver/plugins/ldap2.py | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/ipaserver/plugins/ldap2.py b/ipaserver/plugins/ldap2.py index 2bdf51a87..9c655eced 100644 --- a/ipaserver/plugins/ldap2.py +++ b/ipaserver/plugins/ldap2.py @@ -330,9 +330,10 @@ class ldap2(CrudBackend, Encoder): del entry_attrs[k] @encode_args(1, 2) - def add_entry(self, dn, entry_attrs): + def add_entry(self, dn, entry_attrs, normalize=True): """Create a new entry.""" - dn = self.normalize_dn(dn) + if normalize: + dn = self.normalize_dn(dn) # remove all None values, python-ldap hates'em entry_attrs = dict( (k, v) for (k, v) in entry_attrs.iteritems() if v is not None @@ -602,9 +603,10 @@ class ldap2(CrudBackend, Encoder): _handle_errors(e, **{}) @encode_args(1) - def delete_entry(self, dn): + def delete_entry(self, dn, normalize=True): """Delete entry.""" - dn = self.normalize_dn(dn) + if normalize: + dn = self.normalize_dn(dn) try: self.conn.delete_s(dn) except _ldap.LDAPError, e: |