diff --git a/lib/classes/files/curl_security_helper.php b/lib/classes/files/curl_security_helper.php index 276b7aa447a..26e07bab6ae 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_blocked_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 d9dc05b2476..3fbe40341b4 100644 --- a/lib/moodlelib.php +++ b/lib/moodlelib.php @@ -9049,11 +9049,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 3d8a07a0210..3cf9fb3b5bd 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. +=== 4.1.4 === +* Added a new parameter in address_in_subnet to give us the ability to check for 0.0.0.0 or not. + === 4.1.3 === * 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