Emmanuel Dreyfus wrote:
Hello
If all the modifications are removed by slapo-nops, I end up with
op->orm_modlist == NULL. slapo-nops will attempt to cancel the
operation, with this code:
if ((m = op->orm_modlist) == NULL) {
op->o_bd->bd_info = (BackendInfo *)(on->on_info);
send_ldap_error(op, rs, LDAP_SUCCESS, "");
return(rs->sr_err);
}
But if slapo-accesslog is also configured, slapd will exit with an
assertion:
assertion "a->a_vals[0].bv_val != NULL" failed: file "schema_check.c",
line 89, function "entry_schema_check"
You need to make sure that your overlays are configured such that your nops
executes before accesslog, to prevent accesslog from attempting to log anything.
Also, in your cancel code, you need to set op->o_callback to NULL before
calling send_ldap_error, to make sure that no other overlays run. Then set it
back to whatever it was, before returning.
--
-- Howard Chu
CTO, Symas Corp. http://www.symas.com
Director, Highland Sun http://highlandsun.com/hyc/
Chief Architect, OpenLDAP http://www.openldap.org/project/