From bbef9a6fc46440df829571756a7b75a95aba9d36 Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Sun, 6 Sep 2009 19:01:13 -0400 Subject: [PATCH] dbox: Don't set +x bit for created files. --HG-- branch : HEAD --- src/lib-storage/index/dbox/dbox-file.c | 4 ++-- src/lib-storage/index/dbox/dbox-map.c | 2 +- src/lib-storage/index/dbox/dbox-storage.c | 3 ++- src/lib-storage/index/dbox/dbox-storage.h | 2 +- 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/lib-storage/index/dbox/dbox-file.c b/src/lib-storage/index/dbox/dbox-file.c index 5d83df9900..cffae95b80 100644 --- a/src/lib-storage/index/dbox/dbox-file.c +++ b/src/lib-storage/index/dbox/dbox-file.c @@ -440,8 +440,8 @@ int dbox_create_fd(struct dbox_storage *storage, const char *path) mode_t old_mask; int fd; - old_mask = umask(0666 & ~storage->create_mode); - fd = open(path, O_RDWR | O_CREAT | O_TRUNC, 0777); + old_mask = umask(0666 & ~storage->dir_create_mode); + fd = open(path, O_RDWR | O_CREAT | O_TRUNC, 0666); umask(old_mask); if (fd == -1) { mail_storage_set_critical(&storage->storage, diff --git a/src/lib-storage/index/dbox/dbox-map.c b/src/lib-storage/index/dbox/dbox-map.c index 57edb5f114..67cf541a52 100644 --- a/src/lib-storage/index/dbox/dbox-map.c +++ b/src/lib-storage/index/dbox/dbox-map.c @@ -69,7 +69,7 @@ void dbox_map_deinit(struct dbox_map **_map) static int dbox_map_mkdir_storage(struct dbox_storage *storage) { - if (mkdir_parents_chgrp(storage->storage_dir, storage->create_mode, + if (mkdir_parents_chgrp(storage->storage_dir, storage->dir_create_mode, storage->create_gid, storage->create_gid_origin) < 0 && errno != EEXIST) { diff --git a/src/lib-storage/index/dbox/dbox-storage.c b/src/lib-storage/index/dbox/dbox-storage.c index 3733917d5e..55b9b483e4 100644 --- a/src/lib-storage/index/dbox/dbox-storage.c +++ b/src/lib-storage/index/dbox/dbox-storage.c @@ -80,7 +80,8 @@ dbox_storage_create(struct mail_storage *_storage, struct mail_namespace *ns, I_MIN(storage->set->dbox_max_open_files, 128)); storage->map = dbox_map_init(storage); - mailbox_list_get_dir_permissions(ns->list, NULL, &storage->create_mode, + mailbox_list_get_dir_permissions(ns->list, NULL, + &storage->dir_create_mode, &storage->create_gid, &origin); storage->create_gid_origin = p_strdup(_storage->pool, origin); return 0; diff --git a/src/lib-storage/index/dbox/dbox-storage.h b/src/lib-storage/index/dbox/dbox-storage.h index 33665c1d83..fc2e2a87b2 100644 --- a/src/lib-storage/index/dbox/dbox-storage.h +++ b/src/lib-storage/index/dbox/dbox-storage.h @@ -49,7 +49,7 @@ struct dbox_storage { struct dbox_map *map; /* mode/gid to use for new dbox storage files */ - mode_t create_mode; + mode_t dir_create_mode; gid_t create_gid; const char *create_gid_origin; -- 2.47.3