diff options
-rw-r--r-- | fs/cifs/cifssmb.c | 8 | ||||
-rw-r--r-- | fs/cifs/connect.c | 4 |
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; |