changeset 14255:d247d53f80b9

eacces_error_get*(): Suggest ACL/MAC error if UNIX permission bits look ok.
author Timo Sirainen <tss@iki.fi>
date Fri, 02 Mar 2012 15:31:25 +0200
parents 3e9f91d8b2af
children 095abcfab7f1
files src/lib/eacces-error.c
diffstat 1 files changed, 5 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib/eacces-error.c	Fri Mar 02 14:36:13 2012 +0200
+++ b/src/lib/eacces-error.c	Fri Mar 02 15:31:25 2012 +0200
@@ -109,11 +109,13 @@
 	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",