dovecot-1.2: Use eacces_get_error() in more places for handling ...
dovecot at dovecot.org
dovecot at dovecot.org
Sun Jun 28 01:51:56 EEST 2009
details: http://hg.dovecot.org/dovecot-1.2/rev/60c8ea46c740
changeset: 9166:60c8ea46c740
user: Timo Sirainen <tss at iki.fi>
date: Sat Jun 27 18:51:42 2009 -0400
description:
Use eacces_get_error() in more places for handling EACCES errors.
diffstat:
2 files changed, 17 insertions(+), 4 deletions(-)
src/lib-index/mail-index.c | 10 ++++++++--
src/lib-storage/index/maildir/maildir-uidlist.c | 11 +++++++++--
diffs (55 lines):
diff -r c69a1d0a6bd6 -r 60c8ea46c740 src/lib-index/mail-index.c
--- a/src/lib-index/mail-index.c Sat Jun 27 18:51:06 2009 -0400
+++ b/src/lib-index/mail-index.c Sat Jun 27 18:51:42 2009 -0400
@@ -4,6 +4,7 @@
#include "ioloop.h"
#include "array.h"
#include "buffer.h"
+#include "eacces-error.h"
#include "hash.h"
#include "str-sanitize.h"
#include "mmap-util.h"
@@ -680,8 +681,13 @@ int mail_index_file_set_syscall_error(st
return -1;
}
- return mail_index_set_error(index, "%s failed with file %s: %m",
- function, filepath);
+ if (errno == EACCES) {
+ return mail_index_set_error(index, "%s",
+ eacces_error_get(t_strcut(function, '('), filepath));
+ } else {
+ return mail_index_set_error(index, "%s failed with file %s: %m",
+ function, filepath);
+ }
}
const char *mail_index_get_error_message(struct mail_index *index)
diff -r c69a1d0a6bd6 -r 60c8ea46c740 src/lib-storage/index/maildir/maildir-uidlist.c
--- a/src/lib-storage/index/maildir/maildir-uidlist.c Sat Jun 27 18:51:06 2009 -0400
+++ b/src/lib-storage/index/maildir/maildir-uidlist.c Sat Jun 27 18:51:42 2009 -0400
@@ -33,6 +33,7 @@
#include "file-dotlock.h"
#include "close-keep-errno.h"
#include "nfs-workarounds.h"
+#include "eacces-error.h"
#include "maildir-storage.h"
#include "maildir-sync.h"
#include "maildir-filename.h"
@@ -166,8 +167,14 @@ static int maildir_uidlist_lock_timeout(
}
if (errno != ENOENT || i == MAILDIR_DELETE_RETRY_COUNT ||
uidlist->mbox == NULL) {
- mail_storage_set_critical(box->storage,
- "file_dotlock_create(%s) failed: %m", path);
+ if (errno == EACCES) {
+ mail_storage_set_critical(box->storage, "%s",
+ eacces_error_get_creating("file_dotlock_create", path));
+ } else {
+ mail_storage_set_critical(box->storage,
+ "file_dotlock_create(%s) failed: %m",
+ path);
+ }
return -1;
}
/* the control dir doesn't exist. create it unless the whole
More information about the dovecot-cvs
mailing list