pkgsrc-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: pkgsrc/converters/p5-Cpanel-JSON-XS
Module Name: pkgsrc
Committed By: wiz
Date: Sun Oct 18 04:43:45 UTC 2026
Modified Files:
pkgsrc/converters/p5-Cpanel-JSON-XS: Makefile distinfo
Log Message:
p5-Cpanel-JSON-XS: update to 4.80.
4.80 2026-09-?? (rurban)
- Security fixes, reported by Stig Palmquist (CPANSec):
* CVE-2026-110672 decode: free the hash key on "Duplicate keys not
allowed" and on a missing ':' (leak).
* CVE-2026-110673 decode: charge allow_tags "(" nesting against
max_depth (stack overflow).
* CVE-2026-110674 decode: look bare keys up as UTF-8, so the
duplicate check no longer misses or crashes on non-ASCII keys.
* CVE-2026-110675 decode: validate bare hash keys as UTF-8 like
quoted keys (malformed keys).
* CVE-2026-110676 encode: compact allow_bignum Math::BigFloat
values with huge exponents (30MB from 12 bytes).
* CVE-2026-110677 decode: fix the dupkeys_as_arrayref reference
counts (leaked every array).
* CVE-2026-110678 incr_parse: apply max_size to the buffered text
in every context.
* CVE-2026-110680 encode: bound the canonical key snapshot for
growing tied or shared hashes (overflow).
* CVE-2026-110681 new: clone the callbacks and buffer SVs on
ithread clone instead of sharing the parent's pointers.
* CVE-2026-110682 incr_parse: reject a top-level number, true,
false or null unless allow_nonref was set explicitly, as
chunking changes their value. Strings, arrays and objects are
unchanged.
* CVE-2026-110684 encode: release the temporary references when
stringifying overloaded objects (leak).
* CVE-2026-110685 decode_tag: free the tag and its arguments when
THAW dies (leak).
* CVE-2026-110686 decode: keep the filter callbacks alive while
they run (use-after-free when a filter removes itself).
* CVE-2026-110687 canonical: sort byte-string keys as Latin-1.
* CVE-2026-110688 incr_parse: validate UTF-8 only up to the end of
the decoded text (quadratic CPU).
- Add version markers to all module files. (PR #260 demerphq)
- Use utf8n_to_uvchr on Perl 5.32 and later to avoid the deprecated
utf8n_to_uvuni API. (PR #260 demerphq)
- Add schema-based validation for decoded JSON (GH #238):
Cpanel::JSON::XS::Type now provides check_type($data, $schema[,
$found_type]), which validates an already-decoded perl structure
against a type spec built from the existing encoder building
blocks (JSON_TYPE_* / json_type_arrayof / json_type_hashof /
json_type_anyof), plus the new json_type_optional() for hash keys
that may be absent, and short scalar type name sugar ('Str',
'Int', 'Float', 'Bool', 'Null', 'Any', and nullable 'Str?' etc.)
so a schema reads as "just a hash of keys and types", as
requested. Unlike the encoder's hash type spec, a plain hashref
schema is closed: unknown keys and missing required keys are
reported. New $json->decode_and_validate($json_text, $schema)
method decodes and croaks with all mismatches if validation
fails, using decode()'s own type introspection as ground truth to
avoid perl's usual dual-var/stringified-number ambiguity.
- json_type_optional() and the nullable '?' type-name suffixes
('Str?', 'Int?', 'Float?', 'Bool?') give schemas an explicit way
to declare a key/value as optional instead of demanding a
complete type specification for every key. The encoder now also
understands json_type_optional() directly (it unwraps to the
wrapped type, since encode() only ever sees keys that are
actually present): the exact same type spec built for
check_type()/decode_and_validate() can now be handed to encode()
as-is, instead of croaking with "no type was specified for hash
key '...'" for every optional key. Encoding stays strict by
default otherwise: a hash key with no entry at all in the type
spec still croaks (GH #242).
eg/bench_large.pl:
old encode: 20.5–22.9/s decode: 16.2–16.5/s for 4.53
new encode: 21.1–22.5/s decode: 15.7–16.3/s for 4.80
To generate a diff of this commit:
cvs rdiff -u -r1.21 -r1.22 pkgsrc/converters/p5-Cpanel-JSON-XS/Makefile
cvs rdiff -u -r1.13 -r1.14 pkgsrc/converters/p5-Cpanel-JSON-XS/distinfo
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: pkgsrc/converters/p5-Cpanel-JSON-XS/Makefile
diff -u pkgsrc/converters/p5-Cpanel-JSON-XS/Makefile:1.21 pkgsrc/converters/p5-Cpanel-JSON-XS/Makefile:1.22
--- pkgsrc/converters/p5-Cpanel-JSON-XS/Makefile:1.21 Mon Oct 5 07:39:45 2026
+++ pkgsrc/converters/p5-Cpanel-JSON-XS/Makefile Sun Oct 18 04:43:45 2026
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.21 2026/10/05 07:39:45 wiz Exp $
+# $NetBSD: Makefile,v 1.22 2026/10/18 04:43:45 wiz Exp $
-DISTNAME= Cpanel-JSON-XS-4.53
+DISTNAME= Cpanel-JSON-XS-4.80
PKGNAME= p5-${DISTNAME}
CATEGORIES= converters textproc perl5
MASTER_SITES= ${MASTER_SITE_PERL_CPAN:=../../authors/id/R/RU/RURBAN/}
Index: pkgsrc/converters/p5-Cpanel-JSON-XS/distinfo
diff -u pkgsrc/converters/p5-Cpanel-JSON-XS/distinfo:1.13 pkgsrc/converters/p5-Cpanel-JSON-XS/distinfo:1.14
--- pkgsrc/converters/p5-Cpanel-JSON-XS/distinfo:1.13 Mon Oct 5 07:39:45 2026
+++ pkgsrc/converters/p5-Cpanel-JSON-XS/distinfo Sun Oct 18 04:43:45 2026
@@ -1,5 +1,5 @@
-$NetBSD: distinfo,v 1.13 2026/10/05 07:39:45 wiz Exp $
+$NetBSD: distinfo,v 1.14 2026/10/18 04:43:45 wiz Exp $
-BLAKE2s (Cpanel-JSON-XS-4.53.tar.gz) = 58c8e023360121a3cc21486e850cea787b5a02e3ba507e2c061aa4313bdb77cb
-SHA512 (Cpanel-JSON-XS-4.53.tar.gz) = 6b923d9316105b75b5125bbea48f123982971e123d380caa33104f12f7d22482e3fa6824f5bb70820b31a73b131d22c94711d2ceac064f9873f7b40059bbc76e
-Size (Cpanel-JSON-XS-4.53.tar.gz) = 286254 bytes
+BLAKE2s (Cpanel-JSON-XS-4.80.tar.gz) = 3782acdef9ce563249084f2a118fdd4e928408ce776d78809ebe83fbf85e4cee
+SHA512 (Cpanel-JSON-XS-4.80.tar.gz) = 251f0c557f830ef8c08012b61d4fa403992e108a5e7b46fb3c44b05811f6b63282a71faff60c0b7e3a1194399b084e08797019e880f67bf69aa1ba19776c6f30
+Size (Cpanel-JSON-XS-4.80.tar.gz) = 299465 bytes
Home |
Main Index |
Thread Index |
Old Index