[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 6f50f2bc8870e418fb9df8b4bb70ba8027bfc3e9..5dc5a966bd5ff1b191838346bc19f465402aea9f 100644 (file)
@@ -3675,6 +3675,14 @@ getDFSRetry:
                strncpy(pSMB->RequestFileName, searchName, name_len);
        }
 
                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;
        params = 2 /* level */  + name_len /*includes null */ ;
        pSMB->TotalDataCount = 0;
        pSMB->DataCount = 0;
index c96f3edf1b9c0e62012544ce1d3fc74871050478..1d17691086c2d6a6024441d96d729948cec4ebe9 100644 (file)
@@ -3219,7 +3219,9 @@ CIFSTCon(unsigned int xid, struct cifsSesInfo *ses,
                        }
                        /* else do not bother copying these informational fields */
                }
                        }
                        /* 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;
                        tcon->Flags = le16_to_cpu(pSMBr->OptionalSupport);
                else
                        tcon->Flags = 0;