From 53f91453d9096974df05b843aa8ed929e6cc1a43 Mon Sep 17 00:00:00 2001 From: William Brown Date: Oct 14 2018 02:54:29 +0000 Subject: Issue 49939 - Fix ldapi path in lib389 Lib389 uses a .replace rather than a path join, causing dirsrv to be replaced in the path. This breaks if the prefix is "/opt/dirsrv". This should use path join instead. https://pagure.io/389-ds-base/issue/49939 Author: William Brown --- diff --git a/src/lib389/lib389/instance/setup.py b/src/lib389/lib389/instance/setup.py index 9335613..5b0c421 100644 --- a/src/lib389/lib389/instance/setup.py +++ b/src/lib389/lib389/instance/setup.py @@ -226,6 +226,7 @@ class SetupDs(object): 'sysconf_dir': ds_paths.sysconf_dir, 'data_dir': ds_paths.data_dir, 'local_state_dir': ds_paths.local_state_dir, + 'ldapi' : ds_paths.ldapi, 'lib_dir': ds_paths.lib_dir, 'run_dir': ds_paths.run_dir, 'tmp_dir': ds_paths.tmp_dir, @@ -781,7 +782,7 @@ class SetupDs(object): ds_instance.backends.create(properties=backend) # Initialise ldapi socket information. IPA expects this .... - ldapi_path = slapd['run_dir'].replace('dirsrv', 'slapd-' + slapd['instance_name'] + '.socket') + ldapi_path = os.path.join(slapd['local_state_dir'], "run/slapd-%s.socket" % slapd['instance_name']) ds_instance.config.set('nsslapd-ldapifilepath', ldapi_path) ds_instance.config.set('nsslapd-ldapilisten', 'on') ds_instance.config.set('nsslapd-ldapiautobind', 'on')