aboutsummaryrefslogtreecommitdiff
path: root/configure.ac
AgeCommit message (Collapse)AuthorFilesLines
2020-07-02build: Add a symbol version to all exported symbols for glibcSimon McVittie1-0/+4
The --default-symver linker option attaches a default version definition (the SONAME) to every exported symbol. It is supported since at least GNU binutils 2.22 in 2011 (older versions not tested). With this version definition, newly-linked binaries that depend on the jansson shared library will refer to its symbols in a versioned form, preventing their references from being resolved to a symbol of the same name exported by json-c or json-glib if those libraries appear in dependency search order before jansson, which will usually result in a crash. This is necessary because ELF symbol resolution normally uses a single flat namespace, not a tree like Windows symbol resolution. At least one symbol (json_object_iter_next()) is exported by all three JSON libraries. Linking with -Bsymbolic is not enough to have this effect in all cases, because -Bsymbolic only affects symbol lookup within a shared object, for example when parse_json() calls json_decref(). It does not affect calls from external code into jansson, unless jansson was statically linked into the external caller. This change will also not prevent code that depends on json-c or json-glib from finding jansson's symbols and crashing; to prevent that, a corresponding change in json-c or json-glib would be needed. Adding a symbol-version is a backwards-compatible change, but once added, removing or changing the symbol-version would be an incompatible change that requires a SONAME bump. Resolves: https://github.com/akheron/jansson/issues/523 (when combined with an equivalent change to json-c). Signed-off-by: Simon McVittie <smcv@collabora.com>
2020-05-07jansson 2.13.1v2.13.12.13Petri Lehtinen1-1/+1
2020-05-05jansson 2.13v2.13Petri Lehtinen1-1/+1
2019-10-21Set autoconf bug-report param to point to github issuesPetri Lehtinen1-1/+1
2019-07-22One byte fix to fix OSS Fuzz AFL supportMax Dymond1-1/+1
"x$LIB_FUZZING_ENGINE" is not the correct filename to test for - remove the x!
2019-07-19Move ossfuzz directory and use Makefile.amMax Dymond1-0/+15
2018-11-25jansson 2.12Corey Farrell1-1/+1
2018-08-12Rename a varialble that shadows another onePetri Lehtinen1-1/+1
Fixes #430
2018-08-09Enable -Bsymbolic-functions linker flag whenever possibleMichal Privoznik1-0/+29
It was discovered fairly recently that JSON parsing libraries use common pattern to name their exported symbols (they all use json_ prefix). So eventually it happens that two symbols from two different libraries have the same name. This will lead to cryptic crashes (see [1] and [2]). Linking with -Bsymbolic-functions prevents this. 1: https://gitlab.gnome.org/GNOME/json-glib/issues/33 2: https://groups.google.com/forum/#!topic/jansson-users/7Efx-RI45IU Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
2018-07-14Deal with warnings under gcc 8.Corey Farrell1-1/+8
Recent versions of gcc have introduced compiler warnings for string operations that could be truncated. This caused problems with -Werror. src/error.c used strncpy to write "..." to a string, but skipped writing the NUL terminator. Switch this to use memcpy. src/load.c produced warnings from snprintf writing error strings that could be truncated. Added code to autotools build to detect `-Wno-format-truncation', add it to AM_CFLAGS if supported.
2018-02-09jansson 2.11Corey Farrell1-1/+1
2018-01-29Use thread-safe reference counting if supported by the compiler.Corey Farrell1-2/+10
This makes use of __atomic or __sync builtin compiler functions to make json_decref and json_incref thread-safe. Issue #387
2017-03-02jansson 2.10v2.10Nathaniel McCallum1-1/+1
2016-09-18jansson 2.9v2.9Petri Lehtinen1-1/+1
2016-08-30jansson 2.8v2.8Petri Lehtinen1-2/+1
2014-12-30Add Makefile.am for examplesPetri Lehtinen1-0/+1
2014-12-18Make it possible to set initial hashtable sizePetri Lehtinen1-0/+7
Fixes #213.
2014-10-02jansson 2.7v2.7Petri Lehtinen1-1/+1
2014-08-26Don't use GNU-make specific export for global AM_CFLAGSBrice Goglin1-0/+5
Just define it at configure time, it's automatically set in all makefiles. Fixes #203.
2014-05-14Fix autoreconf on DebianPetri Lehtinen1-0/+1
For some reason, Automake doesn't search the current directory correctly when searching for helper scripts. Fixes #182.
2014-04-30Merge branch '2.6'Petri Lehtinen1-0/+2
2014-04-30Check uint16_t and uint8_t support correctlyPetri Lehtinen1-0/+2
Fixes #177.
2014-02-12Fix feature checks to use correct __ATOMIC flagsPetri Lehtinen1-1/+1
2014-02-12Fix feature checks to use correct __ATOMIC flagsPetri Lehtinen1-1/+1
2014-02-11Merge branch '2.6'Petri Lehtinen1-3/+49
2014-02-11jansson 2.6Petri Lehtinen1-1/+1
2014-02-11CVE-2013-6401: Change hash function, randomize hashesPetri Lehtinen1-2/+48
Thanks to Florian Weimer and Eric Sesterhenn for reporting, reviewing and testing.
2014-01-27Renamed config.h -> jansson_private_config.hJoakim Soderberg1-1/+1
This is because it's really easy to get a name collission if compiling Jansson as a subproject in a larger CMake project. If one project includes several subprojects each having their own config.h, this will cause the wrong file to be loaded.
2013-09-19jansson 2.5v2.5Petri Lehtinen1-1/+1
2012-09-23Set master for 2.5 development modePetri Lehtinen1-1/+1
2012-09-23jansson 2.4v2.4Petri Lehtinen1-1/+1
2012-03-20Merge branch '2.3'Petri Lehtinen1-7/+8
2012-03-20Make sure strtoll() is available when using long longPetri Lehtinen1-7/+8
2012-01-30Set master to 2.4 development modePetri Lehtinen1-1/+1
2012-01-27jansson 2.3v2.3Petri Lehtinen1-1/+1
2011-10-06jansson 2.2.1v2.2.1Petri Lehtinen1-1/+1
2011-10-02Make real number encoding and decoding work under all localesPetri Lehtinen1-0/+7
The decimal point '.' is changed to locale's decimal point before/after JSON conversion to make C standard library's locale-specific string conversion functions work correctly. All the tests now call setlocale(LC_ALL, "") on startup to use the locale set in the environment. Fixes GH-32.
2011-09-02jansson 2.2v2.2Petri Lehtinen1-1/+1
2011-06-10jansson 2.1v2.1Petri Lehtinen1-1/+1
2011-03-31Merge branch '2.0'Petri Lehtinen1-1/+1
Conflicts: doc/conf.py src/jansson.h
2011-03-31jansson 2.0.1v2.0.1Petri Lehtinen1-1/+1
2011-02-28jansson 2.0v2.0Petri Lehtinen1-1/+1
2010-08-14Merge branch '1.3'Petri Lehtinen1-1/+1
Conflicts: doc/apiref.rst src/jansson_private.h
2010-08-14Set the version number to 2.0prePetri Lehtinen1-1/+1
2010-08-13Change the underlying type of JSON integer from long to json_int_tPetri Lehtinen1-0/+7
json_int_t is typedef'd to long long if it's supported, or long otherwise. There's also some supporting things, like the JSON_INTEGER_FORMAT macro that expands to the printf() conversion specifier that corresponds to json_int_t's actual type. This is a backwards incompatible change.
2010-08-12Check for gcc before setting gcc specific CFLAGSPetri Lehtinen1-0/+1
2010-08-10Move site configuration to jansson_config.hPetri Lehtinen1-1/+1
This way, more site configuration can be more easily added later.
2010-06-14configure.ac: Remove unneeded AC_PROG_CXXPetri Lehtinen1-1/+0
2010-06-13jansson 1.3v1.3Petri Lehtinen1-1/+1
2010-04-03Merge branch '1.2'Petri Lehtinen1-1/+1
Conflicts: CHANGES configure.ac doc/conf.py