CIFS Flags
The two CIFS flags header fields Flags1 and Flags2 represent attributes of the request and response messages, and of the server connection.
The following table lists bits for the Flags1 field.
Bit | Meaning |
---|---|
0 | Reserved for obsolescent requests. (LOCK_AND_READ, WRITE_AND_CLOSE) |
1 | Reserved (must be zero). |
2 | Reserved (must be zero). |
3 | When on, all paths in this SMB must be treated as case-less. When off, the path names are case-sensitive. |
4 | Reserved (clients must send as zero; servers must ignore). |
5 | Reserved for obsolescent requests. (SMB_COM_OPEN, SMB_COM_CREATE and SMB_COM_CREATE_NEW) |
6 | Reserved for obsolescent requests. (SMB_COM_OPEN, SMB_COM_CREATE and SMB_COM_CREATE_NEW) |
7 | SMB_FLAGS_SERVER_TO_REDIR When on, this SMB is being sent from the server in response to a client request. The Command field usually contains the same value in a protocol request from the client to the server as in the matching response from the server to the client. This bit unambiguously distinguishes the command request from the command response. |
The following table lists bits for the Flags2 field.
Bit | Meaning |
---|---|
0 | KNOWS_LONG_NAMES If set in a request, the server may return long components in paths in the response. |
1 | KNOWS_EAS If set, the client is aware of extended attributes. |
2 | SECURITY_SIGNATURE If set, the client is security signature-enabled. |
3 | COMPRESSED Compressed. |
4 | RESERVED Reserved. |
5 | IS_LONG_NAME Is a Long Name. |
11 | EXT_SEC If set, the client is aware of Extended Security. |
12 | DFS If set, any request paths in this SMB should be resolved in the Distributed File System. |
13 | PAGING_IO If set, this flag indicates that a read operation will be permitted if the client does not have read permission but does have execute permission. This flag is only useful on a read request. |
14 | ERR_STATUS If set, this flag specifies that the returned error code is a 32-bit error code in Status.Status. Otherwise, the Status.DosError.ErrorClass and Status.DosError.Error fields contain the DOS-style error information. When passing Windows NT status codes is negotiated, this flag should be set for every SMB. |
15 | UNICODE If set, any fields of datatype STRING in this SMB message are encoded as UNICODE. Otherwise, they are in ASCII. |