--- b/mail/squirrelmail/Makefile +++ b/mail/squirrelmail/Makefile @@ -1,7 +1,7 @@ # Created by: Simon Dick PORTNAME= squirrelmail -PORTVERSION= 20200422 +PORTVERSION= 20211024 CATEGORIES= mail www MASTER_SITES= http://snapshots.squirrelmail.org/ \ http://freebsd.uzsolt.hu/src/ --- b/mail/squirrelmail/distinfo +++ b/mail/squirrelmail/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1587688922 -SHA256 (squirrelmail/squirrelmail-20200422_0200-SVN.stable.tar.bz2) = b9ff42bed77f469a4778d83a4bdff169dbaf1ff1baf0faa85c21802eba25d4b8 -SIZE (squirrelmail/squirrelmail-20200422_0200-SVN.stable.tar.bz2) = 576468 +TIMESTAMP = 1635107026 +SHA256 (squirrelmail/squirrelmail-20211024_0200-SVN.stable.tar.bz2) = 60f7f74cf44ab3c269f72ed5a8bafba31b56d917ce3dcc3ec16c3c87f34d42aa +SIZE (squirrelmail/squirrelmail-20211024_0200-SVN.stable.tar.bz2) = 576229 --- a/mail/squirrelmail/files/patch-functions__i18n.php +++ /dev/null @@ -1,32 +0,0 @@ ---- functions/i18n.php.orig 2017-07-05 11:28:23 UTC -+++ functions/i18n.php -@@ -159,15 +159,17 @@ function sq_setlocale($category,$locale) - } - - /** -- * Converts string from given charset to charset, that can be displayed by user translation. -+ * Converts a string from the given $charset to a character set that -+ * can be displayed by the current user interface language (translation) - * -- * Function by default returns html encoded strings, if translation uses different encoding. -+ * Function by default returns html encoded strings if translation uses -+ * different encoding. - * If Japanese translation is used - function returns string converted to euc-jp - * If $charset is not supported - function returns unconverted string. - * - * sanitizing of html tags is also done by this function. - * -- * @param string $charset -+ * @param string $charset The charset of the incoming string - * @param string $string Text to be decoded - * @param boolean $force_decode converts string to html without $charset!=$default_charset check. - * Argument is available since 1.4.5 and 1.5.1. -@@ -184,7 +186,7 @@ function charset_decode ($charset, $stri - } - - /* All HTML special characters are 7 bit and can be replaced first */ -- if (! $save_html) $string = sm_encode_html_special_chars ($string); -+ if (! $save_html) $string = sm_encode_html_special_chars($string, ENT_COMPAT, $charset); - $charset = strtolower($charset); - - set_my_charset(); --- a/mail/squirrelmail/files/patch-functions_strings.php +++ /dev/null @@ -1,71 +0,0 @@ ---- functions/strings.php.orig 2017-01-27 20:31:33 UTC -+++ functions/strings.php -@@ -1489,7 +1489,13 @@ function sm_validate_security_token($tok - * (See http://php.net/manual/function.htmlspecialchars.php ) - * (OPTIONAL; default ENT_COMPAT, ENT_COMPAT | ENT_SUBSTITUTE for PHP >=5.4) - * @param string $encoding The character encoding to use in the conversion -- * (OPTIONAL; default automatic detection) -+ * (if not one of the character sets supported -+ * by PHP's htmlspecialchars(), then $encoding -+ * will be ignored and iso-8859-1 will be used, -+ * unless a default has been specified in -+ * $default_htmlspecialchars_encoding in -+ * config_local.php) (OPTIONAL; default automatic -+ * detection) - * @param boolean $double_encode Whether or not to convert entities that are - * already in the string (only supported in - * PHP 5.2.3+) (OPTIONAL; default TRUE) -@@ -1500,6 +1506,31 @@ function sm_validate_security_token($tok - function sm_encode_html_special_chars($string, $flags=ENT_COMPAT, - $encoding=NULL, $double_encode=TRUE) - { -+ -+ // charsets supported by PHP's htmlspecialchars -+ // (move this elsewhere if needed) -+ // -+ static $htmlspecialchars_charsets = array( -+ 'iso-8859-1', 'iso8859-1', -+ 'iso-8859-5', 'iso8859-5', -+ 'iso-8859-15', 'iso8859-15', -+ 'utf-8', -+ 'cp866', 'ibm866', '866', -+ 'cp1251', 'windows-1251', 'win-1251', '1251', -+ 'cp1252', 'windows-1252', '1252', -+ 'koi8-R', 'koi8-ru', 'koi8r', -+ 'big5', '950', -+ 'gb2312', '936', -+ 'big5-hkscs', -+ 'shift_jis', 'sjis', 'sjis-win', 'cp932', '932', -+ 'euc-jp', 'eucjp', 'eucjp-win', -+ 'macroman', -+ ); -+ -+ -+ // if not given, set encoding to the charset being -+ // used by the current user interface language -+ // - if (!$encoding) - { - global $default_charset; -@@ -1508,6 +1539,21 @@ function sm_encode_html_special_chars($s - $encoding = $default_charset; - } - -+ -+ // make sure htmlspecialchars() supports the needed encoding -+ // -+ if (!in_array(strtolower($encoding), $htmlspecialchars_charsets)) -+ { -+ // use default from configuration if provided or hard-coded fallback -+ // -+ global $default_htmlspecialchars_encoding; -+ if (!empty($default_htmlspecialchars_encoding)) -+ $encoding = $default_htmlspecialchars_encoding; -+ else -+ $encoding = 'iso-8859-1'; -+ } -+ -+ - if (check_php_version(5, 2, 3)) { - // Replace invalid characters with a symbol instead of returning - // empty string for the entire to be encoded string.