diff options
author | Steve French <sfrench@us.ibm.com> | 2006-09-30 04:13:17 +0000 |
---|---|---|
committer | Steve French <sfrench@us.ibm.com> | 2006-09-30 04:13:17 +0000 |
commit | 9ac00b7d96045fa3ce573e0ad5cdc0350ad8e1d2 (patch) | |
tree | 80ee9890d64f6c4b899144df8ee0c6cd9361aafb /fs/cifs/cifsglob.h | |
parent | f46d3e11903e452924ef2996aa9aca2aae4427e2 (diff) | |
download | lwn-9ac00b7d96045fa3ce573e0ad5cdc0350ad8e1d2.tar.gz lwn-9ac00b7d96045fa3ce573e0ad5cdc0350ad8e1d2.zip |
[CIFS] Do not send newer QFSInfo to legacy servers which can not support it
Fix dialect negotiation to save off when we have negotiated lanman.
This allows us to avoid sending some somewhat newer requests that the server
can not handle and go directly to the older version (infolevel) of the same
call. Make sure we try to negotiate a level which allows us to get the
server OS (which we check so we can detect Win9x vs. other legacy servers
and eventually work around the Win9x DOS time bug (they reverse date/time
fields).
Signed-off-by: Steve French <sfrench@us.ibm.com>
Diffstat (limited to 'fs/cifs/cifsglob.h')
-rw-r--r-- | fs/cifs/cifsglob.h | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/fs/cifs/cifsglob.h b/fs/cifs/cifsglob.h index 98eb5446e8c1..597afdf4c69c 100644 --- a/fs/cifs/cifsglob.h +++ b/fs/cifs/cifsglob.h @@ -203,9 +203,14 @@ struct cifsSesInfo { char * domainName; char * password; }; -/* session flags */ +/* no more than one of the following three session flags may be set */ #define CIFS_SES_NT4 1 - +#define CIFS_SES_OS2 2 +#define CIFS_SES_W9X 4 +/* following flag is set for old servers such as OS2 (and Win95?) + which do not negotiate NTLM or POSIX dialects, but instead + negotiate one of the older LANMAN dialects */ +#define CIFS_SES_LANMAN 8 /* * there is one of these for each connection to a resource on a particular * session |