diff options
-rw-r--r-- | plugins/managesieve/Changelog | 3 | ||||
-rw-r--r-- | plugins/managesieve/managesieve.php | 7 | ||||
-rw-r--r-- | plugins/managesieve/package.xml | 21 |
3 files changed, 27 insertions, 4 deletions
diff --git a/plugins/managesieve/Changelog b/plugins/managesieve/Changelog index 1e6011064..64542c6dc 100644 --- a/plugins/managesieve/Changelog +++ b/plugins/managesieve/Changelog @@ -1,6 +1,9 @@ +* version 5.1 [2012-06-21] +----------------------------------------------------------- - Fixed filter popup width (for non-english localizations) - Fixed tokenizer infinite loop on invalid script content - Larry skin support +- Fixed custom header name validity check, made RFC2822-compliant * version 5.0 [2012-01-05] ----------------------------------------------------------- diff --git a/plugins/managesieve/managesieve.php b/plugins/managesieve/managesieve.php index c58dc8cab..7c10053a3 100644 --- a/plugins/managesieve/managesieve.php +++ b/plugins/managesieve/managesieve.php @@ -709,9 +709,12 @@ class managesieve extends rcube_plugin if (!count($headers)) $this->errors['tests'][$i]['header'] = $this->gettext('cannotbeempty'); else { - foreach ($headers as $hr) - if (!preg_match('/^[a-z0-9-]+$/i', $hr)) + foreach ($headers as $hr) { + // RFC2822: printable ASCII except colon + if (!preg_match('/^[\x21-\x39\x41-\x7E]+$/i', $hr)) { $this->errors['tests'][$i]['header'] = $this->gettext('forbiddenchars'); + } + } } if (empty($this->errors['tests'][$i]['header'])) diff --git a/plugins/managesieve/package.xml b/plugins/managesieve/package.xml index 207793958..1c60a7cc9 100644 --- a/plugins/managesieve/package.xml +++ b/plugins/managesieve/package.xml @@ -17,9 +17,9 @@ <email>alec@alec.pl</email> <active>yes</active> </lead> - <date>2012-01-05</date> + <date>2012-06-21</date> <version> - <release>5.0</release> + <release>5.1</release> <api>5.0</api> </version> <stability> @@ -38,34 +38,51 @@ <tasks:replace from="@name@" to="name" type="package-info"/> <tasks:replace from="@package_version@" to="version" type="package-info"/> </file> + <file name="localization/be_BE.inc" role="data"></file> <file name="localization/bg_BG.inc" role="data"></file> + <file name="localization/bs_BA.inc" role="data"></file> + <file name="localization/ca_ES_BA.inc" role="data"></file> <file name="localization/cs_CZ.inc" role="data"></file> + <file name="localization/cy_GB.inc" role="data"></file> + <file name="localization/da_DK.inc" role="data"></file> <file name="localization/de_CH.inc" role="data"></file> <file name="localization/de_DE.inc" role="data"></file> <file name="localization/el_GR.inc" role="data"></file> <file name="localization/en_GB.inc" role="data"></file> <file name="localization/en_US.inc" role="data"></file> + <file name="localization/eo.inc" role="data"></file> <file name="localization/es_AR.inc" role="data"></file> <file name="localization/es_ES.inc" role="data"></file> <file name="localization/et_EE.inc" role="data"></file> + <file name="localization/fa_IR.inc" role="data"></file> <file name="localization/fi_FI.inc" role="data"></file> <file name="localization/fr_FR.inc" role="data"></file> <file name="localization/gl_ES.inc" role="data"></file> + <file name="localization/he_IL.inc" role="data"></file> <file name="localization/hr_HR.inc" role="data"></file> <file name="localization/hu_HU.inc" role="data"></file> + <file name="localization/ia_IA.inc" role="data"></file> + <file name="localization/id_ID.inc" role="data"></file> <file name="localization/it_IT.inc" role="data"></file> <file name="localization/ja_JP.inc" role="data"></file> + <file name="localization/lt_LT.inc" role="data"></file> <file name="localization/lv_LV.inc" role="data"></file> + <file name="localization/ml_ML.inc" role="data"></file> + <file name="localization/mr_IN.inc" role="data"></file> <file name="localization/nb_NO.inc" role="data"></file> <file name="localization/nl_NL.inc" role="data"></file> <file name="localization/pl_PL.inc" role="data"></file> <file name="localization/pt_BR.inc" role="data"></file> <file name="localization/pt_PT.inc" role="data"></file> + <file name="localization/ro_RO.inc" role="data"></file> <file name="localization/ru_RU.inc" role="data"></file> + <file name="localization/si_LK.inc" role="data"></file> <file name="localization/sk_SK.inc" role="data"></file> <file name="localization/sl_SI.inc" role="data"></file> <file name="localization/sv_SE.inc" role="data"></file> + <file name="localization/tr_TR.inc" role="data"></file> <file name="localization/uk_UA.inc" role="data"></file> + <file name="localization/vi_VN.inc" role="data"></file> <file name="localization/zh_CN.inc" role="data"></file> <file name="localization/zh_TW.inc" role="data"></file> <file name="skins/default/managesieve.css" role="data"></file> |