[dovecot-cvs] dovecot/src/lib-storage/index/maildir maildir-storage.c, 1.86, 1.87

cras at dovecot.org cras at dovecot.org
Fri Nov 12 00:24:10 EET 2004


Update of /var/lib/cvs/dovecot/src/lib-storage/index/maildir
In directory talvi:/tmp/cvs-serv13967/lib-storage/index/maildir

Modified Files:
	maildir-storage.c 
Log Message:
dovecot-shared file was supposed to show permissions/gid for files created
in the maildir, but it didn't work for indexes.



Index: maildir-storage.c
===================================================================
RCS file: /var/lib/cvs/dovecot/src/lib-storage/index/maildir/maildir-storage.c,v
retrieving revision 1.86
retrieving revision 1.87
diff -u -d -r1.86 -r1.87
--- maildir-storage.c	20 Oct 2004 20:46:37 -0000	1.86
+++ maildir-storage.c	11 Nov 2004 22:24:08 -0000	1.87
@@ -358,6 +358,7 @@
 	struct mail_index *index;
 	const char *path, *index_dir, *control_dir;
 	struct stat st;
+	int shared;
 
 	path = maildir_get_path(storage, name);
 	index_dir = maildir_get_index_path(storage, name);
@@ -365,6 +366,12 @@
 
 	index = index_storage_alloc(index_dir, path, MAILDIR_INDEX_PREFIX);
 
+	/* for shared mailboxes get the create mode from the
+	   permissions of dovecot-shared file. */
+	shared = stat(t_strconcat(path, "/dovecot-shared", NULL), &st) == 0;
+	if (shared)
+		mail_index_set_permissions(index, st.st_mode & 0666, st.st_gid);
+
 	ibox = index_storage_mailbox_init(storage, &maildir_mailbox,
 					  index, name, flags);
 	if (ibox == NULL)
@@ -377,17 +384,14 @@
 	ibox->uidlist = maildir_uidlist_init(ibox);
 	ibox->is_recent = maildir_is_recent;
 
-	/* for shared mailboxes get the create mode from the
-	   permissions of dovecot-shared file */
-	if (stat(t_strconcat(path, "/dovecot-shared", NULL), &st) < 0)
+	if (!shared)
 		ibox->mail_create_mode = 0600;
 	else {
 		ibox->mail_create_mode = st.st_mode & 0666;
 		ibox->private_flags_mask = MAIL_SEEN;
-		mail_index_set_permissions(ibox->index, st.st_mode & 0666,
-					   st.st_gid);
 	}
 
+
 	return &ibox->box;
 }
 



More information about the dovecot-cvs mailing list