files_struct *fsp,
const DATA_BLOB *qdata);
-NTSTATUS smb2_parse_file_rename_information(TALLOC_CTX *ctx,
- struct connection_struct *conn,
- struct smb_request *req,
- const char *pdata,
- int total_data,
- files_struct *fsp,
- struct smb_filename *smb_fname_src,
- bool *overwrite,
- struct files_struct **_dst_dirfsp,
- struct smb_filename **_smb_fname_dst,
- char **_dst_original_lcomp);
+NTSTATUS smb2_parse_file_rename_information(
+ TALLOC_CTX *ctx,
+ struct connection_struct *conn,
+ struct smb_request *req,
+ const char *pdata,
+ int total_data,
+ files_struct *fsp,
+ struct smb_filename *smb_fname_src,
+ char **_newname,
+ bool *overwrite,
+ struct files_struct **_dst_dirfsp,
+ struct smb_filename **_smb_fname_dst,
+ char **_dst_original_lcomp);
/* The following definitions come from smbd/uid.c */
req, struct smbd_smb2_setinfo_state);
struct tevent_req *subreq = NULL;
struct timeval timeout;
+ char *newname = NULL;
bool overwrite = false;
struct files_struct *fsp = state->fsp;
struct files_struct *dst_dirfsp = NULL;
state->data.length,
fsp,
fsp->fsp_name,
+ &newname,
&overwrite,
&dst_dirfsp,
&smb_fname_dst,
req, struct smbd_smb2_setinfo_state);
struct tevent_req *subreq = NULL;
struct timeval timeout;
+ char *newname = NULL;
bool overwrite = false;
struct files_struct *fsp = state->fsp;
struct files_struct *dst_parent_dirfsp = NULL;
state->data.length,
fsp,
fsp->fsp_name,
+ &newname,
&overwrite,
&dst_parent_dirfsp,
&smb_fname_dst,
Deal with SMB2_FILE_RENAME_INFORMATION_INTERNAL
****************************************************************************/
-NTSTATUS smb2_parse_file_rename_information(TALLOC_CTX *ctx,
- struct connection_struct *conn,
- struct smb_request *req,
- const char *pdata,
- int total_data,
- files_struct *fsp,
- struct smb_filename *smb_fname_src,
- bool *_overwrite,
- struct files_struct **_dst_dirfsp,
- struct smb_filename **_smb_fname_dst,
- char **_dst_original_lcomp)
+NTSTATUS smb2_parse_file_rename_information(
+ TALLOC_CTX *ctx,
+ struct connection_struct *conn,
+ struct smb_request *req,
+ const char *pdata,
+ int total_data,
+ files_struct *fsp,
+ struct smb_filename *smb_fname_src,
+ char **_newname,
+ bool *_overwrite,
+ struct files_struct **_dst_dirfsp,
+ struct smb_filename **_smb_fname_dst,
+ char **_dst_original_lcomp)
{
char *newname = NULL;
struct files_struct *dst_dirfsp = NULL;
}
done:
+ *_newname = newname;
*_overwrite = overwrite;
*_dst_dirfsp = dst_dirfsp;
*_smb_fname_dst = smb_fname_dst;
struct share_mode_lock **lck,
struct smb_filename *smb_fname_src)
{
+ char *newname = NULL;
bool overwrite;
struct files_struct *dst_dirfsp = NULL;
struct smb_filename *smb_fname_dst = NULL;
total_data,
fsp,
smb_fname_src,
+ &newname,
&overwrite,
&dst_dirfsp,
&smb_fname_dst,