mirror of
https://github.com/overte-org/overte.git
synced 2025-08-06 07:03:44 +02:00
fix static methods to handle header read/write
This commit is contained in:
parent
a61c04aa92
commit
da761d4c95
1 changed files with 4 additions and 3 deletions
|
@ -133,19 +133,19 @@ NLPacket& NLPacket::operator=(NLPacket&& other) {
|
||||||
}
|
}
|
||||||
|
|
||||||
QUuid NLPacket::sourceIDInHeader(const udt::Packet& packet) {
|
QUuid NLPacket::sourceIDInHeader(const udt::Packet& packet) {
|
||||||
int offset = packet.localHeaderSize();
|
int offset = packet.Packet::localHeaderSize();
|
||||||
return QUuid::fromRfc4122(QByteArray::fromRawData(packet.getData() + offset, NUM_BYTES_RFC4122_UUID));
|
return QUuid::fromRfc4122(QByteArray::fromRawData(packet.getData() + offset, NUM_BYTES_RFC4122_UUID));
|
||||||
}
|
}
|
||||||
|
|
||||||
QByteArray NLPacket::verificationHashInHeader(const udt::Packet& packet) {
|
QByteArray NLPacket::verificationHashInHeader(const udt::Packet& packet) {
|
||||||
int offset = packet.localHeaderSize() + NUM_BYTES_RFC4122_UUID;
|
int offset = packet.Packet::localHeaderSize() + NUM_BYTES_RFC4122_UUID;
|
||||||
return QByteArray(packet.getData() + offset, NUM_BYTES_MD5_HASH);
|
return QByteArray(packet.getData() + offset, NUM_BYTES_MD5_HASH);
|
||||||
}
|
}
|
||||||
|
|
||||||
QByteArray NLPacket::hashForPacketAndSecret(const udt::Packet& packet, const QUuid& connectionSecret) {
|
QByteArray NLPacket::hashForPacketAndSecret(const udt::Packet& packet, const QUuid& connectionSecret) {
|
||||||
QCryptographicHash hash(QCryptographicHash::Md5);
|
QCryptographicHash hash(QCryptographicHash::Md5);
|
||||||
|
|
||||||
int offset = packet.localHeaderSize() + NUM_BYTES_RFC4122_UUID + NUM_BYTES_MD5_HASH;
|
int offset = packet.Packet::localHeaderSize() + NUM_BYTES_RFC4122_UUID + NUM_BYTES_MD5_HASH;
|
||||||
|
|
||||||
// add the packet payload and the connection UUID
|
// add the packet payload and the connection UUID
|
||||||
hash.addData(packet.getData(), packet.getDataSize() - offset);
|
hash.addData(packet.getData(), packet.getDataSize() - offset);
|
||||||
|
@ -185,5 +185,6 @@ void NLPacket::writeVerificationHashGivenSecret(const QUuid& connectionSecret) {
|
||||||
|
|
||||||
auto offset = Packet::localHeaderSize() + NUM_BYTES_RFC4122_UUID;
|
auto offset = Packet::localHeaderSize() + NUM_BYTES_RFC4122_UUID;
|
||||||
QByteArray verificationHash = hashForPacketAndSecret(*this, connectionSecret);
|
QByteArray verificationHash = hashForPacketAndSecret(*this, connectionSecret);
|
||||||
|
|
||||||
memcpy(_packet.get() + offset, verificationHash.data(), verificationHash.size());
|
memcpy(_packet.get() + offset, verificationHash.data(), verificationHash.size());
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue