There is no point in supporting two json formatters anymore, so drop support for json-glib. Signed-off-by: Gergely Nagy <algernon@balabit.hu> --- configure.in | 56 +++++------------------------------------------ modules/tfjson/tfjson.c | 52 ------------------------------------------- 2 files changed, 6 insertions(+), 102 deletions(-) diff --git a/configure.in b/configure.in index 5c00e0f..8991835 100644 --- a/configure.in +++ b/configure.in @@ -26,7 +26,6 @@ OPENSSL_MIN_VERSION="0.9.8" LIBDBI_MIN_VERSION="0.8.0" IVYKIS_MIN_VERSION="0.30.1" JSON_C_MIN_VERSION="0.9" -JSON_GLIB_MIN_VERSION="0.12" PCRE_MIN_VERSION="6.1" LMC_MIN_VERSION="0.1.6" @@ -169,14 +168,9 @@ AC_ARG_WITH(ivykis, Link against the system supplied or the built-in ivykis library.] ,,with_ivykis="internal") -AC_ARG_WITH(json, - [ --with-json=[json-c/json-glib/auto] - Use the JSON implementation specified] - ,,with_json="auto") - AC_ARG_ENABLE(json, [ --disable-json Disable JSON support (default: auto)], - [case "${enableval}" in yes) with_json="auto";; *) with_json="${enableval}";; esac],with_json="auto") + ,,enable_json="auto") AC_ARG_ENABLE(smtp, [ --disable-smtp Disable SMTP support (default: auto)], @@ -616,12 +610,7 @@ fi dnl *************************************************************************** dnl json headers/libraries dnl *************************************************************************** -if test "x$with_json" = "xauto" || test "x$with_json" = "xjson-c"; then - PKG_CHECK_MODULES(JSON_C, json >= $JSON_C_MIN_VERSION,, JSON_C_LIBS="") -fi -if test "x$with_json" = "xauto" || test "x$with_json" = "xjson-glib"; then - PKG_CHECK_MODULES(JSON_GLIB, json-glib-1.0 >= $JSON_GLIB_MIN_VERSION,, JSON_GLIB_LIBS="") -fi +PKG_CHECK_MODULES(JSON_C, json >= $JSON_C_MIN_VERSION,, [JSON_C_LIBS=""; enable_json="no"]) dnl *************************************************************************** dnl pcre headers/libraries @@ -900,45 +889,12 @@ if test "x$enable_mongodb" = "xauto"; then AC_MSG_RESULT([$enable_mongodb]) fi -if test "x$with_json" != "xjson-glib" -a "x$with_json" != "xjson-c" -a "x$with_json" != "xauto" -a "x$with_json" != "xno"; then - # unknown --with-json argument - - AC_MSG_ERROR([Unknown JSON implementation ($with_json) specified, only json-glib, json-c and auto is known]) -elif test \( "x$with_json" = "xauto" -o "x$with_json" = "xjson-c" \) -a -n "$JSON_C_LIBS" ; then - # json-c found and user requested json-c or auto - +if test "x$enable_json" != "xno"; then JSON_LIBS=$JSON_C_LIBS JSON_CFLAGS=$JSON_C_CFLAGS - AC_DEFINE_UNQUOTED(HAVE_JSON_C, 1, [Have json-c]) - with_json="json-c" -elif test \( "x$with_json" = "xauto" -o "x$with_json" = "xjson-glib" \) -a -n "$JSON_GLIB_LIBS"; then - # json-glib found and user requested json-glib or auto - - JSON_LIBS=$JSON_GLIB_LIBS - JSON_CFLAGS=$JSON_GLIB_CFLAGS - AC_DEFINE_UNQUOTED(HAVE_JSON_GLIB, 1, [Have json-glib]) - with_json="json-glib" - -elif test "x$with_json" = "xauto" -o "x$with_json" = "xno"; then - # nothing found, but autodetect was selected - - JSON_LIBS="" - JSON_CFLAGS="" - with_json="no" -elif test "x$with_json" = "xjson-glib"; then - AC_MSG_ERROR([Cannot find json-glib-1.0 >= $JSON_GLIB_MIN_VERSION: is pkg-config in path?]) -elif test "x$with_json" = "xjson-c"; then - AC_MSG_ERROR([Cannot find json-c version >= $JSON_C_MIN_VERSION: is pkg-config in path?]) -fi - -if test "x$with_json" = "xjson-c"; then - enable_json_parse="yes" - enable_json_format="yes" -fi -if test "x$with_json" = "xjson-glib"; then - enable_json_parse="no" - enable_json_format="yes" + enable_json_parse="yes" + enable_json_format="yes" fi if test "x$enable_systemd" = "xauto"; then @@ -1237,6 +1193,6 @@ echo " SSL support (module) : ${enable_ssl:=no}" echo " SQL support (module) : ${enable_sql:=no}" echo " PACCT module (EXPERIMENTAL) : ${enable_pacct:=no}" echo " MongoDB destination (module): ${enable_mongodb:=no}" -echo " JSON support (module) : parser=${enable_json_parse:=no}, formatter=${enable_json_format:=no} (using ${with_json})" +echo " JSON support (module) : parser=${enable_json_parse:=no}, formatter=${enable_json_format:=no}" echo " SMTP support (module) : ${enable_smtp:=no}" diff --git a/modules/tfjson/tfjson.c b/modules/tfjson/tfjson.c index 16c9d4a..8eb1d42 100644 --- a/modules/tfjson/tfjson.c +++ b/modules/tfjson/tfjson.c @@ -25,17 +25,9 @@ #include "cfg.h" #include "value-pairs.h" -#include "config.h" - -#ifdef HAVE_JSON_C #include <printbuf.h> #include <json.h> #include <json_object_private.h> -#endif - -#ifdef HAVE_JSON_GLIB -#include <json-glib/json-glib.h> -#endif typedef struct _TFJsonState { @@ -57,7 +49,6 @@ tf_json_prepare(LogTemplateFunction *self, gpointer s, LogTemplate *parent, return TRUE; } -#if HAVE_JSON_C static int tf_json_object_to_string (struct json_object *jso, struct printbuf *pb) @@ -112,45 +103,6 @@ tf_json_append(GString *result, ValuePairs *vp, LogMessage *msg) g_string_append(result, json_object_to_json_string (json)); json_object_put(json); } -#endif - -#if HAVE_JSON_GLIB -static gboolean -tf_json_foreach (const gchar *name, const gchar *value, gpointer user_data) -{ - JsonBuilder *builder = (JsonBuilder *)user_data; - - json_builder_set_member_name(builder, name); - json_builder_add_string_value(builder, value); - - return FALSE; -} - -static void -tf_json_append(GString *result, ValuePairs *vp, LogMessage *msg) -{ - JsonBuilder *builder; - JsonGenerator *gen; - gchar *str; - - builder = json_builder_new(); - json_builder_begin_object(builder); - - value_pairs_foreach(vp, tf_json_foreach, msg, 0, builder); - - json_builder_end_object(builder); - - gen = json_generator_new(); - json_generator_set_root(gen, json_builder_get_root(builder)); - str = json_generator_to_data(gen, NULL); - - g_object_unref(gen); - g_object_unref(builder); - - g_string_append(result, str); - g_free(str); -} -#endif static void tf_json_call(LogTemplateFunction *self, gpointer s, @@ -184,10 +136,6 @@ static Plugin builtin_tmpl_func_plugins[] = gboolean tfjson_module_init(GlobalConfig *cfg, CfgArgs *args) { -#ifdef HAVE_JSON_GLIB - g_type_init (); -#endif - plugin_register(cfg, builtin_tmpl_func_plugins, G_N_ELEMENTS(builtin_tmpl_func_plugins)); return TRUE; } -- 1.7.10.4