]> git.ipfire.org Git - thirdparty/openldap.git/commitdiff
ITS#9282 Skip old accesslog entries even in delta-refresh
authorOndřej Kuzník <ondra@mistotebe.net>
Wed, 13 Oct 2021 15:14:00 +0000 (16:14 +0100)
committerQuanah Gibson-Mount <quanah@openldap.org>
Mon, 13 Dec 2021 16:38:33 +0000 (16:38 +0000)
servers/slapd/syncrepl.c

index 1077b9ff6c9c21f7f0b4082dd7bc00ccb5471a4f..c295f8bdfe43a556266453b51b047d3588548272 100644 (file)
@@ -3031,6 +3031,14 @@ syncrepl_message_to_op(
                } else if ( !ber_bvstrcasecmp( &bv,
                        &slap_schema.si_ad_entryCSN->ad_cname ) )
                {
+                       int i, sid = slap_parse_csn_sid( bvals );
+                       ldap_pvt_thread_mutex_lock( &si->si_cookieState->cs_mutex );
+                       i = check_csn_age( si, &bdn, bvals, sid,
+                                       (cookie_vals *)&si->si_cookieState->cs_vals, NULL );
+                       ldap_pvt_thread_mutex_unlock( &si->si_cookieState->cs_mutex );
+                       if ( i == CV_CSN_OLD ) {
+                               goto done;
+                       }
                        slap_queue_csn( op, bvals );
                        do_graduate = 1;
                }