projects
/
platform
/
upstream
/
rsync.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
4403b13
)
Allow a failure of EINVAL to mean no ACLs are available.
author
Wayne Davison
<wayned@samba.org>
Tue, 22 Feb 2011 16:49:21 +0000
(08:49 -0800)
committer
Wayne Davison
<wayned@samba.org>
Tue, 22 Feb 2011 16:52:48 +0000
(08:52 -0800)
(If our POSIX types aren't valid, we can't handle the ACLs.)
acls.c
patch
|
blob
|
history
lib/sysacls.c
patch
|
blob
|
history
diff --git
a/acls.c
b/acls.c
index
ef2751c
..
91afb32
100644
(file)
--- a/
acls.c
+++ b/
acls.c
@@
-1101,6
+1101,9
@@
int default_perms_for_dir(const char *dir)
if (sacl == NULL) {
/* Couldn't get an ACL. Darn. */
switch (errno) {
+ case EINVAL:
+ /* If SMB_ACL_TYPE_DEFAULT isn't valid, then the ACLs must be non-POSIX. */
+ break;
#ifdef ENOTSUP
case ENOTSUP:
#endif
diff --git
a/lib/sysacls.c
b/lib/sysacls.c
index
19d4d7a
..
52314bc
100644
(file)
--- a/
lib/sysacls.c
+++ b/
lib/sysacls.c
@@
-2781,6
+2781,11
@@
int no_acl_syscall_error(int err)
return 1;
}
#endif
+ if (err == EINVAL) {
+ /* If the type of SMB_ACL_TYPE_ACCESS or SMB_ACL_TYPE_DEFAULT
+ * isn't valid, then the ACLs must be non-POSIX. */
+ return 1;
+ }
return 0;
}