bool (*mode_fn)(TALLOC_CTX *ctx,
void *private_data,
struct smb_filename *smb_fname,
+ bool get_dosmode,
uint32_t *_mode),
void *private_data,
char **_fname,
.base_name = pathreal, .st = sbuf
};
- ok = mode_fn(ctx, private_data, &smb_fname, &mode);
+ ok = mode_fn(ctx, private_data, &smb_fname, get_dosmode, &mode);
if (!ok) {
TALLOC_FREE(dname);
TALLOC_FREE(fname);
static bool smbd_dirptr_8_3_mode_fn(TALLOC_CTX *ctx,
void *private_data,
struct smb_filename *smb_fname,
+ bool get_dosmode,
uint32_t *_mode)
{
connection_struct *conn = (connection_struct *)private_data;
static bool smbd_dirptr_lanman2_mode_fn(TALLOC_CTX *ctx,
void *private_data,
struct smb_filename *smb_fname,
+ bool get_dosmode,
uint32_t *_mode)
{
struct smbd_dirptr_lanman2_state *state =
if (ms_dfs_link) {
mode = dos_mode_msdfs(state->conn, smb_fname);
- } else {
+ } else if (get_dosmode) {
mode = dos_mode(state->conn, smb_fname);
}