(raw string)
| 451 | } |
| 452 | |
| 453 | func parseCIDR(raw string) (netip.Prefix, error) { |
| 454 | prefix, err := netip.ParsePrefix(raw) |
| 455 | if err != nil { |
| 456 | return netip.Prefix{}, fmt.Errorf("CIDR %q parse error during conversion from string: %v", raw, err) |
| 457 | } |
| 458 | if prefix.Addr().Zone() != "" { |
| 459 | return netip.Prefix{}, fmt.Errorf("CIDR %q with zone value is not allowed", raw) |
| 460 | } |
| 461 | if prefix.Addr().Is4In6() { |
| 462 | return netip.Prefix{}, fmt.Errorf("IPv4-mapped IPv6 address %q is not allowed", raw) |
| 463 | } |
| 464 | return prefix, nil |
| 465 | } |
| 466 | |
| 467 | func parseIPAddr(raw string) (netip.Addr, error) { |
| 468 | addr, err := netip.ParseAddr(raw) |
no outgoing calls
no test coverage detected