top | item 39259700

(no title)

rodlette | 2 years 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.

discuss

order

p1mrx|2 years ago

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.