Moti Asayag has uploaded a new change for review. Change subject: core: Add validation for IP Addresses (#852076) ......................................................................
core: Add validation for IP Addresses (#852076) https://bugzilla.redhat.com/852076 Any IP address being sent from the clients to the engine is being verifies to its correct format. Clients are allowed to pass empty string or null values or a valid IP address. Change-Id: I883deb575455c0cc2d0b7d45619a007421766df7 Signed-off-by: Moti Asayag <[email protected]> --- M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/AddBondParameters.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/AddNetworkStoragePoolParameters.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/AttachNetworkToVdsGroupParameter.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/AttachNetworkToVdsParameters.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/UpdateNetworkToVdsParameters.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/Network.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VdsNetworkInterface.java 7 files changed, 50 insertions(+), 5 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/36/7636/1 diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/AddBondParameters.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/AddBondParameters.java index a241eb9..2b75251 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/AddBondParameters.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/AddBondParameters.java @@ -1,7 +1,11 @@ package org.ovirt.engine.core.common.action; -import org.ovirt.engine.core.common.businessentities.NetworkBootProtocol; +import javax.validation.Valid; +import javax.validation.constraints.Pattern; + import org.ovirt.engine.core.common.businessentities.Network; +import org.ovirt.engine.core.common.businessentities.NetworkBootProtocol; +import org.ovirt.engine.core.common.utils.ValidationUtils; import org.ovirt.engine.core.compat.Guid; public class AddBondParameters extends BondParametersBase { @@ -9,10 +13,18 @@ private static final long serialVersionUID = 761203751697100144L; private String[] nics; + + @Valid private Network network; + + @Pattern(regexp = ValidationUtils.IP_PATTERN, message = "NETWROK_ADDR_IN_STATIC_IP_BAD_FORMAT") private String address; + + @Pattern(regexp = ValidationUtils.IP_PATTERN, message = "NETWROK_ADDR_IN_SUBNET_BAD_FORMAT") private String subnet; private Integer vlanId; + + @Pattern(regexp = ValidationUtils.IP_PATTERN, message = "NETWROK_ADDR_IN_GATEWAY_BAD_FORMAT") private String gateway; private String bondingOptions; private NetworkBootProtocol privateBootProtocol = NetworkBootProtocol.None; diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/AddNetworkStoragePoolParameters.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/AddNetworkStoragePoolParameters.java index 8b0b061..f84d1f3 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/AddNetworkStoragePoolParameters.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/AddNetworkStoragePoolParameters.java @@ -1,12 +1,13 @@ package org.ovirt.engine.core.common.action; -import org.ovirt.engine.core.compat.*; -import org.ovirt.engine.core.common.businessentities.*; - import javax.validation.Valid; + +import org.ovirt.engine.core.common.businessentities.Network; +import org.ovirt.engine.core.compat.Guid; public class AddNetworkStoragePoolParameters extends StoragePoolParametersBase { private static final long serialVersionUID = -7392121807419409051L; + @Valid private Network _network; diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/AttachNetworkToVdsGroupParameter.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/AttachNetworkToVdsGroupParameter.java index dd0ed7ef..4b37a66 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/AttachNetworkToVdsGroupParameter.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/AttachNetworkToVdsGroupParameter.java @@ -1,5 +1,7 @@ package org.ovirt.engine.core.common.action; +import javax.validation.Valid; + import org.ovirt.engine.core.common.businessentities.Network; import org.ovirt.engine.core.common.businessentities.NetworkStatus; import org.ovirt.engine.core.common.businessentities.VDSGroup; @@ -7,6 +9,8 @@ public class AttachNetworkToVdsGroupParameter extends NetworkClusterParameters { private static final long serialVersionUID = -2874549285727269806L; + + @Valid private Network _network; public AttachNetworkToVdsGroupParameter(VDSGroup group, Network net) { diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/AttachNetworkToVdsParameters.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/AttachNetworkToVdsParameters.java index f1db991..9c66818 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/AttachNetworkToVdsParameters.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/AttachNetworkToVdsParameters.java @@ -1,18 +1,30 @@ package org.ovirt.engine.core.common.action; +import javax.validation.Valid; +import javax.validation.constraints.Pattern; + import org.ovirt.engine.core.common.businessentities.Network; import org.ovirt.engine.core.common.businessentities.NetworkBootProtocol; import org.ovirt.engine.core.common.businessentities.VdsNetworkInterface; +import org.ovirt.engine.core.common.utils.ValidationUtils; import org.ovirt.engine.core.compat.Guid; public class AttachNetworkToVdsParameters extends VdsActionParameters { private static final long serialVersionUID = 5446434263733512827L; private boolean checkConnectivity; + + @Valid private Network network; private VdsNetworkInterface iface; + + @Pattern(regexp = ValidationUtils.IP_PATTERN, message = "NETWROK_ADDR_IN_STATIC_IP_BAD_FORMAT") private String address; + + @Pattern(regexp = ValidationUtils.IP_PATTERN, message = "NETWROK_ADDR_IN_SUBNET_BAD_FORMAT") private String subnet; + + @Pattern(regexp = ValidationUtils.IP_PATTERN, message = "NETWROK_ADDR_IN_GATEWAY_BAD_FORMAT") private String gateway; private String bondingOptions; private NetworkBootProtocol bootProtocol = NetworkBootProtocol.None; diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/UpdateNetworkToVdsParameters.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/UpdateNetworkToVdsParameters.java index 7156cea..a7091b0 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/UpdateNetworkToVdsParameters.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/action/UpdateNetworkToVdsParameters.java @@ -2,13 +2,16 @@ import java.util.ArrayList; -import org.ovirt.engine.core.common.businessentities.VdsNetworkInterface; +import javax.validation.Valid; + import org.ovirt.engine.core.common.businessentities.Network; +import org.ovirt.engine.core.common.businessentities.VdsNetworkInterface; import org.ovirt.engine.core.compat.Guid; public class UpdateNetworkToVdsParameters extends AttachNetworkToVdsParameters { private static final long serialVersionUID = 5938344434089627682L; + @Valid private ArrayList<VdsNetworkInterface> interfaces; private String bondName; diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/Network.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/Network.java index 3e1afd3..2a8c329 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/Network.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/Network.java @@ -18,6 +18,7 @@ import org.hibernate.annotations.Type; import org.hibernate.annotations.TypeDef; import org.ovirt.engine.core.common.businessentities.mapping.GuidType; +import org.ovirt.engine.core.common.utils.ValidationUtils; import org.ovirt.engine.core.common.validation.annotation.MTU; import org.ovirt.engine.core.common.validation.group.CreateEntity; import org.ovirt.engine.core.common.validation.group.UpdateEntity; @@ -51,14 +52,17 @@ @Column(name = "type") private Integer type; + @Pattern(regexp = ValidationUtils.IP_PATTERN, message = "NETWROK_ADDR_IN_STATIC_IP_BAD_FORMAT") @Size(max = BusinessEntitiesDefinitions.GENERAL_NETWORK_ADDR_SIZE) @Column(name = "addr") private String addr; + @Pattern(regexp = ValidationUtils.IP_PATTERN, message = "NETWROK_ADDR_IN_SUBNET_BAD_FORMAT") @Size(max = BusinessEntitiesDefinitions.GENERAL_SUBNET_SIZE) @Column(name = "subnet") private String subnet; + @Pattern(regexp = ValidationUtils.IP_PATTERN, message = "NETWROK_ADDR_IN_GATEWAY_BAD_FORMAT") @Size(max = BusinessEntitiesDefinitions.GENERAL_GATEWAY_SIZE) @Column(name = "gateway") private String gateway; diff --git a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VdsNetworkInterface.java b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VdsNetworkInterface.java index 41df86d..4874cbe 100644 --- a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VdsNetworkInterface.java +++ b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VdsNetworkInterface.java @@ -4,6 +4,9 @@ import java.util.ArrayList; import java.util.Arrays; +import javax.validation.constraints.Pattern; + +import org.ovirt.engine.core.common.utils.ValidationUtils; import org.ovirt.engine.core.common.validation.annotation.ValidNetworkConfiguration; import org.ovirt.engine.core.compat.NGuid; @@ -25,8 +28,14 @@ private NGuid vdsId; private String vdsName; private NetworkBootProtocol bootProtocol; + + @Pattern(regexp = ValidationUtils.IP_PATTERN, message = "NETWROK_ADDR_IN_STATIC_IP_BAD_FORMAT") private String address; + + @Pattern(regexp = ValidationUtils.IP_PATTERN, message = "NETWROK_ADDR_IN_SUBNET_BAD_FORMAT") private String subnet; + + @Pattern(regexp = ValidationUtils.IP_PATTERN, message = "NETWROK_ADDR_IN_GATEWAY_BAD_FORMAT") private String gateway; private Integer vlanId; private Boolean bonded; -- To view, visit http://gerrit.ovirt.org/7636 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I883deb575455c0cc2d0b7d45619a007421766df7 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Moti Asayag <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
