[SCM] Samba Shared Repository - branch master updated

Andrew Bartlett abartlet at samba.org
Tue May 8 22:08:02 MDT 2012


The branch, master has been updated
       via  e09f057 s3-lib/sysacls: Do not include an embedded 
       via  fc4c06f s3-lib: Add const to sys_acl_to_text
       via  9ef47b8 s3-vfs: Show the invalid ACL when we say it is invalid for set
       via  ad11b90 s3-lib: Fix indentation in sys_acl_to_text()
      from  9a01661 Revert "selftest: mark ^samba4.raw.context.session1 as flapping, the test was wrong"

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit e09f05731d734090a31b97082bcbb3933380bf76
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Tue May 8 23:39:35 2012 +1000

    s3-lib/sysacls: Do not include an embedded \0 between ACL entries in sys_acl_to_text()
    
    This makes it possible to print the entire string again.
    
    Andrew Bartlett
    
    Autobuild-User: Andrew Bartlett <abartlet at samba.org>
    Autobuild-Date: Wed May  9 06:07:06 CEST 2012 on sn-devel-104

commit fc4c06f284d88b6c1997768dd448e2dac80739cb
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Tue May 8 14:11:27 2012 +1000

    s3-lib: Add const to sys_acl_to_text

commit 9ef47b8fe3a8e1d940946ae611b807fa2cbd5b70
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Tue May 8 14:02:27 2012 +1000

    s3-vfs: Show the invalid ACL when we say it is invalid for set

commit ad11b90eb6fa3c12b4aaa065e62122d6af78aff2
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Tue May 8 14:02:07 2012 +1000

    s3-lib: Fix indentation in sys_acl_to_text()

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

Summary of changes:
 source3/include/proto.h        |    2 +-
 source3/lib/sysacls.c          |   11 ++++++-----
 source3/modules/vfs_posixacl.c |    6 ++++--
 3 files changed, 11 insertions(+), 8 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/include/proto.h b/source3/include/proto.h
index 686b230..d45ec88 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -270,7 +270,7 @@ void *sys_acl_get_qualifier(SMB_ACL_ENTRY_T entry_d);
 int sys_acl_clear_perms(SMB_ACL_PERMSET_T permset_d);
 int sys_acl_add_perm(SMB_ACL_PERMSET_T permset_d, SMB_ACL_PERM_T perm);
 int sys_acl_get_perm(SMB_ACL_PERMSET_T permset_d, SMB_ACL_PERM_T perm);
-char *sys_acl_to_text(SMB_ACL_T acl_d, ssize_t *len_p);
+char *sys_acl_to_text(const struct smb_acl_t *acl_d, ssize_t *len_p);
 SMB_ACL_T sys_acl_init(int count);
 int sys_acl_create_entry(SMB_ACL_T *acl_p, SMB_ACL_ENTRY_T *entry_p);
 int sys_acl_set_tag_type(SMB_ACL_ENTRY_T entry_d, SMB_ACL_TAG_T tag_type);
diff --git a/source3/lib/sysacls.c b/source3/lib/sysacls.c
index fad717b..592aef6 100644
--- a/source3/lib/sysacls.c
+++ b/source3/lib/sysacls.c
@@ -148,7 +148,7 @@ int sys_acl_get_perm(SMB_ACL_PERMSET_T permset_d, SMB_ACL_PERM_T perm)
 	return *permset_d & perm;
 }
 
-char *sys_acl_to_text(SMB_ACL_T acl_d, ssize_t *len_p)
+char *sys_acl_to_text(const struct smb_acl_t *acl_d, ssize_t *len_p)
 {
 	int	i;
 	int	len, maxlen;
@@ -233,13 +233,14 @@ char *sys_acl_to_text(SMB_ACL_T acl_d, ssize_t *len_p)
 		if ((len + nbytes) > maxlen) {
 			maxlen += nbytes + 20 * (acl_d->count - i);
 			if ((text = (char *)SMB_REALLOC(text, maxlen)) == NULL) {
-			errno = ENOMEM;
+				errno = ENOMEM;
 				return NULL;
+			}
 		}
-	}
 
-		slprintf(&text[len], nbytes-1, "%s:%s:%s\n", tag, id, perms);
-		len += nbytes - 1;
+
+		slprintf(&text[len], nbytes, "%s:%s:%s\n", tag, id, perms);
+		len += (nbytes - 1);
 	}
 
 	if (len_p)
diff --git a/source3/modules/vfs_posixacl.c b/source3/modules/vfs_posixacl.c
index 4640991..d304f6f 100644
--- a/source3/modules/vfs_posixacl.c
+++ b/source3/modules/vfs_posixacl.c
@@ -347,8 +347,10 @@ static acl_t smb_acl_to_posix(const struct smb_acl_t *acl)
 	}
 
 	if (acl_valid(result) != 0) {
-		DEBUG(0, ("smb_acl_to_posix: ACL is invalid for set (%s)\n",
-			  strerror(errno)));
+		char *acl_string = sys_acl_to_text(acl, NULL);
+		DEBUG(0, ("smb_acl_to_posix: ACL %s is invalid for set (%s)\n",
+			  acl_string, strerror(errno)));
+		SAFE_FREE(acl_string);
 		goto fail;
 	}
 


-- 
Samba Shared Repository


More information about the samba-cvs mailing list