json-c

Changelog for 7.6.4 (v7-stable)

Version 7.6.4 [v7.6-stable] 2014-09-12

  • add –enable-generate-man-pages configure switch (default: enabled)
    This forces generation of man pages, even if cached ones exists. This “fixes” a typical release tarball nit. While it is hackish, the benefit is clear given the history of failed tarball releases since we changed the cached man page handling. It was just too easy to get that wrong.
  • removed obsolete –disable-fsstnd configure option
    Thanks to Thomas D. for alerting us.
    Closes: https://github.com/rsyslog/rsyslog/issues/72
  • permits to build against json-c 0.12
    Unfortunately, json-c had an ABI breakage, so this is necessary. Note that versions prior to 0.12 had security issues (CVE-2013-6370, CVE-2013-6371) and so it is desirable to link against the new version.
    Thanks to Thomas D. for the patch. Note that at least some distros have fixed the security issue in older versions of json-c, so this seems to apply mostly when building from sources.
  • new omfile default module parameters
    • filecreatemode
    • fileowner
    • fileownernum
    • filegroup
    • filegroupnum
    • dirowner
    • dirownernum
    • dirgroup
    • dirgroupnum

    Thanks to Karol Jurak for the patch.

  • bugfix: memory leak in TCP TLS mode
  • bugfix: imfile: if a state file for a different file name was set, that different file (name) was monitored instead of the configured one. Now, the state file is deleted and the correct file monitored.
    closes: https://github.com/rsyslog/rsyslog/issues/103
  • bugfix: using UUID property could cause segfault
  • bugfix: mmutf8fix did not detect two invalid sequences
    Thanks to Axel Rau for the patch.
  • bugfix: file descriptor leak with Guardtime signatures
    When a .gtstate file is opened it is never closed. This is especially bad when dynafiles frequently get evicted from dynafile cache and be re-opened again.
  • bugfix: busy loop in tcp listener when running out of file descriptors
    Thanks to Susant Sahani for the patch.
  • bugfix: mishandling of input modules not supporting new input instances
    If they did not support this, accidently the output module part of the module union was written, leading to unpredictable results. Note: all core modules do support this interface, but some contributed or very old ones do not.
  • bugfix: double-free when ruleset() parser parameters were used
    While unlikely, this could cause stability issues even after the config phase.
  • bugfix: output modules with parameters with multiple passing modes could caused strange behaviour including aborts
    This was due to the fact that the action module only preserved and processed the last set passing mode. Note that this was not a problem for the plugins provided by the rsyslog git: none of them uses different passing modes.
    Thanks to Tomas Heinrich for providing a very detailled bug report.
  • various fixes after coverty scan
    These do not address issues seen in practice but those seen by the tool. Some of them may affect practical deployments.
    Thanks to Tomas Heinrich for the patches.
  • bugfix imuxsock: “Last message repeated…” was not emitted at shutdown
    The “Last message repeated…” notice didn’t get printed if rsyslog was shut down before the repetition was broken.
    Thanks to Tomas Heinrich for the patch.
  • bugfix: make dist failed when GUARDTIME or LIBGCRYPT feature was disabled
  • bugfix: mmjsonparse did not build with json-c < 0.10
    This was a regression introduced some time in the past in order to support API changes in json-c. Now we check for the version and use proper code.
  • bugfix: mmanon did not properly anonymize IP addresses starting with ‘9’
    Thanks to defa-at-so36.net for reporting this problem.
    closes: http://bugzilla.adiscon.com/show_bug.cgi?id=529

rsyslog 8.2.1 (v8-stable) released

We have just released 8.2.1 of the v8-stable branch.

This release permits to build against json-c 0.12. Due to the ABI breckage, this is necessary. Json-c versions prior to 0.12 had security issues, so this is desirable. At least some distros have fixed the security issue in older versions of json-c, so this seems to apply mostly when building from sources.

Additionaly, the doc is no longer shipped as part of the rsyslog tarball to allow de-coupled release cycles.

Download: http://www.rsyslog.com/downloads/download-v8-stable/

As always, feedback is appreciated.

Best regards,
Florian Riedl

Changelog for 8.2.1 (v8-stable)

Version 8.2.1 [v8-stable] 2014-04-17

  • permits to build against json-c 0.12
    Unfortunately, json-c had an ABI breakage, so this is necessary. Note that versions prior to 0.12 had security issues (CVE-2013-6370, CVE-2013-6371) and so it is desirable to link against the new version.
    Thanks to Thomas D. for the patch. Note that at least some distros have fixed the security issue in older versions of json-c, so this seems to apply mostly when building from sources.
  • doc is no longer shipped as part of the rsyslog tarball
    Instead, the rsyslog-doc project creates its own tarball. This is the result of a mailing list discussion after the 8.2.0 release with a tarball-in-tarball approach, which was disliked by almost all distro maintainers. This move also has the advantage of de-coupling the release cycles of both projects a bit (which turned out to be a bit problematic in practice).
  • bugfix: mmutf8fix did not detect two invalid sequences
    Thanks to Axel Rau for the patch.

How to use rsyslog v7 on debian 5?

As development continues, there sometimes arises the need for additional packages to be installed in order to run the newest version. It is the same case for rsyslog. Since version 6.6.0 there is a requirement for json-c to be installed. For debian 6, there are packages available via package managers for easy installation. So there is no problem. For debian 5, the package repositories are unavailable and there is no .deb for json-c delivered on the disc. But without json-c, there is no chance to even install a current rsyslog on debian 5.

Gladly, there are other means to install json-c. There are tarballs available at

https://github.com/json-c/json-c/downloads

Unpack the tarball and install it with:

./configure --prefix=/usr
make
make install

Unfortunately, make install seems not to copy all the necessary files to correct destination. You still have to manually copy a single file. Do the following:

cp some/directory/json-c-0.10/json_object_iterator.h /usr/include/json/

Now you are all set up to install rsyslog 6.6.0 or 7.2.0 on a debian 5 system. If other packages are still missing (like bison), they are available as package on the disc.

Scroll to top