Package com.hierynomus.mssmb2
Class SMB2Packet
- java.lang.Object
-
- com.hierynomus.smb.SMBPacket<SMB2PacketData,SMB2PacketHeader>
-
- com.hierynomus.mssmb2.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
public class SMB2Packet extends SMBPacket<SMB2PacketData,SMB2PacketHeader>
-
-
Field Summary
Fields Modifier and Type Field Description static intSINGLE_CREDIT_PAYLOAD_SIZEprotected intstructureSize
-
Constructor Summary
Constructors Modifier Constructor Description SMB2Packet()protectedSMB2Packet(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 Type Method Description SMBBuffergetBuffer()The buffer from which this packet is read if it was a received packetintgetCreditsAssigned()SMB2ErrorgetError()intgetMaxPayloadSize()Returns the maximum payload size of this packet.SMB2PacketgetPacket()Method that can be overridden by Packet Wrappers to ensure that the original (typed) packet is obtainable.longgetSequenceNumber()intgetStructureSize()booleanisIntermediateAsyncResponse()Check whether this packet is an intermediate ASYNC responsebooleanisSuccess()Whether this packet contains a success response or an error responseprotected voidread(SMB2PacketData packetData)protected voidreadMessage(SMBBuffer buffer)Read the packet body, this should be implemented by the various packet types.voidsetCreditsAssigned(int creditsAssigned)voidsetError(SMB2Error error)java.lang.StringtoString()voidwrite(SMBBuffer buffer)protected voidwriteTo(SMBBuffer buffer)Write the message fields into the buffer, as specified in the [MS-SMB2] specification.
-
-
-
Field Detail
-
SINGLE_CREDIT_PAYLOAD_SIZE
public static final int SINGLE_CREDIT_PAYLOAD_SIZE
- See Also:
- Constant Field Values
-
structureSize
protected int structureSize
-
-
Constructor Detail
-
SMB2Packet
public SMB2Packet()
-
SMB2Packet
protected SMB2Packet(int structureSize, SMB2Dialect dialect, SMB2MessageCommandCode messageType)
-
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 Detail
-
getSequenceNumber
public long getSequenceNumber()
-
getStructureSize
public int getStructureSize()
-
getBuffer
public SMBBuffer getBuffer()
The buffer from which this packet is read if it was a received packet- Overrides:
getBufferin classSMBPacket<SMB2PacketData,SMB2PacketHeader>- Returns:
- The buffer
-
write
public void write(SMBBuffer buffer)
-
writeTo
protected void writeTo(SMBBuffer buffer)
Write the message fields into the buffer, as specified in the [MS-SMB2] specification.- Parameters:
buffer-
-
read
protected final void read(SMB2PacketData packetData) throws Buffer.BufferException
- Specified by:
readin classSMBPacket<SMB2PacketData,SMB2PacketHeader>- Throws:
Buffer.BufferException
-
readMessage
protected void readMessage(SMBBuffer buffer) throws Buffer.BufferException
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
public SMB2Error getError()
-
setError
public void setError(SMB2Error error)
-
getPacket
public SMB2Packet getPacket()
Method that can be overridden by Packet Wrappers to ensure that the original (typed) packet is obtainable.- Returns:
- this
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-