mirror of
https://github.com/samba-team/samba.git
synced 2025-01-22 22:04:08 +03:00
Revert "s3: Make the implicit reference to Protocol in is_in_path() explicit"
This reverts commit f7b4151a64d8c6851e62255a7139fd00a5fc63a3.
This commit is contained in:
parent
7930206f5c
commit
5c4885a26b
@ -1156,8 +1156,7 @@ gid_t nametogid(const char *name);
|
||||
void smb_panic(const char *const why);
|
||||
void log_stack_trace(void);
|
||||
const char *readdirname(SMB_STRUCT_DIR *p);
|
||||
bool is_in_path(const char *name, name_compare_entry *namelist,
|
||||
enum protocol_types proto, bool case_sensitive);
|
||||
bool is_in_path(const char *name, name_compare_entry *namelist, bool case_sensitive);
|
||||
void set_namearray(name_compare_entry **ppname_array, const char *namelist);
|
||||
void free_namearray(name_compare_entry *name_array);
|
||||
bool fcntl_lock(int fd, int op, SMB_OFF_T offset, SMB_OFF_T count, int type);
|
||||
|
@ -79,6 +79,9 @@
|
||||
#define MAP_HIDDEN(conn) ((conn) && lp_map_hidden(SNUM(conn)))
|
||||
#define MAP_SYSTEM(conn) ((conn) && lp_map_system(SNUM(conn)))
|
||||
#define MAP_ARCHIVE(conn) ((conn) && lp_map_archive(SNUM(conn)))
|
||||
#define IS_HIDDEN_PATH(conn,path) ((conn) && is_in_path((path),(conn)->hide_list,(conn)->case_sensitive))
|
||||
#define IS_VETO_PATH(conn,path) ((conn) && is_in_path((path),(conn)->veto_list,(conn)->case_sensitive))
|
||||
#define IS_VETO_OPLOCK_PATH(conn,path) ((conn) && is_in_path((path),(conn)->veto_oplock_list,(conn)->case_sensitive))
|
||||
|
||||
/*
|
||||
* Used by the stat cache code to check if a returned
|
||||
|
@ -1666,8 +1666,7 @@ const char *readdirname(SMB_STRUCT_DIR *p)
|
||||
of a path matches a (possibly wildcarded) entry in a namelist.
|
||||
********************************************************************/
|
||||
|
||||
bool is_in_path(const char *name, name_compare_entry *namelist,
|
||||
enum protocol_types proto, bool case_sensitive)
|
||||
bool is_in_path(const char *name, name_compare_entry *namelist, bool case_sensitive)
|
||||
{
|
||||
const char *last_component;
|
||||
|
||||
@ -1689,7 +1688,7 @@ bool is_in_path(const char *name, name_compare_entry *namelist,
|
||||
for(; namelist->name != NULL; namelist++) {
|
||||
if(namelist->is_wild) {
|
||||
if (mask_match(last_component, namelist->name,
|
||||
proto, case_sensitive)) {
|
||||
get_Protocol(), case_sensitive)) {
|
||||
DEBUG(8,("is_in_path: mask match succeeded\n"));
|
||||
return True;
|
||||
}
|
||||
|
@ -603,8 +603,7 @@ NTSTATUS onefs_open_file_ntcreate(connection_struct *conn,
|
||||
|
||||
/* Ignore oplock requests if oplocks are disabled. */
|
||||
if (!lp_oplocks(SNUM(conn)) || global_client_failed_oplock_break ||
|
||||
is_in_path(smb_fname->base_name, conn->veto_oplock_list,
|
||||
get_Protocol(), conn->case_sensitive)) {
|
||||
IS_VETO_OPLOCK_PATH(conn, smb_fname->base_name)) {
|
||||
/* Mask off everything except the private Samba bits. */
|
||||
oplock_request &= SAMBA_PRIVATE_OPLOCK_MASK;
|
||||
}
|
||||
|
@ -395,8 +395,7 @@ static int preopen_open(vfs_handle_struct *handle,
|
||||
return res;
|
||||
}
|
||||
|
||||
if (!is_in_path(smb_fname->base_name, state->preopen_names,
|
||||
get_Protocol(), true)) {
|
||||
if (!is_in_path(smb_fname->base_name, state->preopen_names, true)) {
|
||||
DEBUG(10, ("%s does not match the preopen:names list\n",
|
||||
smb_fname_str_dbg(smb_fname)));
|
||||
return res;
|
||||
|
@ -1215,8 +1215,7 @@ bool is_visible_file(connection_struct *conn, const char *dir_path,
|
||||
}
|
||||
|
||||
/* If it's a vetoed file, pretend it doesn't even exist */
|
||||
if (use_veto && is_in_path(name, conn->veto_list, get_Protocol(),
|
||||
conn->case_sensitive)) {
|
||||
if (use_veto && IS_VETO_PATH(conn, name)) {
|
||||
DEBUG(10,("is_visible_file: file %s is vetoed.\n", name ));
|
||||
return False;
|
||||
}
|
||||
|
@ -455,8 +455,7 @@ uint32 dos_mode_msdfs(connection_struct *conn,
|
||||
/* Optimization : Only call is_hidden_path if it's not already
|
||||
hidden. */
|
||||
if (!(result & aHIDDEN) &&
|
||||
is_in_path(smb_fname->base_name, conn->hide_list, get_Protocol(),
|
||||
conn->case_sensitive)) {
|
||||
IS_HIDDEN_PATH(conn, smb_fname->base_name)) {
|
||||
result |= aHIDDEN;
|
||||
}
|
||||
|
||||
@ -642,8 +641,7 @@ uint32 dos_mode(connection_struct *conn, struct smb_filename *smb_fname)
|
||||
/* Optimization : Only call is_hidden_path if it's not already
|
||||
hidden. */
|
||||
if (!(result & aHIDDEN) &&
|
||||
is_in_path(smb_fname->base_name, conn->hide_list, get_Protocol(),
|
||||
conn->case_sensitive)) {
|
||||
IS_HIDDEN_PATH(conn, smb_fname->base_name)) {
|
||||
result |= aHIDDEN;
|
||||
}
|
||||
|
||||
|
@ -780,8 +780,7 @@ NTSTATUS unix_convert(TALLOC_CTX *ctx,
|
||||
|
||||
NTSTATUS check_name(connection_struct *conn, const char *name)
|
||||
{
|
||||
if (is_in_path(name, conn->veto_list, get_Protocol(),
|
||||
conn->case_sensitive)) {
|
||||
if (IS_VETO_PATH(conn, name)) {
|
||||
/* Is it not dot or dot dot. */
|
||||
if (!((name[0] == '.') && (!name[1] ||
|
||||
(name[1] == '.' && !name[2])))) {
|
||||
|
@ -611,7 +611,7 @@ static NTSTATUS open_file(files_struct *fsp,
|
||||
fsp->is_directory = False;
|
||||
if (conn->aio_write_behind_list &&
|
||||
is_in_path(smb_fname->base_name, conn->aio_write_behind_list,
|
||||
get_Protocol(), conn->case_sensitive)) {
|
||||
conn->case_sensitive)) {
|
||||
fsp->aio_write_behind = True;
|
||||
}
|
||||
status = fsp_set_smb_fname(fsp, smb_fname);
|
||||
@ -1569,8 +1569,7 @@ static NTSTATUS open_file_ntcreate(connection_struct *conn,
|
||||
|
||||
/* ignore any oplock requests if oplocks are disabled */
|
||||
if (!lp_oplocks(SNUM(conn)) || global_client_failed_oplock_break ||
|
||||
is_in_path(smb_fname->base_name, conn->veto_oplock_list,
|
||||
get_Protocol(), conn->case_sensitive)) {
|
||||
IS_VETO_OPLOCK_PATH(conn, smb_fname->base_name)) {
|
||||
/* Mask off everything except the private Samba bits. */
|
||||
oplock_request &= SAMBA_PRIVATE_OPLOCK_MASK;
|
||||
}
|
||||
|
@ -5445,8 +5445,7 @@ NTSTATUS rmdir_internals(TALLOC_CTX *ctx,
|
||||
TALLOC_FREE(talloced);
|
||||
continue;
|
||||
}
|
||||
if(!is_in_path(dname, conn->veto_list, get_Protocol(),
|
||||
conn->case_sensitive)) {
|
||||
if(!IS_VETO_PATH(conn, dname)) {
|
||||
TALLOC_FREE(dir_hnd);
|
||||
TALLOC_FREE(talloced);
|
||||
errno = ENOTEMPTY;
|
||||
|
Loading…
x
Reference in New Issue
Block a user