summaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorSteve French <sfrench@us.ibm.com>2006-10-12 23:33:51 +0200
committerSteve French <sfrench@us.ibm.com>2006-10-12 23:33:51 +0200
commit1a4e15a04ec69cb3552f4120079f5472377df5f7 (patch)
treef305d7d15e696aa2570eb5e66bc5902b0ed09ce0 /fs
parent[CIFS] Workaround incomplete byte length returned by some (diff)
downloadlinux-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.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:
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;