Renaming not supported across conflicting directory - why?
Arkadiusz Miśkiewicz
arekm at maven.pl
Thu Oct 30 08:34:36 UTC 2014
I wonder what is point of checkign file/dir create mode like this?
Here it makes problems since some folders have different permissions than
others but both are accessible/writable by user. So renaming is possible (as
renaming according to unix permissions). Yet dovecot artificially prevents
this.
/* if we're renaming under another mailbox, require its permissions
to be same as ours. */
if (strchr(newname, mailbox_list_get_hierarchy_sep(newlist)) != NULL)
{
struct mailbox_permissions old_perm, new_perm;
mailbox_list_get_permissions(oldlist, oldname, &old_perm);
mailbox_list_get_permissions(newlist, newname, &new_perm);
if ((new_perm.file_create_mode != old_perm.file_create_mode ||
new_perm.dir_create_mode != old_perm.dir_create_mode ||
new_perm.file_create_gid != old_perm.file_create_gid)) {
mailbox_list_set_error(oldlist,
MAIL_ERROR_NOTPOSSIBLE,
"Renaming not supported across conflicting "
"directory permissions");
return -1;
}
}
--
Arkadiusz Miśkiewicz, arekm / ( maven.pl | pld-linux.org )
More information about the dovecot
mailing list