Allow a failure of EINVAL to mean no ACLs are available.
[rsync/rsync.git] / acls.c
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) {
        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
 #ifdef ENOTSUP
                case ENOTSUP:
 #endif