diff --git a/setup.py b/setup.py index 2a9029e..5b25a42 100755 --- a/setup.py +++ b/setup.py @@ -55,7 +55,7 @@ setup(name="ldaptools", packages=find_packages('src'), package_dir={'': 'src'}, include_package_data=True, - install_requires=['python-ldap'], + install_requires=['python-ldap', 'six'], entry_points={ 'console_scripts': ['ldapsync=ldaptools.ldapsync.cmd:main'], }, diff --git a/src/ldaptools/slapd.py b/src/ldaptools/slapd.py index 53247f8..108e30a 100644 --- a/src/ldaptools/slapd.py +++ b/src/ldaptools/slapd.py @@ -13,6 +13,8 @@ except ImportError: from io import StringIO import atexit +from six.moves.urllib.parse import quote + from ldaptools.ldif_utils import ListLDIFParser from ldaptools.paged import PagedLDAPObject @@ -118,7 +120,7 @@ olcAccess: {{0}}to * os.mkdir(self.config_dir) self.socket = os.path.join(self.slapd_dir, 'socket') if not ldap_url: - ldap_url = 'ldapi://%s' % self.socket.replace('/', '%2F') + ldap_url = 'ldapi://%s' % quote(self.socket, '') self.ldap_url = ldap_url config_context = config_context or {} extra_config = ''