This is the list of CIFS protocol dialects, ordered from least functional (earliest) version to most functional (most recent) version:
|
Dialect Name
|
Comment
|
| PC NETWORK PROGRAM 1.0 | The original MSNET SMB protocol (otherwise known as the "core protocol") |
| PCLAN1.0 | Some versions of the original MSNET defined this as an alternate to the core protocol name |
| MICROSOFT NETWORKS 1.03 | This is used for the MS-NET 1.03 product. It defines Lock&Read,Write&Unlock, and a special version of raw read and raw write. |
| MICROSOFT NETWORKS 3.0 | This is the DOS LANMAN 1.0 specific protocol. It is equivalent to the LANMAN 1.0 protocol, except the server is required to map errors from the OS/2 error to an appropriate DOS error. |
| LANMAN1.0 | This is the first version of the full LANMAN 1.0 protocol |
| LM1.2X002 | This is the first version of the full LANMAN 2.0 protocol |
| DOS LM1.2X002 | This is the DOS equivalent of the LM1.2X002 protocol. It is identical to the LM1.2X002 protocol, but the server will perform error mapping to appropriate DOS errors. |
| DOS LANMAN2.1 | DOS LANMAN2.1 |
| LANMAN2.1 | OS/2 LANMAN2.1 |
| Windows for Workgroups 3.1a | Windows for Workgroups Version 1.0 |
| NT LM 0.12 | The SMB protocol designed for NT networking. This has special SMBs which duplicate the NT semantics. |
CIFS servers select the most recent version of the protocol known to both client
and server. Any CIFS server which supports dialects newer than the original
core dialect must support all the messages and semantics of the dialects between
the core dialect and the newer one. This is to say that a server which supports
the NT LM 0.12 dialect must also support all of the messages of the previous
10 dialects. It is the client's responsibility to ensure it only sends SMBs
which are appropriate to the dialect negotiated. Clients must be prepared to
receive an SMB response from an earlier protocol dialect -- even if the client
used the most recent form of the request.