Hacker News new | ask | show | jobs
by rodlette 870 days 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 .

Use https://pkg.go.dev/net/netip instead.

1 comments

Sounds 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.