diff --git a/.tarball-version b/.tarball-version index f1547e6..815e68d 100644 --- a/.tarball-version +++ b/.tarball-version @@ -1 +1 @@ -2.0.7 +2.0.8 diff --git a/.version b/.version index f1547e6..815e68d 100644 --- a/.version +++ b/.version @@ -1 +1 @@ -2.0.7 +2.0.8 diff --git a/ChangeLog b/ChangeLog index 44073ab..09e7a93 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,27 @@ +2023-07-21 Christine Caulfield + + Update library version for 2.0.8 + +2023-07-20 Chrissie Caulfield + + log: fix potential overflow with long log messages (#490) + qb_vsnprintf_serialize was called with 'max_size' as the + limiting number for the length of the formatted log + message. But the buffer also needs to contain the + log header (given by 'actual_size'), so we now pass + 't->max_line_length' as the maximum length of the + formatted log message to limit space to the actual + bytes left + Also added error checks to the blackbox calls at + the end of the test, as these now provide a proper + test that the BB is functioning. Before they were + masking failures. + +2023-06-10 Chrissie Caulfield + + test - fix test dependancies (#489) + Fix a ridiculous thinko in the test deps for -j + 2023-06-07 Christine Caulfield Update -version info for 2.0.7 diff --git a/configure b/configure index b3f44d0..e098d61 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.71 for libqb 2.0.7. +# Generated by GNU Autoconf 2.71 for libqb 2.0.8. # # Report bugs to . # @@ -621,8 +621,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='libqb' PACKAGE_TARNAME='libqb' -PACKAGE_VERSION='2.0.7' -PACKAGE_STRING='libqb 2.0.7' +PACKAGE_VERSION='2.0.8' +PACKAGE_STRING='libqb 2.0.8' PACKAGE_BUGREPORT='developers@clusterlabs.org' PACKAGE_URL='' @@ -1473,7 +1473,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures libqb 2.0.7 to adapt to many kinds of systems. +\`configure' configures libqb 2.0.8 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1544,7 +1544,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of libqb 2.0.7:";; + short | recursive ) echo "Configuration of libqb 2.0.8:";; esac cat <<\_ACEOF @@ -1704,7 +1704,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -libqb configure 2.0.7 +libqb configure 2.0.8 generated by GNU Autoconf 2.71 Copyright (C) 2021 Free Software Foundation, Inc. @@ -2433,7 +2433,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by libqb $as_me 2.0.7, which was +It was created by libqb $as_me 2.0.8, which was generated by GNU Autoconf 2.71. Invocation command line was $ $0$ac_configure_args_raw @@ -5221,7 +5221,7 @@ fi # Define the identity of the package. PACKAGE='libqb' - VERSION='2.0.7' + VERSION='2.0.8' printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h @@ -24828,7 +24828,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by libqb $as_me 2.0.7, which was +This file was extended by libqb $as_me 2.0.8, which was generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -24896,7 +24896,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -libqb config.status 2.0.7 +libqb config.status 2.0.8 configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\" diff --git a/include/qb/qbconfig.h b/include/qb/qbconfig.h index 2882878..06e6e99 100644 --- a/include/qb/qbconfig.h +++ b/include/qb/qbconfig.h @@ -36,7 +36,7 @@ but that was only introduced after v1.0.2 */ #define QB_VER_MAJOR 2 #define QB_VER_MINOR 0 -#define QB_VER_MICRO 7 +#define QB_VER_MICRO 8 #define QB_VER_REST "" #define QB_VER_STR \ diff --git a/lib/Makefile.am b/lib/Makefile.am index 05bdeb0..96f7cb7 100644 --- a/lib/Makefile.am +++ b/lib/Makefile.am @@ -30,7 +30,7 @@ AM_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include lib_LTLIBRARIES = libqb.la -libqb_la_LDFLAGS = -version-info 103:1:3 +libqb_la_LDFLAGS = -version-info 103:2:3 source_to_lint = util.c hdb.c ringbuffer.c ringbuffer_helper.c \ array.c loop.c loop_poll.c loop_job.c \ diff --git a/lib/Makefile.in b/lib/Makefile.in index 8c93882..8025006 100644 --- a/lib/Makefile.in +++ b/lib/Makefile.in @@ -469,7 +469,7 @@ noinst_HEADERS = ipc_int.h util_int.h ringbuffer_int.h loop_int.h \ AM_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include lib_LTLIBRARIES = libqb.la -libqb_la_LDFLAGS = -version-info 103:1:3 +libqb_la_LDFLAGS = -version-info 103:2:3 source_to_lint = util.c hdb.c ringbuffer.c ringbuffer_helper.c \ array.c loop.c loop_poll.c loop_job.c \ loop_timerlist.c ipcc.c ipcs.c ipc_shm.c \ diff --git a/lib/log_blackbox.c b/lib/log_blackbox.c index 3e30504..8519a48 100644 --- a/lib/log_blackbox.c +++ b/lib/log_blackbox.c @@ -110,8 +110,8 @@ _blackbox_vlogger(int32_t target, chunk += sizeof(uint32_t); /* log message */ - msg_len = qb_vsnprintf_serialize(chunk, max_size, cs->format, ap); - if (msg_len >= max_size) { + msg_len = qb_vsnprintf_serialize(chunk, t->max_line_length, cs->format, ap); + if (msg_len >= t->max_line_length) { chunk = msg_len_pt + sizeof(uint32_t); /* Reset */ /* Leave this at QB_LOG_MAX_LEN so as not to overflow the blackbox */ diff --git a/source_epoch b/source_epoch index c899bc0..64b1d92 100644 --- a/source_epoch +++ b/source_epoch @@ -1 +1 @@ -1686120617 +1689939039 diff --git a/tests/Makefile.am b/tests/Makefile.am index 795cca7..96166ea 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -208,25 +208,25 @@ list_test_LDADD = $(top_builddir)/lib/libqb.la @CHECK_LIBS@ # This lot allows the tests to run in parallel # but with defined dependancies # -ipc.log: start.test +ipc.log: start.log -sock_ipc_wrapper.log: start.test +sock_ipc_wrapper.log: start.log -array.log: start.test +array.log: start.log -list.log: start.test +list.log: start.log -log.log: start.test +log.log: start.log -loop.log: start.test +loop.log: start.log -map.log: start.test +map.log: start.log -rb.log: start.test +rb.log: start.log -tlist.log: start.test +tlist.log: start.log -util.log: start.test +util.log: start.log resources.log: ipc.log sock_ipc_wrapper.log rb.log log.log diff --git a/tests/Makefile.in b/tests/Makefile.in index 1417437..ab25672 100644 --- a/tests/Makefile.in +++ b/tests/Makefile.in @@ -1868,25 +1868,25 @@ check-headers: $(auto_c_files:.c=.o) $(auto_c_files:.c=.opp) # This lot allows the tests to run in parallel # but with defined dependancies # -@HAVE_CHECK_TRUE@ipc.log: start.test +@HAVE_CHECK_TRUE@ipc.log: start.log -@HAVE_CHECK_TRUE@sock_ipc_wrapper.log: start.test +@HAVE_CHECK_TRUE@sock_ipc_wrapper.log: start.log -@HAVE_CHECK_TRUE@array.log: start.test +@HAVE_CHECK_TRUE@array.log: start.log -@HAVE_CHECK_TRUE@list.log: start.test +@HAVE_CHECK_TRUE@list.log: start.log -@HAVE_CHECK_TRUE@log.log: start.test +@HAVE_CHECK_TRUE@log.log: start.log -@HAVE_CHECK_TRUE@loop.log: start.test +@HAVE_CHECK_TRUE@loop.log: start.log -@HAVE_CHECK_TRUE@map.log: start.test +@HAVE_CHECK_TRUE@map.log: start.log -@HAVE_CHECK_TRUE@rb.log: start.test +@HAVE_CHECK_TRUE@rb.log: start.log -@HAVE_CHECK_TRUE@tlist.log: start.test +@HAVE_CHECK_TRUE@tlist.log: start.log -@HAVE_CHECK_TRUE@util.log: start.test +@HAVE_CHECK_TRUE@util.log: start.log @HAVE_CHECK_TRUE@resources.log: ipc.log sock_ipc_wrapper.log rb.log log.log diff --git a/tests/check_log.c b/tests/check_log.c index 039a4bb..e5abf40 100644 --- a/tests/check_log.c +++ b/tests/check_log.c @@ -832,8 +832,10 @@ START_TEST(test_log_long_msg) qb_log(LOG_INFO, "Message %d %d - %s", lpc, lpc%600, buffer); } - qb_log_blackbox_write_to_file("blackbox.dump"); - qb_log_blackbox_print_from_file("blackbox.dump"); + rc = qb_log_blackbox_write_to_file("blackbox.dump"); + ck_assert_int_gt(rc, 0); + rc = qb_log_blackbox_print_from_file("blackbox.dump"); + ck_assert_int_le(rc, 0); unlink("blackbox.dump"); qb_log_fini(); }