From faf093c47491376952fd443ba3ff08b3cb64226d Mon Sep 17 00:00:00 2001 From: orignal Date: Tue, 28 Oct 2014 21:32:32 -0400 Subject: [PATCH] process ipv6 addresses in SessionCreated --- SSU.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SSU.cpp b/SSU.cpp index d80cdc9f..71eed8e1 100644 --- a/SSU.cpp +++ b/SSU.cpp @@ -208,7 +208,7 @@ namespace transport else // v6 { boost::asio::ip::address_v6::bytes_type bytes; - memcpy (bytes.data (), ourAddress, 6); + memcpy (bytes.data (), ourAddress, 16); ourIP = boost::asio::ip::address_v6 (bytes); } s.Insert (ourAddress, addressSize); // our IP @@ -221,7 +221,7 @@ namespace transport if (m_RemoteEndpoint.address ().is_v4 ()) s.Insert (m_RemoteEndpoint.address ().to_v4 ().to_bytes ().data (), 4); // remote IP v4 else - s.Insert (m_RemoteEndpoint.address ().to_v6 ().to_bytes ().data (), 6); // remote IP v6 + s.Insert (m_RemoteEndpoint.address ().to_v6 ().to_bytes ().data (), 16); // remote IP v6 s.Insert (htobe16 (m_RemoteEndpoint.port ())); // remote port s.Insert (payload, 8); // relayTag and signed on time m_RelayTag = be32toh (*(uint32_t *)payload);