Hello community,
here is the log from the commit of package perl-Sereal-Encoder for
openSUSE:Factory checked in at 2020-07-15 15:05:04
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Sereal-Encoder (Old)
and /work/SRC/openSUSE:Factory/.perl-Sereal-Encoder.new.3060 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Sereal-Encoder"
Wed Jul 15 15:05:04 2020 rev:8 rq:820834 version:4.017
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Sereal-Encoder/perl-Sereal-Encoder.changes
2020-06-17 14:50:03.480923803 +0200
+++
/work/SRC/openSUSE:Factory/.perl-Sereal-Encoder.new.3060/perl-Sereal-Encoder.changes
2020-07-15 15:05:25.607433838 +0200
@@ -1,0 +2,15 @@
+Fri Jul 10 09:42:21 UTC 2020 - Tina Müller <[email protected]>
+
+- updated to 4.017
+ see /usr/share/doc/packages/perl-Sereal-Encoder/Changes
+
+ 4.017 Thurs July 9, 2020
+ * The build fixes in 4.016 didn't work correctly, this should fix them.
+
+ 4.016 Thurs July 9, 2020
+ * Fix some dependency issues in build process
+
+ 4.015 Weds July 8, 2020
+ * Build fixes (missing dependency)
+
+-------------------------------------------------------------------
Old:
----
Sereal-Encoder-4.014.tar.gz
New:
----
Sereal-Encoder-4.017.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Sereal-Encoder.spec ++++++
--- /var/tmp/diff_new_pack.I2YUV5/_old 2020-07-15 15:05:29.055437201 +0200
+++ /var/tmp/diff_new_pack.I2YUV5/_new 2020-07-15 15:05:29.059437205 +0200
@@ -17,7 +17,7 @@
Name: perl-Sereal-Encoder
-Version: 4.014
+Version: 4.017
Release: 0
%define cpan_name Sereal-Encoder
Summary: Binary serialization module for Perl (encoder part)
++++++ Sereal-Encoder-4.014.tar.gz -> Sereal-Encoder-4.017.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Sereal-Encoder-4.014/Changes
new/Sereal-Encoder-4.017/Changes
--- old/Sereal-Encoder-4.014/Changes 2020-06-11 18:36:32.000000000 +0200
+++ new/Sereal-Encoder-4.017/Changes 2020-07-09 20:17:48.000000000 +0200
@@ -5,6 +5,15 @@
* of the decoder before upgrading to version 4 of the *
* encoder! *
****************************************************************
+4.017 Thurs July 9, 2020
+ * The build fixes in 4.016 didn't work correctly, this should fix them.
+
+4.016 Thurs July 9, 2020
+ * Fix some dependency issues in build process
+
+4.015 Weds July 8, 2020
+ * Build fixes (missing dependency)
+
4.014 Thurs June 11, 2020
* Fix build issue on non-win32 platforms.
* Update zstd to 1.4.5
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Sereal-Encoder-4.014/META.json
new/Sereal-Encoder-4.017/META.json
--- old/Sereal-Encoder-4.014/META.json 2020-06-11 18:44:12.000000000 +0200
+++ new/Sereal-Encoder-4.017/META.json 2020-07-09 20:25:54.000000000 +0200
@@ -4,7 +4,7 @@
"Steffen Mueller <[email protected]>, Yves Orton <[email protected]>"
],
"dynamic_config" : 1,
- "generated_by" : "ExtUtils::MakeMaker version 7.36, CPAN::Meta::Converter
version 2.150010",
+ "generated_by" : "ExtUtils::MakeMaker version 7.46, CPAN::Meta::Converter
version 2.150010",
"license" : [
"perl_5"
],
@@ -24,7 +24,8 @@
"requires" : {
"ExtUtils::ParseXS" : "2.21",
"File::Find" : "0",
- "File::Path" : "0"
+ "File::Path" : "0",
+ "Test::LongString" : "0"
}
},
"configure" : {
@@ -62,6 +63,6 @@
"url" : "git://github.com/Sereal/Sereal.git"
}
},
- "version" : "4.014",
+ "version" : "4.017",
"x_serialization_backend" : "JSON::PP version 2.27400"
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Sereal-Encoder-4.014/META.yml
new/Sereal-Encoder-4.017/META.yml
--- old/Sereal-Encoder-4.014/META.yml 2020-06-11 18:44:12.000000000 +0200
+++ new/Sereal-Encoder-4.017/META.yml 2020-07-09 20:25:54.000000000 +0200
@@ -18,7 +18,7 @@
configure_requires:
ExtUtils::MakeMaker: '7.0'
dynamic_config: 1
-generated_by: 'ExtUtils::MakeMaker version 7.36, CPAN::Meta::Converter version
2.150010'
+generated_by: 'ExtUtils::MakeMaker version 7.46, CPAN::Meta::Converter version
2.150010'
license: perl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -34,5 +34,5 @@
resources:
bugtracker: https://github.com/Sereal/Sereal/issues
repository: git://github.com/Sereal/Sereal.git
-version: '4.014'
-x_serialization_backend: 'CPAN::Meta::YAML version 0.011'
+version: '4.017'
+x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Sereal-Encoder-4.014/Makefile.PL
new/Sereal-Encoder-4.017/Makefile.PL
--- old/Sereal-Encoder-4.014/Makefile.PL 2020-02-04 03:42:59.000000000
+0100
+++ new/Sereal-Encoder-4.017/Makefile.PL 2020-07-09 20:15:48.000000000
+0200
@@ -76,6 +76,7 @@
'File::Find' => 0,
'File::Path' => 0,
'ExtUtils::ParseXS' => '2.21',
+ 'Test::LongString' => '0',
},
CONFIGURE_REQUIRES => {
'ExtUtils::MakeMaker' => '7.0',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Sereal-Encoder-4.014/author_tools/hobodecoder.pl
new/Sereal-Encoder-4.017/author_tools/hobodecoder.pl
--- old/Sereal-Encoder-4.014/author_tools/hobodecoder.pl 2020-02-02
18:25:40.000000000 +0100
+++ new/Sereal-Encoder-4.017/author_tools/hobodecoder.pl 2020-07-07
14:30:34.000000000 +0200
@@ -136,7 +136,7 @@
return unpack( "D", $v );
}
-my $fmt1= "%06u/%06u: %02x%1s %03s %s";
+my $fmt1= "%06d/%06d: %02x%1s %03s %s";
my $fmt2= "%-6s %-6s %-2s%1s %-3s %s";
my $lead_items= 5; # 1 less than the fmt2
@@ -229,7 +229,8 @@
parse_sv($ind);
}
elsif ( $o == SRL_HDR_PAD ) {
- printf "PAD\n";
+ printf "[PAD]\n";
+ parse_sv($ind);
}
elsif ( $o == SRL_HDR_ALIAS ) {
my $ofs= varint();
@@ -354,7 +355,9 @@
print "\n\nTotal length: " . length($data) . "\n\n";
-parse_header();
while ( length $data ) {
+ parse_header();
+ print "--- End header\n";
$done= parse_sv("");
+ print "--- End Document\n";
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Sereal-Encoder-4.014/lib/Sereal/Encoder/Constants.pm
new/Sereal-Encoder-4.017/lib/Sereal/Encoder/Constants.pm
--- old/Sereal-Encoder-4.014/lib/Sereal/Encoder/Constants.pm 2020-06-11
18:36:38.000000000 +0200
+++ new/Sereal-Encoder-4.017/lib/Sereal/Encoder/Constants.pm 2020-07-09
20:18:52.000000000 +0200
@@ -4,7 +4,7 @@
require Exporter;
our @ISA= qw(Exporter);
-our $VERSION= '4.014'; # Don't forget to update the TestCompat set for testing
against installed encoders!
+our $VERSION= '4.017'; # Don't forget to update the TestCompat set for testing
against installed encoders!
our ( @EXPORT_OK, %DEFINE, %TAG_INFO_HASH, @TAG_INFO_ARRAY );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Sereal-Encoder-4.014/lib/Sereal/Encoder.pm
new/Sereal-Encoder-4.017/lib/Sereal/Encoder.pm
--- old/Sereal-Encoder-4.014/lib/Sereal/Encoder.pm 2020-06-11
18:36:38.000000000 +0200
+++ new/Sereal-Encoder-4.017/lib/Sereal/Encoder.pm 2020-07-09
20:18:52.000000000 +0200
@@ -5,7 +5,7 @@
use Carp qw/croak/;
use XSLoader;
-our $VERSION= '4.014'; # Don't forget to update the TestCompat set for testing
against installed decoders!
+our $VERSION= '4.017'; # Don't forget to update the TestCompat set for testing
against installed decoders!
our $XS_VERSION= $VERSION; $VERSION= eval $VERSION;
# not for public consumption, just for testing.
@@ -537,7 +537,7 @@
This mechanism is enabled using the C<freeze_callbacks> option of the encoder.
It is inspired by the equivalent mechanism in L<CBOR::XS> and differs only
in one minor detail, explained below. The general mechanism is documented
-in the I<A GENERIC OBJECT SERIALIATION PROTOCOL> section of
L<Types::Serializer>.
+in the I<A GENERIC OBJECT SERIALIATION PROTOCOL> section of
L<Types::Serialiser>.
Similar to CBOR using C<CBOR>, Sereal uses the string C<Sereal> as a serializer
identifier for the callbacks.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Sereal-Encoder-4.014/srl_reader_decompress.h
new/Sereal-Encoder-4.017/srl_reader_decompress.h
--- old/Sereal-Encoder-4.014/srl_reader_decompress.h 2017-11-12
21:16:47.000000000 +0100
+++ new/Sereal-Encoder-4.017/srl_reader_decompress.h 2020-07-07
18:42:11.000000000 +0200
@@ -48,15 +48,43 @@
SRL_STATIC_INLINE SV *
srl_realloc_empty_buffer(pTHX_ srl_reader_buffer_t *buf,
const STRLEN header_len,
- const STRLEN body_len)
+ const STRLEN body_len,
+ const STRLEN compressed_len,
+ char *compression_type,
+ size_t max_uncompressed_size)
{
SV *b_sv;
srl_reader_char_ptr b;
+ /* Sereal::Merger & Sereal::Path::Iterator do not have this option yet */
+ if ((max_uncompressed_size != 0) && (body_len > max_uncompressed_size))
+ croak("The expected uncompressed size is larger than the allowed
maximum size");
+
/* Let perl clean this up. Yes, it's not the most efficient thing
* ever, but it's just one mortal per full decompression, so not
* a bottle-neck. */
- b_sv = sv_2mortal( newSV(header_len + body_len + 1 ));
+ if (0) {
+ b_sv = sv_2mortal( newSV(header_len + body_len + 1 ));
+ } else {
+ STRLEN total_requested= header_len + body_len + 1;
+ char *tmp_buf;
+
+ if (total_requested < body_len)
+ croak("Decompressed buffer is impossibly large. Refusing to
decode.");
+
+ tmp_buf= Perl_malloc(total_requested); /* perl well defined malloc
wrapper */
+
+ if (!tmp_buf)
+ croak("Insufficient memory to '%s' decompress. Size
compressed=%"UVuf" uncompressed=%"UVuf,
+ compression_type, compressed_len, total_requested );
+
+ b_sv= sv_newmortal();
+ sv_upgrade(b_sv,SVt_PV);
+ SvPVX(b_sv)= tmp_buf;
+ SvPOK_on(b_sv);
+ SvCUR(b_sv)= header_len + body_len;
+ SvLEN(b_sv)= total_requested;
+ }
b = (srl_reader_char_ptr) SvPVX(b_sv);
buf->start = b;
@@ -75,7 +103,7 @@
* The caller *MUST* call SRL_RDR_UPDATE_BODY_POS right after existing from
this function. */
SRL_STATIC_INLINE UV
-srl_decompress_body_snappy(pTHX_ srl_reader_buffer_t *buf, U8 encoding_flags,
SV** buf_owner)
+srl_decompress_body_snappy(pTHX_ srl_reader_buffer_t *buf, U8 encoding_flags,
SV** buf_owner, size_t max_uncompressed_size)
{
SV *buf_sv;
int header_len;
@@ -101,7 +129,8 @@
SRL_RDR_ERROR(buf, "Invalid Snappy header in Snappy-compressed Sereal
packet");
/* Allocate output buffer and swap it into place within the bufoder. */
- buf_sv = srl_realloc_empty_buffer(aTHX_ buf, sereal_header_len, dest_len);
+ buf_sv = srl_realloc_empty_buffer(aTHX_ buf, sereal_header_len,
(STRLEN)dest_len,
+ compressed_packet_len, "Snappy", max_uncompressed_size);
if (buf_owner) *buf_owner = buf_sv;
decompress_ok = csnappy_decompress_noheader((char *)(old_pos + header_len),
@@ -125,7 +154,7 @@
* The caller *MUST* call SRL_RDR_UPDATE_BODY_POS right after existing from
this function. */
SRL_STATIC_INLINE UV
-srl_decompress_body_zlib(pTHX_ srl_reader_buffer_t *buf, SV** buf_owner)
+srl_decompress_body_zlib(pTHX_ srl_reader_buffer_t *buf, SV** buf_owner,
size_t max_uncompressed_size)
{
SV *buf_sv;
mz_ulong tmp;
@@ -144,7 +173,8 @@
bytes_consumed = compressed_packet_len + SRL_RDR_POS_OFS(buf);
/* Allocate output buffer and swap it into place within the decoder. */
- buf_sv = srl_realloc_empty_buffer(aTHX_ buf, sereal_header_len,
uncompressed_packet_len);
+ buf_sv = srl_realloc_empty_buffer(aTHX_ buf, sereal_header_len,
uncompressed_packet_len,
+ compressed_packet_len, "ZLIB", max_uncompressed_size);
if (buf_owner) *buf_owner = buf_sv;
tmp = uncompressed_packet_len;
@@ -166,7 +196,7 @@
* SRL_RDR_UPDATE_BODY_POS right after existing from this function. */
SRL_STATIC_INLINE UV
-srl_decompress_body_zstd(pTHX_ srl_reader_buffer_t *buf, SV** buf_owner)
+srl_decompress_body_zstd(pTHX_ srl_reader_buffer_t *buf, SV** buf_owner,
size_t max_uncompressed_size)
{
SV *buf_sv;
UV bytes_consumed;
@@ -187,7 +217,8 @@
SRL_RDR_ERROR(buf, "Invalid zstd packet with unknown uncompressed
size");
/* Allocate output buffer and swap it into place within the decoder. */
- buf_sv = srl_realloc_empty_buffer(aTHX_ buf, sereal_header_len, (STRLEN)
uncompressed_packet_len);
+ buf_sv = srl_realloc_empty_buffer(aTHX_ buf, sereal_header_len, (STRLEN)
uncompressed_packet_len,
+ compressed_packet_len, "zstd", max_uncompressed_size);
if (buf_owner) *buf_owner = buf_sv;
decompress_code = ZSTD_decompress((void *)buf->pos, (size_t)
uncompressed_packet_len,