aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteve French <sfrench@us.ibm.com>2006-10-12 17:33:51 -0400
committerSteve French <sfrench@us.ibm.com>2006-10-12 17:33:51 -0400
commit1a4e15a04ec69cb3552f4120079f5472377df5f7 (patch)
treef305d7d15e696aa2570eb5e66bc5902b0ed09ce0
parentd103e164bee2f21d0efe7d713cbbb0a443ba480d (diff)
[CIFS] Missing flags2 for DFS
Partly suggested by Igor Mammedov Signed-off-by: Steve French <sfrench@us.ibm.com>
-rw-r--r--fs/cifs/cifssmb.c8
-rw-r--r--fs/cifs/connect.c4
2 files changed, 11 insertions, 1 deletions
diff --git a/fs/cifs/cifssmb.c b/fs/cifs/cifssmb.c
index 6f50f2bc8870..5dc5a966bd5f 100644
--- a/fs/cifs/cifssmb.c
+++ b/fs/cifs/cifssmb.c
@@ -3675,6 +3675,14 @@ getDFSRetry:
3675 strncpy(pSMB->RequestFileName, searchName, name_len); 3675 strncpy(pSMB->RequestFileName, searchName, name_len);
3676 } 3676 }
3677 3677
3678 if(ses->server) {
3679 if(ses->server->secMode &
3680 (SECMODE_SIGN_REQUIRED | SECMODE_SIGN_ENABLED))
3681 pSMB->hdr.Flags2 |= SMBFLG2_SECURITY_SIGNATURE;
3682 }
3683
3684 pSMB->hdr.Uid = ses->Suid;
3685
3678 params = 2 /* level */ + name_len /*includes null */ ; 3686 params = 2 /* level */ + name_len /*includes null */ ;
3679 pSMB->TotalDataCount = 0; 3687 pSMB->TotalDataCount = 0;
3680 pSMB->DataCount = 0; 3688 pSMB->DataCount = 0;
diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c
index c96f3edf1b9c..1d17691086c2 100644
--- a/fs/cifs/connect.c
+++ b/fs/cifs/connect.c
@@ -3219,7 +3219,9 @@ CIFSTCon(unsigned int xid, struct cifsSesInfo *ses,
3219 } 3219 }
3220 /* else do not bother copying these informational fields */ 3220 /* else do not bother copying these informational fields */
3221 } 3221 }
3222 if(smb_buffer_response->WordCount == 3) 3222 if((smb_buffer_response->WordCount == 3) ||
3223 (smb_buffer_response->WordCount == 7))
3224 /* field is in same location */
3223 tcon->Flags = le16_to_cpu(pSMBr->OptionalSupport); 3225 tcon->Flags = le16_to_cpu(pSMBr->OptionalSupport);
3224 else 3226 else
3225 tcon->Flags = 0; 3227 tcon->Flags = 0;