From b514735c7b8915d063d74ab1f64b6223be866743 Mon Sep 17 00:00:00 2001 From: Likitha Shetty Date: Thu, 31 Jan 2013 11:29:40 -0800 Subject: [PATCH] [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. --- awsapi/src/com/cloud/bridge/service/EC2RestServlet.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/awsapi/src/com/cloud/bridge/service/EC2RestServlet.java b/awsapi/src/com/cloud/bridge/service/EC2RestServlet.java index f5b7cbaa751..91e08be4fe8 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