Mercurial > dovecot > original-hg > dovecot-1.2
changeset 8643:97a350198a4f HEAD
Fixes to handling +w permission errors and use it more often.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Fri, 16 Jan 2009 14:21:25 -0500 |
parents | dd53d40a2f09 |
children | bf53ab94db72 |
files | src/lib-storage/index/mbox/mbox-storage.c src/lib-storage/mail-error.c |
diffstat | 2 files changed, 8 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-storage/index/mbox/mbox-storage.c Fri Jan 16 12:45:06 2009 -0500 +++ b/src/lib-storage/index/mbox/mbox-storage.c Fri Jan 16 14:21:25 2009 -0500 @@ -266,7 +266,7 @@ path = t_strconcat(home, "/mail", NULL); if (mkdir_parents(path, CREATE_MODE) < 0 && errno != EEXIST) { - *error_r = t_strdup_printf("mkdir(%s) failed: %m", path); + *error_r = mail_error_create_eacces_msg("mkdir", path); return NULL; } @@ -362,8 +362,8 @@ return -1; } else if (mkdir_parents(list_set->root_dir, CREATE_MODE) < 0 && errno != EEXIST) { - *error_r = t_strdup_printf("mkdir(%s) failed: %m", - list_set->root_dir); + *error_r = mail_error_create_eacces_msg("mkdir", + list_set->root_dir); return -1; } }
--- a/src/lib-storage/mail-error.c Fri Jan 16 12:45:06 2009 -0500 +++ b/src/lib-storage/mail-error.c Fri Jan 16 14:21:25 2009 -0500 @@ -77,16 +77,16 @@ str_printfa(errmsg, " missing +x perm: %s", dir); else str_printfa(errmsg, " access(%s, x) failed: %m", dir); + } else if (creating && access(dir, W_OK) < 0) { + if (errno == EACCES) + str_printfa(errmsg, " missing +w perm: %s", dir); + else + str_printfa(errmsg, " access(%s, w) failed: %m", dir); } else if (prev_path == path && access(path, R_OK) < 0) { if (errno == EACCES) str_printfa(errmsg, " missing +r perm: %s", path); else str_printfa(errmsg, " access(%s, r) failed: %m", path); - } else if (creating && access(dir, W_OK) < 0) { - if (errno == EACCES) - str_printfa(errmsg, " missing +w perm: %s", dir); - else - str_printfa(errmsg, " access(%s, w) failed: %m", dir); } else str_printfa(errmsg, " UNIX perms seem ok, ACL problem?"); }