BUG: https://bugzilla.samba.org/show_bug.cgi?id=15862
Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Mon Jul 7 17:45:13 UTC 2025 on atb-devel-224
+++ /dev/null
-^samba.tests.smb3unix.*test_posix_reserved_char\(fileserver_smb1\)
uint32_t info_level;
bool check_mangled_names;
bool case_sensitive;
uint32_t info_level;
bool check_mangled_names;
bool case_sensitive;
};
static bool smbd_dirptr_lanman2_match_fn(TALLOC_CTX *ctx,
};
static bool smbd_dirptr_lanman2_match_fn(TALLOC_CTX *ctx,
const char *fname;
/* Mangle fname if it's an illegal name. */
const char *fname;
/* Mangle fname if it's an illegal name. */
- if (mangle_must_mangle(dname, state->conn->params)) {
+ if (!state->posix_paths &&
+ mangle_must_mangle(dname, state->conn->params))
+ {
/*
* Slow path - ensure we can push the original name as UCS2. If
* not, then just don't return this name.
/*
* Slow path - ensure we can push the original name as UCS2. If
* not, then just don't return this name.
state.check_mangled_names = true;
}
state.case_sensitive = dptr_case_sensitive(dirptr);
state.check_mangled_names = true;
}
state.case_sensitive = dptr_case_sensitive(dirptr);
+ if (dirfsp->fsp_name->flags & SMB_FILENAME_POSIX_PATH) {
+ state.posix_paths = true;
+ }
p = strrchr_m(path_mask,'/');
if(p != NULL) {
p = strrchr_m(path_mask,'/');
if(p != NULL) {