From 97f096e351b420c1d845c91c578c88eac6e6af72 Mon Sep 17 00:00:00 2001 From: Ahto Truu Date: Wed, 28 Aug 2013 12:18:16 +0300 Subject: More careful TLV encoding/decoding --- runtime/librsgt.c | 8 ++++++-- runtime/librsgt.h | 3 +++ runtime/librsgt_read.c | 4 ++-- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/runtime/librsgt.c b/runtime/librsgt.c index 85fc7742..41dbfbd0 100644 --- a/runtime/librsgt.c +++ b/runtime/librsgt.c @@ -285,7 +285,9 @@ int tlv8Write(gtfile gf, int flags, int tlvtype, int len) { int r; - r = tlvbufAddOctet(gf, (flags << 5)|tlvtype); + assert((flags & RSGT_TYPE_MASK) == 0); + assert((tlvtype & RSGT_TYPE_MASK) == tlvtype); + r = tlvbufAddOctet(gf, (flags & ~RSGT_FLAG_TLV16) | tlvtype); if(r != 0) goto done; r = tlvbufAddOctet(gf, len & 0xff); done: return r; @@ -296,7 +298,9 @@ tlv16Write(gtfile gf, int flags, int tlvtype, uint16_t len) { uint16_t typ; int r; - typ = ((flags|1) << 15)|tlvtype; + assert((flags & RSGT_TYPE_MASK) == 0); + assert((tlvtype >> 8 & RSGT_TYPE_MASK) == (tlvtype >> 8)); + typ = ((flags | RSGT_FLAG_TLV16) << 8) | tlvtype; r = tlvbufAddOctet(gf, typ >> 8); if(r != 0) goto done; r = tlvbufAddOctet(gf, typ & 0xff); diff --git a/runtime/librsgt.h b/runtime/librsgt.h index bfcc4628..bf9c9c31 100644 --- a/runtime/librsgt.h +++ b/runtime/librsgt.h @@ -151,7 +151,10 @@ struct rsgtstatefile { }; /* Flags and record types for TLV handling */ +#define RSGT_FLAG_NONCRIT 0x80 +#define RSGT_FLAG_FORWARD 0x40 #define RSGT_FLAG_TLV16 0x20 +#define RSGT_TYPE_MASK 0x1f /* error states */ #define RSGTE_IO 1 /* any kind of io error */ diff --git a/runtime/librsgt_read.c b/runtime/librsgt_read.c index a6e33160..a9a50798 100644 --- a/runtime/librsgt_read.c +++ b/runtime/librsgt_read.c @@ -249,7 +249,7 @@ rsgt_tlvRecRead(FILE *fp, tlvrecord_t *rec) NEXTC; rec->hdr[0] = c; rec->tlvtype = c & 0x1f; - if(c & 0x80) { /* tlv16? */ + if(c & RSGT_FLAG_TLV16) { /* tlv16? */ rec->lenHdr = 4; NEXTC; rec->hdr[1] = c; @@ -290,7 +290,7 @@ rsgt_tlvDecodeSUBREC(tlvrecord_t *rec, uint16_t *stridx, tlvrecord_t *newrec) c = rec->data[(*stridx)++]; newrec->hdr[0] = c; newrec->tlvtype = c & 0x1f; - if(c & 0x80) { /* tlv16? */ + if(c & RSGT_FLAG_TLV16) { /* tlv16? */ newrec->lenHdr = 4; if(rec->tlvlen == *stridx) {r=RSGTE_LEN; goto done;} c = rec->data[(*stridx)++]; -- cgit v1.2.3 From 468c7cc002e09f952be415cd04f055873a553a31 Mon Sep 17 00:00:00 2001 From: Ahto Truu Date: Mon, 12 Aug 2013 21:05:44 +0300 Subject: Better error messages from rsgtutil --- tools/rsgtutil.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tools/rsgtutil.c b/tools/rsgtutil.c index 095b8066..567dcf4c 100644 --- a/tools/rsgtutil.c +++ b/tools/rsgtutil.c @@ -74,7 +74,7 @@ dumpFile(char *name) if(fp != stdin) fclose(fp); return; -err: fprintf(stderr, "error %d processing file %s\n", r, name); +err: fprintf(stderr, "error %d (%s) processing file %s\n", r, RSGTE2String(r), name); } static void @@ -113,7 +113,7 @@ showSigblkParams(char *name) return; err: if(r != RSGTE_EOF) - fprintf(stderr, "error %d processing file %s\n", r, name); + fprintf(stderr, "error %d (%s) processing file %s\n", r, RSGTE2String(r), name); } static void @@ -145,7 +145,7 @@ detectFileType(char *name) if(fp != stdin) fclose(fp); return; -err: fprintf(stderr, "error %d processing file %s\n", r, name); +err: fprintf(stderr, "error %d (%s) processing file %s\n", r, RSGTE2String(r), name); } static inline int @@ -327,7 +327,7 @@ done: return; err: - fprintf(stderr, "error %d processing file %s\n", r, name); + fprintf(stderr, "error %d (%s) processing file %s\n", r, RSGTE2String(r), name); if(logfp != NULL) fclose(logfp); if(sigfp != NULL) -- cgit v1.2.3 From b1894b53f9173c5a76a2f5250bfced870b699cc3 Mon Sep 17 00:00:00 2001 From: Ahto Truu Date: Mon, 12 Aug 2013 18:10:57 +0300 Subject: Using more appropriate helper function to get the error message --- runtime/librsgt.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runtime/librsgt.c b/runtime/librsgt.c index 41dbfbd0..a8124568 100644 --- a/runtime/librsgt.c +++ b/runtime/librsgt.c @@ -75,7 +75,7 @@ reportGTAPIErr(gtctx ctx, gtfile gf, char *apiname, int ecode) char errbuf[4096]; snprintf(errbuf, sizeof(errbuf), "%s[%s:%d]: %s", (gf == NULL) ? (uchar*)"" : gf->sigfilename, - apiname, ecode, GT_getErrorString(ecode)); + apiname, ecode, GTHTTP_getErrorString(ecode)); errbuf[sizeof(errbuf)-1] = '\0'; reportErr(ctx, errbuf); } -- cgit v1.2.3 From aac3d9aed8ff45b191b207f3e8c22bf602f54774 Mon Sep 17 00:00:00 2001 From: Rainer Gerhards Date: Mon, 2 Sep 2013 14:58:54 +0200 Subject: doc: add recent patch series to ChangeLog --- ChangeLog | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/ChangeLog b/ChangeLog index eb87d667..f07bd5dc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,13 @@ --------------------------------------------------------------------------- Version 7.4.4 [v7.4-stable] 2013-0?-?? +- better error messages in GuardTime signature provider + Thanks to Ahto Truu for providing the patch. +- bugfix: TLV16 flag encoding error in signature files from GT provider + This fixes a problem where the TLV16 flag was improperly encoded. + Unfortunately, existing files already have the bug and may not properly + be processed. The fix uses constants from the GuardTime API lib to + prevent such problems in the future. + Thanks to Ahto Truu for providing the patch. - bugfix: imtcp addtlframedelimiter could not be set to zero Thanks to Chris Norton for alerting us. - doc bugfix: remove no-longer existing omtemplate from developer doc -- cgit v1.2.3 From 9d945773a757ce87b587e5c6642f63e5626ca44c Mon Sep 17 00:00:00 2001 From: Rainer Gerhards Date: Mon, 2 Sep 2013 15:11:58 +0200 Subject: bugfix: imfile parameter "persistStateInterval" was unusable due to a case typo in imfile; work-around was to use legacy config Thanks to Brandon Murphy for reporting this bug. --- ChangeLog | 3 +++ plugins/imfile/imfile.c | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index f07bd5dc..b0708a88 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,6 +2,9 @@ Version 7.4.4 [v7.4-stable] 2013-0?-?? - better error messages in GuardTime signature provider Thanks to Ahto Truu for providing the patch. +- bugfix: imfile parameter "persistStateInterval" was unusable + due to a case typo in imfile; work-around was to use legacy config + Thanks to Brandon Murphy for reporting this bug. - bugfix: TLV16 flag encoding error in signature files from GT provider This fixes a problem where the TLV16 flag was improperly encoded. Unfortunately, existing files already have the bug and may not properly diff --git a/plugins/imfile/imfile.c b/plugins/imfile/imfile.c index 2e80ffc8..45882fb2 100644 --- a/plugins/imfile/imfile.c +++ b/plugins/imfile/imfile.c @@ -478,7 +478,7 @@ CODESTARTnewInpInst inst->readMode = pvals[i].val.d.n; } else if(!strcmp(inppblk.descr[i].name, "maxlinesatonce")) { inst->maxLinesAtOnce = pvals[i].val.d.n; - } else if(!strcmp(inppblk.descr[i].name, "persistStateInterval")) { + } else if(!strcmp(inppblk.descr[i].name, "persiststateinterval")) { inst->iPersistStateInterval = pvals[i].val.d.n; } else if(!strcmp(inppblk.descr[i].name, "maxsubmitatonce")) { inst->nMultiSub = pvals[i].val.d.n; -- cgit v1.2.3 From 1c71b9628b08cfe867f94a7f35e6bd74db5a9673 Mon Sep 17 00:00:00 2001 From: hwoarang Date: Tue, 3 Sep 2013 11:38:01 +0200 Subject: make rsyslog use the new json-c pkgconfig file if available --- action.c | 2 +- configure.ac | 6 ++++-- plugins/imkmsg/kmsg.c | 2 +- plugins/mmaudit/mmaudit.c | 2 +- plugins/mmjsonparse/mmjsonparse.c | 2 +- plugins/mmnormalize/mmnormalize.c | 2 +- plugins/ommongodb/ommongodb.c | 2 +- runtime/Makefile.am | 7 ++++--- runtime/msg.c | 2 +- runtime/msg.h | 2 +- template.c | 2 +- template.h | 2 +- 12 files changed, 18 insertions(+), 15 deletions(-) diff --git a/action.c b/action.c index 259fb666..6b52d708 100644 --- a/action.c +++ b/action.c @@ -98,7 +98,7 @@ #include #include #include -#include +#include #include "dirty.h" #include "template.h" diff --git a/configure.ac b/configure.ac index 24fa4b1f..419000d6 100644 --- a/configure.ac +++ b/configure.ac @@ -33,7 +33,9 @@ PKG_PROG_PKG_CONFIG # modules we require PKG_CHECK_MODULES(LIBESTR, libestr >= 0.1.5) -PKG_CHECK_MODULES([JSON_C], [json]) +PKG_CHECK_MODULES([JSON_C], [json],, [ + PKG_CHECK_MODULES([JSON_C], [json-c]) +]) case "${host}" in *-*-linux*) @@ -821,7 +823,7 @@ if test "x$enable_rsyslogrt" = "xyes"; then RSRT_LIBS1="\$(top_builddir)/runtime/librsyslog.la" fi AM_CONDITIONAL(ENABLE_RSYSLOGRT, test x$enable_rsyslogrt = xyes) -RSRT_CFLAGS="\$(RSRT_CFLAGS1) \$(LIBESTR_CFLAGS) \$(JSON_C_FLAGS)" +RSRT_CFLAGS="\$(RSRT_CFLAGS1) \$(LIBESTR_CFLAGS) \$(JSON_C_CFLAGS)" RSRT_LIBS="\$(RSRT_LIBS1) \$(LIBESTR_LIBS) \$(JSON_C_LIBS)" AC_SUBST(RSRT_CFLAGS1) AC_SUBST(RSRT_LIBS1) diff --git a/plugins/imkmsg/kmsg.c b/plugins/imkmsg/kmsg.c index 822d3dbd..172ff4d1 100644 --- a/plugins/imkmsg/kmsg.c +++ b/plugins/imkmsg/kmsg.c @@ -34,7 +34,7 @@ #include #include #include -#include +#include #include "rsyslog.h" #include "srUtils.h" diff --git a/plugins/mmaudit/mmaudit.c b/plugins/mmaudit/mmaudit.c index 6b6b804c..c7cff2cb 100644 --- a/plugins/mmaudit/mmaudit.c +++ b/plugins/mmaudit/mmaudit.c @@ -43,7 +43,7 @@ #include #include #include -#include +#include #include "conf.h" #include "syslogd-types.h" #include "template.h" diff --git a/plugins/mmjsonparse/mmjsonparse.c b/plugins/mmjsonparse/mmjsonparse.c index 35f69aab..b16aef0e 100644 --- a/plugins/mmjsonparse/mmjsonparse.c +++ b/plugins/mmjsonparse/mmjsonparse.c @@ -35,7 +35,7 @@ #include #include #include -#include +#include #include "conf.h" #include "syslogd-types.h" #include "template.h" diff --git a/plugins/mmnormalize/mmnormalize.c b/plugins/mmnormalize/mmnormalize.c index fcadc328..f93974a1 100644 --- a/plugins/mmnormalize/mmnormalize.c +++ b/plugins/mmnormalize/mmnormalize.c @@ -40,7 +40,7 @@ #include #include #include -#include +#include #include #include "conf.h" #include "syslogd-types.h" diff --git a/plugins/ommongodb/ommongodb.c b/plugins/ommongodb/ommongodb.c index dd997410..64d501d3 100644 --- a/plugins/ommongodb/ommongodb.c +++ b/plugins/ommongodb/ommongodb.c @@ -33,7 +33,7 @@ #include #include #include -#include +#include /* For struct json_object_iter, should not be necessary in future versions */ #include diff --git a/runtime/Makefile.am b/runtime/Makefile.am index dea06fe0..34384bea 100644 --- a/runtime/Makefile.am +++ b/runtime/Makefile.am @@ -97,12 +97,13 @@ librsyslog_la_SOURCES = \ # if WITH_MODDIRS -librsyslog_la_CPPFLAGS = -DSD_EXPORT_SYMBOLS -D_PATH_MODDIR=\"$(pkglibdir)/:$(moddirs)\" $(PTHREADS_CFLAGS) -I\$(top_srcdir)/tools +librsyslog_la_CPPFLAGS = -DSD_EXPORT_SYMBOLS -D_PATH_MODDIR=\"$(pkglibdir)/:$(moddirs)\" else -librsyslog_la_CPPFLAGS = -DSD_EXPORT_SYMBOLS -D_PATH_MODDIR=\"$(pkglibdir)/\" -I$(top_srcdir) $(PTHREADS_CFLAGS) -I\$(top_srcdir)/tools -I\$(top_srcdir)/grammar +librsyslog_la_CPPFLAGS = -DSD_EXPORT_SYMBOLS -D_PATH_MODDIR=\"$(pkglibdir)/\" -I\$(top_srcdir) -I\$(top_srcdir)/grammar endif #librsyslog_la_LDFLAGS = -module -avoid-version -librsyslog_la_LIBADD = $(DL_LIBS) $(RT_LIBS) +librsyslog_la_CPPFLAGS += $(PTHREADS_CFLAGS) $(LIBEE_CFLAGS) $(LIBUUID_CFLAGS) $(JSON_C_CFLAGS) -I\$(top_srcdir)/tools +librsyslog_la_LIBADD = $(DL_LIBS) $(RT_LIBS) $(LIBEE_LIBS) $(LIBUUID_LIBS) $(JSON_C_LIBS) # # regular expression support diff --git a/runtime/msg.c b/runtime/msg.c index 67d957d1..36cbd261 100644 --- a/runtime/msg.c +++ b/runtime/msg.c @@ -41,7 +41,7 @@ #endif #include #include -#include +#include /* For struct json_object_iter, should not be necessary in future versions */ #include #if HAVE_MALLOC_H diff --git a/runtime/msg.h b/runtime/msg.h index 6faf066a..ac220b63 100644 --- a/runtime/msg.h +++ b/runtime/msg.h @@ -30,7 +30,7 @@ #include #include -#include +#include #include "obj.h" #include "syslogd-types.h" #include "template.h" diff --git a/template.c b/template.c index b6752551..9cefa056 100644 --- a/template.c +++ b/template.c @@ -34,7 +34,7 @@ #include #include #include -#include +#include #include "stringbuf.h" #include "syslogd-types.h" #include "template.h" diff --git a/template.h b/template.h index 318db6f8..87a1c77b 100644 --- a/template.h +++ b/template.h @@ -30,7 +30,7 @@ #ifndef TEMPLATE_H_INCLUDED #define TEMPLATE_H_INCLUDED 1 -#include +#include #include #include "regexp.h" #include "stringbuf.h" -- cgit v1.2.3 From 2a647f6b631ac733dd32dd5995867df213dff402 Mon Sep 17 00:00:00 2001 From: Rainer Gerhards Date: Tue, 3 Sep 2013 11:53:10 +0200 Subject: doc: mention last json-c patch in ChangeLog --- ChangeLog | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ChangeLog b/ChangeLog index b0708a88..e353a096 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,6 +2,8 @@ Version 7.4.4 [v7.4-stable] 2013-0?-?? - better error messages in GuardTime signature provider Thanks to Ahto Truu for providing the patch. +- make rsyslog use the new json-c pkgconfig file if available + Thanks to the Gentoo team for the patches. - bugfix: imfile parameter "persistStateInterval" was unusable due to a case typo in imfile; work-around was to use legacy config Thanks to Brandon Murphy for reporting this bug. -- cgit v1.2.3 From 45dfdbde967036b621611d55e22decdde64175f5 Mon Sep 17 00:00:00 2001 From: Rainer Gerhards Date: Tue, 3 Sep 2013 12:15:21 +0200 Subject: doc: add missing information (patches) to ChangeLog --- ChangeLog | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ChangeLog b/ChangeLog index e353a096..38ef615a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -13,6 +13,10 @@ Version 7.4.4 [v7.4-stable] 2013-0?-?? be processed. The fix uses constants from the GuardTime API lib to prevent such problems in the future. Thanks to Ahto Truu for providing the patch. +- bugfix: slightly malformed SMTP handling in ommail +- bugfix: segfault in omprog if no template was provided (now dflt is used) +- bugfix: segfault in ompipe if no template was provided (now dflt is used) +- bugfix: segfault in omsnmp if no template was provided (now dflt is used) - bugfix: imtcp addtlframedelimiter could not be set to zero Thanks to Chris Norton for alerting us. - doc bugfix: remove no-longer existing omtemplate from developer doc -- cgit v1.2.3 From 0ad1641dfc152959d76bad4b160b94dc27d7e9ce Mon Sep 17 00:00:00 2001 From: Rainer Gerhards Date: Tue, 3 Sep 2013 12:16:26 +0200 Subject: regression fix: previous fix introduced wrong default template The faulty code was never released. --- plugins/omsnmp/omsnmp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/omsnmp/omsnmp.c b/plugins/omsnmp/omsnmp.c index 8ad424e6..42d1de6b 100644 --- a/plugins/omsnmp/omsnmp.c +++ b/plugins/omsnmp/omsnmp.c @@ -430,7 +430,7 @@ CODESTARTnewActInst } CHKiRet(OMSRsetEntry(*ppOMSR, 0, (uchar*)strdup((pData->tplName == NULL) ? - "RSYSLOG_ForwardFormat" : (char*)pData->tplName), + "RSYSLOG_FileFormat" : (char*)pData->tplName), OMSR_NO_RQD_TPL_OPTS)); CODE_STD_FINALIZERnewActInst -- cgit v1.2.3 From dde11d5b63b268b5addc183b49907cd12feeca39 Mon Sep 17 00:00:00 2001 From: Rainer Gerhards Date: Tue, 3 Sep 2013 12:27:33 +0200 Subject: doc: add some more non-mentioned fixes to ChangeLog --- ChangeLog | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ChangeLog b/ChangeLog index 38ef615a..793db0ae 100644 --- a/ChangeLog +++ b/ChangeLog @@ -17,6 +17,10 @@ Version 7.4.4 [v7.4-stable] 2013-0?-?? - bugfix: segfault in omprog if no template was provided (now dflt is used) - bugfix: segfault in ompipe if no template was provided (now dflt is used) - bugfix: segfault in omsnmp if no template was provided (now dflt is used) +- bugfix: some omsnmp optional config params were flagged as mandatory +- bugfix: segfault in omelasticsearch when resuming queued messages + after restarting Elasticsearch + closes: http://bugzilla.adiscon.com/show_bug.cgi?id=464 - bugfix: imtcp addtlframedelimiter could not be set to zero Thanks to Chris Norton for alerting us. - doc bugfix: remove no-longer existing omtemplate from developer doc -- cgit v1.2.3 From 535968f989219a01149fae7876bb83c0fa3aeaec Mon Sep 17 00:00:00 2001 From: Rainer Gerhards Date: Tue, 3 Sep 2013 12:32:18 +0200 Subject: prepare for 7.4.4 release --- ChangeLog | 2 +- configure.ac | 2 +- doc/manual.html | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 793db0ae..80238018 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,5 @@ --------------------------------------------------------------------------- -Version 7.4.4 [v7.4-stable] 2013-0?-?? +Version 7.4.4 [v7.4-stable] 2013-09-03 - better error messages in GuardTime signature provider Thanks to Ahto Truu for providing the patch. - make rsyslog use the new json-c pkgconfig file if available diff --git a/configure.ac b/configure.ac index 419000d6..017116ef 100644 --- a/configure.ac +++ b/configure.ac @@ -2,7 +2,7 @@ # Process this file with autoconf to produce a configure script. AC_PREREQ(2.61) -AC_INIT([rsyslog],[7.4.3],[rsyslog@lists.adiscon.com]) +AC_INIT([rsyslog],[7.4.4],[rsyslog@lists.adiscon.com]) AM_INIT_AUTOMAKE m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) diff --git a/doc/manual.html b/doc/manual.html index ed22967d..dc6453bc 100644 --- a/doc/manual.html +++ b/doc/manual.html @@ -19,7 +19,7 @@ professional services available directly from the source!

Please visit the rsyslog sponsor's page to honor the project sponsors or become one yourself! We are very grateful for any help towards the project goals.

-

This documentation is for version 7.4.3 (v7.4-stable branch) of rsyslog. +

This documentation is for version 7.4.4 (v7.4-stable branch) of rsyslog. Visit the rsyslog status page to obtain current version information and project status.

If you like rsyslog, you might -- cgit v1.2.3 From dd9bdb5566c56a2bb67b09a67410b16e29004568 Mon Sep 17 00:00:00 2001 From: Rainer Gerhards Date: Wed, 4 Sep 2013 10:07:16 +0200 Subject: bugfix: some more build problems with newer json-c versions Thanks to Michael Biebl for mentioning the problem. --- ChangeLog | 4 ++++ plugins/ommongodb/ommongodb.c | 2 +- runtime/msg.c | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 80238018..83420053 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,8 @@ --------------------------------------------------------------------------- +Version 7.4.5 [v7.4-stable] 2013-09-?? +- bugfix: some more build problems with newer json-c versions + Thanks to Michael Biebl for mentioning the problem. +--------------------------------------------------------------------------- Version 7.4.4 [v7.4-stable] 2013-09-03 - better error messages in GuardTime signature provider Thanks to Ahto Truu for providing the patch. diff --git a/plugins/ommongodb/ommongodb.c b/plugins/ommongodb/ommongodb.c index 64d501d3..ecfd2518 100644 --- a/plugins/ommongodb/ommongodb.c +++ b/plugins/ommongodb/ommongodb.c @@ -35,7 +35,7 @@ #include #include /* For struct json_object_iter, should not be necessary in future versions */ -#include +#include #include "rsyslog.h" #include "conf.h" diff --git a/runtime/msg.c b/runtime/msg.c index 36cbd261..03906070 100644 --- a/runtime/msg.c +++ b/runtime/msg.c @@ -43,7 +43,7 @@ #include #include /* For struct json_object_iter, should not be necessary in future versions */ -#include +#include #if HAVE_MALLOC_H # include #endif -- cgit v1.2.3