summaryrefslogtreecommitdiffstats
path: root/ipaserver
diff options
context:
space:
mode:
authorRob Crittenden <rcritten@redhat.com>2009-10-02 09:21:45 -0400
committerJason Gerard DeRose <jderose@redhat.com>2009-10-05 12:57:31 -0600
commitaa7792a00035c7b7a37726f07a08824d8a4334f8 (patch)
treeae8b6177bedc396a5119739cd8f2d47e789adcfd /ipaserver
parent0d70c68395f180ad61b6cefedcef9d8d428df46c (diff)
downloadfreeipa-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.
Diffstat (limited to 'ipaserver')
-rw-r--r--ipaserver/plugins/ldap2.py10
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: