From f44d3754eeefb1a0d0282a424ae9901d72301766 Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Wed, 4 Nov 2009 15:25:15 -0800 Subject: Filter the returned DOS attributes by 0xFF for clients using older protocols (LANMAN2 or below). Jeremy. --- source3/smbd/dosmode.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/source3/smbd/dosmode.c b/source3/smbd/dosmode.c index 7cb84b35a70..199a67371fa 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")); -- cgit