The branch, master has been updated via a06bbf3 vfs_gpfs: Fix compile after change in get_nt_acl_fn via 1f9d1f9 s3/lib/netapi/tests/netuser.c: fix wrong closing paren via cde44d4 s3/vfs_btrfs.c: use sizeof() instead of ARRAY_SIZE() via c11ad90 smbd: ignore SVHDX create context from cd1335e VFS: Modify rmdir to take a const struct smb_filename * instead of const char *
https://git.samba.org/?p=samba.git;a=shortlog;h=master - Log ----------------------------------------------------------------- commit a06bbf344707604b612d63195050c5cc8fa19554 Author: Christof Schmitt <c...@samba.org> Date: Thu Feb 25 13:42:21 2016 -0700 vfs_gpfs: Fix compile after change in get_nt_acl_fn Signed-off-by: Christof Schmitt <c...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> Autobuild-User(master): Jeremy Allison <j...@samba.org> Autobuild-Date(master): Fri Feb 26 01:21:21 CET 2016 on sn-devel-144 commit 1f9d1f9cd70b4e9b41e53d9cca5025ed31ef7e71 Author: Aurelien Aptel <aap...@suse.com> Date: Thu Feb 25 14:17:46 2016 +0100 s3/lib/netapi/tests/netuser.c: fix wrong closing paren Signed-off-by: Aurelien Aptel <aap...@suse.com> Reviewed-by: David Disseldorp <dd...@samba.org> Reviewed-by: Michael Adam <ob...@samba.org> Revewied-by: Jeremy Allison <j...@samba.org> commit cde44d48003499547c6745866b39c3e65bd25d38 Author: Aurelien Aptel <aap...@suse.com> Date: Thu Feb 25 15:55:07 2016 +0100 s3/vfs_btrfs.c: use sizeof() instead of ARRAY_SIZE() The `unused` member being set to zero is an uint64_t array. We want the byte size here. Signed-off-by: Aurelien Aptel <aap...@suse.com> Reviewed-by: David Disseldorp <dd...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> commit c11ad90a240a7703e04d290f78c15839ba31d733 Author: Uri Simchoni <u...@samba.org> Date: Thu Feb 25 07:08:06 2016 +0200 smbd: ignore SVHDX create context According to discussions with doch...@microsoft.com, an SMB server should ignore an SVHDX_OPEN_DEVICE_CONTEXT or SVHDX_OPEN_DEVICE_CONTEXT_V2 create context if it does not support the RSVD protocol. This is contrary to [MS-SMB2] rev 48.0 which states (3.3.5.9.14) that the open should fail in this case. Failing the create fails Windows backup if the SMB dialect is SMB3.0.2 or higher. Hopefully a new revision of MS-SMB2 will clear this up in the future. Meanwhile, this patch modifies smbd to ignore the SVHDX_OPEN_DEVICE_CONTEXT by default. This can be overriden by a VFS module if a VFS module adds support for RSVD. BUG: https://bugzilla.samba.org/show_bug.cgi?id=11753 Signed-off-by: Uri Simchoni <u...@samba.org> Reviewed-by: Jeremy Allison <j...@samba.org> Reviewed-by: Richard Sharpe <realrichardsha...@gmail.com> ----------------------------------------------------------------------- Summary of changes: source3/lib/netapi/tests/netuser.c | 2 +- source3/modules/vfs_btrfs.c | 2 +- source3/modules/vfs_default.c | 16 ---------------- source3/modules/vfs_gpfs.c | 21 ++++++++++++--------- 4 files changed, 14 insertions(+), 27 deletions(-) Changeset truncated at 500 lines: diff --git a/source3/lib/netapi/tests/netuser.c b/source3/lib/netapi/tests/netuser.c index beeeb34..de5f0a1 100644 --- a/source3/lib/netapi/tests/netuser.c +++ b/source3/lib/netapi/tests/netuser.c @@ -244,7 +244,7 @@ static NET_API_STATUS test_netusermodals(struct libnetapi_ctx *ctx, return status; } - if (memcmp(u0, _u0, sizeof(u0) != 0)) { + if (memcmp(u0, _u0, sizeof(*u0)) != 0) { printf("USER_MODALS_INFO_0 struct has changed!!!!\n"); return -1; } diff --git a/source3/modules/vfs_btrfs.c b/source3/modules/vfs_btrfs.c index bd95637..154fcc3 100644 --- a/source3/modules/vfs_btrfs.c +++ b/source3/modules/vfs_btrfs.c @@ -531,7 +531,7 @@ static NTSTATUS btrfs_snap_create(struct vfs_handle_struct *handle, ioctl_arg.fd = src_fd; ioctl_arg.transid = 0; ioctl_arg.flags = (rw == false) ? BTRFS_SUBVOL_RDONLY : 0; - memset(ioctl_arg.unused, 0, ARRAY_SIZE(ioctl_arg.unused)); + memset(ioctl_arg.unused, 0, sizeof(ioctl_arg.unused)); len = strlcpy(ioctl_arg.name, dest_subvolume, ARRAY_SIZE(ioctl_arg.name)); if (len >= ARRAY_SIZE(ioctl_arg.name)) { diff --git a/source3/modules/vfs_default.c b/source3/modules/vfs_default.c index c3ff1bc..b13b517 100644 --- a/source3/modules/vfs_default.c +++ b/source3/modules/vfs_default.c @@ -571,22 +571,6 @@ static NTSTATUS vfswrap_create_file(vfs_handle_struct *handle, const struct smb2_create_blobs *in_context_blobs, struct smb2_create_blobs *out_context_blobs) { - struct smb2_create_blob *svhdx = NULL; - - /* - * It might be empty ... and smb2_create_blob_find does not handle that - */ - if (in_context_blobs) { - svhdx = smb2_create_blob_find(in_context_blobs, - SVHDX_OPEN_DEVICE_CONTEXT); - } - - if (svhdx != NULL) { - /* SharedVHD is not yet supported */ - DEBUG(10, ("Shared VHD not yet supported, INVALID_DEVICE_REQUEST\n")); - return NT_STATUS_INVALID_DEVICE_REQUEST; - } - return create_file_default(handle->conn, req, root_dir_fid, smb_fname, access_mask, share_access, create_disposition, create_options, diff --git a/source3/modules/vfs_gpfs.c b/source3/modules/vfs_gpfs.c index 2216d1d..33a30d0 100644 --- a/source3/modules/vfs_gpfs.c +++ b/source3/modules/vfs_gpfs.c @@ -585,9 +585,10 @@ static NTSTATUS gpfsacl_fget_nt_acl(vfs_handle_struct *handle, } static NTSTATUS gpfsacl_get_nt_acl(vfs_handle_struct *handle, - const char *name, - uint32_t security_info, - TALLOC_CTX *mem_ctx, struct security_descriptor **ppdesc) + const struct smb_filename *smb_fname, + uint32_t security_info, + TALLOC_CTX *mem_ctx, + struct security_descriptor **ppdesc) { struct SMB4ACL_T *pacl = NULL; int result; @@ -602,25 +603,27 @@ static NTSTATUS gpfsacl_get_nt_acl(vfs_handle_struct *handle, return NT_STATUS_INTERNAL_ERROR); if (!config->acl) { - status = SMB_VFS_NEXT_GET_NT_ACL(handle, name, security_info, + status = SMB_VFS_NEXT_GET_NT_ACL(handle, smb_fname, + security_info, mem_ctx, ppdesc); TALLOC_FREE(frame); return status; } - result = gpfs_get_nfs4_acl(frame, name, &pacl); + result = gpfs_get_nfs4_acl(frame, smb_fname->base_name, &pacl); if (result == 0) { - status = smb_get_nt_acl_nfs4(handle->conn, name, security_info, - mem_ctx, ppdesc, pacl); + status = smb_get_nt_acl_nfs4(handle->conn, smb_fname->base_name, + security_info, mem_ctx, ppdesc, + pacl); TALLOC_FREE(frame); return status; } if (result > 0) { DEBUG(10, ("retrying with posix acl...\n")); - status = posix_get_nt_acl(handle->conn, name, security_info, - mem_ctx, ppdesc); + status = posix_get_nt_acl(handle->conn, smb_fname->base_name, + security_info, mem_ctx, ppdesc); TALLOC_FREE(frame); return status; } -- Samba Shared Repository