/* Copyright (c) 2007-2018 Dovecot authors, see the included COPYING file */ #include "lib.h" #include "eacces-error.h" #include "mail-error.h" bool mail_error_from_errno(enum mail_error *error_r, const char **error_string_r) { if (ENOACCESS(errno)) { *error_r = MAIL_ERROR_PERM; *error_string_r = MAIL_ERRSTR_NO_PERMISSION; } else if (ENOQUOTA(errno)) { *error_r = MAIL_ERROR_NOQUOTA; *error_string_r = MAIL_ERRSTR_NO_QUOTA; } else if (ENOTFOUND(errno)) { *error_r = MAIL_ERROR_NOTFOUND; *error_string_r = errno != ELOOP ? "Not found" : "Directory structure is broken"; } else { return FALSE; } return TRUE; } const char *mail_error_eacces_msg(const char *func, const char *path) { return eacces_error_get(func, path); } const char *mail_error_create_eacces_msg(const char *func, const char *path) { return eacces_error_get_creating(func, path); }