[SCM] The rsync repository. - branch master updated

Rsync CVS commit messages rsync-cvs at lists.samba.org
Tue Feb 22 09:59:10 MST 2011


The branch, master has been updated
       via  7766e67 Allow a failure of EINVAL to mean no ACLs are available. (If our POSIX types aren't valid, we can't handle the ACLs.)
      from  4403b13 Fix --force with --one-file-system w/o --delete.

;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 7766e673215542dadc066193a5a166274d00e9ab
Author: Wayne Davison <wayned at samba.org>
Date:   Tue Feb 22 08:49:21 2011 -0800

    Allow a failure of EINVAL to mean no ACLs are available.
    (If our POSIX types aren't valid, we can't handle the ACLs.)

-----------------------------------------------------------------------

Summary of changes:
 acls.c        |    3 +++
 lib/sysacls.c |    5 +++++
 2 files changed, 8 insertions(+), 0 deletions(-)


Changeset truncated at 500 lines:

diff --git a/acls.c b/acls.c
index ef2751c..91afb32 100644
--- 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
--- 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;
 }
 


-- 
The rsync repository.


More information about the rsync-cvs mailing list