policy 22.6 compliant mbox write locking
authorJaldhar H. Vyas <jaldhar@debian.org>
Fri, 23 Aug 2013 02:44:48 +0000 (22:44 -0400)
committerNoah Meyerhans <noahm@debian.org>
Sat, 17 Aug 2024 17:26:24 +0000 (13:26 -0400)
For NFS safety, prefer fcntl to dotlocks.
Dovecots default is the other way around.

Bug: #720502

Gbp-Pq: Name mboxlocking.patch

doc/example-config/conf.d/10-mail.conf
src/config/all-settings.c
src/lib-storage/index/mbox/mbox-settings.c

index a69224fa7ff25b1a70626a637a9044fb97d347dd..b47235fdd49bc7d86af62fcd0f74fd2739e3d9ea 100644 (file)
@@ -320,8 +320,14 @@ protocol !indexer-worker {
 # in is important to avoid deadlocks if other MTAs/MUAs are using multiple
 # locking methods as well. Some operating systems don't allow using some of
 # them simultaneously.
+#
+# The Debian value for mbox_write_locks differs from upstream Dovecot. It is
+# changed to be compliant with Debian Policy (section 11.6) for NFS safety.
+#       Dovecot: mbox_write_locks = dotlock fcntl
+#       Debian:  mbox_write_locks = fcntl dotlock
+#
 #mbox_read_locks = fcntl
-#mbox_write_locks = dotlock fcntl
+#mbox_write_locks = fcntl dotlock
 
 # Maximum time to wait for lock (all of them) before aborting.
 #mbox_lock_timeout = 5 mins
index fbac595ffabc0abd71ee480852d01fe55631a913..0ee46fdf94963ab478af48c7fa892609c3efd60b 100644 (file)
@@ -1240,7 +1240,7 @@ static const struct setting_define mbox_setting_defines[] = {
 };
 static const struct mbox_settings mbox_default_settings = {
        .mbox_read_locks = "fcntl",
-       .mbox_write_locks = "dotlock fcntl",
+       .mbox_write_locks = "fcntl dotlock",
        .mbox_lock_timeout = 5*60,
        .mbox_dotlock_change_timeout = 2*60,
        .mbox_min_index_size = 0,
index 1df2452626c73010e5c913d85ad792a1925075d7..b4eb520f86c889c5d0e0d728c1b8668cf582b753 100644 (file)
@@ -27,7 +27,7 @@ static const struct setting_define mbox_setting_defines[] = {
 
 static const struct mbox_settings mbox_default_settings = {
        .mbox_read_locks = "fcntl",
-       .mbox_write_locks = "dotlock fcntl",
+       .mbox_write_locks = "fcntl dotlock",
        .mbox_lock_timeout = 5*60,
        .mbox_dotlock_change_timeout = 2*60,
        .mbox_min_index_size = 0,