reflect that RFC3879 cites the proposed RFC3513 is now outdated by the Draft Standard RFC4291
The source Tor code src/lib/net/address.c
still follows an old outdated internet guideline
and might block otherwise now routebable addresses.
Since we had a discussion in Bitcoin core dev https://github.com/bitcoin/bitcoin/pull/19985
So id like to point this out here and ask about Tor's view on this?
For reference' RFC4291
A fix could be:
diff --git a/src/lib/net/address.c b/src/lib/net/address.c
index ea6c29db9f..6600b0db06 100644
--- a/src/lib/net/address.c
+++ b/src/lib/net/address.c
@@ -241,9 +241,6 @@ tor_addr_make_null(tor_addr_t *a, sa_family_t family)
/** Return true iff <b>ip</b> is an IP reserved to localhost or local networks.
*
* If <b>ip</b> is in RFC1918 or RFC4193 or RFC4291, we will return true.
- * (fec0::/10, deprecated by RFC3879, is also treated as internal for now
- * and will return true.)
- *
* If <b>ip</b> is 0.0.0.0 or 100.64.0.0/10 (RFC6598), we will act as:
* - Internal if <b>for_listening</b> is 0, as these addresses are not
* routable on the internet and we won't be publicly accessible to clients.
@@ -287,8 +284,7 @@ tor_addr_is_internal_(const tor_addr_t *addr, int for_listening,
return 0;
if (((iph6[0] & 0xfe000000) == 0xfc000000) || /* fc00/7 - RFC4193 */
- ((iph6[0] & 0xffc00000) == 0xfe800000) || /* fe80/10 - RFC4291 */
- ((iph6[0] & 0xffc00000) == 0xfec00000)) /* fec0/10 D- RFC3879 */
+ ((iph6[0] & 0xffc00000) == 0xfe800000)) /* fe80/10 - RFC4291 */
return 1;
if (!iph6[0] && !iph6[1] && !iph6[2] &&
I also saw a hint to this in #7971 (closed) so maybe this is already discussed and was decided to leave it as is? Since some time has now gone by and that memo referenced is outdated also and rfc4291 is now a Draft Standard, i wonder what the actual view of Tor on this is?
Edited by saibato