From: Timo Sirainen Date: Sun, 6 Sep 2009 23:01:13 +0000 (-0400) Subject: dbox: Don't set +x bit for created files. X-Git-Tag: 2.0.alpha1~166 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=bbef9a6fc46440df829571756a7b75a95aba9d36;p=thirdparty%2Fdovecot%2Fcore.git dbox: Don't set +x bit for created files. --HG-- branch : HEAD --- 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;