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, 30 Jul 2022 02:58:28 +0000 (19:58 -0700)
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 268a321466e748d40a6caec453ec8e6d3b45d00e..29c0050f67140a28e01356f15a9b9b16a0aac72d 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,