summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDerrell Lipman <derrell@samba.org>2007-08-15 13:44:33 +0000
committerDerrell Lipman <derrell@samba.org>2007-08-15 13:44:33 +0000
commit458af72e9855c5205bd37b4487f66e2c18fa6114 (patch)
tree23cb352112cbbcb0a030c1ac2f1e09de2d7d674c
parent6d17dc56beef590811e1c77dddc57fba7e4d4881 (diff)
downloadsamba-458af72e9855c5205bd37b4487f66e2c18fa6114.tar.gz
samba-458af72e9855c5205bd37b4487f66e2c18fa6114.tar.xz
samba-458af72e9855c5205bd37b4487f66e2c18fa6114.zip
r24460: - Removing all ACEs was causing removal of the DACL entirely. Win2000 ignored
the request, presumably due to the PROTECTED flag not being set. Setting that flag (in make_sec_desc()) has much wider implications than just to libsmbclient, so instead of modifying that, we'll remove security descriptors by setting the number of ACEs to zero. At some point, we might want to look into whether we should actually be setting the PROTECTED flag in the DACL. Reference http://www.microsoft.com/technet/prodtechnol/windows2000serv/reskit/distrib/dsce_ctl_qxju.mspx?mfr=true Derrell
-rw-r--r--source/libsmb/libsmbclient.c4
1 files changed, 0 insertions, 4 deletions
diff --git a/source/libsmb/libsmbclient.c b/source/libsmb/libsmbclient.c
index 83a79f09c0b..8e85b7f111d 100644
--- a/source/libsmb/libsmbclient.c
+++ b/source/libsmb/libsmbclient.c
@@ -5152,7 +5152,6 @@ cacl_set(TALLOC_CTX *ctx,
switch (mode) {
case SMBC_XATTR_MODE_REMOVE_ALL:
old->dacl->num_aces = 0;
- old->dacl = NULL;
dacl = old->dacl;
break;
@@ -5169,9 +5168,6 @@ cacl_set(TALLOC_CTX *ctx,
old->dacl->aces[k+1];
}
old->dacl->num_aces--;
- if (old->dacl->num_aces == 0) {
- old->dacl = NULL;
- }
found = True;
dacl = old->dacl;
break;