#acl PaulHowarth:read,write,admin,revert,delete All:read === Tuesday 26th November 2013 === ==== Fedora Project ==== * Updated `perl-IO-Socket-SSL` to 1.961 in Rawhide: * `IO::Socket::SSL::Utils::CERT_create` can now create CA-certificates that are not self-signed (by giving `issuer_*`) * Updated `perl-Readonly` to 1.04 in Rawhide: * Module now maintained by Sanko Robinson; please see `TODO` for a possible set of changes to this module that may affect code written for old, pre-perl 5.14.0 platforms! ==== Local Packages ==== * Updated `perl-Class-Tiny` to 0.013: * Expanded comparison to `Object::Tiny` and `Class::Accessor` * Updated `perl-IO-Socket-SSL` to 1.961 as per the Fedora version * Updated `perl-Path-Tiny` to 0.047: * Previous lock testing fixes broke on Windows * Updated `perl-Readonly` to 1.04 as per the Fedora version * Updated `perl-Text-Haml` to 0.990113: * Fix test failure on windows (`\r\n` -> `\n`) * Fix bug with HTML escaping * Updated `perl-YAML` to 0.86: * Synopsis in `YAML::Dumper` didn't work as expected ([[CPAN:19838|CPAN RT#19838]]) * Address complex regular subexpression recursion limit ([[CPAN:90593|CPAN RT#90593]]) . The fix for [[CPAN:90593|CPAN RT#90593]] used a regex feature introduced in Perl 5.10, so to maintain compatibility for older releases, I used a different fix (just on the older releases) based on a patch posted in [[CPAN:18195|CPAN RT#18195]]: . {{{ Fix for CPAN RT#18195 and CPAN RT#90593 Upstream fix in 0.85 doesn't work with perl < 5.10 --- lib/YAML/Loader.pm +++ lib/YAML/Loader.pm @@ -510,12 +510,28 @@ return $node; } +# Work around /regexp/ bug in perl < 5.10 +sub _parse_inline_double_quoted_perl_bug_work_around { + my $self = shift; + my @list; + local $_ = $self->{inline}; + s{^"}{} or croak YAML_PARSE_ERR_BAD_DOUBLE(); + push @list, $1 + while s{^((?:\\.|[^\"\\]+){1,1000})}{}; + s/\\"/"/g for @list; + s{^"}{} or croak YAML_PARSE_ERR_BAD_DOUBLE(); + $self->{inline} = $_; + return join("",@list); +} + # Parse the inline double quoted string. sub _parse_inline_double_quoted { my $self = shift; my $node; - # https://rt.cpan.org/Public/Bug/Display.html?id=90593 - if ($self->inline =~ /^"((?:(?:\\"|[^"]){0,32766}+){0,32766}+)"\s*(.*)$/) { + # https://rt.cpan.org/Public/Bug/Display.html?id=18195 + return $self->_parse_inline_double_quoted_perl_bug_work_around() + if length($self->{inline}) > 10_000; + if ($self->inline =~ /^"((?:\\"|[^"])*)"\s*(.*)$/) { $node = $1; $self->inline($2); $node =~ s/\\"/"/g; }}} ----