]> 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:40:52 +0000 (16:40 +0000)
servers/slapd/syncrepl.c

index b4a8f496a9b2dae0403b5b372fe8df728aac327d..8bc65658810b54d12da18e9c60a3a4826d13f231 100644 (file)
@@ -3012,6 +3012,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;
                }