[EC2 Query API] AuthorizeSecurityGroupIngress fails with 'Server.InternalError 
431 Invalid protocol' error.

https://reviews.apache.org/r/8468

Before making the AuthorizeSecurityGroupIngress CloudStack API call, parse the 
string arguments 'FromPort' and 'ToPort' as an integer.


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

Branch: refs/heads/master
Commit: b514735c7b8915d063d74ab1f64b6223be866743
Parents: bea669d
Author: Likitha Shetty <[email protected]>
Authored: Thu Jan 31 11:29:40 2013 -0800
Committer: Prachi Damle <[email protected]>
Committed: Thu Jan 31 12:00:28 2013 -0800

----------------------------------------------------------------------
 .../com/cloud/bridge/service/EC2RestServlet.java   |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/b514735c/awsapi/src/com/cloud/bridge/service/EC2RestServlet.java
----------------------------------------------------------------------
diff --git a/awsapi/src/com/cloud/bridge/service/EC2RestServlet.java 
b/awsapi/src/com/cloud/bridge/service/EC2RestServlet.java
index f5b7cba..91e08be 100644
--- a/awsapi/src/com/cloud/bridge/service/EC2RestServlet.java
+++ b/awsapi/src/com/cloud/bridge/service/EC2RestServlet.java
@@ -762,11 +762,13 @@ public class EC2RestServlet extends HttpServlet {
                    else break;
 
             String[] fromPort = request.getParameterValues( "IpPermissions." + 
nCount + ".FromPort" );
-                   if (null != fromPort && 0 < fromPort.length) 
perm.setProtocol( fromPort[0] );
+            if ( null != fromPort && 0 < fromPort.length)
+                perm.setFromPort( Integer.parseInt( fromPort[0]));
 
             String[] toPort = request.getParameterValues( "IpPermissions." + 
nCount + ".ToPort" );
-                   if (null != toPort && 0 < toPort.length) perm.setProtocol( 
toPort[0] );
-                                   
+            if ( null != toPort && 0 < toPort.length)
+                perm.setToPort( Integer.parseInt( toPort[0]));
+
             // -> list: IpPermissions.n.IpRanges.m.CidrIp
                        int mCount = 1;
                do 

Reply via email to