Description
The IPv6 address validation on the IPv6 Port Service page may be overly restrictive or have gaps. The current rules need review to ensure the accepted address ranges match the actual product requirements.
Current Validation
The service (lib/page/ipv6_port_service/services/usp_ipv6_port_service_service.dart:167) applies two validation layers:
- IPv6Rule (
lib/validator_rules/rules.dart:161) — basic format check using regex + Uri.parseIPv6Address()
- IPv6WithReservedRule (
lib/validator_rules/rules.dart:199) — rejects reserved ranges and only allows Global Unicast addresses (2000::/3, first byte 0x20–0x3F)
Rejected ranges include: loopback (::1), link-local (fe80::/10), multicast (ff00::/8), ULA (fc00::/7), unspecified (::), deprecated 6bone (3ffe::/16), and unallocated (5f00:: to 7fff::).
Expected Behavior
Review and confirm whether the accepted IPv6 address ranges align with the intended use cases for port service rules. Adjust validation if certain address types should be permitted.
Description
The IPv6 address validation on the IPv6 Port Service page may be overly restrictive or have gaps. The current rules need review to ensure the accepted address ranges match the actual product requirements.
Current Validation
The service (
lib/page/ipv6_port_service/services/usp_ipv6_port_service_service.dart:167) applies two validation layers:lib/validator_rules/rules.dart:161) — basic format check using regex +Uri.parseIPv6Address()lib/validator_rules/rules.dart:199) — rejects reserved ranges and only allows Global Unicast addresses (2000::/3, first byte0x20–0x3F)Rejected ranges include: loopback (
::1), link-local (fe80::/10), multicast (ff00::/8), ULA (fc00::/7), unspecified (::), deprecated 6bone (3ffe::/16), and unallocated (5f00::to7fff::).Expected Behavior
Review and confirm whether the accepted IPv6 address ranges align with the intended use cases for port service rules. Adjust validation if certain address types should be permitted.