+++ /dev/null
-# Check SMB1 wildcard demangle
-^samba3.smbtorture_s3.plain.SMB1-WILD-MANGLE-RENAME.smbtorture\(fileserver_smb1\)
-^samba3.smbtorture_s3.crypt_client.SMB1-WILD-MANGLE-RENAME.smbtorture\(nt4_dc_smb1\)
* to Windows the unmangled name may
* contain Windows wildcard characters.
*/
- src_has_wild = ms_has_wild(fname_src_mask);
+ if (src_original_lcomp != NULL) {
+ src_has_wild = ms_has_wild(src_original_lcomp);
+ }
dest_has_wild = ms_has_wild(dst_original_lcomp);
}
NTSTATUS status;
TALLOC_CTX *ctx = talloc_tos();
struct smb_filename *smb_fname_src = NULL;
+ const char *src_original_lcomp = NULL;
struct smb_filename *smb_fname_dst = NULL;
const char *dst_original_lcomp = NULL;
uint32_t src_ucf_flags = ucf_flags_from_smb_request(req) |
goto out;
}
+ /* Get the last component of the source for rename_internals(). */
+ src_original_lcomp = get_original_lcomp(ctx,
+ conn,
+ name,
+ dst_ucf_flags);
+ if (src_original_lcomp == NULL) {
+ reply_nterror(req, NT_STATUS_NO_MEMORY);
+ goto out;
+ }
+
status = filename_convert(ctx,
conn,
newname,
conn,
req,
smb_fname_src,
- NULL,
+ src_original_lcomp,
smb_fname_dst,
dst_original_lcomp,
attrs,