From cc336cf9c17283684df7b850e010d669122126a5 Mon Sep 17 00:00:00 2001 From: Rob Crittenden Date: Fri, 16 Apr 2010 16:23:45 -0400 Subject: Use escapes in DNs instead of quoting. Based on initial patch from Pavel Zuna. --- ipaserver/install/dsinstance.py | 5 ++++- ipaserver/install/ldapupdate.py | 3 +++ 2 files changed, 7 insertions(+), 1 deletion(-) (limited to 'ipaserver') diff --git a/ipaserver/install/dsinstance.py b/ipaserver/install/dsinstance.py index f535b7ba..61887dde 100644 --- a/ipaserver/install/dsinstance.py +++ b/ipaserver/install/dsinstance.py @@ -34,6 +34,7 @@ import service import installutils import certs import ldap +from ldap.dn import escape_dn_chars from ipaserver import ipaldap from ipaserver.install import ldapupdate from ipaserver.install import httpinstance @@ -209,7 +210,9 @@ class DsInstance(service.Service): REALM=self.realm_name, USER=self.ds_user, SERVER_ROOT=server_root, DOMAIN=self.domain, TIME=int(time.time()), UIDSTART=self.uidstart, - GIDSTART=self.gidstart, HOST=self.host_name) + GIDSTART=self.gidstart, HOST=self.host_name, + ESCAPED_SUFFIX= escape_dn_chars(self.suffix.lower()), + ) def __create_ds_user(self): user_exists = True diff --git a/ipaserver/install/ldapupdate.py b/ipaserver/install/ldapupdate.py index c0345918..dff94783 100644 --- a/ipaserver/install/ldapupdate.py +++ b/ipaserver/install/ldapupdate.py @@ -31,6 +31,7 @@ from ipapython import entity, ipautil from ipalib import util, uuid from ipalib import errors import ldap +from ldap.dn import escape_dn_chars import logging import krbV import platform @@ -76,6 +77,8 @@ class LDAPUpdate: self.sub_dict["DOMAIN"] = domain if not self.sub_dict.get("SUFFIX"): self.sub_dict["SUFFIX"] = suffix + if not self.sub_dict.get("ESCAPED_SUFFIX"): + self.sub_dict["ESCAPED_SUFFIX"] = escape_dn_chars(suffix) if not self.sub_dict.get("LIBARCH"): self.sub_dict["LIBARCH"] = libarch if not self.sub_dict.get("TIME"): -- cgit