diff options
author | Steve French <sfrench@us.ibm.com> | 2006-10-12 23:33:51 +0200 |
---|---|---|
committer | Steve French <sfrench@us.ibm.com> | 2006-10-12 23:33:51 +0200 |
commit | 1a4e15a04ec69cb3552f4120079f5472377df5f7 (patch) | |
tree | f305d7d15e696aa2570eb5e66bc5902b0ed09ce0 /fs | |
parent | [CIFS] Workaround incomplete byte length returned by some (diff) | |
download | linux-1a4e15a04ec69cb3552f4120079f5472377df5f7.tar.xz linux-1a4e15a04ec69cb3552f4120079f5472377df5f7.zip |
[CIFS] Missing flags2 for DFS
Partly suggested by Igor Mammedov
Signed-off-by: Steve French <sfrench@us.ibm.com>
Diffstat (limited to 'fs')
-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: 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; 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, } /* 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; |