mail-error.h revision a0cd302bcb827678f9c9c2ca1d0a3f0d3c0b3563
8e371a3ce32bd64288786855b8ce0cb63f19f7d1Timo Sirainen/* Some error strings that should be used everywhere to avoid
d9fdacd5fb3e07997e5c389739d2054f0c8441d8Timo Sirainen permissions checks from revealing mailbox's existence */
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen#define MAIL_ERRSTR_MAILBOX_NOT_FOUND "Mailbox doesn't exist: %s"
8e371a3ce32bd64288786855b8ce0cb63f19f7d1Timo Sirainen#define MAIL_ERRSTR_NO_PERMISSION "Permission denied"
5fb3bff645380804c9db2510940c41db6b8fdb01Timo Sirainen/* And just for making error strings consistent: */
5fb3bff645380804c9db2510940c41db6b8fdb01Timo Sirainen#define MAIL_ERRSTR_NO_QUOTA "Not enough disk quota"
15b9759df8e4f6fb00c115353827a2aebbebfebcTimo Sirainen#define MAIL_ERRSTR_LOCK_TIMEOUT "Timeout while waiting for lock"
15b9759df8e4f6fb00c115353827a2aebbebfebcTimo Sirainen/* Message to show to users when critical error occurs */
8e371a3ce32bd64288786855b8ce0cb63f19f7d1Timo Sirainen "Internal error occurred. Refer to server log for more information."
8e371a3ce32bd64288786855b8ce0cb63f19f7d1Timo Sirainen MAIL_ERRSTR_CRITICAL_MSG " [%Y-%m-%d %H:%M:%S]"
8e371a3ce32bd64288786855b8ce0cb63f19f7d1Timo Sirainen t_strdup_printf(MAIL_ERRSTR_MAILBOX_NOT_FOUND, name)
d6badc27cd6e8d3398877b6766cb0aaeef3a7800Timo Sirainen /* Temporary internal error */
bf661a542d17273066e720b4f75868a1ff975a4cTimo Sirainen /* It's not possible to do the wanted operation */
d9fdacd5fb3e07997e5c389739d2054f0c8441d8Timo Sirainen /* Invalid parameters (eg. mailbox name not valid) */
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen /* No permission to do the request */
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen /* Out of disk quota for user */
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen /* Item (e.g. mailbox) doesn't exist or it's not visible to us */
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen /* Item (e.g. mailbox) already exists */
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen /* Tried to access an expunged message */
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen /* Operation cannot be done because another session prevents it
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen (e.g. lock timeout) */
6ef7e31619edfaa17ed044b45861d106a86191efTimo Sirainen /* Can't do the requested data conversion (e.g. IMAP BINARY's
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen UNKNOWN-CTE code) */
6ef7e31619edfaa17ed044b45861d106a86191efTimo Sirainen /* Can't do the requested data conversion because the original data
6ef7e31619edfaa17ed044b45861d106a86191efTimo Sirainen isn't valid. */
fdc557286bc9f92c5f3bb49096ff6e2bcec0ea79Timo Sirainen /* Operation ran against some kind of a limit. */
8e371a3ce32bd64288786855b8ce0cb63f19f7d1Timo Sirainen /* Operation couldn't be finished as efficiently as required by
8e371a3ce32bd64288786855b8ce0cb63f19f7d1Timo Sirainen mail.lookup_abort. */
57a8c6a95e4bce3eeaba36985adb81c07dd683ffTimo Sirainen/* Convert errno to mail_error and an error string. Returns TRUE if successful,
a27e065f1a1f91c7fbdf7c2ea1c387441af0cbb3Timo Sirainen FALSE if we couldn't handle the errno. */
fdc557286bc9f92c5f3bb49096ff6e2bcec0ea79Timo Sirainenbool mail_error_from_errno(enum mail_error *error_r,
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen/* Build a helpful error message for a failed EACCES syscall. */
fdc557286bc9f92c5f3bb49096ff6e2bcec0ea79Timo Sirainenconst char *mail_error_eacces_msg(const char *func, const char *path);
fdc557286bc9f92c5f3bb49096ff6e2bcec0ea79Timo Sirainen/* Build a helpful error message for a failed EACCES syscall that tried to
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen write to directory (create, rename, etc). */
a27e065f1a1f91c7fbdf7c2ea1c387441af0cbb3Timo Sirainenconst char *mail_error_create_eacces_msg(const char *func, const char *path);