From 993392f8c5ffe00ca4f9151bced839263b830a87 Mon Sep 17 00:00:00 2001 From: wangxin Date: Tue, 30 Oct 2018 15:59:56 +0800 Subject: [PATCH] =?UTF-8?q?IP=20Range=E5=AF=BC=E5=85=A5=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E6=A0=BC=E5=BC=8F=E8=BD=AC=E6=8D=A20.0.0.1-2=E8=BD=AC=E6=8D=A2?= =?UTF-8?q?=E4=B8=BA0.0.0.1-0.0.0.2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/com/nis/util/Constants.java | 2 ++ .../com/nis/web/controller/BaseController.java | 17 +++++++++++++++++ src/main/resources/nis.properties | 2 ++ 3 files changed, 21 insertions(+) diff --git a/src/main/java/com/nis/util/Constants.java b/src/main/java/com/nis/util/Constants.java index 49ad883e4..e2e828dce 100644 --- a/src/main/java/com/nis/util/Constants.java +++ b/src/main/java/com/nis/util/Constants.java @@ -62,6 +62,8 @@ public final class Constants { public static final String IPV4_IP_SUBNET_REGEXP=Configurations.getStringProperty("ipv4_ip_subnet_regexp", "*"); public static final String IPV6_IP_SUBNET_REGEXP=Configurations.getStringProperty("ipv6_ip_subnet_regexp", "*"); public static final String IPV4_IP_RANGE_REGEXP=Configurations.getStringProperty("ipv4_ip_range_regexp", "*"); + //0.0.0.1-2这种格式 + public static final String IPV4_IP_RANGE_REGEXP_NEW=Configurations.getStringProperty("ipv4_ip_range_regexp_new", "*"); public static final String IPV6_IP_RANGE_REGEXP=Configurations.getStringProperty("ipv6_ip_range_regexp", "*"); public static final String IPV4_IP_REGEXP=Configurations.getStringProperty("ipv4_ip_regexp", "*"); public static final String IPV6_IP_REGEXP=Configurations.getStringProperty("ipv6_ip_regexp", "*"); diff --git a/src/main/java/com/nis/web/controller/BaseController.java b/src/main/java/com/nis/web/controller/BaseController.java index b1e207611..ba8cba9ce 100644 --- a/src/main/java/com/nis/web/controller/BaseController.java +++ b/src/main/java/com/nis/web/controller/BaseController.java @@ -1480,11 +1480,28 @@ public class BaseController { boolean destIpEmpty = false; boolean srcPortEmpty = false; boolean destPortEmpty = false; + Pattern ipv4IpRangeRegexpNew = Pattern.compile(Constants.IPV4_IP_RANGE_REGEXP_NEW); if (StringUtil.isEmpty(baseIpCfg.getSrcIpAddress())) { srcIpEmpty = true; + }else { + //处理0.0.0.1-2这种格式,转换为0.0.0.1-0.0.0.2 + Matcher m=ipv4IpRangeRegexpNew.matcher(baseIpCfg.getSrcIpAddress()); + if(m.matches()) { + String prefix=baseIpCfg.getSrcIpAddress().split("-")[0]; + String subfix=baseIpCfg.getSrcIpAddress().split("-")[1]; + baseIpCfg.setSrcIpAddress(prefix+"-"+prefix.substring(0, prefix.lastIndexOf(".")+1)+subfix); + } } if (StringUtil.isEmpty(baseIpCfg.getDestIpAddress())) { destIpEmpty = true; + }else { + //处理0.0.0.1-2这种格式,转换为0.0.0.1-0.0.0.2 + Matcher m=ipv4IpRangeRegexpNew.matcher(baseIpCfg.getDestIpAddress()); + if(m.matches()) { + String prefix=baseIpCfg.getDestIpAddress().split("-")[0]; + String subfix=baseIpCfg.getDestIpAddress().split("-")[1]; + baseIpCfg.setDestIpAddress(prefix+"-"+prefix.substring(0, prefix.lastIndexOf(".")+1)+subfix); + } } if (StringUtil.isEmpty(baseIpCfg.getSrcPort())) { srcPortEmpty = true; diff --git a/src/main/resources/nis.properties b/src/main/resources/nis.properties index d86d918e7..165c5ee66 100644 --- a/src/main/resources/nis.properties +++ b/src/main/resources/nis.properties @@ -539,3 +539,5 @@ cert_file_path=/home/cert/ cert_validate_file=x509 #证书校验成功的关键信息 cert_validate_success_info=Successful +#ipv4 range新格式0.0.0.1-2 +ipv4_ip_range_regexp_new=^(0|1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|[1-9])\\.(0|1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\.(0|1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\.(0|1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)-(0|1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)$ \ No newline at end of file