head 1.10; access; symbols pkgsrc-2023Q4:1.10.0.4 pkgsrc-2023Q4-base:1.10 pkgsrc-2023Q3:1.10.0.2 pkgsrc-2023Q3-base:1.10 pkgsrc-2023Q2:1.9.0.4 pkgsrc-2023Q2-base:1.9 pkgsrc-2023Q1:1.9.0.2 pkgsrc-2023Q1-base:1.9 pkgsrc-2022Q4:1.8.0.6 pkgsrc-2022Q4-base:1.8 pkgsrc-2022Q3:1.8.0.4 pkgsrc-2022Q3-base:1.8 pkgsrc-2022Q2:1.8.0.2 pkgsrc-2022Q2-base:1.8 pkgsrc-2022Q1:1.7.0.12 pkgsrc-2022Q1-base:1.7 pkgsrc-2021Q4:1.7.0.10 pkgsrc-2021Q4-base:1.7 pkgsrc-2021Q3:1.7.0.8 pkgsrc-2021Q3-base:1.7 pkgsrc-2021Q2:1.7.0.6 pkgsrc-2021Q2-base:1.7 pkgsrc-2021Q1:1.7.0.4 pkgsrc-2021Q1-base:1.7 pkgsrc-2020Q4:1.7.0.2 pkgsrc-2020Q4-base:1.7 pkgsrc-2020Q3:1.6.0.4 pkgsrc-2020Q3-base:1.6 pkgsrc-2020Q2:1.6.0.2 pkgsrc-2020Q2-base:1.6 pkgsrc-2020Q1:1.5.0.12 pkgsrc-2020Q1-base:1.5 pkgsrc-2019Q4:1.5.0.14 pkgsrc-2019Q4-base:1.5 pkgsrc-2019Q3:1.5.0.10 pkgsrc-2019Q3-base:1.5 pkgsrc-2019Q2:1.5.0.8 pkgsrc-2019Q2-base:1.5 pkgsrc-2019Q1:1.5.0.6 pkgsrc-2019Q1-base:1.5 pkgsrc-2018Q4:1.5.0.4 pkgsrc-2018Q4-base:1.5 pkgsrc-2018Q3:1.5.0.2 pkgsrc-2018Q3-base:1.5 pkgsrc-2018Q2:1.4.0.36 pkgsrc-2018Q2-base:1.4 pkgsrc-2018Q1:1.4.0.34 pkgsrc-2018Q1-base:1.4 pkgsrc-2017Q4:1.4.0.32 pkgsrc-2017Q4-base:1.4 pkgsrc-2017Q3:1.4.0.30 pkgsrc-2017Q3-base:1.4 pkgsrc-2017Q2:1.4.0.26 pkgsrc-2017Q2-base:1.4 pkgsrc-2017Q1:1.4.0.24 pkgsrc-2017Q1-base:1.4 pkgsrc-2016Q4:1.4.0.22 pkgsrc-2016Q4-base:1.4 pkgsrc-2016Q3:1.4.0.20 pkgsrc-2016Q3-base:1.4 pkgsrc-2016Q2:1.4.0.18 pkgsrc-2016Q2-base:1.4 pkgsrc-2016Q1:1.4.0.16 pkgsrc-2016Q1-base:1.4 pkgsrc-2015Q4:1.4.0.14 pkgsrc-2015Q4-base:1.4 pkgsrc-2015Q3:1.4.0.12 pkgsrc-2015Q3-base:1.4 pkgsrc-2015Q2:1.4.0.10 pkgsrc-2015Q2-base:1.4 pkgsrc-2015Q1:1.4.0.8 pkgsrc-2015Q1-base:1.4 pkgsrc-2014Q4:1.4.0.6 pkgsrc-2014Q4-base:1.4 pkgsrc-2014Q3:1.4.0.4 pkgsrc-2014Q3-base:1.4 pkgsrc-2014Q2:1.4.0.2 pkgsrc-2014Q2-base:1.4 pkgsrc-2014Q1:1.3.0.4 pkgsrc-2014Q1-base:1.3 pkgsrc-2013Q4:1.3.0.2 pkgsrc-2013Q4-base:1.3 pkgsrc-2013Q3:1.1.0.8 pkgsrc-2013Q3-base:1.1 pkgsrc-2013Q2:1.1.0.6 pkgsrc-2013Q2-base:1.1 pkgsrc-2013Q1:1.1.0.4 pkgsrc-2013Q1-base:1.1 pkgsrc-2012Q4:1.1.0.2 pkgsrc-2012Q4-base:1.1; locks; strict; comment @# @; 1.10 date 2023.08.24.09.23.14; author wiz; state Exp; branches; next 1.9; commitid pMkrW52Xz4f6k1CE; 1.9 date 2023.01.09.18.16.14; author khorben; state Exp; branches; next 1.8; commitid K278R0AWjVpNyT8E; 1.8 date 2022.04.20.20.32.32; author wiz; state Exp; branches; next 1.7; commitid GpK6ZuGGgS4pOYAD; 1.7 date 2020.10.01.09.16.12; author wiz; state Exp; branches; next 1.6; commitid Eb94SXI6qAVogbqC; 1.6 date 2020.05.19.12.08.31; author nia; state Exp; branches; next 1.5; commitid L4doXOeCcxOayQ8C; 1.5 date 2018.08.04.09.53.05; author adam; state Exp; branches; next 1.4; commitid jkUzT5gNeEY5PMMA; 1.4 date 2014.04.20.00.09.04; author ryoon; state Exp; branches; next 1.3; commitid iCtyjbkSFl9YXlxx; 1.3 date 2013.11.29.17.45.18; author wiz; state Exp; branches; next 1.2; commitid g8WD0oXA9wy1ncfx; 1.2 date 2013.11.25.11.59.08; author wiz; state Exp; branches; next 1.1; commitid zwSwo33E5zGwAEex; 1.1 date 2012.10.11.15.40.40; author ryoon; state Exp; branches; next ; desc @@ 1.10 log @json-c: update to 0.17. Upstream provides no change summaries. @ text @@@comment $NetBSD: PLIST,v 1.9 2023/01/09 18:16:14 khorben Exp $ include/json-c/arraylist.h include/json-c/debug.h include/json-c/json.h include/json-c/json_c_version.h include/json-c/json_config.h include/json-c/json_inttypes.h include/json-c/json_object.h include/json-c/json_object_iterator.h include/json-c/json_patch.h include/json-c/json_pointer.h include/json-c/json_tokener.h include/json-c/json_types.h include/json-c/json_util.h include/json-c/json_visit.h include/json-c/linkhash.h include/json-c/printbuf.h lib/cmake/json-c/json-c-config.cmake lib/cmake/json-c/json-c-targets-release.cmake lib/cmake/json-c/json-c-targets.cmake lib/libjson-c.a lib/libjson-c.so lib/libjson-c.so.5 lib/libjson-c.so.5.3.0 lib/pkgconfig/json-c.pc ${PLIST.doc}share/doc/json-c/html/README_8md.html ${PLIST.doc}share/doc/json-c/html/annotated.html ${PLIST.doc}share/doc/json-c/html/arraylist_8h.html ${PLIST.doc}share/doc/json-c/html/bc_s.png ${PLIST.doc}share/doc/json-c/html/bc_sd.png ${PLIST.doc}share/doc/json-c/html/bdwn.png ${PLIST.doc}share/doc/json-c/html/classes.html ${PLIST.doc}share/doc/json-c/html/closed.png ${PLIST.doc}share/doc/json-c/html/deprecated.html ${PLIST.doc}share/doc/json-c/html/dir_b62156a74b5a818be0c2ef9f85294b95.html ${PLIST.doc}share/doc/json-c/html/doc.png ${PLIST.doc}share/doc/json-c/html/docd.png ${PLIST.doc}share/doc/json-c/html/doxygen.css ${PLIST.doc}share/doc/json-c/html/doxygen.png ${PLIST.doc}share/doc/json-c/html/doxygen.svg ${PLIST.doc}share/doc/json-c/html/dynsections.js ${PLIST.doc}share/doc/json-c/html/files.html ${PLIST.doc}share/doc/json-c/html/folderclosed.png ${PLIST.doc}share/doc/json-c/html/folderopen.png ${PLIST.doc}share/doc/json-c/html/ftv2blank.png ${PLIST.doc}share/doc/json-c/html/ftv2cl.png ${PLIST.doc}share/doc/json-c/html/ftv2doc.png ${PLIST.doc}share/doc/json-c/html/ftv2folderclosed.png ${PLIST.doc}share/doc/json-c/html/ftv2folderopen.png ${PLIST.doc}share/doc/json-c/html/ftv2lastnode.png ${PLIST.doc}share/doc/json-c/html/ftv2link.png ${PLIST.doc}share/doc/json-c/html/ftv2mlastnode.png ${PLIST.doc}share/doc/json-c/html/ftv2mnode.png ${PLIST.doc}share/doc/json-c/html/ftv2mo.png ${PLIST.doc}share/doc/json-c/html/ftv2node.png ${PLIST.doc}share/doc/json-c/html/ftv2ns.png ${PLIST.doc}share/doc/json-c/html/ftv2plastnode.png ${PLIST.doc}share/doc/json-c/html/ftv2pnode.png ${PLIST.doc}share/doc/json-c/html/ftv2splitbar.png ${PLIST.doc}share/doc/json-c/html/ftv2vertline.png ${PLIST.doc}share/doc/json-c/html/functions.html ${PLIST.doc}share/doc/json-c/html/functions_vars.html ${PLIST.doc}share/doc/json-c/html/globals.html ${PLIST.doc}share/doc/json-c/html/globals_0x6a.html ${PLIST.doc}share/doc/json-c/html/globals_0x6c.html ${PLIST.doc}share/doc/json-c/html/globals_0x70.html ${PLIST.doc}share/doc/json-c/html/globals_0x73.html ${PLIST.doc}share/doc/json-c/html/globals_defs.html ${PLIST.doc}share/doc/json-c/html/globals_enum.html ${PLIST.doc}share/doc/json-c/html/globals_eval.html ${PLIST.doc}share/doc/json-c/html/globals_func.html ${PLIST.doc}share/doc/json-c/html/globals_j.html ${PLIST.doc}share/doc/json-c/html/globals_l.html ${PLIST.doc}share/doc/json-c/html/globals_p.html ${PLIST.doc}share/doc/json-c/html/globals_s.html ${PLIST.doc}share/doc/json-c/html/globals_type.html ${PLIST.doc}share/doc/json-c/html/globals_vars.html ${PLIST.doc}share/doc/json-c/html/index.html ${PLIST.doc}share/doc/json-c/html/issues__closed__for__0_813_8md.html ${PLIST.doc}share/doc/json-c/html/issues__closed__for__0_814_8md.html ${PLIST.doc}share/doc/json-c/html/issues__closed__for__0_815_8md.html ${PLIST.doc}share/doc/json-c/html/issues__closed__for__0_816_8md.html ${PLIST.doc}share/doc/json-c/html/jquery.js ${PLIST.doc}share/doc/json-c/html/json_8h.html ${PLIST.doc}share/doc/json-c/html/json__c__version_8h.html ${PLIST.doc}share/doc/json-c/html/json__inttypes_8h.html ${PLIST.doc}share/doc/json-c/html/json__object_8h.html ${PLIST.doc}share/doc/json-c/html/json__object__iterator_8h.html ${PLIST.doc}share/doc/json-c/html/json__pointer_8h.html ${PLIST.doc}share/doc/json-c/html/json__tokener_8h.html ${PLIST.doc}share/doc/json-c/html/json__types_8h.html ${PLIST.doc}share/doc/json-c/html/json__util_8h.html ${PLIST.doc}share/doc/json-c/html/json__visit_8h.html ${PLIST.doc}share/doc/json-c/html/linkhash_8h.html ${PLIST.doc}share/doc/json-c/html/md_README.html ${PLIST.doc}share/doc/json-c/html/md_issues_closed_for_0.html ${PLIST.doc}share/doc/json-c/html/md_issues_closed_for_0_13.html ${PLIST.doc}share/doc/json-c/html/md_issues_closed_for_0_14.html ${PLIST.doc}share/doc/json-c/html/md_issues_closed_for_0_15.html ${PLIST.doc}share/doc/json-c/html/md_issues_closed_for_0_16.html ${PLIST.doc}share/doc/json-c/html/menu.js ${PLIST.doc}share/doc/json-c/html/menudata.js ${PLIST.doc}share/doc/json-c/html/nav_f.png ${PLIST.doc}share/doc/json-c/html/nav_fd.png ${PLIST.doc}share/doc/json-c/html/nav_g.png ${PLIST.doc}share/doc/json-c/html/nav_h.png ${PLIST.doc}share/doc/json-c/html/nav_hd.png ${PLIST.doc}share/doc/json-c/html/open.png ${PLIST.doc}share/doc/json-c/html/pages.html ${PLIST.doc}share/doc/json-c/html/printbuf_8h.html ${PLIST.doc}share/doc/json-c/html/splitbar.png ${PLIST.doc}share/doc/json-c/html/splitbard.png ${PLIST.doc}share/doc/json-c/html/structarray__list.html ${PLIST.doc}share/doc/json-c/html/structjson__object__iter.html ${PLIST.doc}share/doc/json-c/html/structjson__object__iterator.html ${PLIST.doc}share/doc/json-c/html/structjson__tokener.html ${PLIST.doc}share/doc/json-c/html/structjson__tokener__srec.html ${PLIST.doc}share/doc/json-c/html/structlh__entry.html ${PLIST.doc}share/doc/json-c/html/structlh__table.html ${PLIST.doc}share/doc/json-c/html/structprintbuf.html ${PLIST.doc}share/doc/json-c/html/sync_off.png ${PLIST.doc}share/doc/json-c/html/sync_on.png ${PLIST.doc}share/doc/json-c/html/tab_a.png ${PLIST.doc}share/doc/json-c/html/tab_ad.png ${PLIST.doc}share/doc/json-c/html/tab_b.png ${PLIST.doc}share/doc/json-c/html/tab_bd.png ${PLIST.doc}share/doc/json-c/html/tab_h.png ${PLIST.doc}share/doc/json-c/html/tab_hd.png ${PLIST.doc}share/doc/json-c/html/tab_s.png ${PLIST.doc}share/doc/json-c/html/tab_sd.png ${PLIST.doc}share/doc/json-c/html/tabs.css @ 1.9 log @json-c: introduce an option to build the documentation The option is left off by default; hence no functional change nor PKGREVISION bump necessary. Tested on NetBSD/amd64. @ text @d1 1 a1 1 @@comment $NetBSD: PLIST,v 1.8 2022/04/20 20:32:32 wiz Exp $ d10 1 d24 1 a24 1 lib/libjson-c.so.5.2.0 @ 1.8 log @json-c: update to 0.16. 0.16 (up to commit 66dcdf5, 2022-04-13) ======================================== Deprecated and removed features: -------------------------------- * JSON_C_OBJECT_KEY_IS_CONSTANT is deprecated in favor of JSON_C_OBJECT_ADD_CONSTANT_KEY * Direct access to lh_table and lh_entry structure members is deprecated. Use access functions instead, lh_table_head(), lh_entry_next(), etc... * Drop REFCOUNT_DEBUG code. New features ------------ * The 0.16 release introduces no new features Build changes ------------- * Add a DISABLE_EXTRA_LIBS option to skip using libbsd * Add a DISABLE_JSON_POINTER option to skip compiling in json_pointer support. Significant changes and bug fixes --------------------------------- * Cap string length at INT_MAX to avoid various issues with very long strings. * json_object_deep_copy: fix deep copy of strings containing '\0' * Fix read past end of buffer in the "json_parse" command * Avoid out of memory accesses in the locally provided vasprintf() function (for those platforms that use it) * Handle allocation failure in json_tokener_new_ex * Fix use-after-free in json_tokener_new_ex() in the event of printbuf_new() returning NULL * printbuf_memset(): set gaps to zero - areas within the print buffer which have not been initialized by using printbuf_memset * printbuf: return -1 on invalid arguments (len < 0 or total buffer > INT_MAX) * sprintbuf(): propagate printbuf_memappend errors back to the caller Optimizations -------------- * Speed up parsing by replacing ctype functions with simplified, faster non-locale-sensitive ones in json_tokener and json_object_to_json_string. * Neither vertical tab nor formfeed are considered whitespace per the JSON spec * json_object: speed up creation of objects, calloc() -> malloc() + set fields * Avoid needless extra strlen() call in json_c_shallow_copy_default() and json_object_equal() when the object is known to be a json_type_string. Other changes ------------- * Validate size arguments in arraylist functions. * Use getrandom() if available; with GRND_NONBLOCK to allow use of json-c very early during boot, such as part of cryptsetup. * Use arc4random() if it's available. * random_seed: on error, continue to next method instead of exiting the process * Close file when unable to read from /dev/urandom in get_dev_random_seed() @ text @d1 1 a1 1 @@comment $NetBSD: PLIST,v 1.7 2020/10/01 09:16:12 wiz Exp $ d25 106 @ 1.7 log @json-c: update to 0.15. Next Release 0.15 ===================== Deprecated and removed features: -------------------------------- * Deprecate `array_list_new()` in favor of `array_list_new2()` * Remove the THIS_FUNCTION_IS_DEPRECATED define. * Remove config.h.win32 New features ------------ * Add a `JSON_TOKENER_ALLOW_TRAILING_CHARS` flag to allow multiple objects to be parsed even when `JSON_TOKENER_STRICT` is set. * Add `json_object_new_array_ext(int)` and `array_list_new_2(int)` to allow arrays to be allocated with the exact size needed, when known. * Add `json_object_array_shrink()` (and `array_list_shrink()`) and use it in json_tokener to minimize the amount of memory used. * Add a json_parse binary, for use in testing changes (not installed, but available in the apps directory). Build changes ------------- * #639/#621 - Add symbol versions to all exported symbols * #508/#634 - Always enable -fPIC to allow use of the json-c static library in other libraries * Build both static and shared libraries at the same time. * #626 - Restore compatibility with cmake 2.8 * #471 - Always create directories with mode 0755, regardless of umask. * #606/#604 - Improve support for OSes like AIX and IBM i, as well as for MINGW32 and old versions of MSVC * #451/#617 - Add a DISABLE_THREAD_LOCAL_STORAGE cmake option to disable the use of thread-local storage. Significant changes and bug fixes --------------------------------- * Split the internal json_object structure into several sub-types, one for each json_type (json_object_object, json_object_string, etc...). This improves memory usage and speed, with the benchmark under bench/ report 5.8% faster test time and 6%(max RSS)-12%(peak heap) less memory usage. Memory used just for json_object structures decreased 27%, so use cases with fewer arrays and/or strings would benefit more. * Minimize memory usage in array handling in json_tokener by shrinking arrays to the exact number of elements parsed. On bench/ benchmark: 9% faster test time, 39%(max RSS)-50%(peak heap) less memory usage. Add json_object_array_shrink() and array_list_shrink() functions. * #616 - Parsing of surrogate pairs in unicode escapes now properly handles incremental parsing. * Fix incremental parsing of numbers, especially those with exponents, e.g. so parsing "[0", "e+", "-]" now properly returns an error. Strict mode now rejects missing exponents ("0e"). * Successfully return number objects at the top level even when they are followed by a "-", "." or "e". This makes parsing things like "123-45" behave consistently with things like "123xyz". Other changes ------------- * #589 - Detect broken RDRAND during initialization; also, fix segfault in the CPUID check. * #592 - Fix integer overflows to prevert out of bounds write on large input. * Protect against division by zero in linkhash, when creaed with zero size. * #602 - Fix json_parse_uint64() internal error checking, leaving the retval untouched in more failure cases. * #614 - Prevent truncation when custom double formatters insert extra \0's @ text @d1 1 a1 1 @@comment $NetBSD$ d23 1 a23 1 lib/libjson-c.so.5.1.0 @ 1.6 log @json-c: Update to 0.14 0.14 (up to commit 9ed00a6, 2020/04/14) ========================================= Deprecated and removed features: -------------------------------- * bits.h has been removed * lh_abort() has been removed * lh_table_lookup() has been removed, use lh_table_lookup_ex() instead. * Remove TRUE and FALSE defines, use 1 and 0 instead. Build changes: -------------- ## Deprecated and removed features: * bits.h has been removed * lh_abort() has been removed * lh_table_lookup() has been removed, use lh_table_lookup_ex() instead. * Remove TRUE and FALSE defines, use 1 and 0 instead. * autoconf support, including autogen.sh, has been removed. See details about cmake, below. * With the addition of json_tokener_get_parse_end(), access to internal fields of json_tokener, as well as use of many other symbols and types in json_tokener.h, is deprecated now. * The use of Android.configure.mk to build for Android no longer works, and it is unknown how (or if) the new cmake-based build machinery can be used. * Reports of success, or pull requests to correct issues are welcome. ## Notable improvements and new features ### Builds and documentation * Build machinery has been switched to CMake. See README.md for details about how to build. * TL;DR: `mkdir build ; cd build ; cmake -DCMAKE_INSTALL_PREFIX=/some/path ../json-c ; make all test install` * To ease the transition, there is a `cmake-configure` wrapper that emulates the old autoconf-based configure script. * This has enabled improvements to the build on Windows system; also all public functions have been fixed to be properly exported. For best results, use Visual Studio 2015 or newer. * The json-c style guide has been updated to specify the use of clang-format, and all code has been reformatted. * Since many lines of code have trivial changes now, when using git blame, be sure to specify -w * Numerous improvements have been made to the documentation including function effects on refcounts, when passing a NULL is safe, and so on. ### json_tokener changes * Added a json_tokener_get_parse_end() function to replace direct access of tok->char_offset. * The char_offset field, and the rest of the json_tokener structure remain exposed for now, but expect a future release to hide it like is done with json_object_private.h * json_tokener_parse_ex() now accepts a new JSON_TOKENER_VALIDATE_UTF8 flag to validate that input is UTF8. * If validation fails, json_tokener_get_error(tok) will return json_tokener_error_parse_utf8_string (see enum json_tokener_error). ### Other changes and additions * Add support for unsigned 64-bit integers, uint64_t, to gain one extra bit of magnitude for positive ints. * json_tokener will now parse values up to UINT64_MAX (18446744073709551615) * Existing methods returning int32_t or int64_t will cap out-of-range values at INT32_MAX or INT64_MAX, preserving existing behavior. * The implementation includes the possibility of easily extending this to larger sizes in the future. * A total of 7 new functions were added: * json_object_get_uint64 ( struct json_object const* jso ) * json_object_new_uint64 ( uint64_t i ) * json_object_set_uint64 ( struct json_object* jso, uint64_t new_value ) * json_parse_uint64 ( char const* buf, uint64_t* retval ) * See description of uint64 support, above. * json_tokener_get_parse_end ( struct json_tokener* tok ) * See details under "json_tokener changes", above. * json_object_from_fd_ex ( int fd, int in_depth ) * Allows the max nesting depth to be specified. * json_object_new_null ( ) * Simply returns NULL. Its use is not recommended. * The size of struct json_object has decreased from 96 bytes to 88 bytes. ### Testing * Many updates were made to test cases, increasing code coverage. * There is now a quick way (JSONC_TEST_TRACE=1) to turn on shell tracing in tests. * To run tests, use `make test`; the old "check" target no longer exists. ## Significant bug fixes For the full list of issues and pull requests since the previous release, please see issues_closed_for_0.14.md * [Issue #389](https://github.com/json-c/json-c/issues/389): Add an assert to explicitly crash when _ref_count is corrupted, instead of a later "double free" error. * [Issue #407](https://github.com/json-c/json-c/issues/407): fix incorrect casts in calls to ctype functions (isdigit and isspace) so we don't crash when asserts are enabled on certain platforms and characters > 128 are parsed. * [Issue #418](https://github.com/json-c/json-c/issues/418): Fix docs for json_util_from_fd and json_util_from_file to say that they return NULL on failures. * [Issue #422](https://github.com/json-c/json-c/issues/422): json_object.c:set errno in json_object_get_double() when called on a json_type_string object with bad content. * [Issue #453](https://github.com/json-c/json-c/issues/453): Fixed misalignment in JSON serialization when JSON_C_TO_STRING_SPACED and JSON_C_TO_STRING_PRETTY are used together. * [Issue #463](https://github.com/json-c/json-c/issues/463): fix newlocale() call to use LC_NUMERIC_MASK instead of LC_NUMERIC, and remove incorrect comment. * [Issue #486](https://github.com/json-c/json-c/issues/486): append a missing ".0" to negative double values to ensure they are serialized as floating point numbers. * [Issue #488](https://github.com/json-c/json-c/issues/488): use JSON_EXPORT on functions so they are properly exported on Windows. * [Issue #539](https://github.com/json-c/json-c/issues/539): use an internal-only serializer function in json_object_new_double_s() to avoid potential conflicts with user code that uses the json_object_userdata_to_json_string serializer. @ text @a2 1 include/json-c/config.h d20 1 d23 1 a23 1 lib/libjson-c.so.5.0.0 @ 1.5 log @json-c: updated to 0.13.1 0.13.1: * Bump the major version of the .so library generated up to 4.0 to avoid conflicts because some downstream packagers of json-c had already done their own bump to ".so.3" for a much older 0.12 release. * Add const size_t json_c_object_sizeof() * Avoid invalid free (and thus a segfault) when ref_count gets < 0 * fix handling of custom double formats that include a ".0" * Avoid uninitialized variable warnings in json_object_object_foreach * Issue 396: fix build for certain uClibc based systems. * Add a top level fuzz directory for fuzzers run by OSS-Fuzz 0.13: This release, being three and a half years after the 0.12 branch (f84d9c), has quite a number of changes included. The following is a sampling of the most significant ones. Since the 0.12 release, 250 issues and pull requests have been closed. See issues_closed_for_0.13.md for a complete list. Deprecated and removed features: -------------------------------- * All internal use of bits.h has been eliminated. The file will be removed. Do not use: hexdigit(), error_ptr(), error_descrition() and it_error() * lh_abort() is deprecated. It will be removed. Behavior changes: ----------------- * Tighten the number parsing algorithm to raise errors instead of truncating the results. For example 12.3.4 or 2015-01-15, which now return null. See commit 99d8fc * Use size_t for array length and size. Platforms where sizeof(size_t) != sizeof(int) may not be backwards compatible See commits 45c56b, 92e9a5 and others. * Check for failue when allocating memory, returning NULL and errno=ENOMEM. See commit 2149a04. * Change json_object_object_add() return type from void to int, and will return -1 on failures, instead of exiting. (Note: this is not an ABI change) New features: ------------- * We're aiming to follow RFC 7159 now. * Add a couple of additional option to json_object_to_json_string_ext: JSON_C_TO_STRING_PRETTY_TAB JSON_C_TO_STRING_NOSLASHESCAPE * Add a json_object_object_add_ex() function to allow for performance improvements when certain constraints are known to be true. * Make serialization format of doubles configurable, in two different ways: Call json_object_set_serializer with json_object_double_to_json_string and a custom format on each double object, or Call json_c_set_serialization_double_format() to set a global or thread-wide format. * Add utility function for comparing json_objects - json_object_equal() * Add a way to copy entire object trees: json_object_deep_copy() * Add json_object_set_ function to modify the value of existing json_object's without the need to recreate them. Also add a json_object_int_inc function to adjust an int's value. * Add support for JSON pointer, RFC 6901. See json_pointer.h * Add a json_util_get_last_err() function to retrieve the string describing the cause of errors, instead of printing to stderr. * Add perllike hash function for strings, and json_global_set_string_hash() 8f8d03d * Add a json_c_visit() function to provide a way to iterate over a tree of json-c objects. Notable bug fixes and other improvements: ----------------------------------------- * Make reference increment and decrement atomic to allow passing json objects between threads. * Fix json_object_object_foreach to avoid uninitialized variable warnings. * Improve performance by removing unneeded data items from hashtable code and reducing duplicate hash computation. * Improve performance by storing small strings inside json_object * Improve performance of json_object_to_json_string by removing variadic printf. commit 9ff0f49 * Issue 371: fix parsing of "-Infinity", and avoid needlessly copying the input when doing so. * Fix stack buffer overflow in json_object_double_to_json_string_format() - commit 2c2deb87 * Fix various potential null ptr deref and int32 overflows * Issue 332: fix a long-standing bug in array_list_put_idx() where it would attempt to free previously free'd entries due to not checking the current array length. * Issue 195: use uselocale() instead of setlocale() in json_tokener to behave better in threaded environments. * Issue 275: fix out of bounds read when handling unicode surrogate pairs. * Ensure doubles that happen to be a whole number are emitted with ".0" - commit ca7a19 * for Visual Studio, use a snprintf/vsnprintf wrapper that ensures the string is terminated. * Fix double to int cast overflow in json_object_get_int64. * Clamp double to int32 when narrowing in json_object_get_int. * Use strtoll() to parse ints - instead of sscanf * Miscellaneous smaller changes, including removing unused variables, fixing warning about uninitialized variables adding const qualifiers, reformatting code, etc... @ text @d1 1 a1 1 @@comment $NetBSD: PLIST,v 1.4 2014/04/20 00:09:04 ryoon Exp $ d3 1 a3 1 include/json-c/bits.h d13 1 d18 6 a23 1 lib/libjson-c.la @ 1.4 log @Update to 0.12 * Security update for CVE-2013-6370 and CVE-2013-6371 * Update API version 0.12 * Address security issues: * CVE-2013-6371: hash collision denial of service * CVE-2013-6370: buffer overflow if size_t is larger than int * Avoid potential overflow in json_object_get_double * Eliminate the mc_abort() function and MC_ABORT macro. * Make the json_tokener_errors array local. It has been deprecated for a while, and json_tokener_error_desc() should be used instead. * change the floating point output format to %.17g so values with more than 6 digits show up in the output. * Remove the old libjson.so name compatibility support. The library is only created as libjson-c.so now and headers are only installed into the ${prefix}/json-c directory. * When supported by the linker, add the -Bsymbolic-functions flag. * Various changes to fix the build on MSVC. * Make strict mode more strict: * number must not start with 0 * no single-quote strings * no comments * trailing char not allowed * only allow lowercase literals * Added a json_object_new_double_s() convenience function to allow an exact string representation of a double to be specified when creating the object and use it in json_tokener_parse_ex() so a re-serialized object more exactly matches the input. * Add support NaN and Infinity @ text @d1 1 a1 1 @@comment $NetBSD$ d11 1 a11 1 include/json-c/json_object_private.h d14 1 a16 1 include/json-c/random_seed.h @ 1.3 log @Disable old name compat. Planned for next release anyway, and might fix problems with relinking some people are seeing. Bump PKGREVISION. Wait with another recursive bump until I know that there's fallout. @ text @d1 1 a1 1 @@comment $NetBSD: PLIST,v 1.2 2013/11/25 11:59:08 wiz Exp $ d16 1 @ 1.2 log @Update to 0.11: 0.11 * IMPORTANT: the name of the library has changed to libjson-c.so and the header files are now in include/json-c. The pkgconfig name has also changed from json to json-c. You should change your build to use appropriate -I and -l options. A compatibility shim is in place so builds using the old name will continue to work, but that will be removed in the next release. * Maximum recursion depth is now a runtime option. json_tokener_new() is provided for compatibility. json_tokener_new_ex(depth) * Include json_object_iterator.h in the installed headers. * Add support for building on Android. * Rewrite json_object_object_add to replace just the value if the key already exists so keys remain valid. * Make it safe to delete keys while iterating with the json_object_object_foreach macro. * Add a json_set_serializer() function to allow the string output of a json_object to be customized. * Make float parsing locale independent. * Add a json_tokener_set_flags() function and a JSON_TOKENER_STRICT flag. * Enable -Werror when building. * speed improvements to parsing 64-bit integers on systems with working sscanf * Add a json_object_object_length function. * Fix a bug (buffer overrun) when expanding arrays to more than 64 entries. @ text @d1 1 a1 2 @@comment $NetBSD$ include/json a16 1 lib/libjson.la a17 1 lib/pkgconfig/json.pc @ 1.1 log @Import json-c-0.10 as textproc/json-c. JSON-C implements a reference counting object model that allows you to easily construct JSON objects in C, output them as JSON formatted strings and parse JSON formatted strings back into the C representation of JSON objects. @ text @d2 16 a17 13 include/json/arraylist.h include/json/bits.h include/json/debug.h include/json/json.h include/json/json_config.h include/json/json_inttypes.h include/json/json_object.h include/json/json_object_iterator.h include/json/json_object_private.h include/json/json_tokener.h include/json/json_util.h include/json/linkhash.h include/json/printbuf.h d19 1 @