[CIFS] Missing flags2 for DFS
authorSteve French <sfrench@us.ibm.com>
Thu, 12 Oct 2006 21:33:51 +0000 (21:33 +0000)
committerSteve French <sfrench@us.ibm.com>
Thu, 12 Oct 2006 21:33:51 +0000 (21:33 +0000)
Partly suggested by Igor Mammedov

Signed-off-by: Steve French <sfrench@us.ibm.com>
fs/cifs/cifssmb.c
fs/cifs/connect.c

index 6f50f2b..5dc5a96 100644 (file)
@@ -3675,6 +3675,14 @@ getDFSRetry:
                strncpy(pSMB->RequestFileName, searchName, name_len);
        }
 
+       if(ses->server) {
+               if(ses->server->secMode &
+                  (SECMODE_SIGN_REQUIRED | SECMODE_SIGN_ENABLED))
+                       pSMB->hdr.Flags2 |= SMBFLG2_SECURITY_SIGNATURE;
+       }
+
+        pSMB->hdr.Uid = ses->Suid;
+
        params = 2 /* level */  + name_len /*includes null */ ;
        pSMB->TotalDataCount = 0;
        pSMB->DataCount = 0;
index c96f3ed..1d17691 100644 (file)
@@ -3219,7 +3219,9 @@ CIFSTCon(unsigned int xid, struct cifsSesInfo *ses,
                        }
                        /* else do not bother copying these informational fields */
                }
-               if(smb_buffer_response->WordCount == 3)
+               if((smb_buffer_response->WordCount == 3) ||
+                        (smb_buffer_response->WordCount == 7))
+                       /* field is in same location */
                        tcon->Flags = le16_to_cpu(pSMBr->OptionalSupport);
                else
                        tcon->Flags = 0;