Fix bug 9678 - Windows 8 Roaming profiles fail
authorGregor Beck <gbeck@sernet.de>
Thu, 1 Aug 2013 12:16:24 +0000 (14:16 +0200)
committerJeremy Allison <jra@samba.org>
Thu, 1 Aug 2013 18:58:25 +0000 (20:58 +0200)
Windows 8 tries to set 'ATTRIBUTE_SECURITY_INFORMATION' on some
dirs. Ignoring it makes roaming profiles work again.
Just like w2k3 gracefully ignore all the other bits.

Signed-off-by: Gregor Beck <gbeck@sernet.de>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Thu Aug  1 20:58:25 CEST 2013 on sn-devel-104

source3/smbd/nttrans.c

index c8116b0a43aa5ae20ff8788ce692780d68f63044..800e2fd260be334479ca6c4d57d2df69eec2479c 100644 (file)
@@ -891,13 +891,8 @@ NTSTATUS set_sd(files_struct *fsp, struct security_descriptor *psd,
 
        /* Ensure we have at least one thing set. */
        if ((security_info_sent & (SECINFO_OWNER|SECINFO_GROUP|SECINFO_DACL|SECINFO_SACL)) == 0) {
-               if (security_info_sent & SECINFO_LABEL) {
-                       /* Only consider SECINFO_LABEL if no other
-                          bits are set. Just like W2K3 we don't
-                          store this. */
-                       return NT_STATUS_OK;
-               }
-               return NT_STATUS_INVALID_PARAMETER;
+               /* Just like W2K3 */
+               return NT_STATUS_OK;
        }
 
        /* Ensure we have the rights to do this. */