Package com.hierynomus.mssmb2
Class SMB2Packet
- Direct Known Subclasses:
PacketEncryptor.EncryptedPacketWrapper,PacketSignatory.SignedPacketWrapper,SMB2Cancel,SMB2ChangeNotifyResponse,SMB2Close,SMB2CreateRequest,SMB2CreateResponse,SMB2Echo,SMB2Flush,SMB2IoctlResponse,SMB2LockRequest,SMB2LockResponse,SMB2Logoff,SMB2MultiCreditPacket,SMB2NegotiateRequest,SMB2NegotiateResponse,SMB2QueryDirectoryResponse,SMB2QueryInfoRequest,SMB2QueryInfoResponse,SMB2ReadResponse,SMB2SessionSetup,SMB2SetInfoRequest,SMB2SetInfoResponse,SMB2TreeConnectRequest,SMB2TreeConnectResponse,SMB2TreeDisconnect,SMB2WriteResponse
-
Field Summary
Fields -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedSMB2Packet(int structureSize, SMB2Dialect dialect, SMB2MessageCommandCode messageType) protectedSMB2Packet(int structureSize, SMB2Dialect dialect, SMB2MessageCommandCode messageType, long sessionId) protectedSMB2Packet(int structureSize, SMB2Dialect dialect, SMB2MessageCommandCode messageType, long sessionId, long treeId) -
Method Summary
Modifier and TypeMethodDescriptionThe buffer from which this packet is read if it was a received packetintgetError()intReturns the maximum payload size of this packet.Method that can be overridden by Packet Wrappers to ensure that the original (typed) packet is obtainable.longintbooleanCheck whether this packet is an intermediate ASYNC responsefinal booleanWhether this packet contains a success response or an error responseprotected final voidread(SMB2PacketData packetData) (package private) final voidreadError(SMB2PacketData packetData) protected voidreadMessage(SMBBuffer buffer) Read the packet body, this should be implemented by the various packet types.voidsetCreditsAssigned(int creditsAssigned) voidtoString()voidprotected voidWrite the message fields into the buffer, as specified in the [MS-SMB2] specification.
-
Field Details
-
SINGLE_CREDIT_PAYLOAD_SIZE
public static final int SINGLE_CREDIT_PAYLOAD_SIZE- See Also:
-
structureSize
protected int structureSize -
error
-
-
Constructor Details
-
SMB2Packet
public SMB2Packet() -
SMB2Packet
-
SMB2Packet
protected SMB2Packet(int structureSize, SMB2Dialect dialect, SMB2MessageCommandCode messageType, long sessionId) -
SMB2Packet
protected SMB2Packet(int structureSize, SMB2Dialect dialect, SMB2MessageCommandCode messageType, long sessionId, long treeId)
-
-
Method Details
-
getSequenceNumber
public long getSequenceNumber() -
getStructureSize
public int getStructureSize() -
getBuffer
The buffer from which this packet is read if it was a received packet- Overrides:
getBufferin classSMBPacket<SMB2PacketData,SMB2PacketHeader> - Returns:
- The buffer
-
write
-
writeTo
Write the message fields into the buffer, as specified in the [MS-SMB2] specification.- Parameters:
buffer-
-
read
- Specified by:
readin classSMBPacket<SMB2PacketData,SMB2PacketHeader> - Throws:
Buffer.BufferException
-
readError
- Throws:
Buffer.BufferException
-
readMessage
Read the packet body, this should be implemented by the various packet types.- Parameters:
buffer-- Throws:
Buffer.BufferException
-
isSuccess
public final boolean isSuccess()Whether this packet contains a success response or an error response- Returns:
trueif the packet does not containerrordata
-
isIntermediateAsyncResponse
public boolean isIntermediateAsyncResponse()Check whether this packet is an intermediate ASYNC response -
getMaxPayloadSize
public int getMaxPayloadSize()Returns the maximum payload size of this packet. Normally this is theSINGLE_CREDIT_PAYLOAD_SIZE. Can be overridden in subclasses to support multi-credit messages.- Returns:
-
getCreditsAssigned
public int getCreditsAssigned() -
setCreditsAssigned
public void setCreditsAssigned(int creditsAssigned) -
getError
-
setError
-
getPacket
Method that can be overridden by Packet Wrappers to ensure that the original (typed) packet is obtainable.- Returns:
- this
-
toString
-