Skip to content

Commit

Permalink
Merge bitcoin#19797: net: Remove old check for 3-byte shifted IP addr…
Browse files Browse the repository at this point in the history
…esses from pre-0.2.9 nodes

7b6d0f1 Remove old check for 3-byte shifted IP addresses from pre-0.2.9 node messages (Raúl Martínez (RME))

Pull request description:

  The change removes an old check for IPv6 addresses in range ::ff:ff00:0:0:0/72 that were created due to a bug in size field of addr messages for 0.2.8 nodes and before.

  This check is no longer needed as they are no more pre 0.2.9 nodes on the network (as per bitnodes network snapshot).

  Credits for discovering this go to sipa in bitcoin#19628 (comment)

  Thanks for the attention!

ACKs for top commit:
  sipa:
    utACK 7b6d0f1
  vasild:
    ACK 7b6d0f1

Tree-SHA512: c5fab59dda2acafe143f607a4c5b636a54ac76fba651cad1ad1b09c94e88ab39503a31c2244c8f2664da68456c2a870c601d8894139c55cde9ece8161913ed2e
  • Loading branch information
MarcoFalke authored and PastaPastaPasta committed Jul 16, 2021
1 parent a33d38d commit 5dc3974
Showing 1 changed file with 0 additions and 11 deletions.
11 changes: 0 additions & 11 deletions src/netaddress.cpp
Expand Up @@ -419,17 +419,6 @@ bool CNetAddr::IsLocal() const

bool CNetAddr::IsValid() const
{
// Cleanup 3-byte shifted addresses caused by garbage in size field
// of addr messages from versions before 0.2.9 checksum.
// Two consecutive addr messages look like this:
// header20 vectorlen3 addr26 addr26 addr26 header20 vectorlen3 addr26 addr26 addr26...
// so if the first length field is garbled, it reads the second batch
// of addr misaligned by 3 bytes.
if (IsIPv6() && memcmp(m_addr.data(), IPV4_IN_IPV6_PREFIX.data() + 3,
sizeof(IPV4_IN_IPV6_PREFIX) - 3) == 0) {
return false;
}

// unspecified IPv6 address (::/128)
unsigned char ipNone6[16] = {};
if (IsIPv6() && memcmp(m_addr.data(), ipNone6, sizeof(ipNone6)) == 0) {
Expand Down

0 comments on commit 5dc3974

Please sign in to comment.