Author: derrell Date: 2007-08-15 13:44:33 +0000 (Wed, 15 Aug 2007) New Revision: 24460
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=24460 Log: - 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 Modified: branches/SAMBA_3_2_0/source/libsmb/libsmbclient.c Changeset: Modified: branches/SAMBA_3_2_0/source/libsmb/libsmbclient.c =================================================================== --- branches/SAMBA_3_2_0/source/libsmb/libsmbclient.c 2007-08-15 13:14:38 UTC (rev 24459) +++ branches/SAMBA_3_2_0/source/libsmb/libsmbclient.c 2007-08-15 13:44:33 UTC (rev 24460) @@ -5152,7 +5152,6 @@ switch (mode) { case SMBC_XATTR_MODE_REMOVE_ALL: old->dacl->num_aces = 0; - old->dacl = NULL; dacl = old->dacl; break; @@ -5169,9 +5168,6 @@ old->dacl->aces[k+1]; } old->dacl->num_aces--; - if (old->dacl->num_aces == 0) { - old->dacl = NULL; - } found = True; dacl = old->dacl; break;
