[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