From: Kirill A. Korinsky Subject: mail/dovecot: fix infinity loop in replicator To: OpenBSD ports Cc: Klemens Nanni Date: Fri, 04 Oct 2024 23:57:10 +0200 ports@, Here a patch which fixed an infinity loop inside dovecot replicator when it is used with any value of replication_sync_timeout. This patch was backported to upstream as https://github.com/dovecot/core/pull/223 but replicator was removed from the next release and I doubt that it will be merged. Anyway, I'm using it for a more than a week and quite happy with it. Index: Makefile =================================================================== RCS file: /cvs/ports/mail/dovecot/Makefile,v retrieving revision 1.318 diff -u -p -r1.318 Makefile --- Makefile 16 Aug 2024 10:56:01 -0000 1.318 +++ Makefile 4 Oct 2024 21:53:30 -0000 @@ -11,6 +11,7 @@ COMMENT-postgresql= PostgreSQL authentic V_MAJOR= 2.3 V_DOVECOT= 2.3.21.1 EPOCH= 0 +REVISION= 0 DISTNAME= dovecot-${V_DOVECOT} PKGNAME= dovecot-${V_DOVECOT} Index: patches/patch-src_replication_replicator_replicator-queue_c =================================================================== RCS file: patches/patch-src_replication_replicator_replicator-queue_c diff -N patches/patch-src_replication_replicator_replicator-queue_c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-src_replication_replicator_replicator-queue_c 4 Oct 2024 21:53:30 -0000 @@ -0,0 +1,11 @@ +Index: src/replication/replicator/replicator-queue.c +--- src/replication/replicator/replicator-queue.c.orig ++++ src/replication/replicator/replicator-queue.c +@@ -333,6 +333,7 @@ replicator_queue_handle_sync_lookups(struct replicator + } else { + array_push_back(&callbacks, &lookups[i]); + array_delete(&queue->sync_lookups, i, 1); ++ count--; + } + } + -- wbr, Kirill