changeset 2650:9b78674428f5 HEAD

Get index file mode and GID from dovecot-shared file.
author Timo Sirainen <tss@iki.fi>
date Tue, 21 Sep 2004 17:40:06 +0300
parents ec268f32e69e
children ec6cd5dcf618
files src/lib-index/mail-index.c src/lib-index/mail-index.h src/lib-storage/index/maildir/maildir-storage.c
diffstat 3 files changed, 12 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-index/mail-index.c	Tue Sep 21 02:22:15 2004 +0300
+++ b/src/lib-index/mail-index.c	Tue Sep 21 17:40:06 2004 +0300
@@ -48,6 +48,13 @@
 	i_free(index);
 }
 
+void mail_index_set_permissions(struct mail_index *index,
+				mode_t mode, gid_t gid)
+{
+	index->mode = mode & 0666;
+	index->gid = gid;
+}
+
 uint32_t mail_index_register_record_extra(struct mail_index *index,
 					  const char *name, uint32_t hdr_size,
 					  uint16_t record_size)
--- a/src/lib-index/mail-index.h	Tue Sep 21 02:22:15 2004 +0300
+++ b/src/lib-index/mail-index.h	Tue Sep 21 17:40:06 2004 +0300
@@ -137,6 +137,9 @@
 struct mail_index *mail_index_alloc(const char *dir, const char *prefix);
 void mail_index_free(struct mail_index *index);
 
+void mail_index_set_permissions(struct mail_index *index,
+				mode_t mode, gid_t gid);
+
 /* register extra data to be used in mail_index_record. name is a unique
    identifier for the data. if same name is tried to be registered multiple
    times, the rest are ignored. returns identifier for the name. */
--- a/src/lib-storage/index/maildir/maildir-storage.c	Tue Sep 21 02:22:15 2004 +0300
+++ b/src/lib-storage/index/maildir/maildir-storage.c	Tue Sep 21 17:40:06 2004 +0300
@@ -393,6 +393,8 @@
 	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;