From 44a5dc9f42f870c2e9beec3190437a61ab32460a Mon Sep 17 00:00:00 2001 From: MayaTheShy Date: Mon, 10 Nov 2025 00:05:22 -0500 Subject: [PATCH] fix: ensure DomainConnectRequest does not include source ID before local ID is assigned --- src/OverteClient.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/OverteClient.cpp b/src/OverteClient.cpp index 5657d1b..9368988 100644 --- a/src/OverteClient.cpp +++ b/src/OverteClient.cpp @@ -1232,11 +1232,10 @@ void OverteClient::handleDomainConnectionDenied(const char* data, size_t len) { void OverteClient::sendDomainConnectRequest() { if (!m_udpReady || m_udpFd == -1) return; - // Create NLPacket with DomainConnectRequest type and correct version - NLPacket packet(PacketType::DomainConnectRequest, PacketVersions::DomainConnectRequest_SocketTypes, true); + // DomainConnectRequest is in NON_SOURCED_PACKETS - it should NOT have a source ID field + // because we don't have a Local ID yet (server assigns it in DomainList response) + NLPacket packet(PacketType::DomainConnectRequest, PacketVersions::DomainConnectRequest_SocketTypes, false); packet.setSequenceNumber(m_sequenceNumber++); - // DomainConnectRequest is sent BEFORE we have a local ID, so don't set source ID - // The server will assign us an ID in the DomainList response // Build payload using Qt wire format (match Overte's NodeList.cpp structure exactly) QtStream qs;