From 55045daba4065b7a04fadf76e3ec7f6878d9027a Mon Sep 17 00:00:00 2001 From: Matúš Honěk Date: Jan 11 2019 13:40:00 +0000 Subject: Ticket 50138 - db2bak.pl -P LDAPS does not work when nsslapd-securePort is missing Bug Description: When nsslapd-securePort is not set in dse.ldif, DSUtil (in case of LDAPS) interpolates ldapmodify (and other) call to a URI ending only with a colon because obtained securePort is just an empty string. The very same turns out to happen for the nsslapd-port. Fix Description: Hardcode the default ports, which is a short variant of omitting the colon and port, and which would be chosen by the OpenLDAP utils any way. https://pagure.io/389-ds-base/issue/50138 Author: mhonek Review by: mreynolds (thanks!) --- diff --git a/ldap/admin/src/scripts/DSUtil.pm.in b/ldap/admin/src/scripts/DSUtil.pm.in index 791464d..c2a9af0 100644 --- a/ldap/admin/src/scripts/DSUtil.pm.in +++ b/ldap/admin/src/scripts/DSUtil.pm.in @@ -1239,7 +1239,7 @@ sub get_info { $info{host} = $entry->getValues("nsslapd-localhost"); } if($info{port} eq ""){ - $info{port} = $entry->getValues("nsslapd-port"); + $info{port} = $entry->getValues("nsslapd-port") || "389"; } if($info{rootdn} eq ""){ $info{rootdn} = $entry->getValues("nsslapd-rootdn"); @@ -1253,7 +1253,7 @@ sub get_info { $ENV{LDAPTLS_CACERTDIR}=$info{certdir}; } $info{security} = $entry->getValues("nsslapd-security"); - $info{secure_port} = $entry->getValues("nsslapd-securePort"); + $info{secure_port} = $entry->getValues("nsslapd-securePort") || "636"; $info{ldapi} = $entry->getValues("nsslapd-ldapilisten"); $info{autobind} = $entry->getValues("nsslapd-ldapiautobind"); $value = $entry->getValues("nsslapd-ldapifilepath");