Correction; the perms are being set on request of the client:
[2009/01/24 13:50:41, 5] smbd/filename.c:unix_convert(290) conversion finished test-acl/file-cifs -> test-acl/file-cifs [2009/01/24 13:50:41, 3] smbd/trans2.c:call_trans2setfilepathinfo(6702) call_trans2setfilepathinfo(6) test-acl/file-cifs (fnum -1) info_level=512 totdata=100 [2009/01/24 13:50:41, 10] smbd/trans2.c:smb_set_file_unix_basic(5955) smb_set_file_unix_basic: SMB_SET_FILE_UNIX_BASIC: name = test-acl/file-cifs size = 0, uid = 4294967295, gid = 4294967295, raw perms = 0100644 [2009/01/24 13:50:41, 10] smbd/trans2.c:smb_set_file_unix_basic(6001) smb_set_file_unix_basic: SMB_SET_FILE_UNIX_BASIC setting mode 0644 for file test-acl/file-cifs
So not a server-side bug at all; the server is correctly applying the default ACL, and then also doing as the client has requested, overriding the mode with the new settings.
Correction; the perms are being set on request of the client:
[2009/01/24 13:50:41, 5] smbd/filename. c:unix_ convert( 290) c:call_ trans2setfilepa thinfo( 6702) trans2setfilepa thinfo( 6) test-acl/file-cifs (fnum -1) info_level=512 totdata=100 c:smb_set_ file_unix_ basic(5955) file_unix_ basic: SMB_SET_ FILE_UNIX_ BASIC: name = test-acl/file-cifs size = 0, uid = 4294967295, gid = 4294967295, raw perms = 0100644 c:smb_set_ file_unix_ basic(6001) file_unix_ basic: SMB_SET_ FILE_UNIX_ BASIC setting mode 0644 for file test-acl/file-cifs
conversion finished test-acl/file-cifs -> test-acl/file-cifs
[2009/01/24 13:50:41, 3] smbd/trans2.
call_
[2009/01/24 13:50:41, 10] smbd/trans2.
smb_set_
[2009/01/24 13:50:41, 10] smbd/trans2.
smb_set_
So not a server-side bug at all; the server is correctly applying the default ACL, and then also doing as the client has requested, overriding the mode with the new settings.