SMB2/Break
Opcode 0x12
This SMB2 command is used to break an oplock. The command sequence number for unsolicited oplock breaks is -1.
The user ID, tree ID, and process ID are all 0 for these calls.
SMB2/Break Request
SMB2/Break Request Packet Format
Break requests have not yet been observed
SMB2/Break Response
SMB2/Break Response Packet Format
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Buffer Code | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+-+-+-+-+ FID +-+-+-+-+
| |
+-+-+-+-+ +-+-+-+-+
| |
+-+-+-+-+ +-+-+-+-+
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+Buffer Code
SMB2/BufferCode 0x18
FID
SMB2/FID This is the object to break the oplock for.
NT Status Codes
Discussion
In the 6 unknown bytes between BufferCode and the FID, there is probably a field that contains what oplock type the client holds after this command: i.e., no-oplock or level-2 oplock. (In SMB1, the same command is used to either break an oplock or downgrade it to a level 2 oplock.)
The buffer code is 0x18 which would indicate that the PDU ends immediately after the fid. Does this mean the trailing 24 bytes are just padding or a bug in vista?
