Mercurial > dovecot > original-hg > dovecot-1.2
changeset 9478:3ebbccdc05e6 HEAD
master: Create base_dir with 0755 permissions, not 0777.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Thu, 19 Nov 2009 17:59:29 -0500 |
parents | 96b5d6d8dd2c |
children | 3e1ca490dde0 |
files | src/master/master-settings.c |
diffstat | 1 files changed, 9 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/master/master-settings.c Thu Nov 12 12:43:13 2009 -0500 +++ b/src/master/master-settings.c Thu Nov 19 17:59:29 2009 -0500 @@ -975,7 +975,7 @@ /* since base dir is under /var/run by default, it may have been deleted. */ - if (mkdir_parents(set->base_dir, 0777) < 0 && errno != EEXIST) { + if (mkdir_parents(set->base_dir, 0755) < 0 && errno != EEXIST) { i_error("mkdir(%s) failed: %m", set->base_dir); return FALSE; } @@ -984,6 +984,14 @@ i_error("stat(%s) failed: %m", set->base_dir); return FALSE; } + if ((st.st_mode & 0777) == 0777) { + /* FIXME: backwards compatibility: v1.2 was creating + base_dir with 0777 permissions.. */ + i_warning("Fixing permissions of %s to be world-readable", + set->base_dir); + if (chmod(set->base_dir, 0755) < 0) + i_error("chmod(%s) failed: %m", set->base_dir); + } /* remove auth worker sockets left by unclean exits */ unlink_auth_sockets(set->base_dir, "auth-worker.");