Fix the same bug with user -> user_obj.
authorJeremy Allison <jra@samba.org>
Fri, 25 Jan 2008 02:22:43 +0000 (18:22 -0800)
committerJeremy Allison <jra@samba.org>
Fri, 25 Jan 2008 02:22:43 +0000 (18:22 -0800)
Jeremy.
(This used to be commit c5edf7456955471b8590c2cfa67c7f47a387cdf0)

source3/smbd/posix_acls.c

index 9c015261b5f130f4b153763f96915c61a388a494..f60329a039a95b0c2a2d2550853205aa4afb5bc3 100644 (file)
@@ -1474,7 +1474,13 @@ static bool create_canon_ace_lists(files_struct *fsp, SMB_STRUCT_STAT *pst,
 
                } else if (sid_to_uid( &current_ace->trustee, &current_ace->unix_ug.uid)) {
                        current_ace->owner_type = UID_ACE;
-                       current_ace->type = SMB_ACL_USER;
+                       /* If it's the owning user, this is a user_obj, not
+                        * a user. */
+                       if (current_ace->unix_ug.uid == pst->st_uid) {
+                               current_ace->type = SMB_ACL_USER_OBJ;
+                       } else {
+                               current_ace->type = SMB_ACL_USER;
+                       }
                } else if (sid_to_gid( &current_ace->trustee, &current_ace->unix_ug.gid)) {
                        current_ace->owner_type = GID_ACE;
                        /* If it's the primary group, this is a group_obj, not