They can already be set directly via the cluster.fw file. Net::IP is just a
bit more picky with what it allows:
For example:
  error:   192.168.1.155/24
  correct: 192.168.1.0/24

also improves #3554

Signed-off-by: Stefan Hrdlicka <s.hrdli...@proxmox.com>
---
 src/PVE/Firewall.pm | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/src/PVE/Firewall.pm b/src/PVE/Firewall.pm
index e6d6802..25e2fd0 100644
--- a/src/PVE/Firewall.pm
+++ b/src/PVE/Firewall.pm
@@ -69,6 +69,14 @@ sub pve_verify_ip_or_cidr {
     if ($cidr =~ m!^(?:$IPV6RE|$IPV4RE)(/(\d+))?$!) {
        return $cidr if Net::IP->new($cidr);
        return undef if $noerr;
+
+       # Error 171 in Net::IP comes up if the host part of the IP address isn't
+       # zero.
+       # for example:
+       #  error:   192.168.1.155/24
+       #  correct: 192.168.1.0/24
+       return $cidr if Net::IP::Errno() == 171;
+
        die Net::IP::Error() . "\n";
     }
     return undef if $noerr;
-- 
2.30.2



_______________________________________________
pve-devel mailing list
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to