mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-10-31 18:28:13 +00:00 
			
		
		
		
	Update IP address validation message to include IPv6
Adds unit test Change-Id: I08c46f68b164e1ea82bf40f8a1316dfc1e95a6fb
This commit is contained in:
		| @@ -5764,6 +5764,10 @@ func validateNonSpecialIP(ipAddress string, fldPath *field.Path) field.ErrorList | ||||
| 	// unspecified and loopback addresses are nonsensical and link-local | ||||
| 	// addresses tend to be used for node-centric purposes (e.g. metadata | ||||
| 	// service). | ||||
| 	// | ||||
| 	// IPv6 references | ||||
| 	// - https://www.iana.org/assignments/iana-ipv6-special-registry/iana-ipv6-special-registry.xhtml | ||||
| 	// - https://www.iana.org/assignments/ipv6-multicast-addresses/ipv6-multicast-addresses.xhtml | ||||
| 	allErrs := field.ErrorList{} | ||||
| 	ip := net.ParseIP(ipAddress) | ||||
| 	if ip == nil { | ||||
| @@ -5771,16 +5775,16 @@ func validateNonSpecialIP(ipAddress string, fldPath *field.Path) field.ErrorList | ||||
| 		return allErrs | ||||
| 	} | ||||
| 	if ip.IsUnspecified() { | ||||
| 		allErrs = append(allErrs, field.Invalid(fldPath, ipAddress, "may not be unspecified (0.0.0.0)")) | ||||
| 		allErrs = append(allErrs, field.Invalid(fldPath, ipAddress, fmt.Sprintf("may not be unspecified (%v)", ipAddress))) | ||||
| 	} | ||||
| 	if ip.IsLoopback() { | ||||
| 		allErrs = append(allErrs, field.Invalid(fldPath, ipAddress, "may not be in the loopback range (127.0.0.0/8)")) | ||||
| 		allErrs = append(allErrs, field.Invalid(fldPath, ipAddress, "may not be in the loopback range (127.0.0.0/8, ::1/128)")) | ||||
| 	} | ||||
| 	if ip.IsLinkLocalUnicast() { | ||||
| 		allErrs = append(allErrs, field.Invalid(fldPath, ipAddress, "may not be in the link-local range (169.254.0.0/16)")) | ||||
| 		allErrs = append(allErrs, field.Invalid(fldPath, ipAddress, "may not be in the link-local range (169.254.0.0/16, fe80::/10)")) | ||||
| 	} | ||||
| 	if ip.IsLinkLocalMulticast() { | ||||
| 		allErrs = append(allErrs, field.Invalid(fldPath, ipAddress, "may not be in the link-local multicast range (224.0.0.0/24)")) | ||||
| 		allErrs = append(allErrs, field.Invalid(fldPath, ipAddress, "may not be in the link-local multicast range (224.0.0.0/24, ff02::/10)")) | ||||
| 	} | ||||
| 	return allErrs | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Bowei Du
					Bowei Du