From: Timo Sirainen Date: Fri, 2 Mar 2012 13:31:25 +0000 (+0200) Subject: eacces_error_get*(): Suggest ACL/MAC error if UNIX permission bits look ok. X-Git-Tag: 2.1.2~96 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=23bd9fccb78de27232c48c8b1d75ef2145d51ded;p=thirdparty%2Fdovecot%2Fcore.git eacces_error_get*(): Suggest ACL/MAC error if UNIX permission bits look ok. --- diff --git a/src/lib/eacces-error.c b/src/lib/eacces-error.c index 71ddaae24a..f27bd670ab 100644 --- a/src/lib/eacces-error.c +++ b/src/lib/eacces-error.c @@ -109,11 +109,13 @@ static int test_access(const char *path, int access_mode, string_t *errmsg) if (getuid() == geteuid()) { if (access(path, access_mode) == 0) return 0; - if (errno == EACCES) { write_eacces_error(errmsg, path, access_mode); - (void)test_manual_access(path, access_mode, - FALSE, errmsg); + if (test_manual_access(path, access_mode, + FALSE, errmsg) == 0) { + str_append(errmsg, " UNIX perms appear ok " + "(ACL/MAC wrong?)"); + } errno = EACCES; } else { str_printfa(errmsg, " access(%s, %d) failed: %m",