Skip to content

Commit deffc08

Browse files
authored
Fix ipv4_cidr validation (hestiacp#5044)
Fix Firewall when run v-change-firewall-rule from GUI reproduce Issue, old validation rule allow modify IP as 0.0.0.0/0- 0.0.0.0/0" 0.0.0.0/0AND-ANY-CHARACTER v-add-firewall-rule is also afected from GUI
1 parent 53550ca commit deffc08

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

func/main.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -816,7 +816,7 @@ is_ip46_format_valid() {
816816

817817
is_ipv4_cidr_format_valid() {
818818
object_name=${2-ip}
819-
valid=$($HESTIA_PHP -r '$cidr="$argv[1]"; list($ip, $netmask) = [...explode("/", $cidr), 32]; echo ((filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4) && $netmask <= 32) ? 0 : 1);' $1)
819+
valid=$($HESTIA_PHP -r '[$ip, $net] = [...explode("/", $argv[1]), "32"]; echo (preg_match("/^(\d{1,3}\.){3}\d{1,3}$/", $ip) && filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4) && is_numeric($net) && $net >= 0 && $net <= 32) ? 0 : 1;' "$1")
820820
if [ "$valid" -ne 0 ]; then
821821
check_result "$E_INVALID" "invalid $object_name :: $1"
822822
fi

0 commit comments

Comments
 (0)