php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #76967 Warning: ldap_control_paged_result_response(): No server controls in result
Submitted: 2018-10-03 17:13 UTC Modified: 2019-06-11 14:59 UTC
Votes:1
Avg. Score:1.0 ± 0.0
Reproduced:0 of 0 (0.0%)
From: asears at conestogawood dot com Assigned: heiglandreas (profile)
Status: Closed Package: LDAP related
PHP Version: 7.0.32 OS: Gentoo Linux
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: asears at conestogawood dot com
New email:
PHP Version: OS:

 

 [2018-10-03 17:13 UTC] asears at conestogawood dot com
Description:
------------
Tha pagination control does not work as expected. The server I'm connecting to is a Windows 2012 AD DC which does support pagination, but the LDAP extension does not seem to properly support it?


Test script:
---------------
<?php
$ldap = ldap_connect('dc.example.com');
ldap_set_option($ldap, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_set_option($ldap, LDAP_OPT_X_TLS_REQUIRE_CERT, LDAP_OPT_X_TLS_ALLOW);
ldap_start_tls($ldap);
ldap_bind($ldap, 'user@example.com', 'password');

$cookie = '';
do {
    ldap_control_paged_result($ldap, 100, true, $cookie);
    
    $result  = ldap_search($ldap, 'DC=example,DC=com', '(primaryGroupID=513)', ['ou', 'sn', 'givenname', 'mail']);
    $entries = ldap_get_entries($ldap, $result);

    foreach ($entries as $e) {
        echo $e['dn'] . PHP_EOL;
    }

    ldap_control_paged_result_response($ldap, $result, $cookie);
} while($cookie !== null && $cookie != '');


Expected result:
----------------
All of the members of GID 513 (Domain Users)

Actual result:
--------------
Stops after the first page with warning:
Warning: ldap_control_paged_result_response(): No server controls in result

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2018-10-03 17:27 UTC] asears at conestogawood dot com
Also, using Wireshark on the DC, I was able to verify that the pagination control was indeed sent in the request, and a cookie *was* returned in the results.
The disconnect seems to be somewhere between PHP receiving the results and ldap_control_paged_result_response parsing the server controls.
 [2018-11-01 07:47 UTC] heiglandreas@php.net
Can you provide some more details like PHP-Version, Operating System and underlying LDAP-Lib-version?
 [2018-11-01 07:47 UTC] heiglandreas@php.net
-Assigned To: +Assigned To: heiglandreas
 [2018-11-01 13:49 UTC] asears at conestogawood dot com
PHP version is 7.0.32 and OS is Gentoo Linux running kernel 4.19.
LDAP version info:
LDAP Support => enabled
RCS Version => $Id: 1c9340c77777426d718a7cb098b59b2827d2c21e $
Total Links => 0/unlimited
API Version => 3001
Vendor Name => OpenLDAP
Vendor Version => 20445
 [2019-06-10 20:10 UTC] asears at conestogawood dot com
Tested this today with PHP 7.2.19 and it seems to work fine now.
 [2019-06-11 14:59 UTC] cmb@php.net
-Status: Assigned +Status: Closed
 [2019-06-11 14:59 UTC] cmb@php.net
Thanks for the update!

So I'm closing this, since we won't do bugfixes for earlier versions anyway.
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sat Dec 21 17:01:58 2024 UTC