mirror of
https://github.com/phpbb/phpbb.git
synced 2025-10-12 07:24:31 +02:00
Merge pull request #6866 from Noxwizard/ticket/17477
[ticket/17477] Support non-prefixed whois servers
This commit is contained in:
@@ -1482,7 +1482,8 @@ function user_ipwhois($ip)
|
|||||||
$match = array();
|
$match = array();
|
||||||
|
|
||||||
// Test for referrals from $whois_host to other whois databases, roll on rwhois
|
// Test for referrals from $whois_host to other whois databases, roll on rwhois
|
||||||
if (preg_match('#ReferralServer:[\x20]*whois://(.+)#im', $ipwhois, $match))
|
// Search for referral servers with or without the "whois://" prefix
|
||||||
|
if (preg_match('#ReferralServer:[\x20]*whois://(.+)#im', $ipwhois, $match) || preg_match('#ReferralServer:[\x20]*([^/]+)$#im', $ipwhois, $match))
|
||||||
{
|
{
|
||||||
if (strpos($match[1], ':') !== false)
|
if (strpos($match[1], ':') !== false)
|
||||||
{
|
{
|
||||||
|
@@ -33,8 +33,10 @@ class phpbb_functions_user_whois_test extends phpbb_test_case
|
|||||||
public function ips_data()
|
public function ips_data()
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
['2001:4860:4860::8888'], // Google public DNS
|
['2001:4860:4860::8888'], // Google public DNS (ARIN)
|
||||||
['64.233.161.139'], // google.com
|
['64.233.161.139'], // google.com (ARIN)
|
||||||
|
['1.1.1.1'], // Cloudflare (APNIC via whois:// referral)
|
||||||
|
['213.133.116.44'], // Hetzner (RIPE via non-whois:// referral)
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -47,5 +49,6 @@ class phpbb_functions_user_whois_test extends phpbb_test_case
|
|||||||
$this->assertStringNotContainsString('Query terms are ambiguous', $ip_whois);
|
$this->assertStringNotContainsString('Query terms are ambiguous', $ip_whois);
|
||||||
$this->assertStringNotContainsString('no entries found', $ip_whois);
|
$this->assertStringNotContainsString('no entries found', $ip_whois);
|
||||||
$this->assertStringNotContainsString('ERROR', $ip_whois);
|
$this->assertStringNotContainsString('ERROR', $ip_whois);
|
||||||
|
$this->assertStringNotContainsString('Allocated to RIPE NCC', $ip_whois); // This only shows if the referral isn't found
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user