mirror of
https://github.com/samba-team/samba.git
synced 2025-02-02 09:47:23 +03:00
r10359: Ensure that smb.conf requests for hidden files are honored, even
when DOS attributes are stored in EA's. Jeremy. (This used to be commit 758b30710e9f84f19b79c39afddc742aef495ebd)
This commit is contained in:
parent
b3b2910f8f
commit
1970294ab3
@ -297,25 +297,26 @@ uint32 dos_mode(connection_struct *conn, const char *path,SMB_STRUCT_STAT *sbuf)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Get the DOS attributes from an EA by preference. */
|
||||
if (get_ea_dos_attribute(conn, path, sbuf, &result)) {
|
||||
result |= set_sparse_flag(sbuf);
|
||||
return result;
|
||||
}
|
||||
|
||||
result = dos_mode_from_sbuf(conn, path, sbuf);
|
||||
|
||||
/* Now do any modifications that depend on the path name. */
|
||||
/* First do any modifications that depend on the path name. */
|
||||
/* hide files with a name starting with a . */
|
||||
if (lp_hide_dot_files(SNUM(conn))) {
|
||||
const char *p = strrchr_m(path,'/');
|
||||
if (p)
|
||||
if (p) {
|
||||
p++;
|
||||
else
|
||||
} else {
|
||||
p = path;
|
||||
}
|
||||
|
||||
if (p[0] == '.' && p[1] != '.' && p[1] != 0)
|
||||
if (p[0] == '.' && p[1] != '.' && p[1] != 0) {
|
||||
result |= aHIDDEN;
|
||||
}
|
||||
}
|
||||
|
||||
/* Get the DOS attributes from an EA by preference. */
|
||||
if (get_ea_dos_attribute(conn, path, sbuf, &result)) {
|
||||
result |= set_sparse_flag(sbuf);
|
||||
} else {
|
||||
result |= dos_mode_from_sbuf(conn, path, sbuf);
|
||||
}
|
||||
|
||||
/* Optimization : Only call is_hidden_path if it's not already
|
||||
|
Loading…
x
Reference in New Issue
Block a user