feat: improve NLPacket header parsing and logging in parseDomainPacket

This commit is contained in:
MayaTheShy
2025-11-08 17:50:21 -05:00
parent b94a1d8ca6
commit 920b1edbef

View File

@@ -268,16 +268,17 @@ void OverteClient::parseDomainPacket(const char* data, size_t len) {
if (len < 6) return; // NLPacket header is minimum 6 bytes
// Parse NLPacket header
auto header = NLPacket::parseHeader(data, len);
if (!header) {
NLPacket::Header header;
const uint8_t* udata = reinterpret_cast<const uint8_t*>(data);
if (!NLPacket::parseHeader(udata, len, header)) {
std::cerr << "[OverteClient] Failed to parse NLPacket header" << std::endl;
return;
}
PacketType packetType = NLPacket::getType(data, len);
PacketType packetType = NLPacket::getType(udata, len);
std::cout << "[OverteClient] Domain packet type: " << static_cast<int>(packetType)
<< " (0x" << std::hex << static_cast<int>(packetType) << std::dec << ")"
<< " version: " << (int)header->version << std::endl;
<< " version: " << (int)header.version << std::endl;
// Payload starts after header (6 bytes base, +2 if has source ID)
const char* payload = data + 6; // Assuming no source ID for now
@@ -292,10 +293,6 @@ void OverteClient::parseDomainPacket(const char* data, size_t len) {
handleDomainConnectionDenied(payload, payloadLen);
break;
case PacketType::DomainServerConnectionDenied:
handleDomainConnectionDenied(payload, payloadLen);
break;
case PacketType::DomainServerRequireDTLS:
std::cout << "[OverteClient] Domain server requires DTLS (not yet implemented)" << std::endl;
break;