|
Mineserver
A rewrite of Minecraft 1.8.9 in C++ !
|
AES 128bit CFB8 Cipher stream. More...
#include <stream.h>
Public Member Functions | |
| CipherStream (IMCStream *baseStream, std::byte *key, std::byte *iv) | |
| Construct a new Cipher Stream object. | |
| ~CipherStream () | |
| Destroy the Cipher Stream object. | |
| void | read (std::byte *buffer, std::size_t offset, std::size_t len) override |
| Reads from an encrypted stream. | |
| void | write (const std::byte *buffer, std::size_t offset, std::size_t len) override |
| Writes to an encrypted stream. | |
| size_t | available () override |
| Gets the number of available bytes Returns the number of available bytes in the sub-stream. Not accurate as to the real length because it doesn't account for the encryption. | |
| void | finishPacketWrite (const std::byte *packetData, size_t len) override |
| Finishes to write the packet in a Minecrafty way. | |
| void | flush () override |
| Flushes the base stream. | |
Public Member Functions inherited from IMCStream | |
| bool | readBoolean () |
| Reads a Boolean. | |
| void | writeBoolean (bool b) |
| Writes a Boolean. | |
| std::int8_t | readByte () |
| Reads a Byte. | |
| void | writeByte (std::int8_t b) |
| Writes a Byte. | |
| std::uint8_t | readUnsignedByte () |
| Reads an Unsigned Byte. | |
| void | writeUnsignedByte (std::uint8_t b) |
| Writes an Unsigned Byte. | |
| std::int16_t | readShort () |
| Reads a Short. | |
| void | writeShort (std::int16_t s) |
| Writes a Short. | |
| std::uint16_t | readUnsignedShort () |
| Reads an Unsigned Short. | |
| void | writeUnsignedShort (std::uint16_t s) |
| Writes an Unsigned short. | |
| std::int32_t | readInt () |
| Reads an Integer. | |
| void | writeInt (std::int32_t i) |
| Writes a Integer. | |
| std::int64_t | readLong () |
| Reads a Long. | |
| void | writeLong (std::int64_t l) |
| Writes a Long. | |
| float | readFloat () |
| Reads a Float. | |
| void | writeFloat (float f) |
| Writes a Float. | |
| double | readDouble () |
| Reads a Double. | |
| void | writeDouble (double d) |
| Writes a Double. | |
| std::string | readString () |
| Reads a String. | |
| void | writeString (const std::string &s) |
| Writes a String. | |
| ChatMessage | readChat () |
| Reads a Chat Message. | |
| void | writeChat (const ChatMessage &c) |
| Writes a Chat Message. | |
| std::int32_t | readVarInt () |
| Reads a Variable Integer. | |
| void | writeVarInt (std::int32_t i) |
| Writes a Variable Integer. | |
| std::int64_t | readVarLong () |
| Reads a Variable Long. | |
| void | writeVarLong (std::int64_t l) |
| Writes a Variable Long. | |
| MinecraftUUID | readUUID () |
| Reads an MinecraftUUID. | |
| void | writeUUID (const MinecraftUUID &uuid) |
| Writes an MinecraftUUID. | |
AES 128bit CFB8 Cipher stream.
Cipher stream for minecraft, is updates for every packet and not finalized then restarted.
| CipherStream::CipherStream | ( | IMCStream * | baseStream, |
| std::byte * | key, | ||
| std::byte * | iv ) |
Construct a new Cipher Stream object.
| baseStream | the stream to IO on, the class takes ownership |
| key | the key for the AES cipher |
| iv | the IV for the AES cipher |
|
overridevirtual |
Gets the number of available bytes Returns the number of available bytes in the sub-stream. Not accurate as to the real length because it doesn't account for the encryption.
Implements IMCStream.
Finishes to write the packet in a Minecrafty way.
| packetData | the packet data |
| len | the length of the packet data |
Implements IMCStream.
|
overridevirtual |
Reads from an encrypted stream.
| buffer | the buffer to write to |
| offset | the offset to start writing to |
| len | the length to read from baseStream and write to buffer |
Implements IMCStream.
|
overridevirtual |
Writes to an encrypted stream.
| buffer | the buffer to read from |
| offset | the offset to start reading from |
| len | the length to read from buffer |
Implements IMCStream.