From aea78f4d99ff541cabc758033da1005022422fe3 Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Fri, 1 Dec 2017 18:42:15 -0500 Subject: Call idn_to_ascii with INTL_IDNA_VARIANT_UTS46 Under PHP 7.2, calling `idn_to_ascii($idn)` results in a deprecation warning: 'INTL_IDNA_VARIANT_2003 is deprecated' See https://secure.php.net/manual/en/function.idn-to-ascii.php Therefore, if possible, `idn_to_ascii($idn, 0, INTL_IDNA_VARIANT_UTS46)` should be used instead. `INTL_IDNA_VARIANT_UTS46` was introduced in PHP 5.4, so on versions before that, `idn_to_ascii($idn)` must still be used. Fixed #1699 --- lib/lib_rss.php | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'lib/lib_rss.php') diff --git a/lib/lib_rss.php b/lib/lib_rss.php index 09048700d..d62ab97a0 100644 --- a/lib/lib_rss.php +++ b/lib/lib_rss.php @@ -62,6 +62,12 @@ function idn_to_puny($url) { $parts = parse_url($url); if (!empty($parts['host'])) { $idn = $parts['host']; + // INTL_IDNA_VARIANT_UTS46 is defined starting in PHP 5.4 + if (defined('INTL_IDNA_VARIANT_UTS46')) { + $puny = idn_to_ascii($idn, 0, INTL_IDNA_VARIANT_UTS46); + } else { + $puny = idn_to_ascii($idn); + } $puny = idn_to_ascii($idn); $pos = strpos($url, $idn); if ($pos !== false) { -- cgit v1.2.3 From 1cf545342e4b89510fbd8517b638c6133d3e2c07 Mon Sep 17 00:00:00 2001 From: Alexandre Alapetite Date: Sat, 2 Dec 2017 14:03:19 +0100 Subject: Remove forgotten punycode line --- lib/lib_rss.php | 1 - 1 file changed, 1 deletion(-) (limited to 'lib/lib_rss.php') diff --git a/lib/lib_rss.php b/lib/lib_rss.php index d62ab97a0..8dfad7861 100644 --- a/lib/lib_rss.php +++ b/lib/lib_rss.php @@ -68,7 +68,6 @@ function idn_to_puny($url) { } else { $puny = idn_to_ascii($idn); } - $puny = idn_to_ascii($idn); $pos = strpos($url, $idn); if ($pos !== false) { return substr_replace($url, $puny, $pos, strlen($idn)); -- cgit v1.2.3