diff --git a/CHANGES b/CHANGES index 05548265a8711a441c03ec14470184dcf2c11633..7d93d96f49a4fc0101a8f9eb5df14ddae3518bdc 100644 --- a/CHANGES +++ b/CHANGES @@ -4,6 +4,7 @@ OpenLDAP 2.4.24 Engineering Fixed liblber to not close invalid sockets (ITS#6585) Fixed slapd modify to return actual error (ITS#6581) Fixed slapd-bdb entry cache delete failure (ITS#6577) + Fixed slapo-syncprov to send error if consumer is newer (ITS#6606) OpenLDAP 2.4.23 Release (2010/06/30) Fixed libldap to return server's error code (ITS#6569) diff --git a/servers/slapd/overlays/syncprov.c b/servers/slapd/overlays/syncprov.c index 8a3727d375ec19440b14892c98401ceea38d2d70..60db65e1b8ddeb06d3be7bd40228b8810b336169 100644 --- a/servers/slapd/overlays/syncprov.c +++ b/servers/slapd/overlays/syncprov.c @@ -2483,8 +2483,9 @@ syncprov_op_search( Operation *op, SlapReply *rs ) if ( newer < 0 ) changed = SS_CHANGED; else if ( newer > 0 ) { - /* our state is older, tell consumer nothing */ - rs->sr_err = LDAP_SUCCESS; + /* our state is older, complain to consumer */ + rs->sr_err = LDAP_UNWILLING_TO_PERFORM; + rs->sr_text = "consumer state is newer than provider!"; bailout: if ( sop ) { syncops **sp = &si->si_ops;