3 ms·
> The change had the unintended consequence of causing IPv4 addresses to start being passed as an IPv4-mapped IPv6-compatible address to our IP Allow List funct
by rodlette 3y ago
> The change had the unintended consequence of causing IPv4 addresses to start being passed as an IPv4-mapped IPv6-compatible address to our IP Allow List functionality.
Sounds like this bug: "Unable to reliably distinguish IPv4-mapped-IPv6 addresses from regular IPv4 addresses" https://github.com/golang/go/issues/37921 https://github.com/golang/go/issues/37921 .
Use https://pkg.go.dev/net/netip https://pkg.go.dev/net/netip instead.
- p1mrx 3y agoSounds like the opposite of this bug. GitHub's system represents 0.0.0.0/0 and ::ffff:0.0.0.0/96 as distinct values, when they should be merged/normalized. I think it's best to treat IPv4-mapped addresses as an implementation detail of the socket API, and not leak them into general purpose code. Though things get interesting when an external user provides "::ffff:1.2.3.4" as text.