REM:
1. 亿阳设备处置IP是否支持判断
This commit is contained in:
HuangXin 2020-09-30 12:48:01 +08:00
parent b0b16e280f
commit bce53c6e16
1 changed files with 31 additions and 1 deletions

View File

@ -4,6 +4,7 @@ import com.dispose.ability.DisposeAbility;
import com.dispose.common.DisposeCapacityType; import com.dispose.common.DisposeCapacityType;
import com.dispose.common.DisposeObjectType; import com.dispose.common.DisposeObjectType;
import com.dispose.common.ErrorCode; import com.dispose.common.ErrorCode;
import com.dispose.common.Helper;
import com.dispose.common.IpAddrType; import com.dispose.common.IpAddrType;
import com.dispose.common.NetflowDirection; import com.dispose.common.NetflowDirection;
import com.dispose.pojo.dto.protocol.base.ProtocolRespDTO; import com.dispose.pojo.dto.protocol.base.ProtocolRespDTO;
@ -12,6 +13,8 @@ import com.dispose.pojo.vo.DeviceFirewareInfo;
import com.dispose.yiyang.dispose.common.YiYangDisposeAbilityRsp; import com.dispose.yiyang.dispose.common.YiYangDisposeAbilityRsp;
import com.dispose.yiyang.dispose.common.YiYangLoginRsp; import com.dispose.yiyang.dispose.common.YiYangLoginRsp;
import com.dispose.yiyang.dispose.protocol.YiYangInterface; import com.dispose.yiyang.dispose.protocol.YiYangInterface;
import inet.ipaddr.IPAddress;
import inet.ipaddr.IPAddressString;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
@ -229,7 +232,34 @@ public class YiYangAbilityImpl implements DisposeAbility {
*/ */
@Override @Override
public boolean isCarryProtectIp(String ipAddr) { public boolean isCarryProtectIp(String ipAddr) {
return true; boolean ret = false;
IPAddress addr = new IPAddressString(ipAddr).getAddress();
synchronized (this) {
if (addr.isIPv4()) {
ret = protectIpV4.stream().anyMatch(v -> Helper.ipInRange(v, ipAddr));
}
if (addr.isIPv6()) {
ret = protectIpV6.stream().anyMatch(v -> Helper.ipInRange(v, ipAddr));
}
}
if (!ret) {
// 更新设备防护IP
getDisposeDeviceProtectObject();
synchronized (this) {
if (addr.isIPv4()) {
ret = protectIpV4.stream().anyMatch(v -> Helper.ipInRange(v, ipAddr));
}
if (addr.isIPv6()) {
ret = protectIpV6.stream().anyMatch(v -> Helper.ipInRange(v, ipAddr));
}
}
}
return ret;
} }
/** /**