MantisBT - Doomseeker
View Issue Details
0004010DoomseekerIP2Cpublic2022-06-01 20:352022-06-01 21:42
WubTheCaptain 
 
lowminorhave not tried
newopen 
1.3.3 
 
0004010: IPv4 Unicast Extensions Project may reduce the size of the IPv4 local loopback network ("localnet") from /8 to /16, affecting us
In the future, 127.0.0.0/8 may no longer be reserved for localhost networks but 127.0.0.0/16 will be. Doomseeker has special treatment for 127.0.0.0/8 in the IP2C code, which may become incorrect.
Quote from src/core/ip2c/ip2c.h
inline bool isLocalhostAddress(unsigned ipv4Address)
{
        const static unsigned LOCALHOST_BEGIN = QHostAddress("127.0.0.0").toIPv4Address();
        
const static unsigned LOCALHOST_END = QHostAddress("127.255.255.255").toIPv4Address();

        return ipv4Address >= LOCALHOST_BEGIN && ipv4Address <= LOCALHOST_END;
}
APNIC: Cutting down on IP address waste
IETF: draft-schoen-intarea-unicast-127
No tags attached.
patch 0001-ip2c-Reduce-the-IPv4-local-loopback-network-from-8-t.patch (1,577) 2022-06-01 21:04
/tracker/file_download.php?file_id=2748&type=bug
patch 0002-CHANGELOG-Add-4010-IPv4-Unicast-Extensions-Project.patch (872) 2022-06-01 21:13
/tracker/file_download.php?file_id=2749&type=bug
patch v2-0001-ip2c-Reduce-the-IPv4-local-loopback-network-from-.patch (1,702) 2022-06-01 21:41
/tracker/file_download.php?file_id=2750&type=bug
Issue History
2022-06-01 20:35WubTheCaptainNew Issue
2022-06-01 20:37WubTheCaptainSummaryIPv4 Unicast Extensions Project may require changes to treat only 127.0.0.0/16 as a localhost network address => IPv4 Unicast Extensions Project may introduce changes to treat only 127.0.0.0/16 as a localhost network address
2022-06-01 20:40WubTheCaptainSummaryIPv4 Unicast Extensions Project may introduce changes to treat only 127.0.0.0/16 as a localhost network address => IPv4 Unicast Extensions Project may reduce the size of the IPv4 local loopback network ("localnet") from /8 to /16, affecting us
2022-06-01 20:47WubTheCaptainNote Added: 0022258
2022-06-01 20:55WubTheCaptainAssigned To => WubTheCaptain
2022-06-01 20:55WubTheCaptainStatusnew => assigned
2022-06-01 21:04WubTheCaptainFile Added: 0001-ip2c-Reduce-the-IPv4-local-loopback-network-from-8-t.patch
2022-06-01 21:05WubTheCaptainNote Added: 0022259
2022-06-01 21:05WubTheCaptainAssigned ToWubTheCaptain =>
2022-06-01 21:05WubTheCaptainStatusassigned => new
2022-06-01 21:13WubTheCaptainFile Added: 0002-CHANGELOG-Add-4010-IPv4-Unicast-Extensions-Project.patch
2022-06-01 21:14WubTheCaptainNote Added: 0022260
2022-06-01 21:41WubTheCaptainFile Added: v2-0001-ip2c-Reduce-the-IPv4-local-loopback-network-from-.patch
2022-06-01 21:42WubTheCaptainNote Added: 0022261

Notes
(0022258)
WubTheCaptain   
2022-06-01 20:47   
So, how this affects Doomseeker is that some servers may get displayed a special "Localhost" flag incorrectly instead of the country flag from IP2C data or the server info.
IP2C::countryInfoForIPv4 in src/core/ip2c/ip2c.cpp, if you're curious. Two lines of code. Nothing else uses this.
(0022259)
WubTheCaptain   
2022-06-01 21:05   
Patch attached without a changelog. I suggest not merging this until we know a target version for Doomseeker (then comes the changelog), and pending the results of IETF submission process.
(0022260)
WubTheCaptain   
2022-06-01 21:14   
Actually it would not hurt (much) to merge it earlier, so I've added a changelog patch too. It could make some obscure configurations worse, but be readier for the Internet's future use earlier if accepted.
I don't need this to target version 1.4 so I've not set an explicit target version, but I've documented the changes in the "unreleased" version changelogs (which is currently version 1.4).
I'm still okay with waiting and I want an acknowledgement/confirmation on this issue before tagging this in need of a review.
(0022261)
WubTheCaptain   
2022-06-01 21:42   
PATCH v2 1/2 attached, crediting the other authors of the project. Based on the IETF submission names and slide 7:
'https://lpc.events/event/4/contributions/457/attachments/219/390/IPv4_Unicast_Extensions4.pdf#page=7 [^]'