[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