aboutsummaryrefslogtreecommitdiff
path: root/src/netaddress.cpp
diff options
context:
space:
mode:
authorCarl Dong <accounts@carldong.me>2019-03-28 15:21:31 -0400
committerCarl Dong <accounts@carldong.me>2019-05-15 14:21:48 -0400
commit8be3f306338e27b3fa3ad3bfb75f822d038909a5 (patch)
tree20e091b30f50594540377bb60cd8022f1ab8c679 /src/netaddress.cpp
parent2d16fb7a2b6a9e5a2535295d2de03e27c2438d1f (diff)
downloadbitcoin-8be3f306338e27b3fa3ad3bfb75f822d038909a5.tar.xz
netaddress: Update CNetAddr for ORCHIDv2
The original ORCHID prefix was deprecated as of 2014-03, the new ORCHIDv2 prefix was allocated by RFC7343 as of 2014-07. We did not consider the original ORCHID prefix routable, and I don't see any reason to consider the new one to be either.
Diffstat (limited to 'src/netaddress.cpp')
-rw-r--r--src/netaddress.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/netaddress.cpp b/src/netaddress.cpp
index 6ee2d8a4b3..db6c46d12a 100644
--- a/src/netaddress.cpp
+++ b/src/netaddress.cpp
@@ -204,6 +204,11 @@ bool CNetAddr::IsRFC4843() const
return (GetByte(15) == 0x20 && GetByte(14) == 0x01 && GetByte(13) == 0x00 && (GetByte(12) & 0xF0) == 0x10);
}
+bool CNetAddr::IsRFC7343() const
+{
+ return (GetByte(15) == 0x20 && GetByte(14) == 0x01 && GetByte(13) == 0x00 && (GetByte(12) & 0xF0) == 0x20);
+}
+
/**
* @returns Whether or not this is a dummy address that maps an onion address
* into IPv6.
@@ -289,7 +294,7 @@ bool CNetAddr::IsValid() const
*/
bool CNetAddr::IsRoutable() const
{
- return IsValid() && !(IsRFC1918() || IsRFC2544() || IsRFC3927() || IsRFC4862() || IsRFC6598() || IsRFC5737() || (IsRFC4193() && !IsTor()) || IsRFC4843() || IsLocal() || IsInternal());
+ return IsValid() && !(IsRFC1918() || IsRFC2544() || IsRFC3927() || IsRFC4862() || IsRFC6598() || IsRFC5737() || (IsRFC4193() && !IsTor()) || IsRFC4843() || IsRFC7343() || IsLocal() || IsInternal());
}
/**