Browse Source

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!)
Matúš Honěk 7 years ago
parent
commit
55045daba4
1 changed files with 2 additions and 2 deletions
  1. 2 2
      ldap/admin/src/scripts/DSUtil.pm.in

+ 2 - 2
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");