ACL Input param validation for L4 port
Change-Id: I5862aab56404afaf4d36e982a0259a498fdab216
diff --git a/apps/acl/src/main/java/org/onosproject/acl/AclWebResource.java b/apps/acl/src/main/java/org/onosproject/acl/AclWebResource.java
index 74b572c..972c1d9 100644
--- a/apps/acl/src/main/java/org/onosproject/acl/AclWebResource.java
+++ b/apps/acl/src/main/java/org/onosproject/acl/AclWebResource.java
@@ -203,12 +203,20 @@
int port = node.path("dstTpPort").asInt(0);
if (port > 0) {
- rule.dstTpPort((short) port);
+ if ("TCP".equalsIgnoreCase(s) || "UDP".equalsIgnoreCase(s)) {
+ rule.dstTpPort((short) port);
+ } else {
+ throw new IllegalArgumentException("dstTpPort can be set only when ipProto is TCP or UDP");
+ }
}
port = node.path("srcTpPort").asInt(0);
if (port > 0) {
- rule.srcTpPort((short) port);
+ if ("TCP".equalsIgnoreCase(s) || "UDP".equalsIgnoreCase(s)) {
+ rule.srcTpPort((short) port);
+ } else {
+ throw new IllegalArgumentException("srcTpPort can be set only when ipProto is TCP or UDP");
+ }
}
s = node.path("action").asText(null);