Updated Branches:
  refs/heads/master d99fae07c -> a1437ae82

CLOUDSTACK-2563: Network ACL: Allow protocol 1(icmp) paired with icmp type/code


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/a1437ae8
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/a1437ae8
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/a1437ae8

Branch: refs/heads/master
Commit: a1437ae82e9c686139c85ac9d3eb039bf968c014
Parents: d99fae0
Author: Sheng Yang <[email protected]>
Authored: Fri May 24 16:45:15 2013 -0700
Committer: Sheng Yang <[email protected]>
Committed: Fri May 24 16:46:44 2013 -0700

----------------------------------------------------------------------
 .../command/user/network/CreateNetworkACLCmd.java  |   11 ++++++++++-
 1 files changed, 10 insertions(+), 1 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/a1437ae8/api/src/org/apache/cloudstack/api/command/user/network/CreateNetworkACLCmd.java
----------------------------------------------------------------------
diff --git 
a/api/src/org/apache/cloudstack/api/command/user/network/CreateNetworkACLCmd.java
 
b/api/src/org/apache/cloudstack/api/command/user/network/CreateNetworkACLCmd.java
index 275fa18..3a56fe4 100644
--- 
a/api/src/org/apache/cloudstack/api/command/user/network/CreateNetworkACLCmd.java
+++ 
b/api/src/org/apache/cloudstack/api/command/user/network/CreateNetworkACLCmd.java
@@ -31,6 +31,7 @@ import org.apache.cloudstack.api.ServerApiException;
 import org.apache.cloudstack.api.response.NetworkACLItemResponse;
 import org.apache.cloudstack.api.response.NetworkACLResponse;
 import org.apache.cloudstack.api.response.NetworkResponse;
+import org.apache.commons.lang.StringUtils;
 import org.apache.log4j.Logger;
 
 import com.cloud.async.AsyncJob;
@@ -98,7 +99,15 @@ public class CreateNetworkACLCmd extends BaseAsyncCreateCmd {
     // ///////////////////////////////////////////////////
 
     public String getProtocol() {
-        return protocol.trim();
+       String p = protocol.trim();
+       // Deal with ICMP(protocol number 1) specially because it need to be 
paired with icmp type and code
+        if(StringUtils.isNumeric(p)){
+            int protoNumber = Integer.parseInt(p);
+            if (protoNumber == 1) {
+               p = "icmp";
+            }
+       }
+       return p;
     }
 
     public List<String> getSourceCidrList() {

Reply via email to