ldap_search not working with base=NULL after php7.1
Chưa có ai nhận issue này.
- Ngôn ngữ chính
- C
- Star
- 40.4k
- Fork
- 8.2k
- Merge trung bình
- 2 ngày 13 giờ
- Pull request đã merge (30 ngày)
- 96
Mô tả
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
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Hướng nghiên cứu
Bắt đầu từ entry point ldap_search và so sánh hành vi được thể hiện trong bản tái hiện với bug được liên kết và commit 5d2fe48785b6d24102ff53e78631cba7f2aefbef. Chạy script PHP được cung cấp với cấu hình LDAP đã nêu và kiểm tra slapd.log; hoàn tất khi một base NULL sử dụng BASE đã cấu hình và phép tìm kiếm trả về entry mong đợi.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- php
- Lĩnh vực
- backend
- Loại issue
- Lỗi
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 35/100