Mercurial > dovecot > original-hg > dovecot-1.2
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;