mail-error.c revision 9e9f0cf3cc3ce546e8a433990c92dd9be6665df6
76b43e4417bab52e913da39b5f5bc2a130d3f149Timo Sirainen/* Copyright (c) 2007-2008 Dovecot authors, see the included COPYING file */
ff7056842f14fd3b30a2d327dfab165b9d15dd30Timo Sirainenbool mail_error_from_errno(enum mail_error *error_r,
ff7056842f14fd3b30a2d327dfab165b9d15dd30Timo Sirainen *error_string_r = errno != ELOOP ? "Not found" :
ff7056842f14fd3b30a2d327dfab165b9d15dd30Timo Sirainen "Directory structure is broken";
9e9f0cf3cc3ce546e8a433990c92dd9be6665df6Timo Sirainenconst char *mail_error_eacces_msg(const char *func, const char *path)
9e9f0cf3cc3ce546e8a433990c92dd9be6665df6Timo Sirainen str_printfa(errmsg, "%s(%s) failed: Permission denied (euid=%s",
9e9f0cf3cc3ce546e8a433990c92dd9be6665df6Timo Sirainen str_printfa(errmsg, " egid=%s", dec2str(getegid()));
9e9f0cf3cc3ce546e8a433990c92dd9be6665df6Timo Sirainen while ((p = strrchr(prev_path, '/')) != NULL) {
9e9f0cf3cc3ce546e8a433990c92dd9be6665df6Timo Sirainen str_printfa(errmsg, " missing +x perm: %s", dir);
9e9f0cf3cc3ce546e8a433990c92dd9be6665df6Timo Sirainen str_printfa(errmsg, " missing +r perm: %s", path);