mirror of
https://github.com/samba-team/samba.git
synced 2025-03-08 04:58:40 +03:00
s3: Make the implicit reference to Protocol in mask_match() explicit
This commit is contained in:
parent
b2db4c5162
commit
e23d8a3d1f
@ -472,7 +472,8 @@ static bool do_this_one(file_info *finfo)
|
||||
}
|
||||
|
||||
if (*client_get_fileselection() &&
|
||||
!mask_match(finfo->name,client_get_fileselection(),false)) {
|
||||
!mask_match(finfo->name, client_get_fileselection(),
|
||||
get_Protocol(), false)) {
|
||||
DEBUG(3,("mask_match %s failed\n", finfo->name));
|
||||
return false;
|
||||
}
|
||||
|
@ -1188,7 +1188,8 @@ bool parent_dirname(TALLOC_CTX *mem_ctx, const char *dir, char **parent,
|
||||
const char **name);
|
||||
bool ms_has_wild(const char *s);
|
||||
bool ms_has_wild_w(const smb_ucs2_t *s);
|
||||
bool mask_match(const char *string, const char *pattern, bool is_case_sensitive);
|
||||
bool mask_match(const char *string, const char *pattern,
|
||||
enum protocol_types proto, bool is_case_sensitive);
|
||||
bool mask_match_search(const char *string, const char *pattern, bool is_case_sensitive);
|
||||
bool mask_match_list(const char *string, char **list, int listLen, bool is_case_sensitive);
|
||||
bool unix_wild_match(const char *pattern, const char *string);
|
||||
|
@ -1687,7 +1687,8 @@ bool is_in_path(const char *name, name_compare_entry *namelist, bool case_sensit
|
||||
|
||||
for(; namelist->name != NULL; namelist++) {
|
||||
if(namelist->is_wild) {
|
||||
if (mask_match(last_component, namelist->name, case_sensitive)) {
|
||||
if (mask_match(last_component, namelist->name,
|
||||
get_Protocol(), case_sensitive)) {
|
||||
DEBUG(8,("is_in_path: mask match succeeded\n"));
|
||||
return True;
|
||||
}
|
||||
@ -2384,14 +2385,16 @@ bool ms_has_wild_w(const smb_ucs2_t *s)
|
||||
of the ".." name.
|
||||
*******************************************************************/
|
||||
|
||||
bool mask_match(const char *string, const char *pattern, bool is_case_sensitive)
|
||||
bool mask_match(const char *string, const char *pattern,
|
||||
enum protocol_types proto, bool is_case_sensitive)
|
||||
{
|
||||
if (ISDOTDOT(string))
|
||||
string = ".";
|
||||
if (ISDOT(pattern))
|
||||
return False;
|
||||
|
||||
return ms_fnmatch(pattern, string, Protocol <= PROTOCOL_LANMAN2, is_case_sensitive) == 0;
|
||||
return ms_fnmatch(pattern, string, proto <= PROTOCOL_LANMAN2,
|
||||
is_case_sensitive) == 0;
|
||||
}
|
||||
|
||||
/*******************************************************************
|
||||
@ -2418,7 +2421,8 @@ bool mask_match_search(const char *string, const char *pattern, bool is_case_sen
|
||||
bool mask_match_list(const char *string, char **list, int listLen, bool is_case_sensitive)
|
||||
{
|
||||
while (listLen-- > 0) {
|
||||
if (mask_match(string, *list++, is_case_sensitive))
|
||||
if (mask_match(string, *list++, get_Protocol(),
|
||||
is_case_sensitive))
|
||||
return True;
|
||||
}
|
||||
return False;
|
||||
|
@ -2638,7 +2638,7 @@ NTSTATUS unlink_internals(connection_struct *conn, struct smb_request *req,
|
||||
continue;
|
||||
}
|
||||
|
||||
if(!mask_match(dname, fname_mask,
|
||||
if(!mask_match(dname, fname_mask, get_Protocol(),
|
||||
conn->case_sensitive)) {
|
||||
TALLOC_FREE(frame);
|
||||
TALLOC_FREE(talloced);
|
||||
@ -6337,7 +6337,8 @@ NTSTATUS rename_internals(TALLOC_CTX *ctx,
|
||||
continue;
|
||||
}
|
||||
|
||||
if(!mask_match(dname, fname_src_mask, conn->case_sensitive)) {
|
||||
if(!mask_match(dname, fname_src_mask, get_Protocol(),
|
||||
conn->case_sensitive)) {
|
||||
TALLOC_FREE(talloced);
|
||||
continue;
|
||||
}
|
||||
@ -6968,7 +6969,7 @@ void reply_copy(struct smb_request *req)
|
||||
continue;
|
||||
}
|
||||
|
||||
if(!mask_match(dname, fname_src_mask,
|
||||
if(!mask_match(dname, fname_src_mask, get_Protocol(),
|
||||
conn->case_sensitive)) {
|
||||
TALLOC_FREE(talloced);
|
||||
continue;
|
||||
|
@ -1368,7 +1368,7 @@ static bool smbd_dirptr_lanman2_match_fn(TALLOC_CTX *ctx,
|
||||
fname, mask);
|
||||
state->got_exact_match = got_match;
|
||||
if (!got_match) {
|
||||
got_match = mask_match(fname, mask,
|
||||
got_match = mask_match(fname, mask, get_Protocol(),
|
||||
state->conn->case_sensitive);
|
||||
}
|
||||
|
||||
@ -1393,6 +1393,7 @@ static bool smbd_dirptr_lanman2_match_fn(TALLOC_CTX *ctx,
|
||||
state->got_exact_match = got_match;
|
||||
if (!got_match) {
|
||||
got_match = mask_match(mangled_name, mask,
|
||||
get_Protocol(),
|
||||
state->conn->case_sensitive);
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user