diff --git a/lib/classes/files/curl_security_helper.php b/lib/classes/files/curl_security_helper.php index 1c2717f9570..a057489d6e9 100644 --- a/lib/classes/files/curl_security_helper.php +++ b/lib/classes/files/curl_security_helper.php @@ -223,7 +223,7 @@ class curl_security_helper extends curl_security_helper_base { protected function address_explicitly_blocked($addr) { $blockedhosts = $this->get_blacklisted_hosts_by_category(); $iphostsblocked = array_merge($blockedhosts['ipv4'], $blockedhosts['ipv6']); - return address_in_subnet($addr, implode(',', $iphostsblocked)); + return address_in_subnet($addr, implode(',', $iphostsblocked), true); } /** diff --git a/lib/moodlelib.php b/lib/moodlelib.php index ee73a9a5da4..f3a60e7b78d 100644 --- a/lib/moodlelib.php +++ b/lib/moodlelib.php @@ -9014,11 +9014,12 @@ function make_unique_id_code($extra = '') { * * @param string $addr The address you are checking * @param string $subnetstr The string of subnet addresses + * @param bool $checkallzeros The state to whether check for 0.0.0.0 * @return bool */ -function address_in_subnet($addr, $subnetstr) { +function address_in_subnet($addr, $subnetstr, $checkallzeros = false) { - if ($addr == '0.0.0.0') { + if ($addr == '0.0.0.0' && !$checkallzeros) { return false; } $subnets = explode(',', $subnetstr); diff --git a/lib/upgrade.txt b/lib/upgrade.txt index 8b4d3d651eb..721dd4214b4 100644 --- a/lib/upgrade.txt +++ b/lib/upgrade.txt @@ -1,6 +1,9 @@ This files describes API changes in core libraries and APIs, information provided here is intended especially for developers. +===3.9.22=== +* Added a new parameter in address_in_subnet to give us the ability to check for 0.0.0.0 or not. + ===3.9.21=== * Added 'extrainfo' in the DB options config. Its extra information for the DB driver, e.g. SQL Server, has additional configuration according to its environment, which the administrator can specify to alter and