Hello community,
here is the log from the commit of package perl-Cpanel-JSON-XS for
openSUSE:Factory checked in at 2020-10-10 00:27:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Cpanel-JSON-XS (Old)
and /work/SRC/openSUSE:Factory/.perl-Cpanel-JSON-XS.new.4249 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Cpanel-JSON-XS"
Sat Oct 10 00:27:57 2020 rev:29 rq:839564 version:4.24
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Cpanel-JSON-XS/perl-Cpanel-JSON-XS.changes
2020-09-07 21:36:18.077407034 +0200
+++
/work/SRC/openSUSE:Factory/.perl-Cpanel-JSON-XS.new.4249/perl-Cpanel-JSON-XS.changes
2020-10-10 00:28:04.417115016 +0200
@@ -1,0 +2,9 @@
+Sun Oct 4 03:07:30 UTC 2020 - Tina Müller <[email protected]>
+
+- updated to 4.24
+ see /usr/share/doc/packages/perl-Cpanel-JSON-XS/Changes
+
+ 4.24 2020-10-02 (rurban)
+ - Fix decode_json(scalar, 0) (GH #171 plicease), check 2nd arg for
true-ness
+
+-------------------------------------------------------------------
Old:
----
Cpanel-JSON-XS-4.23.tar.gz
New:
----
Cpanel-JSON-XS-4.24.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Cpanel-JSON-XS.spec ++++++
--- /var/tmp/diff_new_pack.CdmpBG/_old 2020-10-10 00:28:04.981115295 +0200
+++ /var/tmp/diff_new_pack.CdmpBG/_new 2020-10-10 00:28:04.981115295 +0200
@@ -17,7 +17,7 @@
Name: perl-Cpanel-JSON-XS
-Version: 4.23
+Version: 4.24
Release: 0
%define cpan_name Cpanel-JSON-XS
Summary: CPanel fork of JSON::XS, fast and correct serializing
++++++ Cpanel-JSON-XS-4.23.tar.gz -> Cpanel-JSON-XS-4.24.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Cpanel-JSON-XS-4.23/Changes
new/Cpanel-JSON-XS-4.24/Changes
--- old/Cpanel-JSON-XS-4.23/Changes 2020-09-05 12:19:48.000000000 +0200
+++ new/Cpanel-JSON-XS-4.24/Changes 2020-10-02 11:04:11.000000000 +0200
@@ -2,6 +2,9 @@
TODO: http://stevehanov.ca/blog/index.php?id=104 compression
+4.24 2020-10-02 (rurban)
+ - Fix decode_json(scalar, 0) (GH #171 plicease), check 2nd arg for
true-ness
+
4.23 2020-09-05 (rurban)
- Fixup t/54_stringify change for JSON 2.09 (really use PR #169 madsen)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Cpanel-JSON-XS-4.23/META.json
new/Cpanel-JSON-XS-4.24/META.json
--- old/Cpanel-JSON-XS-4.23/META.json 2020-09-05 12:21:13.000000000 +0200
+++ new/Cpanel-JSON-XS-4.24/META.json 2020-10-02 11:04:51.000000000 +0200
@@ -100,7 +100,7 @@
"url" : "https://github.com/rurban/Cpanel-JSON-XS"
}
},
- "version" : "4.23",
+ "version" : "4.24",
"x_contributors" : [
"Ashley Willis <[email protected]>",
"Chip Salzenberg <[email protected]>",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Cpanel-JSON-XS-4.23/META.yml
new/Cpanel-JSON-XS-4.24/META.yml
--- old/Cpanel-JSON-XS-4.23/META.yml 2020-09-05 12:21:13.000000000 +0200
+++ new/Cpanel-JSON-XS-4.24/META.yml 2020-10-02 11:04:51.000000000 +0200
@@ -48,7 +48,7 @@
bugtracker: https://github.com/rurban/Cpanel-JSON-XS/issues
license: http://dev.perl.org/licenses/
repository: https://github.com/rurban/Cpanel-JSON-XS
-version: '4.23'
+version: '4.24'
x_contributors:
- 'Ashley Willis <[email protected]>'
- 'Chip Salzenberg <[email protected]>'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Cpanel-JSON-XS-4.23/README
new/Cpanel-JSON-XS-4.24/README
--- old/Cpanel-JSON-XS-4.23/README 2020-09-05 12:21:15.000000000 +0200
+++ new/Cpanel-JSON-XS-4.24/README 2020-10-02 11:04:53.000000000 +0200
@@ -219,12 +219,14 @@
3.0116 and JSON::XS did not set allow_nonref but allowed them due to
a bug in the decoder.
- If the new optional $allow_nonref argument is set and not false, the
- allow_nonref option will be set and the function will act is
+ If the new 2nd optional $allow_nonref argument is set and not false,
+ the "allow_nonref" option will be set and the function will act is
described as in the relaxed RFC 7159 allowing all values such as
- objects, arrays, strings, numbers, "null", "true", and "false".
+ objects, arrays, strings, numbers, "null", "true", and "false". See
+ ""OLD" VS. "NEW" JSON (RFC 4627 VS. RFC 7159)" below, why you don't
+ want to do that.
- For the type argument see Cpanel::JSON::XS::Type.
+ For the 3rd optional type argument see Cpanel::JSON::XS::Type.
$is_boolean = Cpanel::JSON::XS::is_bool $scalar
Returns true if the passed scalar represents either "JSON::PP::true"
@@ -941,7 +943,7 @@
value has been chosen to be as large as typical operating systems
allow without crashing.
- See SECURITY CONSIDERATIONS, below, for more info on why this is
+ See "SECURITY CONSIDERATIONS", below, for more info on why this is
useful.
$json = $json->max_size ([$maximum_string_size])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Cpanel-JSON-XS-4.23/SIGNATURE
new/Cpanel-JSON-XS-4.24/SIGNATURE
--- old/Cpanel-JSON-XS-4.23/SIGNATURE 2020-09-05 12:21:15.000000000 +0200
+++ new/Cpanel-JSON-XS-4.24/SIGNATURE 2020-10-02 11:04:53.000000000 +0200
@@ -19,14 +19,14 @@
SHA256 a3c34aba52e269e6cec558ecf9cff393138574189fdff26b183bee9cc2e0434f
.travis.yml
SHA256 c3f2a1a4f66382f796f71a571946722edba53cf3238152b26fd325f4c2f1a20f
.whitesource
SHA256 8de3540a3cd7ecc9a9dcb48975fe852c082fe17d4462f87bb72aa7cc47f083ad COPYING
-SHA256 4e5057348248bac6c0a4f29eab92e2ce63c228dc229ef0c35c8550a534e6a1f1 Changes
+SHA256 0615a751bdb3a0875b26604e942b4f2a24209fb6820059d38921ba60c7da2fb8 Changes
SHA256 9a862bfa951e3d5b43c2dcb95767dbf15ed2ee3af872442d3815795757533f29
MANIFEST
-SHA256 593685588fe224f1df2ce1062825982d9786d97eed92ca447641a25836f0d39c
META.json
-SHA256 e9434dc9669e91865afbf312657920c3a240b79b31ee020d72d8f607d1192154
META.yml
+SHA256 05005192b34694b6ad27af08de1c69ca9489071f27592a133d4e4f2180fbe570
META.json
+SHA256 50797299bf9d8a81f5657cb44e30872cc8e0aa8bd737b770a8355a12c94197db
META.yml
SHA256 f8861d5bea7bea9bac7300674a110b607c82db7bb1e7ae789ceb6a6ab706b5bc
Makefile.PL
-SHA256 74fe9f05007d22e78f8dae1e9ef9fc62a7be2c971e48109969e2a22951d981cc README
-SHA256 952aea9cc4f36abdc72d63c5102cafcea12b2a9e6c89e771452036a5ca24beae XS.pm
-SHA256 e31b12aee05f540c9e0f10f7cacfd51d9972328b8c72b6d2b9b4a4fd8bcaf895 XS.xs
+SHA256 8f148ef8274dedead04152016f433003da991dbdfb1b12dac84674b4845e2d8e README
+SHA256 4bc803bdb3163e46777aaee57e58be23ff86d4b1eac256b693cbd6bc6a89c6b1 XS.pm
+SHA256 3f9d85c820e913ec997eeefc94b78fa6d337e030c7b0246381a1484eec04465d XS.xs
SHA256 c95e4b970183cbd6d1ec9c88c37a80f12bd2b66ed6be3c008ffd578d2f622c01
XS/Boolean.pm
SHA256 20596259e7e399ed1984a469a9a907be878499406d5285a11f1ab98f93aff44f
XS/Type.pm
SHA256 2f34a530b7ce981b0df9aacd2b6944ccf74c4a7f8bb49fde57b342663e7feb26
bin/cpanel_json_xs
@@ -47,7 +47,7 @@
SHA256 e8bf435b08bfd00e6ab7f278c6ce68ef8691011b80615fa372961f2d807f5c76
t/105_esc_slash.t
SHA256 11a3b561ac5904abc84fee0003b9fb40425c29ae8eea7a69bc945e5b565af116
t/106_allow_barekey.t
SHA256 e267f630d9dd7001eb03a620d34782cd15f74548869971a37980293b137824f9
t/107_allow_singlequote.t
-SHA256 0eb36b085e7a64ee8100f75b7d85f8cb4f1fa918ab02d41dcd15713b2958eb1c
t/108_decode.t
+SHA256 f2047975a3b8392feb6a87d782ecc7746ae2117bde57f716cc90877c8850f2e0
t/108_decode.t
SHA256 e6f7738431bc8d77ad0b8ad2db9ab54426f7bbc86eb5f5794b1a4616f454baef
t/109_encode.t
SHA256 d6c467d647ab46c64734d6c6913ff262e854e00073a804da186caf894c5367d0
t/10_pc_keysort.t
SHA256 256e0dcaae188387bc0db211dd3b713576d73c01d95c5429417ed9c622640b4d
t/110_bignum.t
@@ -445,12 +445,12 @@
SHA256 aca6f846869ab2e4881e807739086e1535b1438bd0e23d7a021360742736a6a9
xt/pod.t
-----BEGIN PGP SIGNATURE-----
-iQEzBAEBAwAdFiEEKJWogdNCcPq/6PdHtPYzOeZdZBQFAl9TZpoACgkQtPYzOeZd
-ZBRoJQf/cSx2QCIINaCO6Kccov4/lMmuHrlThI/q9DgRVOin+0YEMWtZMC3+Gsom
-HLNiAe46dqGYeWfiBgoAnVw8or5FfEo8L9grbWAPPMUPIhBkSbu6tLStZ1bMEAy6
-8Ot3d25mtBsCateiUSH8KIs8yTniDXyhGCQV4SsKZNlWZNRlZB+/pFlRS0qreKqT
-pFAlxi8hLh/hZA9bpA044OtBoeltx6F2b8j/Q/2ooGkv+mK1Ao9vsnG5bFqH++71
-j/wTirTdhWJOtxMfeTxeMpkQ27xTzy5rnNovyIsn97cVltfrI7oQyVn42qaN2VHL
-8FPPW+TmM8uQrWLlg/V9buWau9eqIA==
-=k5+d
+iQEzBAEBAwAdFiEEKJWogdNCcPq/6PdHtPYzOeZdZBQFAl927TQACgkQtPYzOeZd
+ZBTiewf8Dxo5JeRRuB8AAR6yVIEk7Y9YvRHzGbRMrBD0JhFSnABxwLLBgo0ZJLYC
+ktrA3gMqSTzmsah01H/j2ZnzZD/oAQar77JQFBF5Fci51Hhy7MLalKF5XpSphqFQ
+mkggKlK/bOYjFOlwvc1hzjly/3fU3u8VpKRzjmO6kp7huQB9O8RmG3VJ2BwCQoVT
+YHf4UJ7V+MyipumwtuM/4RTdOpiPqDba0bf+dNw4ZBj17mdkB3YyZnEcF1seEcIl
+MsCL2ksjbe8B/6ybdVP4spCtvlYozubt8lszPMNIa/v3sZ/kTwVRJQqg0nvQ6rCL
+/CkM+JU9fsAaZIakSeBSBNJAvN+GTw==
+=nU3V
-----END PGP SIGNATURE-----
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Cpanel-JSON-XS-4.23/XS.pm
new/Cpanel-JSON-XS-4.24/XS.pm
--- old/Cpanel-JSON-XS-4.23/XS.pm 2020-09-05 12:19:48.000000000 +0200
+++ new/Cpanel-JSON-XS-4.24/XS.pm 2020-10-02 11:04:11.000000000 +0200
@@ -1,5 +1,5 @@
package Cpanel::JSON::XS;
-our $VERSION = '4.23';
+our $VERSION = '4.24';
our $XS_VERSION = $VERSION;
# $VERSION = eval $VERSION;
@@ -267,12 +267,14 @@
3.0116 and JSON::XS did not set allow_nonref but allowed them due to a
bug in the decoder.
-If the new optional $allow_nonref argument is set and not false, the
-allow_nonref option will be set and the function will act is described
+If the new 2nd optional $allow_nonref argument is set and not false, the
+C<allow_nonref> option will be set and the function will act is described
as in the relaxed RFC 7159 allowing all values such as objects,
arrays, strings, numbers, "null", "true", and "false".
+See L</"OLD" VS. "NEW" JSON (RFC 4627 VS. RFC 7159)> below, why you don't
+want to do that.
-For the type argument see L<Cpanel::JSON::XS::Type>.
+For the 3rd optional type argument see L<Cpanel::JSON::XS::Type>.
=item $is_boolean = Cpanel::JSON::XS::is_bool $scalar
@@ -1071,7 +1073,7 @@
been chosen to be as large as typical operating systems allow without
crashing.
-See SECURITY CONSIDERATIONS, below, for more info on why this is useful.
+See L</SECURITY CONSIDERATIONS>, below, for more info on why this is useful.
=item $json = $json->max_size ([$maximum_string_size])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Cpanel-JSON-XS-4.23/XS.xs
new/Cpanel-JSON-XS-4.24/XS.xs
--- old/Cpanel-JSON-XS-4.23/XS.xs 2020-08-13 12:49:05.000000000 +0200
+++ new/Cpanel-JSON-XS-4.24/XS.xs 2020-10-02 11:04:11.000000000 +0200
@@ -516,6 +516,17 @@
/* Since perl 5.14 we can disallow illegal unicode above U+10FFFF.
Before we could only warn with warnings 'utf8'.
We accept only valid unicode, unless we are in the relaxed mode. */
+/*
+ perl 5.32 deprecated utf8n_to_uvuni accepting illegal unicode, so relaxed
does not
+ allow such illegal unicode anymore, rather throws a warning in the 'utf8'
category.
+ Still looking for a way to get the old correct behavior. */
+/*
+#if PERL_VERSION > 31
+ UV c = utf8_to_uvchr_buf (s, &s[len+1], clen);
+ / * UV c = valid_utf8_to_uvchr (s, clen); * /
+ PERL_UNUSED_ARG(relaxed);
+#elif PERL_VERSION > 12
+*/
#if PERL_VERSION > 12
UV c = utf8n_to_uvuni (s, len, clen,
UTF8_CHECK_ONLY | (relaxed ? 0 :
UTF8_DISALLOW_SUPER));
@@ -4958,10 +4969,10 @@
PROTOTYPES: ENABLE
void encode_json (SV *scalar, SV *typesv = &PL_sv_undef)
- ALIAS:
+ ALIAS:
_to_json = 0
encode_json = F_UTF8
- PPCODE:
+ PPCODE:
{
JSON json;
json_init (&json);
@@ -4971,15 +4982,15 @@
}
void decode_json (SV *jsonstr, SV *allow_nonref = NULL, SV *typesv = NULL)
- ALIAS:
+ ALIAS:
_from_json = 0
decode_json = F_UTF8
- PPCODE:
+ PPCODE:
{
JSON json;
json_init (&json);
json.flags |= ix;
- if (ix && allow_nonref)
+ if (ix && SvTRUE (allow_nonref))
json.flags |= F_ALLOW_NONREF;
PUTBACK; jsonstr = decode_json (aTHX_ jsonstr, &json, 0, typesv);
SPAGAIN;
XPUSHs (jsonstr);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Cpanel-JSON-XS-4.23/t/108_decode.t
new/Cpanel-JSON-XS-4.24/t/108_decode.t
--- old/Cpanel-JSON-XS-4.23/t/108_decode.t 2015-12-02 17:24:12.000000000
+0100
+++ new/Cpanel-JSON-XS-4.24/t/108_decode.t 2020-10-02 11:04:11.000000000
+0200
@@ -2,7 +2,7 @@
# decode on Perl 5.005, 5.6, 5.8 or later
#
use strict;
-use Test::More tests => 8;
+use Test::More tests => 11;
use Cpanel::JSON::XS;
use lib qw(t);
@@ -47,3 +47,8 @@
close $fh;
};
+$decode = eval { decode_json("true", 0) };
+like($@, qr/^JSON text must be an object or array/, 'treat decode_json 0 as
not allow_nonref');
+$decode = eval { decode_json("true", 1) };
+ok(!$@, "treat decode_json 1 as allow_nonref");
+is($decode, 1, "decode true as 1");