Skip to content

Commit 56fa774

Browse files
committed
Fix validation of CIDR fields
isCIDR() accepts both "mask-like" CIDRs and "address-like" CIDRs
1 parent de1b4e9 commit 56fa774

8 files changed

+8
-8
lines changed

apis/v1alpha1/shared_types.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,6 @@ type AdminNetworkPolicyIngressPeer struct {
134134
}
135135

136136
// CIDR is an IP address range in CIDR notation (for example, "10.0.0.0/8" or "fd00::/8").
137-
// +kubebuilder:validation:XValidation:rule="isCIDR(self)",message="Invalid CIDR format provided"
137+
// +kubebuilder:validation:XValidation:rule="isCIDR(self) && cidr(self) == cidr(self).masked()",message="Invalid CIDR format provided"
138138
// +kubebuilder:validation:MaxLength=43
139139
type CIDR string

apis/v1alpha2/clusternetworkpolicy_types.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -465,7 +465,7 @@ type PortRange struct {
465465

466466
// CIDR is an IP address range in CIDR notation
467467
// (for example, "10.0.0.0/8" or "fd00::/8").
468-
// +kubebuilder:validation:XValidation:rule="isCIDR(self)",message="Invalid CIDR format provided"
468+
// +kubebuilder:validation:XValidation:rule="isCIDR(self) && cidr(self) == cidr(self).masked()",message="Invalid CIDR format provided"
469469
// +kubebuilder:validation:MaxLength=43
470470
type CIDR string
471471

config/crd/experimental/policy.networking.k8s.io_adminnetworkpolicies.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -292,7 +292,7 @@ spec:
292292
type: string
293293
x-kubernetes-validations:
294294
- message: Invalid CIDR format provided
295-
rule: isCIDR(self)
295+
rule: isCIDR(self) && cidr(self) == cidr(self).masked()
296296
maxItems: 25
297297
minItems: 1
298298
type: array

config/crd/experimental/policy.networking.k8s.io_baselineadminnetworkpolicies.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -247,7 +247,7 @@ spec:
247247
type: string
248248
x-kubernetes-validations:
249249
- message: Invalid CIDR format provided
250-
rule: isCIDR(self)
250+
rule: isCIDR(self) && cidr(self) == cidr(self).masked()
251251
maxItems: 25
252252
minItems: 1
253253
type: array

config/crd/experimental/policy.networking.k8s.io_clusternetworkpolicies.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -306,7 +306,7 @@ spec:
306306
type: string
307307
x-kubernetes-validations:
308308
- message: Invalid CIDR format provided
309-
rule: isCIDR(self)
309+
rule: isCIDR(self) && cidr(self) == cidr(self).masked()
310310
maxItems: 25
311311
minItems: 1
312312
type: array

config/crd/standard/policy.networking.k8s.io_adminnetworkpolicies.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,7 @@ spec:
248248
type: string
249249
x-kubernetes-validations:
250250
- message: Invalid CIDR format provided
251-
rule: isCIDR(self)
251+
rule: isCIDR(self) && cidr(self) == cidr(self).masked()
252252
maxItems: 25
253253
minItems: 1
254254
type: array

config/crd/standard/policy.networking.k8s.io_baselineadminnetworkpolicies.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -241,7 +241,7 @@ spec:
241241
type: string
242242
x-kubernetes-validations:
243243
- message: Invalid CIDR format provided
244-
rule: isCIDR(self)
244+
rule: isCIDR(self) && cidr(self) == cidr(self).masked()
245245
maxItems: 25
246246
minItems: 1
247247
type: array

config/crd/standard/policy.networking.k8s.io_clusternetworkpolicies.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -260,7 +260,7 @@ spec:
260260
type: string
261261
x-kubernetes-validations:
262262
- message: Invalid CIDR format provided
263-
rule: isCIDR(self)
263+
rule: isCIDR(self) && cidr(self) == cidr(self).masked()
264264
maxItems: 25
265265
minItems: 1
266266
type: array

0 commit comments

Comments
 (0)