Commit Graph

47 Commits

Author SHA1 Message Date
Eric Haszlakiewicz
3c94cdd1af Bump the version numbers for the 0.12 release. 2014-04-10 22:03:03 -04:00
Michael Clark
64e36901a0 Patch to address the following issues:
* CVE-2013-6371: hash collision denial of service
* CVE-2013-6370: buffer overflow if size_t is larger than int
2014-04-09 13:48:21 +08:00
Eric Haszlakiewicz
b821f0e10f Merge branch 'ebassi-master' 2014-02-11 23:06:19 -05:00
Eric Haszlakiewicz
c8e0497d47 Merge branch 'master' of https://github.com/ebassi/json-c into ebassi-master
Conflicts:
	Makefile.am
2014-02-11 23:05:54 -05:00
Eric Haszlakiewicz
295bea21d0 Ignore and cleanup a few more files that automake creates. 2014-02-11 23:03:46 -05:00
Eric Haszlakiewicz
c8ee919642 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. 2014-02-11 22:49:59 -05:00
Emmanuele Bassi
311686f63e Add a check for the -Bsymbolic-functions linker flag
The -Bsymbolic-functions linker flag reduces the amount of PLT jumps in
a shared object, and has a side effect of preventing symbol collisions
in libraries and applications linking against two different shared
objects exposing the same symbol.

While the former is (generally) a performance win, the latter is less
rare than expected. For instance, PulseAudio started linking against
json-c a while ago; now, every project linking against PulseAudio is
leaking json-c symbols. In the GNOME platform, this means that projects
linking against PulseAudio cannot be safely linked against other
libraries depending on the GLib-based JSON parsing libraries JSON-GLib,
because of a symbol conflict. Nominally, this conflict would not be an
issue: libraries and applications do not need to depend on two different
JSON parsing libraries; the symbol leakage, though, ends up causing
either segmentation faults, or weird errors. For further reference,
please see: https://bugzilla.gnome.org/show_bug.cgi?id=703734

JSON-GLib already switched to using -Bsymbolic-functions, but it would
be safe if json-c did the same, wherever the linker flag is available.
2013-09-17 13:08:14 +01:00
Eric Haszlakiewicz
be002fbb96 Issue#84: explicitly remove old headers and include/json directory so creating the compat symlink can work. 2013-06-29 15:21:04 -05:00
Eric Haszlakiewicz
fcc768e667 Bump the version up to 0.10.99 to make it clear that the master branch is beyond anything on the 0.10 branch. 2012-12-23 11:09:20 -06:00
Eric Haszlakiewicz
1461b49385 Add a json_c_version.h header (included from json.h), and several macros and functions for retrieving the json-c version at compile-time and run-time. 2012-12-23 10:57:44 -06:00
Alexander Klauer
024d86c07f Prepend DESTDIR to paths for staged installs 2012-12-19 13:16:38 +01:00
Alexander Klauer
a3a0f5b28d Need to explicitly remove include/json-c directory 2012-12-18 18:45:39 +01:00
Alexander Klauer
b670f6f992 -d test is useless as symlinks are dereferenced 2012-12-18 18:44:52 +01:00
Eric Haszlakiewicz
7a4506d6df Remove configure as part of maintainer-clean instead of distclean. Addresses issue #48. 2012-12-09 15:46:35 -06:00
Eric Haszlakiewicz
23461c75dd Include json_object_iterator.c in the list of sources. 2012-11-29 13:23:06 -06:00
Eric Haszlakiewicz
2f2180b70d Take a guess as to the rename changes changes needed to the Android part of the build.
I think this should work, but I can't test it.
2012-07-29 18:29:38 -05:00
Eric Haszlakiewicz
1f9d199522 Re-add the "json" pkg-config file as a compatibility shim.
Also rename the json-c-uninstalled.pc file.
2012-07-29 18:25:09 -05:00
Eric Haszlakiewicz
9f16e25a3e Bump the version of the new library since programs will need to be re-linked to use it. 2012-07-29 18:05:34 -05:00
Eric Haszlakiewicz
943b7a4de7 Add a compatibility symlink json->json-c in the include directory. 2012-07-29 18:05:08 -05:00
Eric Haszlakiewicz
075b783631 Add a --disable-oldname-compat option to configure to turn off the creation of the libjson.so library, and only include libjson-c.so 2012-07-29 17:48:22 -05:00
Eric Haszlakiewicz
b98aa6eaa3 Create an additional libjson.so library that simply links against libjson-c, but emits a warning encouraging the use of the new library. 2012-07-29 14:59:01 -05:00
Eric Haszlakiewicz
c2d3ccf3af Merge branch 'rename_library' of https://github.com/kdopen/json-c into kdopen-rename_library
Conflicts:
	.gitignore
	Makefile.am
	configure.in
	printbuf.c
	test1.c
	test1.expected
2012-07-29 14:06:52 -05:00
Eric Haszlakiewicz
381f77c5bc Merge pull request #26 from ford-prefect/master
Android build system
2012-07-08 19:01:19 -07:00
Eric Haszlakiewicz
4154c55eda Add json_object_iterator.h to installed headers. 2012-07-08 20:38:53 -05:00
Arun Raghavan
a1221eba70 Add an Android-friendly build system
This dependson the Androgenizer project, which helps keep autofoo-based build
systems in sync with the Android build.
2012-04-26 13:18:33 +05:30
Eric Haszlakiewicz
c1b8891a13 Move the rest of the tests into the tests subdirectory. 2012-04-22 10:33:41 -05:00
Eric Haszlakiewicz
1e89ba68af Create a tests subdirectory and move one of the test to there. 2012-04-22 10:27:50 -05:00
Keith Derrick
30dd367c0a Modify install names for library and include files
Changing root name of library to json-c, and also the
directory where header files are installed to .../jsdon-c/*.

This avoids clashes with other implementations of JSON libraries.
2012-04-05 19:38:02 -07:00
Eric Haszlakiewicz
a7bd85caba Remove a few more things in the distclean target to get rid of *all* generated files. 2012-04-02 07:53:25 -07:00
Eric Haszlakiewicz
30c6c4a1be Split the json_tokener_parse tests off from test1 into their own test and add several more cases to check various incremental parsing situations. 2012-04-02 07:53:25 -07:00
Eric Haszlakiewicz
fbd207bd6b Remove a few more things in the distclean target to get rid of *all* generated files. 2012-03-31 23:17:00 -05:00
Eric Haszlakiewicz
c5c623a546 Split the json_tokener_parse tests off from test1 into their own test and add several more cases to check various incremental parsing situations. 2012-03-31 22:51:39 -05:00
Eric Haszlakiewicz
b21b137805 Include json_inttypes.h in json_object.h since we use types like int32_t in the API and some systems need that header to compile.
As part of this create a public json_config.h with a custom define to
decide whether to include inttypes.h to avoid conflicting with other
projects config.h header.
2012-02-15 20:47:11 -06:00
Martin Storsjo
a577ba376f Add -no-undefined to the libtool flags
This allows building DLLs for windows - libtool doesn't even
try to do that unless this flag is specified.
2011-11-25 23:43:25 +02:00
Eric Haszlakiewicz
7a593a0fa7 Bump up the libtool library version to "1:0:1" (aka libjson.0.1.0) since the API has been extended, but is still backwards compatible..
git-svn-id: http://svn.metaparadigm.com/svn/json-c/trunk@70 327403b1-1117-474d-bef2-5cb71233fd97
2011-05-03 21:12:17 +00:00
Eric Haszlakiewicz
41e67d0f6f Add a test_cast test case. This checks that the casting that is implied when calling the various json_object_get_FOO() functions on a differently typed object works correctly.
git-svn-id: http://svn.metaparadigm.com/svn/json-c/trunk@68 327403b1-1117-474d-bef2-5cb71233fd97
2011-05-03 20:42:25 +00:00
Jehiah Czebotar
ac601b5b5f update json_object_new_string_len, json_escape_str (internal). Writer handles \x00 correctly
Added parse_null test. This does not change anything with how the parser handles \u0000 or null characters

This commit is addapted from one by Adomas Paltanavičius <adomas@leanholding.com>



git-svn-id: http://svn.metaparadigm.com/svn/json-c/trunk@63 327403b1-1117-474d-bef2-5cb71233fd97
2011-01-14 17:23:06 +00:00
Michael Clark
c4dceae1c5 * Add int64 support. Two new functions json_object_net_int64 and
json_object_get_int64. Binary compatibility preserved.
    Eric Haszlakiewicz, EHASZLA at transunion com
    Rui Miguel Silva Seabra, rms at 1407 dot org



git-svn-id: http://svn.metaparadigm.com/svn/json-c/trunk@56 327403b1-1117-474d-bef2-5cb71233fd97
2010-10-06 16:39:20 +00:00
Brent Miller
126ad95fc4 * Add handling of surrogate pairs
git-svn-id: http://svn.metaparadigm.com/svn/json-c/trunk@53 327403b1-1117-474d-bef2-5cb71233fd97
2009-08-20 06:50:22 +00:00
Michael Clark
51658855fb Add json-c.vcproj to EXTRA_DIST
git-svn-id: http://svn.metaparadigm.com/svn/json-c/trunk@51 327403b1-1117-474d-bef2-5cb71233fd97
2009-08-19 08:31:29 +00:00
Christopher Watford
db92cc02b9 Add README.html, README-WIN32.html and config.h.win32 to EXTRA_DIST in Makefile.am
git-svn-id: http://svn.metaparadigm.com/svn/json-c/trunk@47 327403b1-1117-474d-bef2-5cb71233fd97
2009-07-31 02:59:02 +00:00
Christopher Watford
1363df08d2 Update version to 0.9
git-svn-id: http://svn.metaparadigm.com/svn/json-c/trunk@46 327403b1-1117-474d-bef2-5cb71233fd97
2009-07-31 02:50:48 +00:00
Michael Clark
436aa98d67 update auto generated files
git-svn-id: http://svn.metaparadigm.com/svn/json-c/trunk@26 327403b1-1117-474d-bef2-5cb71233fd97
2009-01-06 22:53:25 +00:00
Michael Clark
80a6007009 changes to make 'make dist' work properly
git-svn-id: http://svn.metaparadigm.com/svn/json-c/trunk@24 327403b1-1117-474d-bef2-5cb71233fd97
2009-01-05 06:55:02 +00:00
Michael Clark
a850f8e29e * Add escaping of backslash to json output
* Add escaping of foward slash on tokenizing and output
  * Changes to internal tokenizer from using recursion to
    using a depth state structure to allow incremental parsing


git-svn-id: http://svn.metaparadigm.com/svn/json-c/trunk@14 327403b1-1117-474d-bef2-5cb71233fd97
2007-03-13 08:26:26 +00:00
Michael Clark
f6a6e486ff * Make headers C++ compatible by change *this to *obj
* Add ifdef C++ extern "C" to headers
  * Use simpler definition of min and max in bits.h
    Larry Lansing, llansing at fuzzynerd dot com

  * Remove automake 1.6 requirement
  * Move autogen commands into autogen.sh. Update README
  * Remove error pointer special case for Windows
  * Change license from LGPL to MIT
    Michael Clark <michael@metaparadigm.com>


git-svn-id: http://svn.metaparadigm.com/svn/json-c/trunk@10 327403b1-1117-474d-bef2-5cb71233fd97
2007-03-13 08:26:23 +00:00
Michael Clark
4504df7117 * printbuf.c - C. Watford (christopher dot watford at gmail dot com)
Added a Win32/Win64 compliant implementation of vasprintf
  * debug.c - C. Watford (christopher dot watford at gmail dot com)
    Removed usage of vsyslog on Win32/Win64 systems, needs to be handled
    by a configure script
  * json_object.c - C. Watford (christopher dot watford at gmail dot com)
    Added scope operator to wrap usage of json_object_object_foreach, this
    needs to be rethought to be more ANSI C friendly
  * json_object.h - C. Watford (christopher dot watford at gmail dot com)
    Added Microsoft C friendly version of json_object_object_foreach
  * json_tokener.c - C. Watford (christopher dot watford at gmail dot com)
    Added a Win32/Win64 compliant implementation of strndup
  * json_util.c - C. Watford (christopher dot watford at gmail dot com)
    Added cast and mask to suffice size_t v. unsigned int conversion
    correctness
  * json_tokener.c - sign reversal issue on error info for nested object parse
    spotted by Johan Bj�rklund (johbjo09 at kth.se)
  * json_object.c - escape " in json_escape_str
  * Change to automake and libtool to build shared and static library
    Michael Clark <michael@metaparadigm.com>


git-svn-id: http://svn.metaparadigm.com/svn/json-c/trunk@4 327403b1-1117-474d-bef2-5cb71233fd97
2007-03-13 08:26:20 +00:00