#14 Support for reading controls sent with LDAP_RES_SEARCH_ENTRY

closed
None
5
2009-11-15
2009-07-29
Anonymous
No

There doesn't appear to be a way to get the controls returned with LDAP_RES_SEARCH_ENTRY responses from the server. It looks like the code in l_ldap_result3() only grabs the controls sent with the result response, not search entry or search references responses:

978 if (res_type == LDAP_RES_SEARCH_ENTRY
979 || res_type == LDAP_RES_SEARCH_REFERENCE
980 )
981 pmsg = LDAPmessage_to_python( self->ldap, msg );
982 else {
983 int result;
984 char **refs = NULL;
985 LDAPControl **serverctrls = 0;
986 LDAP_BEGIN_ALLOW_THREADS( self );
987 ldap_parse_result( self->ldap, msg, &result, NULL, NULL, &refs,
988 &serverctrls, 0 );

The ability to read per-entry controls is necessary to support features like the new Dereference control http://www.openldap.org/devel/cvsweb.cgi/~checkout~/doc/drafts/draft-masarati-ldap-deref-xx.txt, persistent search, and probably other features.

Discussion

  • Sorry, I don't have an sf account - this request was submitted by Rich Megginson <rmeggins@redhat.com>

     
  • Fix is released in 2.3.10, should be tested though.

     
    • assigned_to: nobody --> stroeder
    • status: open --> closed