po: when possible, disable use of Text::WrapI18N in po4a; else warn about too old po4a

Signed-off-by: intrigeri <intrigeri@boum.org>
master
intrigeri 2009-01-16 14:29:46 +01:00
parent 1c53179e97
commit df82b5e62a
2 changed files with 12 additions and 5 deletions

View File

@ -10,6 +10,16 @@ use warnings;
use strict; use strict;
use IkiWiki 3.00; use IkiWiki 3.00;
use Encode; use Encode;
BEGIN {
eval 'use Locale::Po4a::Common qw(nowrapi18n)';
if ($@) {
warning(sprintf(gettext('%s is too old, can not disable %s; '.
'a denial of service can thus be '.
'triggered by malicious content'),
'Locale::Po4a', 'Text::WrapI18N'));
eval 'use Locale::Po4a::Common';
}
}
use Locale::Po4a::Chooser; use Locale::Po4a::Chooser;
use Locale::Po4a::Po; use Locale::Po4a::Po;
use File::Basename; use File::Basename;

View File

@ -333,11 +333,8 @@ means the `Text` module only.
[Debian bug #470250](http://bugs.debian.org/470250)), but it is [Debian bug #470250](http://bugs.debian.org/470250)), but it is
optional and we do not need the features it provides. optional and we do not need the features it provides.
> I proposed a patch based on Joey's to po4a-devel, allowing to fully > If a recent enough po4a is installed, this module's use is fully disabled.
> disable this module's use. When it is merged upstream, we'll need to add > This feature has been merged in po4a CVS on 2009-01-15. --[[intrigeri]]
> `use Locale::Po4a::Common qw(nowrapi18n)` to `po.pm`, before loading
> any other `Locale::Po4a` module. A versioned dependency may be needed.
> --[[intrigeri]]
##### Term::ReadKey ##### Term::ReadKey