changeset 8794:4204a706dc9b HEAD

pop3_lock_session=yes didn't use mail_privileged_group while dotlocking.
author Timo Sirainen <tss@iki.fi>
date Fri, 27 Feb 2009 17:39:48 -0500
parents dbf2730f76f2
children ebfcfa35b4f4
files src/lib-storage/index/mbox/mbox-storage.c
diffstat 1 files changed, 14 insertions(+), 16 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-storage/index/mbox/mbox-storage.c	Thu Feb 26 18:47:01 2009 -0500
+++ b/src/lib-storage/index/mbox/mbox-storage.c	Fri Feb 27 17:39:48 2009 -0500
@@ -591,22 +591,6 @@
 
 	index_storage_mailbox_init(&mbox->ibox, name, flags,
 				   want_memory_indexes(storage, path));
-
-	if ((flags & MAILBOX_OPEN_KEEP_LOCKED) != 0) {
-		if (mbox_lock(mbox, F_WRLCK, &mbox->mbox_global_lock_id) <= 0) {
-			struct mailbox *box = &mbox->ibox.box;
-
-			mailbox_close(&box);
-			return NULL;
-		}
-
-		if (mbox->mbox_dotlock != NULL) {
-			mbox->keep_lock_to =
-				timeout_add(MBOX_LOCK_TOUCH_MSECS,
-					    mbox_lock_touch_timeout, mbox);
-		}
-	}
-
 	return mbox;
 }
 
@@ -640,6 +624,20 @@
 		if (strncmp(path, rootdir, strlen(rootdir)) != 0)
 			mbox->mbox_privileged_locking = TRUE;
 	}
+	if ((flags & MAILBOX_OPEN_KEEP_LOCKED) != 0) {
+		if (mbox_lock(mbox, F_WRLCK, &mbox->mbox_global_lock_id) <= 0) {
+			struct mailbox *box = &mbox->ibox.box;
+
+			mailbox_close(&box);
+			return NULL;
+		}
+
+		if (mbox->mbox_dotlock != NULL) {
+			mbox->keep_lock_to =
+				timeout_add(MBOX_LOCK_TOUCH_MSECS,
+					    mbox_lock_touch_timeout, mbox);
+		}
+	}
 	return &mbox->ibox.box;
 }