head 1.21; access; symbols pkgsrc-2023Q4:1.21.0.4 pkgsrc-2023Q4-base:1.21 pkgsrc-2023Q3:1.21.0.2 pkgsrc-2023Q3-base:1.21 pkgsrc-2023Q2:1.20.0.4 pkgsrc-2023Q2-base:1.20 pkgsrc-2023Q1:1.20.0.2 pkgsrc-2023Q1-base:1.20 pkgsrc-2022Q4:1.18.0.6 pkgsrc-2022Q4-base:1.18 pkgsrc-2022Q3:1.18.0.4 pkgsrc-2022Q3-base:1.18 pkgsrc-2022Q2:1.18.0.2 pkgsrc-2022Q2-base:1.18 pkgsrc-2022Q1:1.17.0.12 pkgsrc-2022Q1-base:1.17 pkgsrc-2021Q4:1.17.0.10 pkgsrc-2021Q4-base:1.17 pkgsrc-2021Q3:1.17.0.8 pkgsrc-2021Q3-base:1.17 pkgsrc-2021Q2:1.17.0.6 pkgsrc-2021Q2-base:1.17 pkgsrc-2021Q1:1.17.0.4 pkgsrc-2021Q1-base:1.17 pkgsrc-2020Q4:1.17.0.2 pkgsrc-2020Q4-base:1.17 pkgsrc-2020Q3:1.16.0.4 pkgsrc-2020Q3-base:1.16 pkgsrc-2020Q2:1.16.0.2 pkgsrc-2020Q2-base:1.16 pkgsrc-2020Q1:1.14.0.4 pkgsrc-2020Q1-base:1.14 pkgsrc-2019Q4:1.14.0.6 pkgsrc-2019Q4-base:1.14 pkgsrc-2019Q3:1.14.0.2 pkgsrc-2019Q3-base:1.14 pkgsrc-2019Q2:1.13.0.8 pkgsrc-2019Q2-base:1.13 pkgsrc-2019Q1:1.13.0.6 pkgsrc-2019Q1-base:1.13 pkgsrc-2018Q4:1.13.0.4 pkgsrc-2018Q4-base:1.13 pkgsrc-2018Q3:1.13.0.2 pkgsrc-2018Q3-base:1.13 pkgsrc-2018Q2:1.12.0.2 pkgsrc-2018Q2-base:1.12 pkgsrc-2018Q1:1.11.0.18 pkgsrc-2018Q1-base:1.11 pkgsrc-2017Q4:1.11.0.16 pkgsrc-2017Q4-base:1.11 pkgsrc-2017Q3:1.11.0.14 pkgsrc-2017Q3-base:1.11 pkgsrc-2017Q2:1.11.0.10 pkgsrc-2017Q2-base:1.11 pkgsrc-2017Q1:1.11.0.8 pkgsrc-2017Q1-base:1.11 pkgsrc-2016Q4:1.11.0.6 pkgsrc-2016Q4-base:1.11 pkgsrc-2016Q3:1.11.0.4 pkgsrc-2016Q3-base:1.11 pkgsrc-2016Q2:1.11.0.2 pkgsrc-2016Q2-base:1.11 pkgsrc-2016Q1:1.10.0.14 pkgsrc-2016Q1-base:1.10 pkgsrc-2015Q4:1.10.0.12 pkgsrc-2015Q4-base:1.10 pkgsrc-2015Q3:1.10.0.10 pkgsrc-2015Q3-base:1.10 pkgsrc-2015Q2:1.10.0.8 pkgsrc-2015Q2-base:1.10 pkgsrc-2015Q1:1.10.0.6 pkgsrc-2015Q1-base:1.10 pkgsrc-2014Q4:1.10.0.4 pkgsrc-2014Q4-base:1.10 pkgsrc-2014Q3:1.10.0.2 pkgsrc-2014Q3-base:1.10 pkgsrc-2014Q2:1.9.0.2 pkgsrc-2014Q2-base:1.9 pkgsrc-2014Q1:1.6.0.4 pkgsrc-2014Q1-base:1.6 pkgsrc-2013Q4:1.6.0.2 pkgsrc-2013Q4-base:1.6 pkgsrc-2013Q3:1.2.0.8 pkgsrc-2013Q3-base:1.2 pkgsrc-2013Q2:1.2.0.6 pkgsrc-2013Q2-base:1.2 pkgsrc-2013Q1:1.2.0.4 pkgsrc-2013Q1-base:1.2 pkgsrc-2012Q4:1.2.0.2 pkgsrc-2012Q4-base:1.2; locks; strict; comment @# @; 1.21 date 2023.08.24.09.23.14; author wiz; state Exp; branches; next 1.20; commitid pMkrW52Xz4f6k1CE; 1.20 date 2023.01.24.18.36.34; author wiz; state Exp; branches; next 1.19; commitid ve7xOYU4T11xcPaE; 1.19 date 2023.01.09.18.16.14; author khorben; state Exp; branches; next 1.18; commitid K278R0AWjVpNyT8E; 1.18 date 2022.04.20.20.32.32; author wiz; state Exp; branches; next 1.17; commitid GpK6ZuGGgS4pOYAD; 1.17 date 2020.10.01.09.16.12; author wiz; state Exp; branches; next 1.16; commitid Eb94SXI6qAVogbqC; 1.16 date 2020.05.19.12.24.33; author nia; state Exp; branches; next 1.15; commitid uDnkPcquZP0SBQ8C; 1.15 date 2020.05.19.12.08.31; author nia; state Exp; branches; next 1.14; commitid L4doXOeCcxOayQ8C; 1.14 date 2019.09.24.16.08.29; author kamil; state Exp; branches; next 1.13; commitid GH9Td2LUXcUAwhEB; 1.13 date 2018.08.04.09.53.05; author adam; state Exp; branches; next 1.12; commitid jkUzT5gNeEY5PMMA; 1.12 date 2018.05.14.10.08.00; author jperkin; state Exp; branches; next 1.11; commitid NadFkS4LxnVRxfCA; 1.11 date 2016.06.12.14.37.37; author wiz; state Exp; branches; next 1.10; commitid cJt49C0LPDBuzbaz; 1.10 date 2014.07.17.09.18.27; author obache; state Exp; branches; next 1.9; commitid qLHLlCVIljijaIIx; 1.9 date 2014.05.10.04.09.41; author pho; state Exp; branches 1.9.2.1; next 1.8; commitid hRwKd7TmXsPsEWzx; 1.8 date 2014.04.20.00.26.15; author ryoon; state Exp; branches; next 1.7; commitid Vkm8B7Yqem6E3mxx; 1.7 date 2014.04.20.00.09.04; author ryoon; state Exp; branches; next 1.6; commitid iCtyjbkSFl9YXlxx; 1.6 date 2013.11.29.17.57.07; author wiz; state Exp; branches; next 1.5; commitid wFtxlA4KVwEjrcfx; 1.5 date 2013.11.29.17.45.18; author wiz; state Exp; branches; next 1.4; commitid g8WD0oXA9wy1ncfx; 1.4 date 2013.11.27.11.29.33; author ryoon; state Exp; branches; next 1.3; commitid UB84NaMTPayfmUex; 1.3 date 2013.11.25.11.59.08; author wiz; state Exp; branches; next 1.2; commitid zwSwo33E5zGwAEex; 1.2 date 2012.10.26.20.16.44; author joerg; state Exp; branches; next 1.1; 1.1 date 2012.10.11.15.40.40; author ryoon; state Exp; branches; next ; 1.9.2.1 date 2014.07.17.22.32.01; author tron; state Exp; branches; next ; commitid BKA1Cmb6UCFkzMIx; desc @@ 1.21 log @json-c: update to 0.17. Upstream provides no change summaries. @ text @# $NetBSD: Makefile,v 1.20 2023/01/24 18:36:34 wiz Exp $ DISTNAME= json-c-0.17 CATEGORIES= textproc MASTER_SITES= https://s3.amazonaws.com/json-c_releases/releases/ MAINTAINER= ryoon@@NetBSD.org HOMEPAGE= https://github.com/json-c/json-c/wiki COMMENT= JSON library in C LICENSE= mit CMAKE_ARGS+= -DCMAKE_BUILD_TYPE="Release" CMAKE_ARGS+= -DDISABLE_WERROR=ON PKGCONFIG_OVERRIDE+= json-c.pc.in .include "options.mk" .include "../../devel/cmake/build.mk" .include "../../mk/bsd.pkg.mk" @ 1.20 log @*: convert to cmake/build.mk @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.19 2023/01/09 18:16:14 khorben Exp $ d3 1 a3 1 DISTNAME= json-c-0.16 @ 1.19 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 # $NetBSD: Makefile,v 1.18 2022/04/20 20:32:32 wiz Exp $ a11 2 USE_CMAKE= yes d19 1 @ 1.18 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 # $NetBSD: Makefile,v 1.17 2020/10/01 09:16:12 wiz Exp $ a14 1 CMAKE_ARGS+= -DBUILD_DOCUMENTATION=OFF d19 2 @ 1.17 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 # $NetBSD: Makefile,v 1.16 2020/05/19 12:24:33 nia Exp $ d3 1 a3 1 DISTNAME= json-c-0.15 @ 1.16 log @json-c: Explicitly disable doxygen and werror @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.15 2020/05/19 12:08:31 nia Exp $ d3 1 a3 1 DISTNAME= json-c-0.14 @ 1.15 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 @d1 1 a1 1 # $NetBSD: Makefile,v 1.14 2019/09/24 16:08:29 kamil Exp $ d15 2 @ 1.14 log @json-c: Fix build with clang10svn Drop -Werror due to -Werror,-Wimplicit-int-float-conversion. Issie fixed upstream in: https://github.com/json-c/json-c/commit/d0b87ee87b282e9b91a1af924050e217b0b2ae8b.patch Keep another rm:-Werror for gcc3/4, in order to not change the bahavior once this package will be upgraded. @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.13 2018/08/04 09:53:05 adam Exp $ d3 1 a3 1 DISTNAME= json-c-0.13.1 d12 1 a12 5 USE_LIBTOOL= yes USE_TOOLS+= pkg-config GNU_CONFIGURE= yes PKGCONFIG_OVERRIDE+= json-c.pc.in TEST_TARGET= check d14 1 a14 1 .include "../../mk/compiler.mk" d16 1 a16 10 BUILDLINK_TRANSFORM+= rm:-Werror # -Werror,-Wimplicit-int-float-conversion fixed in https://github.com/json-c/json-c/commit/d0b87ee87b282e9b91a1af924050e217b0b2ae8b.patch # gcc < 4.2 does not have -Wno-error= option. .if !empty(CC_VERSION:Mgcc-3*) || !empty(CC_VERSION:Mgcc-4.[01]*) BUILDLINK_TRANSFORM+= rm:-Werror rm:-Wno-error=deprecated-declarations .endif .if !empty(CC_VERSION:Mgcc-[789].*) CFLAGS+= -Wimplicit-fallthrough=0 .endif @ 1.13 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 # $NetBSD: Makefile,v 1.12 2018/05/14 10:08:00 jperkin Exp $ d20 2 @ 1.12 log @json-c: Disable implicit fallthrough warnings. This package uses them pretty heavily. @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.11 2016/06/12 14:37:37 wiz Exp $ d3 1 a3 1 DISTNAME= json-c-0.12.1 d12 3 a14 6 MAKE_JOBS_SAFE= no GNU_CONFIGURE= yes USE_LIBTOOL= yes USE_TOOLS+= pkg-config d16 1 a16 2 CONFIGURE_ARGS+= --disable-oldname-compat a18 3 .if !empty(PKGSRC_COMPILER:Mclang) CFLAGS+= -Wno-tautological-compare -Wno-unused-value .endif @ 1.11 log @Updated json-c to 0.12.1. 0.12.1 * Minimal changes to address compile issues. @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.10 2014/07/17 09:18:27 obache Exp $ d32 4 @ 1.10 log @Add hack for using gcc builtin atomic function, missing for i386. PR pkg/48990. Bump PKGREVISION. @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.9 2014/05/10 04:09:41 pho Exp $ d3 1 a3 2 DISTNAME= json-c-0.12 PKGREVISION= 2 @ 1.9 log @Fix build errors on GCC < 4.2 @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.8 2014/04/20 00:26:15 ryoon Exp $ d4 1 a4 1 PKGREVISION= 1 @ 1.9.2.1 log @Pullup ticket #4458 - requested by obache textproc/json-c: bug fix patch Revisions pulled up: - textproc/json-c/Makefile 1.10 - textproc/json-c/hacks.mk 1.1 --- Module Name: pkgsrc Committed By: obache Date: Thu Jul 17 09:18:27 UTC 2014 Modified Files: pkgsrc/textproc/json-c: Makefile Added Files: pkgsrc/textproc/json-c: hacks.mk Log Message: Add hack for using gcc builtin atomic function, missing for i386. PR pkg/48990. Bump PKGREVISION. @ text @d1 1 a1 1 # $NetBSD$ d4 1 a4 1 PKGREVISION= 2 @ 1.8 log @Bump PKGREVISION * Fix -Werror build failure * Update ABI version, warned by pkglint @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.7 2014/04/20 00:09:04 ryoon Exp $ d28 5 @ 1.7 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 # $NetBSD: Makefile,v 1.6 2013/11/29 17:57:07 wiz Exp $ d4 1 a22 3 # Workaround for https://github.com/json-c/json-c/pull/132 BUILDLINK_TRANSFORM+= rm:-Werror @ 1.6 log @Remove PKGCONFIG_OVERRIDE for not-to-be-installed file. @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.5 2013/11/29 17:45:18 wiz Exp $ d3 1 a3 2 DISTNAME= json-c-0.11 PKGREVISION= 1 d22 3 @ 1.5 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 # $NetBSD: Makefile,v 1.4 2013/11/27 11:29:33 ryoon Exp $ a18 1 PKGCONFIG_OVERRIDE+= json.pc.in @ 1.4 log @Mark as MAKE_JOBS_SAFE=no, fix build on SmartOS @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.3 2013/11/25 11:59:08 wiz Exp $ d4 1 d22 2 @ 1.3 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 1 # $NetBSD: Makefile,v 1.2 2012/10/26 20:16:44 joerg Exp $ d12 2 @ 1.2 log @Disable two warnings for Clang to unbreak -Werror. @ text @d1 1 a1 2 # $NetBSD: Makefile,v 1.1 2012/10/11 15:40:40 ryoon Exp $ # d3 1 a3 1 DISTNAME= json-c-0.10 d5 1 a5 1 MASTER_SITES= https://github.com/downloads/json-c/json-c/ a11 4 # Force using "curl" for fetching the distribution file. It is only available # over HTTPS and "curl" is the only fetch program which always supports HTTPS. FETCH_USING= curl d17 1 @ 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 @d1 1 a1 1 # $NetBSD$ d23 5 @