Michael Ströder wrote:
> On 12/15/22 20:52, Quanah Gibson-Mount wrote:
>>> https://bugs.openldap.org/show_bug.cgi?id=8983
>>
>> That bug clearly notes it is implemented in OpenLDAP 2.5+
> 
> Hmm, as I read ITS#8983 the control encoding has been implemented in libldap 
> (see libraries/libldap/psearchctrl.c).
> 
> But the original poster asked about the server-side implementation of 
> draft-ietf-ldapext-psearch-03. And AFAIK this is *not* implemented in 
> OpenLDAP.

git grep shows it is present in the slapd source, but indeed, it is only for 
the replication consumer.

head> git grep LDAP_CONTROL_PERSIST
clients/tools/common.c: { LDAP_CONTROL_PERSIST_ENTRY_CHANGE_NOTICE,             
        TOOL_SEARCH,    print_psearch },
clients/tools/common.c:         case LDAP_CONTROL_PERSIST_ENTRY_CHANGE_ADD:
clients/tools/common.c:         case LDAP_CONTROL_PERSIST_ENTRY_CHANGE_DELETE:
clients/tools/common.c:         case LDAP_CONTROL_PERSIST_ENTRY_CHANGE_MODIFY:
clients/tools/common.c:         case LDAP_CONTROL_PERSIST_ENTRY_CHANGE_RENAME:
clients/tools/ldapsearch.c:                     c[i].ldctl_oid = 
LDAP_CONTROL_PERSIST_REQUEST;
include/ldap.h:#define LDAP_CONTROL_PERSIST_REQUEST                             
"2.16.840.1.113730.3.4.3"
include/ldap.h:#define LDAP_CONTROL_PERSIST_ENTRY_CHANGE_NOTICE 
"2.16.840.1.113730.3.4.7"
include/ldap.h:#define LDAP_CONTROL_PERSIST_ENTRY_CHANGE_ADD            0x1
include/ldap.h:#define LDAP_CONTROL_PERSIST_ENTRY_CHANGE_DELETE 0x2
include/ldap.h:#define LDAP_CONTROL_PERSIST_ENTRY_CHANGE_MODIFY 0x4
include/ldap.h:#define LDAP_CONTROL_PERSIST_ENTRY_CHANGE_RENAME 0x8
libraries/libldap/psearchctrl.c:                ld->ld_errno = 
ldap_control_create( LDAP_CONTROL_PERSIST_REQUEST,
libraries/libldap/psearchctrl.c:                                        
LDAP_CONTROL_PERSIST_ENTRY_CHANGE_ADD (1),
libraries/libldap/psearchctrl.c:                                        
LDAP_CONTROL_PERSIST_ENTRY_CHANGE_DELETE (2),
libraries/libldap/psearchctrl.c:                                        
LDAP_CONTROL_PERSIST_ENTRY_CHANGE_MODIFY (4), or
libraries/libldap/psearchctrl.c:                                        
LDAP_CONTROL_PERSIST_ENTRY_CHANGE_RENAME (8).
servers/slapd/syncrepl.c:                       c[0].ldctl_oid = 
LDAP_CONTROL_PERSIST_REQUEST;
servers/slapd/syncrepl.c:                       rc = 
ldap_create_persistentsearch_control_value( si->si_ld, 
LDAP_CONTROL_PERSIST_ENTRY_CHANGE_ADD,
servers/slapd/syncrepl.c:                                               rctrlp 
= ldap_control_find( LDAP_CONTROL_PERSIST_ENTRY_CHANGE_NOTICE, rctrls, &next );

-- 
  -- Howard Chu
  CTO, Symas Corp.           http://www.symas.com
  Director, Highland Sun     http://highlandsun.com/hyc/
  Chief Architect, OpenLDAP  http://www.openldap.org/project/

Reply via email to