summaryrefslogtreecommitdiff
path: root/source3/smbd/dosmode.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2009-11-04 15:25:15 -0800
committerJeremy Allison <jra@samba.org>2009-11-04 15:25:15 -0800
commitf44d3754eeefb1a0d0282a424ae9901d72301766 (patch)
treef1941defda38cd7384ff71609bdba24d167c1d9c /source3/smbd/dosmode.c
parentcbafe17bb37acfb76acf9d9905be1029e274089e (diff)
downloadsamba-f44d3754eeefb1a0d0282a424ae9901d72301766.tar.gz
samba-f44d3754eeefb1a0d0282a424ae9901d72301766.tar.bz2
samba-f44d3754eeefb1a0d0282a424ae9901d72301766.zip
Filter the returned DOS attributes by 0xFF for clients
using older protocols (LANMAN2 or below). Jeremy.
Diffstat (limited to 'source3/smbd/dosmode.c')
-rw-r--r--source3/smbd/dosmode.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/source3/smbd/dosmode.c b/source3/smbd/dosmode.c
index 7cb84b35a7..199a67371f 100644
--- a/source3/smbd/dosmode.c
+++ b/source3/smbd/dosmode.c
@@ -380,6 +380,12 @@ uint32 dos_mode_msdfs(connection_struct *conn,
result |= aHIDDEN;
}
+ if (get_Protocol() <= PROTOCOL_LANMAN2) {
+ DEBUG(10,("dos_mode_msdfs : filtering protocol 0x%x to 0xff\n",
+ (unsigned int)result ));
+ result &= 0xff;
+ }
+
DEBUG(8,("dos_mode_msdfs returning "));
if (result & aHIDDEN) DEBUG(8, ("h"));
@@ -560,6 +566,12 @@ uint32 dos_mode(connection_struct *conn, const struct smb_filename *smb_fname)
result |= aHIDDEN;
}
+ if (get_Protocol() <= PROTOCOL_LANMAN2) {
+ DEBUG(10,("dos_mode : filtering protocol 0x%x to 0xff\n",
+ (unsigned int)result ));
+ result &= 0xff;
+ }
+
DEBUG(8,("dos_mode returning "));
if (result & aHIDDEN) DEBUG(8, ("h"));