consider a valid ipv4 address as a validish ipv4 /32 cidr (#10174)

* consider a valid ipv4 address as a validish ipv4 /32 cidr

* refactor cidr evaluation for internal nets

* Apply suggestions from code review

* Update services/secondary-storage/controller/src/main/java/org/apache/cloudstack/secondarystorage/SecondaryStorageManagerImpl.java

* Update services/secondary-storage/controller/src/main/java/org/apache/cloudstack/secondarystorage/SecondaryStorageManagerImpl.java
This commit is contained in:
dahn 2025-01-15 14:00:43 +01:00 committed by GitHub
parent 35fe19f096
commit cf5bd80311
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -402,10 +402,13 @@ public class SecondaryStorageManagerImpl extends ManagerBase implements Secondar
}
String[] cidrs = _allowedInternalSites.split(",");
for (String cidr : cidrs) {
if (NetUtils.isValidIp4Cidr(cidr) || NetUtils.isValidIp4(cidr) || !cidr.startsWith("0.0.0.0")) {
if (NetUtils.getCleanIp4Cidr(cidr).equals(cidr)) {
if (NetUtils.isValidIp4Cidr(cidr) && !cidr.startsWith("0.0.0.0")) {
if (! NetUtils.getCleanIp4Cidr(cidr).equals(cidr)) {
s_logger.warn(String.format("Invalid CIDR %s in %s", cidr, SecStorageAllowedInternalDownloadSites.key()));
}
allowedCidrs.add(NetUtils.getCleanIp4Cidr(cidr));
} else if (NetUtils.isValidIp4(cidr) && !cidr.startsWith("0.0.0.0")) {
s_logger.warn(String.format("Ip address is not a valid CIDR; %s consider using %s/32", cidr, cidr));
allowedCidrs.add(cidr);
}
}