https://bugs.openldap.org/show_bug.cgi?id=10195
--- Comment #1 from lesignor@cirad.fr ---
In old release v2.4.23, the code in controls.c is like that :
if ( ctrl->ldctl_value.bv_len ) { *text = "permissiveModify control value not empty"; return LDAP_PROTOCOL_ERROR; }
The check was on the length of the value.
This check has been changed by
if ( !BER_BVISNULL( &ctrl->ldctl_value )) { rs->sr_text = "permissiveModify control value not absent"; return LDAP_PROTOCOL_ERROR; }