php / php/php-src

ldap_search not working with base=NULL after php7.1

Offen
#7,998 8 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bug Extension: ldap Status: Needs Triage
Vorherrschende Sprache
C
Sterne
40.4k
Forks
8.1k
Ø Merge
2 T. 13 Std.
Gemergte PRs (30 T.)
96

Beschreibung

Description

The following code:

<?php
$ds = ldap_connect(); // <-- URI from /etc/openldap/ldap.conf
ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);

$sr = ldap_search($ds, NULL, "(uid=dab)", array("dn"));  // <-- BASE from /etc/openldap/ldap.conf
$entry = ldap_first_entry($ds, $sr);
var_dump($entry);

Resulted in this output:

Warning: ldap_search(): Search: No such object in test.php on line 5

But I expected this output instead:

resource(6) of type (ldap result entry)

/etc/openldap/ldap.conf:
BASE c=ru
URI ldap://localhost

slapd.log:
version <=php7.1
slapd[14091]: conn=4230904 op=0 SRCH base="c=ru" scope=2 deref=0 filter="(uid=dab)"
version >php7.1
slapd[14091]: conn=4230791 op=0 SRCH base="" scope=2 deref=0 filter="(uid=dab)"

related bug&commit:
https://bugs.php.net/bug.php?id=77958
https://github.com/php/php-src/commit/5d2fe48785b6d24102ff53e78631cba7f2aefbef

PHP Version

PHP 8.0.12

Operating System

gentoo

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne am Einstiegspunkt ldap_search und vergleiche das in der Reproduktion gezeigte Verhalten mit dem verknüpften Bug und dem Commit 5d2fe48785b6d24102ff53e78631cba7f2aefbef. Führe das bereitgestellte PHP-Skript mit der angegebenen LDAP-Konfiguration aus und prüfe slapd.log; abgeschlossen ist die Aufgabe, wenn eine NULL-Basis das konfigurierte BASE verwendet und die Suche den erwarteten Eintrag zurückgibt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
php
Bereich
backend
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.