diff --git a/lib/Net/LDAP3.php b/lib/Net/LDAP3.php --- a/lib/Net/LDAP3.php +++ b/lib/Net/LDAP3.php @@ -773,6 +773,9 @@ $moz_ldapsearch = "/usr/lib/mozldap/ldapsearch"; } if (!is_file($moz_ldapsearch)) { + $moz_ldapsearch = "/usr/bin/ldapsearch"; + } + if (!is_file($moz_ldapsearch)) { $moz_ldapsearch = null; } @@ -805,6 +808,10 @@ $command[] = escapeshellarg(self::CONTROL_EFFECTIVE_RIGHTS . ':true'); $command[] = "-c"; $command[] = escapeshellarg('dn:' . $this->_current_bind_dn); + } else if ($moz_ldapsearch == "/usr/bin/ldapsearch") { + // Modern 389 DS: + $command[] = "-E"; + $command[] = escapeshellarg("!" . self::CONTROL_EFFECTIVE_RIGHTS . '=:dn:' . $this->_current_bind_dn); } else { // For 389 DS: $command[] = "-J";