Mercurial > dovecot > original-hg > dovecot-1.2
annotate src/lib-storage/mail-error.h @ 9354:687ac828b964 HEAD
lib-index: modseqs weren't tracked properly within session when changes were done.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Tue, 01 Sep 2009 13:05:03 -0400 |
parents | dd53d40a2f09 |
children |
rev | line source |
---|---|
6410
e4eb71ae8e96
Changed .h ifdef/defines to use <NAME>_H format.
Timo Sirainen <tss@iki.fi>
parents:
5614
diff
changeset
|
1 #ifndef MAIL_ERROR_H |
e4eb71ae8e96
Changed .h ifdef/defines to use <NAME>_H format.
Timo Sirainen <tss@iki.fi>
parents:
5614
diff
changeset
|
2 #define MAIL_ERROR_H |
5613 | 3 |
4 /* Some error strings that should be used everywhere to avoid | |
5 permissions checks from revealing mailbox's existence */ | |
6 #define MAIL_ERRSTR_MAILBOX_NOT_FOUND "Mailbox doesn't exist: %s" | |
7 #define MAIL_ERRSTR_NO_PERMISSION "Permission denied" | |
8 | |
9 /* And just for making error strings consistent: */ | |
10 #define MAIL_ERRSTR_NO_SPACE "Not enough disk space" | |
11 #define MAIL_ERRSTR_LOCK_TIMEOUT "Timeout while waiting for lock" | |
12 | |
8417
106ad33091ca
Made CRITICAL_MSG* public to MAIL_ERRSTR_CRITICAL_MSG* in mail-error.h.
Timo Sirainen <tss@iki.fi>
parents:
8411
diff
changeset
|
13 /* Message to show to users when critical error occurs */ |
106ad33091ca
Made CRITICAL_MSG* public to MAIL_ERRSTR_CRITICAL_MSG* in mail-error.h.
Timo Sirainen <tss@iki.fi>
parents:
8411
diff
changeset
|
14 #define MAIL_ERRSTR_CRITICAL_MSG \ |
106ad33091ca
Made CRITICAL_MSG* public to MAIL_ERRSTR_CRITICAL_MSG* in mail-error.h.
Timo Sirainen <tss@iki.fi>
parents:
8411
diff
changeset
|
15 "Internal error occurred. Refer to server log for more information." |
106ad33091ca
Made CRITICAL_MSG* public to MAIL_ERRSTR_CRITICAL_MSG* in mail-error.h.
Timo Sirainen <tss@iki.fi>
parents:
8411
diff
changeset
|
16 #define MAIL_ERRSTR_CRITICAL_MSG_STAMP \ |
106ad33091ca
Made CRITICAL_MSG* public to MAIL_ERRSTR_CRITICAL_MSG* in mail-error.h.
Timo Sirainen <tss@iki.fi>
parents:
8411
diff
changeset
|
17 MAIL_ERRSTR_CRITICAL_MSG " [%Y-%m-%d %H:%M:%S]" |
106ad33091ca
Made CRITICAL_MSG* public to MAIL_ERRSTR_CRITICAL_MSG* in mail-error.h.
Timo Sirainen <tss@iki.fi>
parents:
8411
diff
changeset
|
18 |
5613 | 19 #define T_MAIL_ERR_MAILBOX_NOT_FOUND(name) \ |
20 t_strdup_printf(MAIL_ERRSTR_MAILBOX_NOT_FOUND, name) | |
21 | |
22 enum mail_error { | |
23 MAIL_ERROR_NONE = 0, | |
24 | |
25 /* Temporary internal error */ | |
26 MAIL_ERROR_TEMP, | |
27 /* It's not possible to do the wanted operation */ | |
28 MAIL_ERROR_NOTPOSSIBLE, | |
29 /* Invalid parameters (eg. mailbox name not valid) */ | |
30 MAIL_ERROR_PARAMS, | |
31 /* No permission to do the request */ | |
32 MAIL_ERROR_PERM, | |
33 /* Out of disk space or quota */ | |
34 MAIL_ERROR_NOSPACE, | |
8411
abd0ef855a33
Implemented imap-response-codes draft.
Timo Sirainen <tss@iki.fi>
parents:
6410
diff
changeset
|
35 /* Item (e.g. mailbox) doesn't exist or it's not visible to us */ |
5614
a4e5053fb31a
Added MAIL_ERROR_EXPUNGED. Set the error whenever expunged message is tried
Timo Sirainen <tss@iki.fi>
parents:
5613
diff
changeset
|
36 MAIL_ERROR_NOTFOUND, |
8411
abd0ef855a33
Implemented imap-response-codes draft.
Timo Sirainen <tss@iki.fi>
parents:
6410
diff
changeset
|
37 /* Item (e.g. mailbox) already exists */ |
abd0ef855a33
Implemented imap-response-codes draft.
Timo Sirainen <tss@iki.fi>
parents:
6410
diff
changeset
|
38 MAIL_ERROR_EXISTS, |
5614
a4e5053fb31a
Added MAIL_ERROR_EXPUNGED. Set the error whenever expunged message is tried
Timo Sirainen <tss@iki.fi>
parents:
5613
diff
changeset
|
39 /* Tried to access an expunged message */ |
8411
abd0ef855a33
Implemented imap-response-codes draft.
Timo Sirainen <tss@iki.fi>
parents:
6410
diff
changeset
|
40 MAIL_ERROR_EXPUNGED, |
abd0ef855a33
Implemented imap-response-codes draft.
Timo Sirainen <tss@iki.fi>
parents:
6410
diff
changeset
|
41 /* Operation cannot be done because another session prevents it |
abd0ef855a33
Implemented imap-response-codes draft.
Timo Sirainen <tss@iki.fi>
parents:
6410
diff
changeset
|
42 (e.g. lock timeout) */ |
abd0ef855a33
Implemented imap-response-codes draft.
Timo Sirainen <tss@iki.fi>
parents:
6410
diff
changeset
|
43 MAIL_ERROR_INUSE |
5613 | 44 }; |
45 | |
46 /* Convert errno to mail_error and an error string. Returns TRUE if successful, | |
47 FALSE if we couldn't handle the errno. */ | |
48 bool mail_error_from_errno(enum mail_error *error_r, | |
49 const char **error_string_r); | |
50 | |
8642
dd53d40a2f09
Permission denied error handling can now suggest missing +w permissions.
Timo Sirainen <tss@iki.fi>
parents:
8518
diff
changeset
|
51 /* Build a helpful error message for a failed EACCES syscall. */ |
8518
1e42b631f037
Improved "Permission denied" error handling. It'll now show also the uid/gid name.
Timo Sirainen <tss@iki.fi>
parents:
8417
diff
changeset
|
52 const char *mail_error_eacces_msg(const char *func, const char *path); |
8642
dd53d40a2f09
Permission denied error handling can now suggest missing +w permissions.
Timo Sirainen <tss@iki.fi>
parents:
8518
diff
changeset
|
53 /* Build a helpful error message for a failed EACCES syscall that tried to |
dd53d40a2f09
Permission denied error handling can now suggest missing +w permissions.
Timo Sirainen <tss@iki.fi>
parents:
8518
diff
changeset
|
54 write to directory (create, rename, etc). */ |
dd53d40a2f09
Permission denied error handling can now suggest missing +w permissions.
Timo Sirainen <tss@iki.fi>
parents:
8518
diff
changeset
|
55 const char *mail_error_create_eacces_msg(const char *func, const char *path); |
8518
1e42b631f037
Improved "Permission denied" error handling. It'll now show also the uid/gid name.
Timo Sirainen <tss@iki.fi>
parents:
8417
diff
changeset
|
56 |
5613 | 57 #endif |