The Samba-Bugzilla – Attachment 6268 Details for
Bug 7950
Samba 3.5.x fails BASE-CREATEX_SHAREMODES_DIR smbtorture4 test
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch for 3.5.x.
look (text/plain), 2.73 KB, created by
Jeremy Allison
on 2011-02-23 20:20:32 UTC
(
hide
)
Description:
Patch for 3.5.x.
Filename:
MIME Type:
Creator:
Jeremy Allison
Created:
2011-02-23 20:20:32 UTC
Size:
2.73 KB
patch
obsolete
>diff --git a/source3/include/proto.h b/source3/include/proto.h >index ce33b70..ef80b92 100644 >--- a/source3/include/proto.h >+++ b/source3/include/proto.h >@@ -6663,7 +6663,8 @@ NTSTATUS create_file_default(connection_struct *conn, > NTSTATUS get_relative_fid_filename(connection_struct *conn, > struct smb_request *req, > uint16_t root_dir_fid, >- struct smb_filename *smb_fname); >+ const struct smb_filename *smb_fname, >+ struct smb_filename **smb_fname_out); > > /* The following definitions come from smbd/oplock.c */ > >diff --git a/source3/modules/onefs_open.c b/source3/modules/onefs_open.c >index 2b4e106..a3b919f 100644 >--- a/source3/modules/onefs_open.c >+++ b/source3/modules/onefs_open.c >@@ -2094,11 +2094,13 @@ NTSTATUS onefs_create_file(vfs_handle_struct *handle, > > /* Get the file name if root_dir_fid was specified. */ > if (root_dir_fid != 0) { >+ struct smb_filename *smb_fname_out = NULL; > status = get_relative_fid_filename(conn, req, root_dir_fid, >- smb_fname); >+ smb_fname, &smb_fname_out); > if (!NT_STATUS_IS_OK(status)) { > goto fail; > } >+ smb_fname = smb_fname_out; > } > > /* All file access must go through check_name() */ >diff --git a/source3/smbd/open.c b/source3/smbd/open.c >index f7ed495..bd748f9 100644 >--- a/source3/smbd/open.c >+++ b/source3/smbd/open.c >@@ -3233,7 +3233,8 @@ static NTSTATUS create_file_unixpath(connection_struct *conn, > NTSTATUS get_relative_fid_filename(connection_struct *conn, > struct smb_request *req, > uint16_t root_dir_fid, >- struct smb_filename *smb_fname) >+ const struct smb_filename *smb_fname, >+ struct smb_filename **smb_fname_out) > { > files_struct *dir_fsp; > char *parent_fname = NULL; >@@ -3321,16 +3322,23 @@ NTSTATUS get_relative_fid_filename(connection_struct *conn, > } > } > >- new_base_name = talloc_asprintf(smb_fname, "%s%s", parent_fname, >+ new_base_name = talloc_asprintf(talloc_tos(), "%s%s", parent_fname, > smb_fname->base_name); > if (new_base_name == NULL) { > status = NT_STATUS_NO_MEMORY; > goto out; > } > >- TALLOC_FREE(smb_fname->base_name); >- smb_fname->base_name = new_base_name; >- status = NT_STATUS_OK; >+ status = filename_convert(req, >+ conn, >+ req->flags2 & FLAGS2_DFS_PATHNAMES, >+ new_base_name, >+ 0, >+ NULL, >+ smb_fname_out); >+ if (!NT_STATUS_IS_OK(status)) { >+ goto out; >+ } > > out: > TALLOC_FREE(parent_fname); >@@ -3377,11 +3385,13 @@ NTSTATUS create_file_default(connection_struct *conn, > */ > > if (root_dir_fid != 0) { >+ struct smb_filename *smb_fname_out = NULL; > status = get_relative_fid_filename(conn, req, root_dir_fid, >- smb_fname); >+ smb_fname, &smb_fname_out); > if (!NT_STATUS_IS_OK(status)) { > goto fail; > } >+ smb_fname = smb_fname_out; > } > > /*
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Flags:
vl
:
review+
Actions:
View
Attachments on
bug 7950
: 6268