slapd: quote unix socket path in ldap:// URL

This commit is contained in:
Benjamin Dauvergne 2019-03-14 21:44:28 +01:00
parent 3c28617fe8
commit 5c633dc55f
2 changed files with 4 additions and 2 deletions

View File

@ -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'],
},

View File

@ -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 = ''