[dovecot-cvs] dovecot/src/lib-storage/index/maildir maildir-storage.c, 1.71, 1.72 maildir-uidlist.c, 1.14, 1.15

cras at procontrol.fi cras at procontrol.fi
Mon May 10 02:32:46 EEST 2004


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

Modified Files:
	maildir-storage.c maildir-uidlist.c 
Log Message:
maildir: don't use ".temp" prefix for temporary files, since in ~/Maildir they
conflict with mailbox namespace.



Index: maildir-storage.c
===================================================================
RCS file: /home/cvs/dovecot/src/lib-storage/index/maildir/maildir-storage.c,v
retrieving revision 1.71
retrieving revision 1.72
diff -u -d -r1.71 -r1.72
--- maildir-storage.c	6 May 2004 01:22:25 -0000	1.71
+++ maildir-storage.c	9 May 2004 23:32:44 -0000	1.72
@@ -1,6 +1,7 @@
 /* Copyright (C) 2002-2003 Timo Sirainen */
 
 #include "lib.h"
+#include "hostpid.h"
 #include "home-expand.h"
 #include "mkdir-parents.h"
 #include "unlink-directory.h"
@@ -92,6 +93,10 @@
 		storage->storage.hierarchy_sep = hierarchy_sep;
 	storage->storage.namespace = i_strdup(namespace);
 
+	/* the default ".temp.xxx" prefix would be treated as directory */
+	storage->temp_prefix =
+		i_strconcat("temp.", my_hostname, ".", my_pid, ".", NULL);
+
 	storage->dir = i_strdup(home_expand(root_dir));
 	storage->inbox_path = i_strdup(home_expand(inbox_dir));
 	storage->index_dir = i_strdup(home_expand(index_dir));
@@ -108,6 +113,7 @@
 
 	index_storage_deinit(storage);
 
+	i_free(storage->temp_prefix);
 	i_free(storage->dir);
 	i_free(storage->inbox_path);
 	i_free(storage->index_dir);
@@ -731,7 +737,8 @@
 			   "/" SUBSCRIPTION_FILE_NAME, NULL);
 
 	name = maildir_fix_mailbox_name(storage, name, FALSE);
-	return subsfile_set_subscribed(_storage, path, name, set);
+	return subsfile_set_subscribed(_storage, path, storage->temp_prefix,
+				       name, set);
 }
 
 static int maildir_get_mailbox_name_status(struct mail_storage *_storage,

Index: maildir-uidlist.c
===================================================================
RCS file: /home/cvs/dovecot/src/lib-storage/index/maildir/maildir-uidlist.c,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -d -r1.14 -r1.15
--- maildir-uidlist.c	9 May 2004 23:06:27 -0000	1.14
+++ maildir-uidlist.c	9 May 2004 23:32:44 -0000	1.15
@@ -79,8 +79,9 @@
 	path = t_strconcat(uidlist->ibox->control_dir,
 			   "/" MAILDIR_UIDLIST_NAME, NULL);
         old_mask = umask(0777 & ~uidlist->ibox->mail_create_mode);
-	fd = file_dotlock_open(path, NULL, NULL, 0, 0,
-			       UIDLIST_LOCK_STALE_TIMEOUT, NULL, NULL);
+	fd = file_dotlock_open(path, uidlist->ibox->storage->temp_prefix,
+			       NULL, 0, 0, UIDLIST_LOCK_STALE_TIMEOUT,
+			       NULL, NULL);
 	umask(old_mask);
 	if (fd == -1) {
 		if (errno == EAGAIN)



More information about the dovecot-cvs mailing list