From: Jeremy Allison Date: Fri, 6 Nov 2009 22:10:49 +0000 (-0800) Subject: Fix bug 6875 - trans2 FIND_FIRST2 response --> FIND_FIRST2 Data -> Fille Attributes... X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f871ff6367b7bd1b49e8aab649f614fd511bfa6a;p=thirdparty%2Fsamba.git Fix bug 6875 - trans2 FIND_FIRST2 response --> FIND_FIRST2 Data -> Fille Attributes are returned as 0x220 for LANMAN2.1 dialect Jeremy. --- diff --git a/source/smbd/dosmode.c b/source/smbd/dosmode.c index 8a5a7b0d0e2..07e1103dc9b 100644 --- a/source/smbd/dosmode.c +++ b/source/smbd/dosmode.c @@ -20,6 +20,8 @@ #include "includes.h" +extern enum protocol_types Protocol; + static int set_sparse_flag(const SMB_STRUCT_STAT * const sbuf) { #if defined (HAVE_STAT_ST_BLOCKS) && defined(STAT_ST_BLOCKSIZE) @@ -335,6 +337,12 @@ uint32 dos_mode_msdfs(connection_struct *conn, const char *path,SMB_STRUCT_STAT result |= aHIDDEN; } + if (Protocol <= PROTOCOL_LANMAN2) { + DEBUG(10,("dos_mode_msdfs : filtering result 0x%x\n", + (unsigned int)result )); + result &= 0xff; + } + DEBUG(8,("dos_mode_msdfs returning ")); if (result & aHIDDEN) DEBUG(8, ("h")); @@ -400,6 +408,12 @@ uint32 dos_mode(connection_struct *conn, const char *path,SMB_STRUCT_STAT *sbuf) result |= aHIDDEN; } + if (Protocol <= PROTOCOL_LANMAN2) { + DEBUG(10,("dos_mode : filtering result 0x%x\n", + (unsigned int)result )); + result &= 0xff; + } + DEBUG(8,("dos_mode returning ")); if (result & aHIDDEN) DEBUG(8, ("h"));