You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by da...@apache.org on 2015/12/06 20:11:34 UTC
[06/11] git commit: updated refs/heads/master to afe1130
CID-1116484 cast to long and use long as cidrsize type
and simpel test
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/2fadfe93
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/2fadfe93
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/2fadfe93
Branch: refs/heads/master
Commit: 2fadfe93dcb63693485fb44a7c5146024e232c3c
Parents: 637afb9
Author: Daan Hoogland <da...@onecht.net>
Authored: Tue Nov 10 14:40:24 2015 +0100
Committer: Daan Hoogland <da...@onecht.net>
Committed: Mon Nov 16 18:25:32 2015 +0100
----------------------------------------------------------------------
utils/src/main/java/com/cloud/utils/net/NetUtils.java | 9 +++++----
utils/src/test/java/com/cloud/utils/net/NetUtilsTest.java | 8 ++++++++
2 files changed, 13 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/2fadfe93/utils/src/main/java/com/cloud/utils/net/NetUtils.java
----------------------------------------------------------------------
diff --git a/utils/src/main/java/com/cloud/utils/net/NetUtils.java b/utils/src/main/java/com/cloud/utils/net/NetUtils.java
index e48cf29..6da867d 100644
--- a/utils/src/main/java/com/cloud/utils/net/NetUtils.java
+++ b/utils/src/main/java/com/cloud/utils/net/NetUtils.java
@@ -47,6 +47,7 @@ import org.apache.log4j.Logger;
import com.cloud.utils.IteratorUtil;
import com.cloud.utils.Pair;
+import com.cloud.utils.exception.CloudRuntimeException;
import com.cloud.utils.script.Script;
import com.googlecode.ipv6.IPv6Address;
import com.googlecode.ipv6.IPv6AddressRange;
@@ -907,14 +908,14 @@ public class NetUtils {
if (!isValidIp(cidrAddress)) {
return null;
}
- int cidrSizeNum = -1;
+ long cidrSizeNum = -1;
try {
cidrSizeNum = Integer.parseInt(cidrSize);
- } catch (final Exception e) {
- return null;
+ } catch (final NumberFormatException e) {
+ throw new CloudRuntimeException("cidrsize is not valid", e);
}
- final long numericNetmask = 0xffffffff >> MAX_CIDR - cidrSizeNum << MAX_CIDR - cidrSizeNum;
+ final long numericNetmask = (long)0xffffffff >> MAX_CIDR - cidrSizeNum << MAX_CIDR - cidrSizeNum;
final String netmask = NetUtils.long2Ip(numericNetmask);
return getSubNet(cidrAddress, netmask);
}
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/2fadfe93/utils/src/test/java/com/cloud/utils/net/NetUtilsTest.java
----------------------------------------------------------------------
diff --git a/utils/src/test/java/com/cloud/utils/net/NetUtilsTest.java b/utils/src/test/java/com/cloud/utils/net/NetUtilsTest.java
index d4d23b3..1f948d2 100644
--- a/utils/src/test/java/com/cloud/utils/net/NetUtilsTest.java
+++ b/utils/src/test/java/com/cloud/utils/net/NetUtilsTest.java
@@ -418,9 +418,17 @@ public class NetUtilsTest {
assertTrue("It should pass! 31 bit prefix.", is31PrefixCidr);
}
+
@Test
public void testGetCidrSubNet() {
final String cidr = "10.10.0.0/16";
+ String subnet = NetUtils.getCidrSubNet("10.10.10.10/16");
+ assertTrue(cidr + " does not contain " + subnet,NetUtils.isIpWithtInCidrRange(subnet, cidr));
+ }
+
+ @Test
+ public void testGetCidrSubNetWithWidth() {
+ final String cidr = "10.10.0.0/16";
String subnet = NetUtils.getCidrSubNet("10.10.10.10", 16);
assertTrue(NetUtils.isIpWithtInCidrRange(subnet, cidr));
}