diff -Nru cfengine3-3.15.6/cf-agent/files_editline.c cfengine3-3.15.7/cf-agent/files_editline.c --- cfengine3-3.15.6/cf-agent/files_editline.c 2022-06-29 07:35:25.000000000 +0000 +++ cfengine3-3.15.7/cf-agent/files_editline.c 2022-11-09 16:33:15.000000000 +0000 @@ -1847,7 +1847,14 @@ /* Check line neighbourhood in whole file to avoid edge effects, iff we are not preseving block structure */ -{ int preserve_block = StringEqual(a->sourcetype, "preserve_block"); +{ + assert(start != NULL); + assert(a != NULL); + assert(edcontext != NULL); + + bool preserve_block = (StringEqual(a->sourcetype, "preserve_block") || + StringEqual(a->sourcetype, "file_preserve_block") || + StringEqual(a->sourcetype, "preserve_all_lines")); if (!prev) /* Insert at first line */ { diff -Nru cfengine3-3.15.6/cf-agent/package_module.c cfengine3-3.15.7/cf-agent/package_module.c --- cfengine3-3.15.6/cf-agent/package_module.c 2022-06-29 07:35:25.000000000 +0000 +++ cfengine3-3.15.7/cf-agent/package_module.c 2022-11-09 16:33:15.000000000 +0000 @@ -741,9 +741,9 @@ char *inventory_list = BufferClose(inventory_data); /* We can have empty list of installed software or available updates. */ - if (!inventory_list) + if (inventory_list == NULL) { - WriteDB(db_cached, inventory_key, "\n", 1); + WriteDB(db_cached, inventory_key, "", 0); } else { diff -Nru cfengine3-3.15.6/cf-check/dump.c cfengine3-3.15.7/cf-check/dump.c --- cfengine3-3.15.6/cf-check/dump.c 2022-06-29 07:35:25.000000000 +0000 +++ cfengine3-3.15.7/cf-check/dump.c 2022-11-09 16:33:15.000000000 +0000 @@ -47,7 +47,6 @@ const char *const data, size_t size, const bool strip_strings) { assert(data != NULL); - assert(size != 0); // Don't know of anything we store which can be size 0 printf("\""); if (size == 0) diff -Nru cfengine3-3.15.6/cf-check/validate.c cfengine3-3.15.7/cf-check/validate.c --- cfengine3-3.15.6/cf-check/validate.c 2022-06-29 07:35:25.000000000 +0000 +++ cfengine3-3.15.7/cf-check/validate.c 2022-11-09 16:33:15.000000000 +0000 @@ -56,11 +56,19 @@ static Slice *NewLMDBSlice(void *data, size_t size) { assert(data != NULL); - assert(size > 0); Slice *r = xcalloc(1, sizeof(Slice)); r->size = size; - r->data = xmemdup(data, size); + if (size == 0) + { + // don't call xmemdup(malloc inside) which is indeterminate whether + // it returns NULL or a valid pointer given size is 0. + r->data = NULL; + } + else + { + r->data = xmemdup(data, size); + } return r; } @@ -383,11 +391,6 @@ static bool ValidateMDBValue( ValidatorState *state, MDB_val value, const char *name) { - if (value.mv_size <= 0) - { - ValidationError(state, "0 size %s", name); - return false; - } if (value.mv_data == NULL) { ValidationError(state, "NULL %s", name); diff -Nru cfengine3-3.15.6/cf-monitord/env_monitor.c cfengine3-3.15.7/cf-monitord/env_monitor.c --- cfengine3-3.15.6/cf-monitord/env_monitor.c 2022-06-29 07:35:25.000000000 +0000 +++ cfengine3-3.15.7/cf-monitord/env_monitor.c 2022-11-09 16:33:15.000000000 +0000 @@ -646,7 +646,7 @@ } else { - snprintf(buff, CF_BUFSIZE, "%s_high_ldt", name); + snprintf(buff, CF_BUFSIZE, "%s_low_ldt", name); } AppendItem(&mon_data, buff, "2"); diff -Nru cfengine3-3.15.6/CFVERSION cfengine3-3.15.7/CFVERSION --- cfengine3-3.15.6/CFVERSION 2022-06-29 07:35:29.000000000 +0000 +++ cfengine3-3.15.7/CFVERSION 2022-11-09 16:33:27.000000000 +0000 @@ -1 +1 @@ -3.15.6a.fd2833b82 +3.15.7a.a59c4c75e diff -Nru cfengine3-3.15.6/ChangeLog cfengine3-3.15.7/ChangeLog --- cfengine3-3.15.6/ChangeLog 2022-06-29 07:35:25.000000000 +0000 +++ cfengine3-3.15.7/ChangeLog 2022-11-09 16:33:15.000000000 +0000 @@ -1,3 +1,14 @@ +3.15.7: + - '$(this.promiser)' can now be used in 'files' promise attributes + 'if', 'ifvarclass' and 'unless' (CFE-2262, ENT-7008) + - Adjusted cf-check and package module code for empty updates list + (ENT-9050) + - Allowed ciphers are now properly split into TLS 1.3 cipher suites + and ciphers used for TLS 1.2 and older (ENT-9018) + - Fixed definition of _low_ldt class from cf-monitord (CFE-4022) + - Insertion of contents of a file with blank lines into another file + with blank lines no longer results in mixed content (ENT-8788) + 3.15.6: - Added protocol 3 (cookie) to syntax description (ENT-8560) - cf-secret encrypt now encrypts for localhost if no key or host is specified (CFE-3874) diff -Nru cfengine3-3.15.6/configure cfengine3-3.15.7/configure --- cfengine3-3.15.6/configure 2022-06-29 07:35:42.000000000 +0000 +++ cfengine3-3.15.7/configure 2022-11-09 16:33:40.000000000 +0000 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for cfengine 3.15.6. +# Generated by GNU Autoconf 2.69 for cfengine 3.15.7. # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. @@ -587,8 +587,8 @@ # Identity of this package. PACKAGE_NAME='cfengine' PACKAGE_TARNAME='cfengine' -PACKAGE_VERSION='3.15.6' -PACKAGE_STRING='cfengine 3.15.6' +PACKAGE_VERSION='3.15.7' +PACKAGE_STRING='cfengine 3.15.7' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -1516,7 +1516,7 @@ # 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 cfengine 3.15.6 to adapt to many kinds of systems. +\`configure' configures cfengine 3.15.7 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1588,7 +1588,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of cfengine 3.15.6:";; + short | recursive ) echo "Configuration of cfengine 3.15.7:";; esac cat <<\_ACEOF @@ -1760,7 +1760,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -cfengine configure 3.15.6 +cfengine configure 3.15.7 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2282,7 +2282,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by cfengine $as_me 3.15.6, which was +It was created by cfengine $as_me 3.15.7, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -3306,7 +3306,7 @@ # Define the identity of the package. PACKAGE='cfengine' - VERSION='3.15.6' + VERSION='3.15.7' cat >>confdefs.h <<_ACEOF @@ -3570,7 +3570,7 @@ -cfengine_version=3.15.6 +cfengine_version=3.15.7 @@ -23649,7 +23649,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by cfengine $as_me 3.15.6, which was +This file was extended by cfengine $as_me 3.15.7, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -23715,7 +23715,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -cfengine config.status 3.15.6 +cfengine config.status 3.15.7 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff -Nru cfengine3-3.15.6/debian/changelog cfengine3-3.15.7/debian/changelog --- cfengine3-3.15.6/debian/changelog 2022-09-22 14:41:39.000000000 +0000 +++ cfengine3-3.15.7/debian/changelog 2022-12-01 15:29:07.000000000 +0000 @@ -1,3 +1,10 @@ +cfengine3 (3.15.7-1) unstable; urgency=medium + + * update download filename debian/watch + * New upstream version 3.15.7 + + -- Christoph Martin Thu, 01 Dec 2022 16:29:07 +0100 + cfengine3 (3.15.6-1) unstable; urgency=medium * New upstream version 3.15.6 diff -Nru cfengine3-3.15.6/debian/patches/cf3_path_root_prog.patch cfengine3-3.15.7/debian/patches/cf3_path_root_prog.patch --- cfengine3-3.15.6/debian/patches/cf3_path_root_prog.patch 2022-09-22 14:41:39.000000000 +0000 +++ cfengine3-3.15.7/debian/patches/cf3_path_root_prog.patch 2022-12-01 15:29:07.000000000 +0000 @@ -41,7 +41,7 @@ [AC_DEFINE_UNQUOTED(USERDEL, ["$USERDEL"], [Path to userdel tool])] --- a/libntech/configure.ac +++ b/libntech/configure.ac -@@ -816,7 +816,7 @@ AC_REPLACE_FUNCS(closefrom) +@@ -824,7 +824,7 @@ AC_REPLACE_FUNCS(closefrom) AC_CHECK_HEADERS([sys/pstat.h]) AC_CHECK_FUNCS(pstat_getfile2) @@ -50,7 +50,7 @@ AS_IF([test "x$CHPASSWD" != "x"], [AC_DEFINE(HAVE_CHPASSWD, 1, [Define if chpasswd tool is present])] [AC_DEFINE_UNQUOTED(CHPASSWD, ["$CHPASSWD"], [Path to chpasswd tool])] -@@ -829,19 +829,19 @@ AS_IF([test "x$PWDADM" != "x"], +@@ -837,19 +837,19 @@ AS_IF([test "x$PWDADM" != "x"], [AC_DEFINE_UNQUOTED(PWDADM, ["$PWDADM"], [Path to pwdadm tool])] ) diff -Nru cfengine3-3.15.6/debian/patches/libxml2.patch cfengine3-3.15.7/debian/patches/libxml2.patch --- cfengine3-3.15.6/debian/patches/libxml2.patch 2022-09-22 14:41:39.000000000 +0000 +++ cfengine3-3.15.7/debian/patches/libxml2.patch 2022-12-01 15:29:07.000000000 +0000 @@ -112,9 +112,9 @@ [test "x$with_libxml2" != xno && --- a/libntech/configure.ac +++ b/libntech/configure.ac -@@ -110,6 +110,14 @@ AC_CONFIG_LIBOBJ_DIR(libcompat) - AC_PATH_PROG(GETCONF, getconf, false, $PATH:$prefix/bin:/usr/bin:/usr/local/bin:/sw/bin) - AM_CONDITIONAL(CROSS_COMPILING, test "x$cross_compiling" = "xyes") +@@ -52,6 +52,14 @@ m4_define(AUTOMAKE_VERSION, m4_normalize + m4_define(SERIAL_TESTS, m4_bmatch(AUTOMAKE_VERSION, [^1\.\([0-9]\|1[0-1]\)\(\.\|$\)], [], [serial-tests])) + AC_MSG_RESULT(AUTOMAKE_VERSION) +# Check whether `pkg-config' is available +AC_ARG_VAR([PKG_CONFIG], [path to pkg-config]) @@ -125,95 +125,5 @@ + AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) +fi - dnl ###################################################################### - dnl Use pthreads if available -@@ -523,43 +531,59 @@ AC_ARG_WITH([libxml2], - [], - [with_libxml2=check]) - --if test "x$with_libxml2" != xno --then -- if test "x$with_libxml2" != xyes && -- test "x$with_libxml2" != xcheck -- then -- XML2_CONFIG=$with_libxml2/bin/xml2-config -- else -- XML2_CONFIG=xml2-config -+have_libxml2="no" -+ -+if test "x$with_libxml2" != "xno"; then -+ if test -n "$PKG_CONFIG"; then -+ AC_MSG_CHECKING([for libxml2 via pkg-config]) -+ if `$PKG_CONFIG --exists libxml-2.0`; then -+ LIBXML2_CFLAGS=`$PKG_CONFIG --cflags libxml-2.0` -+ LIBXML2_CPPFLAGS="$LIBXML2_CFLAGS" -+ LIBXML2_LIBS=`$PKG_CONFIG --libs libxml-2.0` -+ LIBXML2_VERSION=`$PKG_CONFIG --modversion libxml-2.0` -+ AC_MSG_RESULT([found version $LIBXML2_VERSION]) -+ have_libxml2="yes" -+ else -+ AC_MSG_RESULT([not found]) -+ fi - fi - -- # xml2-config is only for native builds -- if test "x$cross_compiling" = "xno" && test x`which $XML2_CONFIG` != x -- then -- xml2_include_dir=`$XML2_CONFIG --cflags` -- if test -n "$xml2_include_dir" -+ if test "x$have_libxml2" = "xno"; then -+ if test "x$with_libxml2" != "xyes" && -+ test "x$with_libxml2" != "xcheck" && -+ test -x "$with_libxml2/bin/xml2-config" - then -- LIBXML2_CPPFLAGS="$xml2_include_dir" -+ XML2_CONFIG=$with_libxml2/bin/xml2-config -+ else -+ AC_PATH_PROG([XML2_CONFIG], [xml2-config]) -+ fi -+ -+ # xml2-config is only for native builds -+ if test "x$cross_compiling" = "xno" && test -n "$XML2_CONFIG"; then -+ xml2_include_dir=`$XML2_CONFIG --cflags` -+ if test -n "$xml2_include_dir"; then -+ LIBXML2_CPPFLAGS="$xml2_include_dir" -+ fi -+ else # xml2-config not found -+ # if a path, e.g. /var/cfengine was given, then we -+ # must take into account that libxml2 includes are in -+ # /var/cfengine/include/libxml2 -+ LIBXML2_CPPFLAGS=-I$with_libxml2/include/libxml2 - fi -- else # xml2-config not found -- # if a path, e.g. /var/cfengine was given, then we -- # must take into account that libxml2 includes are in -- # /var/cfengine/include/libxml2 -- LIBXML2_CPPFLAGS=-I$with_libxml2/include/libxml2 - fi -+fi - -- CF3_WITH_LIBRARY(libxml2, -- [AC_CHECK_LIB(xml2, xmlFirstElementChild, -- [], -- [if test "x$with_libxml2" != xcheck; then -- AC_MSG_ERROR(Cannotfind libxml2); fi] -- ) -- AC_CHECK_HEADERS([libxml/xmlwriter.h], [break], -- [if test "x$with_libxml2" != xcheck; then -- AC_MSG_ERROR(Cannot find libxml2); fi] -- )] -+CF3_WITH_LIBRARY(libxml2, -+ [AC_CHECK_LIB(xml2, xmlFirstElementChild, -+ [], -+ [if test "x$with_libxml2" != xcheck; then -+ AC_MSG_ERROR(Cannot find libxml2); fi] - ) --fi -+ AC_CHECK_HEADERS([libxml/xmlwriter.h], [break], -+ [if test "x$with_libxml2" != xcheck; then -+ AC_MSG_ERROR(Cannot find libxml2); fi] -+ )] -+) - - AM_CONDITIONAL([HAVE_LIBXML2], - [test "x$with_libxml2" != xno && + AM_INIT_AUTOMAKE([tar-ustar] SERIAL_TESTS) + AM_MAINTAINER_MODE([enable]) diff -Nru cfengine3-3.15.6/debian/patches/openssl3.patch cfengine3-3.15.7/debian/patches/openssl3.patch --- cfengine3-3.15.6/debian/patches/openssl3.patch 2022-09-22 14:41:39.000000000 +0000 +++ cfengine3-3.15.7/debian/patches/openssl3.patch 2022-12-01 15:29:07.000000000 +0000 @@ -16,19 +16,6 @@ if test "x$ac_cv_lib_crypto_RSA_generate_key_ex" = "xno" && \ test "x$ac_cv_lib_crypto_RSA_generate_key" = "xno" ; then AC_MSG_ERROR(Cannot find OpenSSL) ---- a/libntech/configure.ac -+++ b/libntech/configure.ac -@@ -385,10 +385,6 @@ if test "x$with_openssl" != "xno"; then - #endif - ]])],[AC_MSG_RESULT(OK)],[AC_MSG_ERROR(This release of CFEngine requires OpenSSL >= 0.9.7)]) - -- if test "x$ac_cv_lib_crypto_RSA_generate_key_ex" = "xyes" ; then -- AC_DEFINE(OPENSSL_NO_DEPRECATED, 1, [Define if non deprecated API is available.]) -- fi -- - if test "x$ac_cv_lib_crypto_RSA_generate_key_ex" = "xno" && \ - test "x$ac_cv_lib_crypto_RSA_generate_key" = "xno" ; then - AC_MSG_ERROR(Cannot find OpenSSL) --- a/libpromises/crypto.c +++ b/libpromises/crypto.c @@ -27,6 +27,7 @@ diff -Nru cfengine3-3.15.6/debian/watch cfengine3-3.15.7/debian/watch --- cfengine3-3.15.6/debian/watch 2022-09-22 14:41:39.000000000 +0000 +++ cfengine3-3.15.7/debian/watch 2022-12-01 15:29:07.000000000 +0000 @@ -5,8 +5,8 @@ # release tarballs from them. # Therefore, the following looks pretty ugly. If someone finds a sane way to improve it, # please do so! -opts=downloadurlmangle=s%https://github.com/cfengine/core/archive/refs/tags/(@ANY_VERSION@@ARCHIVE_EXT@)%https://cfengine-package-repos.s3.amazonaws.com/tarballs/cfengine-$1%,\ - filenamemangle=s%.*/(@ANY_VERSION@)(@ARCHIVE_EXT@)%cfengine-$1$3% \ +opts=downloadurlmangle=s%https://github.com/cfengine/core/archive/refs/tags/(@ANY_VERSION@@ARCHIVE_EXT@)%https://cfengine-package-repos.s3.amazonaws.com/tarballs/cfengine-community-$1%,\ + filenamemangle=s%.*/(@ANY_VERSION@)(@ARCHIVE_EXT@)%cfengine-community-$1$3% \ https://github.com/cfengine/core/tags .*/([\.\d]+)@ARCHIVE_EXT@ opts=component=masterfiles,downloadurlmangle=s%https://github.com/cfengine/masterfiles/archive/refs/tags/(@ANY_VERSION@@ARCHIVE_EXT@)%https://cfengine-package-repos.s3.amazonaws.com/tarballs/cfengine-masterfiles-$1%,\ filenamemangle=s%.*/(@ANY_VERSION@)(@ARCHIVE_EXT@)%cfengine-masterfiles-$1$3% \ diff -Nru cfengine3-3.15.6/libcfnet/tls_generic.c cfengine3-3.15.7/libcfnet/tls_generic.c --- cfengine3-3.15.6/libcfnet/tls_generic.c 2022-06-29 07:35:25.000000000 +0000 +++ cfengine3-3.15.7/libcfnet/tls_generic.c 2022-11-09 16:33:15.000000000 +0000 @@ -1021,8 +1021,22 @@ } } + /* The above code can leave a trailing colon in the lists because it copies + * the items over *with* the colons splitting them. */ + if ((ciphers_len > 0) && (ciphers[ciphers_len - 1] == ':')) + { + ciphers[ciphers_len - 1] = '\0'; + ciphers_len--; + } + if ((cipher_suites_len > 0) && (cipher_suites[cipher_suites_len - 1] == ':')) + { + cipher_suites[cipher_suites_len - 1] = '\0'; + cipher_suites_len--; + } + if (ciphers_len != 0) /* TLS <= 1.2 ciphers */ { + Log(LOG_LEVEL_VERBOSE, "Enabling ciphers '%s' for TLS 1.2 and older", ciphers); int ret = SSL_CTX_set_cipher_list(ssl_ctx, ciphers); if (ret != 1) { @@ -1034,6 +1048,7 @@ #ifdef HAVE_TLS_1_3 if (cipher_suites_len != 0) /* TLS >= 1.3 ciphers */ { + Log(LOG_LEVEL_VERBOSE, "Enabling cipher suites '%s' for TLS 1.3 and newer", cipher_suites); int ret = SSL_CTX_set_ciphersuites(ssl_ctx, cipher_suites); if (ret != 1) { diff -Nru cfengine3-3.15.6/libntech/config.h.in cfengine3-3.15.7/libntech/config.h.in --- cfengine3-3.15.6/libntech/config.h.in 2022-06-29 07:35:38.000000000 +0000 +++ cfengine3-3.15.7/libntech/config.h.in 2022-11-09 16:33:36.000000000 +0000 @@ -993,8 +993,8 @@ on `HAVE_STRUCT_NLIST_N_UN_N_NAME */ #undef NLIST_NAME_UNION -/* Define if non deprecated API is available. */ -#undef OPENSSL_NO_DEPRECATED +/* Suppress deprecation warnings from OpenSSL 3 */ +#undef OPENSSL_SUPPRESS_DEPRECATED /* Name of package */ #undef PACKAGE diff -Nru cfengine3-3.15.6/libntech/configure cfengine3-3.15.7/libntech/configure --- cfengine3-3.15.6/libntech/configure 2022-06-29 07:35:38.000000000 +0000 +++ cfengine3-3.15.7/libntech/configure 2022-11-09 16:33:36.000000000 +0000 @@ -693,6 +693,7 @@ LIBXML2_CFLAGS LIBXML2_CPPFLAGS LIBXML2_PATH +XML2_CONFIG LIBYAML_LIBS LIBYAML_LDFLAGS LIBYAML_CFLAGS @@ -749,6 +750,9 @@ PTHREAD_LIBS PTHREAD_CC acx_pthread_config +PKG_CONFIG_LIBDIR +PKG_CONFIG_PATH +PKG_CONFIG CROSS_COMPILING_FALSE CROSS_COMPILING_TRUE GETCONF @@ -931,7 +935,10 @@ CPP LT_SYS_LIBRARY_PATH YACC -YFLAGS' +YFLAGS +PKG_CONFIG +PKG_CONFIG_PATH +PKG_CONFIG_LIBDIR' # Initialize some variables set by options. @@ -1643,6 +1650,11 @@ YFLAGS The list of arguments that will be passed by default to $YACC. This script will default YFLAGS to the empty string to avoid a default value of `-d' given by some make applications. + PKG_CONFIG path to pkg-config + PKG_CONFIG_PATH + directories to add to the pkg-config search path + PKG_CONFIG_LIBDIR + path overriding pkg-config's search path Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. @@ -4647,8 +4659,6 @@ # included file COSL.txt. # -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for HP-UX aC" >&5 -$as_echo_n "checking for HP-UX aC... " >&6; } ac_ext=c ac_cpp='$CPP $CPPFLAGS' @@ -4797,17 +4807,26 @@ _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } + +HP_UX_AC="no" else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } + CFLAGS="$CFLAGS -Agcc" CPPFLAGS="$CPPFLAGS -Agcc" -HP_UX_AC=yes +HP_UX_AC="yes" fi rm -f conftest.err conftest.i conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for HP-UX aC" >&5 +$as_echo_n "checking for HP-UX aC... " >&6; } +if test "x$HP_UX_AC" = "xyes"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GCC specific compile flags" >&5 $as_echo_n "checking for GCC specific compile flags... " >&6; } if test x"$GCC" = "xyes" && test x"$HP_UX_AC" != x"yes"; then @@ -13068,6 +13087,111 @@ fi +# Check whether `pkg-config' is available + + + + +if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. +set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_PKG_CONFIG+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $PKG_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +PKG_CONFIG=$ac_cv_path_PKG_CONFIG +if test -n "$PKG_CONFIG"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_path_PKG_CONFIG"; then + ac_pt_PKG_CONFIG=$PKG_CONFIG + # Extract the first word of "pkg-config", so it can be a program name with args. +set dummy pkg-config; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $ac_pt_PKG_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG +if test -n "$ac_pt_PKG_CONFIG"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 +$as_echo "$ac_pt_PKG_CONFIG" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_pt_PKG_CONFIG" = x; then + PKG_CONFIG="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + PKG_CONFIG=$ac_pt_PKG_CONFIG + fi +else + PKG_CONFIG="$ac_cv_path_PKG_CONFIG" +fi + +fi @@ -14140,7 +14264,7 @@ #include - #if OPENSSL_VERSION_NUMBER < 0x0090602fL + #if OPENSSL_VERSION_NUMBER < 0x1000000fL #This OpenSSL is too old #endif @@ -14149,20 +14273,16 @@ { $as_echo "$as_me:${as_lineno-$LINENO}: result: OK" >&5 $as_echo "OK" >&6; } else - as_fn_error $? "This release of CFEngine requires OpenSSL >= 0.9.7" "$LINENO" 5 + as_fn_error $? "This release of CFEngine requires OpenSSL >= 1.0.0" "$LINENO" 5 fi rm -f conftest.err conftest.i conftest.$ac_ext + if test "x$ac_cv_lib_crypto_RSA_generate_key_ex" = "xno"; then + as_fn_error $? "Cannot find OpenSSL" "$LINENO" 5 + fi - if test "x$ac_cv_lib_crypto_RSA_generate_key_ex" = "xyes" ; then - -$as_echo "#define OPENSSL_NO_DEPRECATED 1" >>confdefs.h - fi +$as_echo "#define OPENSSL_SUPPRESS_DEPRECATED 1" >>confdefs.h - if test "x$ac_cv_lib_crypto_RSA_generate_key_ex" = "xno" && \ - test "x$ac_cv_lib_crypto_RSA_generate_key" = "xno" ; then - as_fn_error $? "Cannot find OpenSSL" "$LINENO" 5 - fi ac_fn_c_check_decl "$LINENO" "SSL_OP_NO_TLSv1_1" "ac_cv_have_decl_SSL_OP_NO_TLSv1_1" "#include @@ -15038,30 +15158,89 @@ fi -if test "x$with_libxml2" != xno -then - if test "x$with_libxml2" != xyes && - test "x$with_libxml2" != xcheck - then - XML2_CONFIG=$with_libxml2/bin/xml2-config - else - XML2_CONFIG=xml2-config +have_libxml2="no" + +if test "x$with_libxml2" != "xno"; then + if test -n "$PKG_CONFIG"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libxml2 via pkg-config" >&5 +$as_echo_n "checking for libxml2 via pkg-config... " >&6; } + if `$PKG_CONFIG --exists libxml-2.0`; then + LIBXML2_CFLAGS=`$PKG_CONFIG --cflags libxml-2.0` + LIBXML2_CPPFLAGS="$LIBXML2_CFLAGS" + LIBXML2_LIBS=`$PKG_CONFIG --libs libxml-2.0` + LIBXML2_VERSION=`$PKG_CONFIG --modversion libxml-2.0` + { $as_echo "$as_me:${as_lineno-$LINENO}: result: found version $LIBXML2_VERSION" >&5 +$as_echo "found version $LIBXML2_VERSION" >&6; } + have_libxml2="yes" + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5 +$as_echo "not found" >&6; } + fi fi - # xml2-config is only for native builds - if test "x$cross_compiling" = "xno" && test x`which $XML2_CONFIG` != x - then - xml2_include_dir=`$XML2_CONFIG --cflags` - if test -n "$xml2_include_dir" + if test "x$have_libxml2" = "xno"; then + if test "x$with_libxml2" != "xyes" && + test "x$with_libxml2" != "xcheck" && + test -x "$with_libxml2/bin/xml2-config" then - LIBXML2_CPPFLAGS="$xml2_include_dir" + XML2_CONFIG=$with_libxml2/bin/xml2-config + else + # Extract the first word of "xml2-config", so it can be a program name with args. +set dummy xml2-config; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_XML2_CONFIG+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $XML2_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_XML2_CONFIG="$XML2_CONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_XML2_CONFIG="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +XML2_CONFIG=$ac_cv_path_XML2_CONFIG +if test -n "$XML2_CONFIG"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XML2_CONFIG" >&5 +$as_echo "$XML2_CONFIG" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + fi + + # xml2-config is only for native builds + if test "x$cross_compiling" = "xno" && test -n "$XML2_CONFIG"; then + xml2_include_dir=`$XML2_CONFIG --cflags` + if test -n "$xml2_include_dir"; then + LIBXML2_CPPFLAGS="$xml2_include_dir" + fi + else # xml2-config not found + # if a path, e.g. /var/cfengine was given, then we + # must take into account that libxml2 includes are in + # /var/cfengine/include/libxml2 + LIBXML2_CPPFLAGS=-I$with_libxml2/include/libxml2 fi - else # xml2-config not found - # if a path, e.g. /var/cfengine was given, then we - # must take into account that libxml2 includes are in - # /var/cfengine/include/libxml2 - LIBXML2_CPPFLAGS=-I$with_libxml2/include/libxml2 fi +fi @@ -15145,11 +15324,11 @@ else if test "x$with_libxml2" != xcheck; then - as_fn_error $? "Cannotfind libxml2" "$LINENO" 5; fi + as_fn_error $? "Cannot find libxml2" "$LINENO" 5; fi fi - for ac_header in libxml/xmlwriter.h + for ac_header in libxml/xmlwriter.h do : ac_fn_c_check_header_mongrel "$LINENO" "libxml/xmlwriter.h" "ac_cv_header_libxml_xmlwriter_h" "$ac_includes_default" if test "x$ac_cv_header_libxml_xmlwriter_h" = xyes; then : @@ -15159,7 +15338,7 @@ break else if test "x$with_libxml2" != xcheck; then - as_fn_error $? "Cannot find libxml2" "$LINENO" 5; fi + as_fn_error $? "Cannot find libxml2" "$LINENO" 5; fi fi @@ -15198,7 +15377,6 @@ -fi if test "x$with_libxml2" != xno && test "x$ac_cv_lib_xml2_xmlFirstElementChild" = xyes; then diff -Nru cfengine3-3.15.6/libntech/configure.ac cfengine3-3.15.7/libntech/configure.ac --- cfengine3-3.15.6/libntech/configure.ac 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/configure.ac 2022-11-09 16:33:18.000000000 +0000 @@ -110,6 +110,14 @@ AC_PATH_PROG(GETCONF, getconf, false, $PATH:$prefix/bin:/usr/bin:/usr/local/bin:/sw/bin) AM_CONDITIONAL(CROSS_COMPILING, test "x$cross_compiling" = "xyes") +# Check whether `pkg-config' is available +AC_ARG_VAR([PKG_CONFIG], [path to pkg-config]) +AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to the pkg-config search path]) +AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's search path]) + +if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then + AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) +fi dnl ###################################################################### dnl Use pthreads if available @@ -380,20 +388,16 @@ AC_PREPROC_IFELSE([AC_LANG_SOURCE([[ #include - #if OPENSSL_VERSION_NUMBER < 0x0090602fL + #if OPENSSL_VERSION_NUMBER < 0x1000000fL #This OpenSSL is too old #endif - ]])],[AC_MSG_RESULT(OK)],[AC_MSG_ERROR(This release of CFEngine requires OpenSSL >= 0.9.7)]) - - if test "x$ac_cv_lib_crypto_RSA_generate_key_ex" = "xyes" ; then - AC_DEFINE(OPENSSL_NO_DEPRECATED, 1, [Define if non deprecated API is available.]) - fi - - if test "x$ac_cv_lib_crypto_RSA_generate_key_ex" = "xno" && \ - test "x$ac_cv_lib_crypto_RSA_generate_key" = "xno" ; then + ]])],[AC_MSG_RESULT(OK)],[AC_MSG_ERROR(This release of CFEngine requires OpenSSL >= 1.0.0)]) + if test "x$ac_cv_lib_crypto_RSA_generate_key_ex" = "xno"; then AC_MSG_ERROR(Cannot find OpenSSL) fi + AC_DEFINE([OPENSSL_SUPPRESS_DEPRECATED], [1], [Suppress deprecation warnings from OpenSSL 3]) + AC_CHECK_DECL([SSL_OP_NO_TLSv1_1], [AC_DEFINE([HAVE_TLS_1_1], [1], [Define if TLS 1.1 is supported by OpenSSL])], [], [[#include ]] @@ -527,43 +531,59 @@ [], [with_libxml2=check]) -if test "x$with_libxml2" != xno -then - if test "x$with_libxml2" != xyes && - test "x$with_libxml2" != xcheck - then - XML2_CONFIG=$with_libxml2/bin/xml2-config - else - XML2_CONFIG=xml2-config +have_libxml2="no" + +if test "x$with_libxml2" != "xno"; then + if test -n "$PKG_CONFIG"; then + AC_MSG_CHECKING([for libxml2 via pkg-config]) + if `$PKG_CONFIG --exists libxml-2.0`; then + LIBXML2_CFLAGS=`$PKG_CONFIG --cflags libxml-2.0` + LIBXML2_CPPFLAGS="$LIBXML2_CFLAGS" + LIBXML2_LIBS=`$PKG_CONFIG --libs libxml-2.0` + LIBXML2_VERSION=`$PKG_CONFIG --modversion libxml-2.0` + AC_MSG_RESULT([found version $LIBXML2_VERSION]) + have_libxml2="yes" + else + AC_MSG_RESULT([not found]) + fi fi - # xml2-config is only for native builds - if test "x$cross_compiling" = "xno" && test x`which $XML2_CONFIG` != x - then - xml2_include_dir=`$XML2_CONFIG --cflags` - if test -n "$xml2_include_dir" + if test "x$have_libxml2" = "xno"; then + if test "x$with_libxml2" != "xyes" && + test "x$with_libxml2" != "xcheck" && + test -x "$with_libxml2/bin/xml2-config" then - LIBXML2_CPPFLAGS="$xml2_include_dir" + XML2_CONFIG=$with_libxml2/bin/xml2-config + else + AC_PATH_PROG([XML2_CONFIG], [xml2-config]) + fi + + # xml2-config is only for native builds + if test "x$cross_compiling" = "xno" && test -n "$XML2_CONFIG"; then + xml2_include_dir=`$XML2_CONFIG --cflags` + if test -n "$xml2_include_dir"; then + LIBXML2_CPPFLAGS="$xml2_include_dir" + fi + else # xml2-config not found + # if a path, e.g. /var/cfengine was given, then we + # must take into account that libxml2 includes are in + # /var/cfengine/include/libxml2 + LIBXML2_CPPFLAGS=-I$with_libxml2/include/libxml2 fi - else # xml2-config not found - # if a path, e.g. /var/cfengine was given, then we - # must take into account that libxml2 includes are in - # /var/cfengine/include/libxml2 - LIBXML2_CPPFLAGS=-I$with_libxml2/include/libxml2 fi +fi - CF3_WITH_LIBRARY(libxml2, - [AC_CHECK_LIB(xml2, xmlFirstElementChild, - [], - [if test "x$with_libxml2" != xcheck; then - AC_MSG_ERROR(Cannotfind libxml2); fi] - ) - AC_CHECK_HEADERS([libxml/xmlwriter.h], [break], - [if test "x$with_libxml2" != xcheck; then - AC_MSG_ERROR(Cannot find libxml2); fi] - )] +CF3_WITH_LIBRARY(libxml2, + [AC_CHECK_LIB(xml2, xmlFirstElementChild, + [], + [if test "x$with_libxml2" != xcheck; then + AC_MSG_ERROR(Cannot find libxml2); fi] ) -fi + AC_CHECK_HEADERS([libxml/xmlwriter.h], [break], + [if test "x$with_libxml2" != xcheck; then + AC_MSG_ERROR(Cannot find libxml2); fi] + )] +) AM_CONDITIONAL([HAVE_LIBXML2], [test "x$with_libxml2" != xno && diff -Nru cfengine3-3.15.6/libntech/libcompat/clock_gettime.c cfengine3-3.15.7/libntech/libcompat/clock_gettime.c --- cfengine3-3.15.6/libntech/libcompat/clock_gettime.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libcompat/clock_gettime.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libcompat/closefrom.c cfengine3-3.15.7/libntech/libcompat/closefrom.c --- cfengine3-3.15.6/libntech/libcompat/closefrom.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libcompat/closefrom.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libcompat/dirfd.c cfengine3-3.15.7/libntech/libcompat/dirfd.c --- cfengine3-3.15.6/libntech/libcompat/dirfd.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libcompat/dirfd.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libcompat/drand48.c cfengine3-3.15.7/libntech/libcompat/drand48.c --- cfengine3-3.15.6/libntech/libcompat/drand48.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libcompat/drand48.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libcompat/fchmodat.c cfengine3-3.15.7/libntech/libcompat/fchmodat.c --- cfengine3-3.15.6/libntech/libcompat/fchmodat.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libcompat/fchmodat.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libcompat/fchownat.c cfengine3-3.15.7/libntech/libcompat/fchownat.c --- cfengine3-3.15.6/libntech/libcompat/fchownat.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libcompat/fchownat.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libcompat/fstatat.c cfengine3-3.15.7/libntech/libcompat/fstatat.c --- cfengine3-3.15.6/libntech/libcompat/fstatat.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libcompat/fstatat.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libcompat/generic_at.c cfengine3-3.15.7/libntech/libcompat/generic_at.c --- cfengine3-3.15.6/libntech/libcompat/generic_at.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libcompat/generic_at.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libcompat/generic_at.h cfengine3-3.15.7/libntech/libcompat/generic_at.h --- cfengine3-3.15.6/libntech/libcompat/generic_at.h 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libcompat/generic_at.h 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libcompat/gmtime_r.c cfengine3-3.15.7/libntech/libcompat/gmtime_r.c --- cfengine3-3.15.6/libntech/libcompat/gmtime_r.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libcompat/gmtime_r.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libcompat/localtime_r.c cfengine3-3.15.7/libntech/libcompat/localtime_r.c --- cfengine3-3.15.6/libntech/libcompat/localtime_r.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libcompat/localtime_r.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libcompat/log2.c cfengine3-3.15.7/libntech/libcompat/log2.c --- cfengine3-3.15.6/libntech/libcompat/log2.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libcompat/log2.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libcompat/Makefile.in cfengine3-3.15.7/libntech/libcompat/Makefile.in --- cfengine3-3.15.6/libntech/libcompat/Makefile.in 2022-06-29 07:35:39.000000000 +0000 +++ cfengine3-3.15.7/libntech/libcompat/Makefile.in 2022-11-09 16:33:37.000000000 +0000 @@ -309,6 +309,9 @@ PCRE_LIBS = @PCRE_LIBS@ PCRE_PATH = @PCRE_PATH@ PERL = @PERL@ +PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSTGRESQL_CFLAGS = @POSTGRESQL_CFLAGS@ POSTGRESQL_CPPFLAGS = @POSTGRESQL_CPPFLAGS@ POSTGRESQL_LDFLAGS = @POSTGRESQL_LDFLAGS@ @@ -323,6 +326,7 @@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ +XML2_CONFIG = @XML2_CONFIG@ YACC = @YACC@ YFLAGS = @YFLAGS@ abs_builddir = @abs_builddir@ diff -Nru cfengine3-3.15.6/libntech/libcompat/memdup.c cfengine3-3.15.7/libntech/libcompat/memdup.c --- cfengine3-3.15.6/libntech/libcompat/memdup.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libcompat/memdup.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libcompat/memmem.c cfengine3-3.15.7/libntech/libcompat/memmem.c --- cfengine3-3.15.6/libntech/libcompat/memmem.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libcompat/memmem.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libcompat/memrchr.c cfengine3-3.15.7/libntech/libcompat/memrchr.c --- cfengine3-3.15.6/libntech/libcompat/memrchr.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libcompat/memrchr.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libcompat/mkdtemp.c cfengine3-3.15.7/libntech/libcompat/mkdtemp.c --- cfengine3-3.15.6/libntech/libcompat/mkdtemp.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libcompat/mkdtemp.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libcompat/nanosleep.c cfengine3-3.15.7/libntech/libcompat/nanosleep.c --- cfengine3-3.15.6/libntech/libcompat/nanosleep.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libcompat/nanosleep.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libcompat/openat.c cfengine3-3.15.7/libntech/libcompat/openat.c --- cfengine3-3.15.6/libntech/libcompat/openat.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libcompat/openat.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libcompat/pthread_attr_setstacksize.c cfengine3-3.15.7/libntech/libcompat/pthread_attr_setstacksize.c --- cfengine3-3.15.6/libntech/libcompat/pthread_attr_setstacksize.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libcompat/pthread_attr_setstacksize.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libcompat/pthread_sigmask.c cfengine3-3.15.7/libntech/libcompat/pthread_sigmask.c --- cfengine3-3.15.6/libntech/libcompat/pthread_sigmask.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libcompat/pthread_sigmask.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libcompat/readlinkat.c cfengine3-3.15.7/libntech/libcompat/readlinkat.c --- cfengine3-3.15.6/libntech/libcompat/readlinkat.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libcompat/readlinkat.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libcompat/round.c cfengine3-3.15.7/libntech/libcompat/round.c --- cfengine3-3.15.6/libntech/libcompat/round.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libcompat/round.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libcompat/rpl_ctime.c cfengine3-3.15.7/libntech/libcompat/rpl_ctime.c --- cfengine3-3.15.6/libntech/libcompat/rpl_ctime.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libcompat/rpl_ctime.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libcompat/seteuid.c cfengine3-3.15.7/libntech/libcompat/seteuid.c --- cfengine3-3.15.6/libntech/libcompat/seteuid.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libcompat/seteuid.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libcompat/setlinebuf.c cfengine3-3.15.7/libntech/libcompat/setlinebuf.c --- cfengine3-3.15.6/libntech/libcompat/setlinebuf.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libcompat/setlinebuf.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libcompat/srand48.c cfengine3-3.15.7/libntech/libcompat/srand48.c --- cfengine3-3.15.6/libntech/libcompat/srand48.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libcompat/srand48.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libcompat/stpncpy.c cfengine3-3.15.7/libntech/libcompat/stpncpy.c --- cfengine3-3.15.6/libntech/libcompat/stpncpy.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libcompat/stpncpy.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libcompat/strcasecmp.c cfengine3-3.15.7/libntech/libcompat/strcasecmp.c --- cfengine3-3.15.6/libntech/libcompat/strcasecmp.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libcompat/strcasecmp.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libcompat/strcasestr.c cfengine3-3.15.7/libntech/libcompat/strcasestr.c --- cfengine3-3.15.6/libntech/libcompat/strcasestr.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libcompat/strcasestr.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libcompat/strdup.c cfengine3-3.15.7/libntech/libcompat/strdup.c --- cfengine3-3.15.6/libntech/libcompat/strdup.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libcompat/strdup.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libcompat/strerror.c cfengine3-3.15.7/libntech/libcompat/strerror.c --- cfengine3-3.15.6/libntech/libcompat/strerror.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libcompat/strerror.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libcompat/strncasecmp.c cfengine3-3.15.7/libntech/libcompat/strncasecmp.c --- cfengine3-3.15.6/libntech/libcompat/strncasecmp.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libcompat/strncasecmp.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libcompat/strsignal.c cfengine3-3.15.7/libntech/libcompat/strsignal.c --- cfengine3-3.15.6/libntech/libcompat/strsignal.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libcompat/strsignal.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libcompat/strstr.c cfengine3-3.15.7/libntech/libcompat/strstr.c --- cfengine3-3.15.6/libntech/libcompat/strstr.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libcompat/strstr.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libcompat/unsetenv.c cfengine3-3.15.7/libntech/libcompat/unsetenv.c --- cfengine3-3.15.6/libntech/libcompat/unsetenv.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libcompat/unsetenv.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/alloc.c cfengine3-3.15.7/libntech/libutils/alloc.c --- cfengine3-3.15.6/libntech/libutils/alloc.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/alloc.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/alloc.h cfengine3-3.15.7/libntech/libutils/alloc.h --- cfengine3-3.15.6/libntech/libutils/alloc.h 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/alloc.h 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. @@ -27,6 +27,7 @@ #include // size_t #include // va_list +#include // assert() #include @@ -39,6 +40,15 @@ int xasprintf(char **strp, const char *fmt, ...) FUNC_ATTR_PRINTF(2, 3); int xvasprintf(char **strp, const char *fmt, va_list ap) FUNC_ATTR_PRINTF(2, 0); +static inline void free_array_items(void **array, size_t n_items) +{ + assert(array != NULL); + for (size_t i = 0; i < n_items; i++) + { + free(array[i]); + } +} + #define DESTROY_AND_NULL(destroy, ptr) { destroy(ptr); ptr = NULL; } #define FREE_AND_NULL(ptr) { DESTROY_AND_NULL(free, ptr); } diff -Nru cfengine3-3.15.6/libntech/libutils/array_map.c cfengine3-3.15.7/libntech/libutils/array_map.c --- cfengine3-3.15.6/libntech/libutils/array_map.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/array_map.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/array_map_priv.h cfengine3-3.15.7/libntech/libutils/array_map_priv.h --- cfengine3-3.15.6/libntech/libutils/array_map_priv.h 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/array_map_priv.h 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/buffer.c cfengine3-3.15.7/libntech/libutils/buffer.c --- cfengine3-3.15.6/libntech/libutils/buffer.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/buffer.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/buffer.h cfengine3-3.15.7/libntech/libutils/buffer.h --- cfengine3-3.15.6/libntech/libutils/buffer.h 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/buffer.h 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/cleanup.c cfengine3-3.15.7/libntech/libutils/cleanup.c --- cfengine3-3.15.6/libntech/libutils/cleanup.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/cleanup.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/cleanup.h cfengine3-3.15.7/libntech/libutils/cleanup.h --- cfengine3-3.15.6/libntech/libutils/cleanup.h 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/cleanup.h 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/compiler.h cfengine3-3.15.7/libntech/libutils/compiler.h --- cfengine3-3.15.6/libntech/libutils/compiler.h 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/compiler.h 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/csv_parser.c cfengine3-3.15.7/libntech/libutils/csv_parser.c --- cfengine3-3.15.6/libntech/libutils/csv_parser.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/csv_parser.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/csv_parser.h cfengine3-3.15.7/libntech/libutils/csv_parser.h --- cfengine3-3.15.6/libntech/libutils/csv_parser.h 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/csv_parser.h 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/csv_writer.c cfengine3-3.15.7/libntech/libutils/csv_writer.c --- cfengine3-3.15.6/libntech/libutils/csv_writer.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/csv_writer.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/csv_writer.h cfengine3-3.15.7/libntech/libutils/csv_writer.h --- cfengine3-3.15.6/libntech/libutils/csv_writer.h 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/csv_writer.h 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/definitions.h cfengine3-3.15.7/libntech/libutils/definitions.h --- cfengine3-3.15.6/libntech/libutils/definitions.h 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/definitions.h 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/deprecated.h cfengine3-3.15.7/libntech/libutils/deprecated.h --- cfengine3-3.15.6/libntech/libutils/deprecated.h 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/deprecated.h 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/dir.h cfengine3-3.15.7/libntech/libutils/dir.h --- cfengine3-3.15.6/libntech/libutils/dir.h 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/dir.h 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/dir_priv.h cfengine3-3.15.7/libntech/libutils/dir_priv.h --- cfengine3-3.15.6/libntech/libutils/dir_priv.h 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/dir_priv.h 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/encode.c cfengine3-3.15.7/libntech/libutils/encode.c --- cfengine3-3.15.6/libntech/libutils/encode.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/encode.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/encode.h cfengine3-3.15.7/libntech/libutils/encode.h --- cfengine3-3.15.6/libntech/libutils/encode.h 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/encode.h 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/file_lib.c cfengine3-3.15.7/libntech/libutils/file_lib.c --- cfengine3-3.15.6/libntech/libutils/file_lib.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/file_lib.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/file_lib.h cfengine3-3.15.7/libntech/libutils/file_lib.h --- cfengine3-3.15.6/libntech/libutils/file_lib.h 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/file_lib.h 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/hash.c cfengine3-3.15.7/libntech/libutils/hash.c --- cfengine3-3.15.6/libntech/libutils/hash.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/hash.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/hash.h cfengine3-3.15.7/libntech/libutils/hash.h --- cfengine3-3.15.6/libntech/libutils/hash.h 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/hash.h 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/hash_map.c cfengine3-3.15.7/libntech/libutils/hash_map.c --- cfengine3-3.15.6/libntech/libutils/hash_map.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/hash_map.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/hash_map_priv.h cfengine3-3.15.7/libntech/libutils/hash_map_priv.h --- cfengine3-3.15.6/libntech/libutils/hash_map_priv.h 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/hash_map_priv.h 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/hash_method.h cfengine3-3.15.7/libntech/libutils/hash_method.h --- cfengine3-3.15.6/libntech/libutils/hash_method.h 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/hash_method.h 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/ip_address.c cfengine3-3.15.7/libntech/libutils/ip_address.c --- cfengine3-3.15.6/libntech/libutils/ip_address.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/ip_address.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/ip_address.h cfengine3-3.15.7/libntech/libutils/ip_address.h --- cfengine3-3.15.6/libntech/libutils/ip_address.h 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/ip_address.h 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/json.c cfengine3-3.15.7/libntech/libutils/json.c --- cfengine3-3.15.6/libntech/libutils/json.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/json.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/json.h cfengine3-3.15.7/libntech/libutils/json.h --- cfengine3-3.15.6/libntech/libutils/json.h 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/json.h 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/json-priv.h cfengine3-3.15.7/libntech/libutils/json-priv.h --- cfengine3-3.15.6/libntech/libutils/json-priv.h 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/json-priv.h 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/json-utils.c cfengine3-3.15.7/libntech/libutils/json-utils.c --- cfengine3-3.15.6/libntech/libutils/json-utils.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/json-utils.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/json-utils.h cfengine3-3.15.7/libntech/libutils/json-utils.h --- cfengine3-3.15.6/libntech/libutils/json-utils.h 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/json-utils.h 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/json-yaml.c cfengine3-3.15.7/libntech/libutils/json-yaml.c --- cfengine3-3.15.6/libntech/libutils/json-yaml.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/json-yaml.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/json-yaml.h cfengine3-3.15.7/libntech/libutils/json-yaml.h --- cfengine3-3.15.6/libntech/libutils/json-yaml.h 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/json-yaml.h 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/known_dirs.c cfengine3-3.15.7/libntech/libutils/known_dirs.c --- cfengine3-3.15.6/libntech/libutils/known_dirs.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/known_dirs.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/known_dirs.h cfengine3-3.15.7/libntech/libutils/known_dirs.h --- cfengine3-3.15.6/libntech/libutils/known_dirs.h 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/known_dirs.h 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/list.c cfengine3-3.15.7/libntech/libutils/list.c --- cfengine3-3.15.6/libntech/libutils/list.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/list.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/list.h cfengine3-3.15.7/libntech/libutils/list.h --- cfengine3-3.15.6/libntech/libutils/list.h 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/list.h 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/logging.c cfengine3-3.15.7/libntech/libutils/logging.c --- cfengine3-3.15.6/libntech/libutils/logging.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/logging.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/logging.h cfengine3-3.15.7/libntech/libutils/logging.h --- cfengine3-3.15.6/libntech/libutils/logging.h 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/logging.h 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/logging_priv.h cfengine3-3.15.7/libntech/libutils/logging_priv.h --- cfengine3-3.15.6/libntech/libutils/logging_priv.h 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/logging_priv.h 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/Makefile.in cfengine3-3.15.7/libntech/libutils/Makefile.in --- cfengine3-3.15.6/libntech/libutils/Makefile.in 2022-06-29 07:35:39.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/Makefile.in 2022-11-09 16:33:37.000000000 +0000 @@ -347,6 +347,9 @@ PCRE_LIBS = @PCRE_LIBS@ PCRE_PATH = @PCRE_PATH@ PERL = @PERL@ +PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSTGRESQL_CFLAGS = @POSTGRESQL_CFLAGS@ POSTGRESQL_CPPFLAGS = @POSTGRESQL_CPPFLAGS@ POSTGRESQL_LDFLAGS = @POSTGRESQL_LDFLAGS@ @@ -361,6 +364,7 @@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ +XML2_CONFIG = @XML2_CONFIG@ YACC = @YACC@ YFLAGS = @YFLAGS@ abs_builddir = @abs_builddir@ diff -Nru cfengine3-3.15.6/libntech/libutils/man.c cfengine3-3.15.7/libntech/libutils/man.c --- cfengine3-3.15.6/libntech/libutils/man.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/man.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. @@ -31,7 +31,7 @@ static void WriteCopyright(Writer *out) { static const char *const copyright = - ".\\\"Copyright 2021 Northern.tech AS\n" + ".\\\"Copyright 2022 Northern.tech AS\n" ".\\\"\n" ".\\\"This file is part of CFEngine 3 - written and maintained by Northern.tech AS.\n" ".\\\"\n" @@ -78,9 +78,9 @@ ".SH AVAILABILITY\n" "%s is part of CFEngine.\n" ".br\n" - "Binary packages may be downloaded from http://cfengine.com/downloads/.\n" + "Binary packages may be downloaded from https://cfengine.com/download/.\n" ".br\n" - "The source code is available at http://github.com/cfengine/\n"; + "The source code is available at https://github.com/cfengine/\n"; WriterWriteF(out, availability, program); } @@ -184,9 +184,9 @@ { static const char *const bugs = ".SH BUGS\n" - "Please see the public bug-tracker at http://bug.cfengine.com/.\n" + "Please see the public bug-tracker at https://tracker.mender.io/projects/CFE/.\n" ".br\n" - "GitHub pull-requests may be submitted to http://github.com/cfengine/core/.\n"; + "GitHub pull-requests may be submitted to https://github.com/cfengine/core/.\n"; WriterWrite(out, bugs); } @@ -201,7 +201,7 @@ "\\fBcf-agent\\fR from a \\fBcf-serverd\\fR daemon. The daemon \\fBcf-execd\\fR is responsible for running " "\\fBcf-agent\\fR periodically.\n" ".br\n" - "Documentation for CFEngine is available at http://cfengine.com/documentation/.\n"; + "Documentation for CFEngine is available at https://docs.cfengine.com/.\n"; WriterWrite(out, cfengine); } diff -Nru cfengine3-3.15.6/libntech/libutils/man.h cfengine3-3.15.7/libntech/libutils/man.h --- cfengine3-3.15.6/libntech/libutils/man.h 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/man.h 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/map.c cfengine3-3.15.7/libntech/libutils/map.c --- cfengine3-3.15.6/libntech/libutils/map.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/map.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/map_common.h cfengine3-3.15.7/libntech/libutils/map_common.h --- cfengine3-3.15.6/libntech/libutils/map_common.h 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/map_common.h 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/map.h cfengine3-3.15.7/libntech/libutils/map.h --- cfengine3-3.15.6/libntech/libutils/map.h 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/map.h 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/misc_lib.c cfengine3-3.15.7/libntech/libutils/misc_lib.c --- cfengine3-3.15.6/libntech/libutils/misc_lib.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/misc_lib.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/misc_lib.h cfengine3-3.15.7/libntech/libutils/misc_lib.h --- cfengine3-3.15.6/libntech/libutils/misc_lib.h 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/misc_lib.h 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/mustache.c cfengine3-3.15.7/libntech/libutils/mustache.c --- cfengine3-3.15.6/libntech/libutils/mustache.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/mustache.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/mustache.h cfengine3-3.15.7/libntech/libutils/mustache.h --- cfengine3-3.15.6/libntech/libutils/mustache.h 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/mustache.h 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/mutex.c cfengine3-3.15.7/libntech/libutils/mutex.c --- cfengine3-3.15.6/libntech/libutils/mutex.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/mutex.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/mutex.h cfengine3-3.15.7/libntech/libutils/mutex.h --- cfengine3-3.15.6/libntech/libutils/mutex.h 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/mutex.h 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/passopenfile.c cfengine3-3.15.7/libntech/libutils/passopenfile.c --- cfengine3-3.15.6/libntech/libutils/passopenfile.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/passopenfile.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/passopenfile.h cfengine3-3.15.7/libntech/libutils/passopenfile.h --- cfengine3-3.15.6/libntech/libutils/passopenfile.h 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/passopenfile.h 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/path.h cfengine3-3.15.7/libntech/libutils/path.h --- cfengine3-3.15.6/libntech/libutils/path.h 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/path.h 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/platform.h cfengine3-3.15.7/libntech/libutils/platform.h --- cfengine3-3.15.6/libntech/libutils/platform.h 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/platform.h 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/printsize.h cfengine3-3.15.7/libntech/libutils/printsize.h --- cfengine3-3.15.6/libntech/libutils/printsize.h 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/printsize.h 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/proc_keyvalue.c cfengine3-3.15.7/libntech/libutils/proc_keyvalue.c --- cfengine3-3.15.6/libntech/libutils/proc_keyvalue.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/proc_keyvalue.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/proc_keyvalue.h cfengine3-3.15.7/libntech/libutils/proc_keyvalue.h --- cfengine3-3.15.6/libntech/libutils/proc_keyvalue.h 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/proc_keyvalue.h 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/queue.c cfengine3-3.15.7/libntech/libutils/queue.c --- cfengine3-3.15.6/libntech/libutils/queue.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/queue.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/queue.h cfengine3-3.15.7/libntech/libutils/queue.h --- cfengine3-3.15.6/libntech/libutils/queue.h 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/queue.h 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/rb-tree.c cfengine3-3.15.7/libntech/libutils/rb-tree.c --- cfengine3-3.15.6/libntech/libutils/rb-tree.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/rb-tree.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/rb-tree.h cfengine3-3.15.7/libntech/libutils/rb-tree.h --- cfengine3-3.15.6/libntech/libutils/rb-tree.h 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/rb-tree.h 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/refcount.c cfengine3-3.15.7/libntech/libutils/refcount.c --- cfengine3-3.15.6/libntech/libutils/refcount.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/refcount.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/refcount.h cfengine3-3.15.7/libntech/libutils/refcount.h --- cfengine3-3.15.6/libntech/libutils/refcount.h 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/refcount.h 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/regex.c cfengine3-3.15.7/libntech/libutils/regex.c --- cfengine3-3.15.6/libntech/libutils/regex.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/regex.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/regex.h cfengine3-3.15.7/libntech/libutils/regex.h --- cfengine3-3.15.6/libntech/libutils/regex.h 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/regex.h 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/ring_buffer.c cfengine3-3.15.7/libntech/libutils/ring_buffer.c --- cfengine3-3.15.6/libntech/libutils/ring_buffer.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/ring_buffer.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/ring_buffer.h cfengine3-3.15.7/libntech/libutils/ring_buffer.h --- cfengine3-3.15.6/libntech/libutils/ring_buffer.h 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/ring_buffer.h 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/sequence.c cfengine3-3.15.7/libntech/libutils/sequence.c --- cfengine3-3.15.6/libntech/libutils/sequence.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/sequence.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/sequence.h cfengine3-3.15.7/libntech/libutils/sequence.h --- cfengine3-3.15.6/libntech/libutils/sequence.h 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/sequence.h 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/set.c cfengine3-3.15.7/libntech/libutils/set.c --- cfengine3-3.15.6/libntech/libutils/set.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/set.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/set.h cfengine3-3.15.7/libntech/libutils/set.h --- cfengine3-3.15.6/libntech/libutils/set.h 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/set.h 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/stack_base.c cfengine3-3.15.7/libntech/libutils/stack_base.c --- cfengine3-3.15.6/libntech/libutils/stack_base.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/stack_base.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/stack.c cfengine3-3.15.7/libntech/libutils/stack.c --- cfengine3-3.15.6/libntech/libutils/stack.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/stack.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/stack.h cfengine3-3.15.7/libntech/libutils/stack.h --- cfengine3-3.15.6/libntech/libutils/stack.h 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/stack.h 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/statistics.c cfengine3-3.15.7/libntech/libutils/statistics.c --- cfengine3-3.15.6/libntech/libutils/statistics.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/statistics.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/statistics.h cfengine3-3.15.7/libntech/libutils/statistics.h --- cfengine3-3.15.6/libntech/libutils/statistics.h 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/statistics.h 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/string_lib.c cfengine3-3.15.7/libntech/libutils/string_lib.c --- cfengine3-3.15.6/libntech/libutils/string_lib.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/string_lib.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/string_lib.h cfengine3-3.15.7/libntech/libutils/string_lib.h --- cfengine3-3.15.6/libntech/libutils/string_lib.h 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/string_lib.h 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/threaded_deque.c cfengine3-3.15.7/libntech/libutils/threaded_deque.c --- cfengine3-3.15.6/libntech/libutils/threaded_deque.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/threaded_deque.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/threaded_deque.h cfengine3-3.15.7/libntech/libutils/threaded_deque.h --- cfengine3-3.15.6/libntech/libutils/threaded_deque.h 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/threaded_deque.h 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/threaded_queue.c cfengine3-3.15.7/libntech/libutils/threaded_queue.c --- cfengine3-3.15.6/libntech/libutils/threaded_queue.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/threaded_queue.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/threaded_queue.h cfengine3-3.15.7/libntech/libutils/threaded_queue.h --- cfengine3-3.15.6/libntech/libutils/threaded_queue.h 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/threaded_queue.h 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/threaded_stack.c cfengine3-3.15.7/libntech/libutils/threaded_stack.c --- cfengine3-3.15.6/libntech/libutils/threaded_stack.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/threaded_stack.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/threaded_stack.h cfengine3-3.15.7/libntech/libutils/threaded_stack.h --- cfengine3-3.15.6/libntech/libutils/threaded_stack.h 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/threaded_stack.h 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/unicode.c cfengine3-3.15.7/libntech/libutils/unicode.c --- cfengine3-3.15.6/libntech/libutils/unicode.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/unicode.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/unicode.h cfengine3-3.15.7/libntech/libutils/unicode.h --- cfengine3-3.15.6/libntech/libutils/unicode.h 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/unicode.h 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/unix_dir.c cfengine3-3.15.7/libntech/libutils/unix_dir.c --- cfengine3-3.15.6/libntech/libutils/unix_dir.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/unix_dir.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/writer.c cfengine3-3.15.7/libntech/libutils/writer.c --- cfengine3-3.15.6/libntech/libutils/writer.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/writer.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/writer.h cfengine3-3.15.7/libntech/libutils/writer.h --- cfengine3-3.15.6/libntech/libutils/writer.h 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/writer.h 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/xml_writer.c cfengine3-3.15.7/libntech/libutils/xml_writer.c --- cfengine3-3.15.6/libntech/libutils/xml_writer.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/xml_writer.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/libutils/xml_writer.h cfengine3-3.15.7/libntech/libutils/xml_writer.h --- cfengine3-3.15.6/libntech/libutils/xml_writer.h 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/libutils/xml_writer.h 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/m4/cf3_gcc_flags.m4 cfengine3-3.15.7/libntech/m4/cf3_gcc_flags.m4 --- cfengine3-3.15.6/libntech/m4/cf3_gcc_flags.m4 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/m4/cf3_gcc_flags.m4 2022-11-09 16:33:18.000000000 +0000 @@ -25,15 +25,22 @@ dnl Set GCC CFLAGS only if using GCC. dnl #################################################################### -AC_MSG_CHECKING(for HP-UX aC) AC_PREPROC_IFELSE([AC_LANG_SOURCE([[ #if defined __HP_cc #This is HP-UX ANSI C #endif -]])], [AC_MSG_RESULT(no)],[AC_MSG_RESULT(yes) +]])], [ +HP_UX_AC="no"], [ CFLAGS="$CFLAGS -Agcc" CPPFLAGS="$CPPFLAGS -Agcc" -HP_UX_AC=yes]) +HP_UX_AC="yes"]) + +AC_MSG_CHECKING(for HP-UX aC) +if test "x$HP_UX_AC" = "xyes"; then + AC_MSG_RESULT([yes]) +else + AC_MSG_RESULT([no]) +fi AC_MSG_CHECKING(for GCC specific compile flags) if test x"$GCC" = "xyes" && test x"$HP_UX_AC" != x"yes"; then diff -Nru cfengine3-3.15.6/libntech/Makefile.in cfengine3-3.15.7/libntech/Makefile.in --- cfengine3-3.15.6/libntech/Makefile.in 2022-06-29 07:35:39.000000000 +0000 +++ cfengine3-3.15.7/libntech/Makefile.in 2022-11-09 16:33:37.000000000 +0000 @@ -363,6 +363,9 @@ PCRE_LIBS = @PCRE_LIBS@ PCRE_PATH = @PCRE_PATH@ PERL = @PERL@ +PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSTGRESQL_CFLAGS = @POSTGRESQL_CFLAGS@ POSTGRESQL_CPPFLAGS = @POSTGRESQL_CPPFLAGS@ POSTGRESQL_LDFLAGS = @POSTGRESQL_LDFLAGS@ @@ -377,6 +380,7 @@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ +XML2_CONFIG = @XML2_CONFIG@ YACC = @YACC@ YFLAGS = @YFLAGS@ abs_builddir = @abs_builddir@ diff -Nru cfengine3-3.15.6/libntech/tests/Makefile.in cfengine3-3.15.7/libntech/tests/Makefile.in --- cfengine3-3.15.6/libntech/tests/Makefile.in 2022-06-29 07:35:39.000000000 +0000 +++ cfengine3-3.15.7/libntech/tests/Makefile.in 2022-11-09 16:33:37.000000000 +0000 @@ -310,6 +310,9 @@ PCRE_LIBS = @PCRE_LIBS@ PCRE_PATH = @PCRE_PATH@ PERL = @PERL@ +PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSTGRESQL_CFLAGS = @POSTGRESQL_CFLAGS@ POSTGRESQL_CPPFLAGS = @POSTGRESQL_CPPFLAGS@ POSTGRESQL_LDFLAGS = @POSTGRESQL_LDFLAGS@ @@ -324,6 +327,7 @@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ +XML2_CONFIG = @XML2_CONFIG@ YACC = @YACC@ YFLAGS = @YFLAGS@ abs_builddir = @abs_builddir@ diff -Nru cfengine3-3.15.6/libntech/tests/unit/alloc_test.c cfengine3-3.15.7/libntech/tests/unit/alloc_test.c --- cfengine3-3.15.6/libntech/tests/unit/alloc_test.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/tests/unit/alloc_test.c 2022-11-09 16:33:18.000000000 +0000 @@ -35,6 +35,19 @@ test_xvasprintf_sub("Foo%d%s", 123, "17"); } +void test_free_array_items(void) +{ + char **arr = xcalloc(10, sizeof(char*)); + for (size_t i = 0; i < 10; i++) + { + arr[i] = xstrdup("some string"); + } + + free_array_items((void**)arr, 10); + free(arr); + /* There should be no memleaks now. */ +} + int main() { PRINT_TEST_BANNER(); diff -Nru cfengine3-3.15.6/libntech/tests/unit/file_lib_test.c cfengine3-3.15.7/libntech/tests/unit/file_lib_test.c --- cfengine3-3.15.6/libntech/tests/unit/file_lib_test.c 2022-06-29 07:35:28.000000000 +0000 +++ cfengine3-3.15.7/libntech/tests/unit/file_lib_test.c 2022-11-09 16:33:18.000000000 +0000 @@ -1,5 +1,5 @@ /* - Copyright 2021 Northern.tech AS + Copyright 2022 Northern.tech AS This file is part of CFEngine 3 - written and maintained by Northern.tech AS. diff -Nru cfengine3-3.15.6/libntech/tests/unit/Makefile.in cfengine3-3.15.7/libntech/tests/unit/Makefile.in --- cfengine3-3.15.6/libntech/tests/unit/Makefile.in 2022-06-29 07:35:39.000000000 +0000 +++ cfengine3-3.15.7/libntech/tests/unit/Makefile.in 2022-11-09 16:33:37.000000000 +0000 @@ -600,6 +600,9 @@ PCRE_LIBS = @PCRE_LIBS@ PCRE_PATH = @PCRE_PATH@ PERL = @PERL@ +PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POSTGRESQL_CFLAGS = @POSTGRESQL_CFLAGS@ POSTGRESQL_CPPFLAGS = @POSTGRESQL_CPPFLAGS@ POSTGRESQL_LDFLAGS = @POSTGRESQL_LDFLAGS@ @@ -614,6 +617,7 @@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ +XML2_CONFIG = @XML2_CONFIG@ YACC = @YACC@ YFLAGS = @YFLAGS@ abs_builddir = @abs_builddir@ diff -Nru cfengine3-3.15.6/libpromises/promises.c cfengine3-3.15.7/libpromises/promises.c --- cfengine3-3.15.6/libpromises/promises.c 2022-06-29 07:35:25.000000000 +0000 +++ cfengine3-3.15.7/libpromises/promises.c 2022-11-09 16:33:15.000000000 +0000 @@ -585,9 +585,7 @@ Promise *pcopy = xcalloc(1, sizeof(Promise)); pcopy->promiser = RvalScalarValue(returnval); - /* TODO remove the conditions here for fixing redmine#7880. */ - if ((strcmp("files", pp->parent_promise_type->name) != 0) && - (strcmp("storage", pp->parent_promise_type->name) != 0)) + if (!StringEqual("storage", pp->parent_promise_type->name)) { EvalContextVariablePutSpecial(ctx, SPECIAL_SCOPE_THIS, "promiser", pcopy->promiser, CF_DATA_TYPE_STRING, "source=promise"); @@ -726,6 +724,17 @@ } } + /* NOTE: We have to undefine the '$(this.promiser)' variable for a 'files' + * promise now because it is later defined for the individual + * expansions of the promise and so it has to be left unexpanded in + * the constraints/attributes. It is, however, defined above just like + * for any other promise so that it can be used in the common + * if/ifvarclass/unless checking. */ + if (StringEqual(pp->parent_promise_type->name, "files")) + { + EvalContextVariableRemoveSpecial(ctx, SPECIAL_SCOPE_THIS, "promiser"); + } + /* Evaluate all constraints. */ for (size_t i = 0; i < SeqLength(pp->conlist); i++) { diff -Nru cfengine3-3.15.6/masterfiles/cfe_internal/enterprise/CFE_knowledge.cf cfengine3-3.15.7/masterfiles/cfe_internal/enterprise/CFE_knowledge.cf --- cfengine3-3.15.6/masterfiles/cfe_internal/enterprise/CFE_knowledge.cf 2022-06-29 07:35:02.000000000 +0000 +++ cfengine3-3.15.7/masterfiles/cfe_internal/enterprise/CFE_knowledge.cf 2022-11-09 16:32:57.000000000 +0000 @@ -164,11 +164,11 @@ file_select => cfe_internal_docroot_api_static_async_query_status_status_perms, perms => mog("0660", "root", $(def.cf_apache_group) ); - "$(sys.workdir)/httpd/logs/application/." -> { "ENT-7731", "ENT-2758" } - comment => "Ensure permissions for $(sys.workdir)/httpd/logs/application/.", - handle => "cfe_internal_setup_knowledge_files_httpd_application_log_dir", - create => "true", - perms => mog("0640", $(def.cf_apache_user), $(def.cf_apache_group)); + "$(sys.workdir)/httpd/logs/application/." -> { "ENT-7731", "ENT-2758", "ENT-8908", "CFE-951" } + comment => "Ensure permissions for $(sys.workdir)/httpd/logs/application/.", + handle => "cfe_internal_setup_knowledge_files_httpd_application_log_dir", + create => "true", + perms => mog("0740", $(def.cf_apache_user), $(def.cf_apache_group)); "$(sys.workdir)/httpd/logs/application/." -> { "ENT-7730" } comment => "Ensure permissions for $(sys.workdir)/httpd/logs/application/.*", diff -Nru cfengine3-3.15.6/masterfiles/cfe_internal/enterprise/templates/httpd.conf.mustache cfengine3-3.15.7/masterfiles/cfe_internal/enterprise/templates/httpd.conf.mustache --- cfengine3-3.15.6/masterfiles/cfe_internal/enterprise/templates/httpd.conf.mustache 2022-06-29 07:35:02.000000000 +0000 +++ cfengine3-3.15.7/masterfiles/cfe_internal/enterprise/templates/httpd.conf.mustache 2022-11-09 16:32:57.000000000 +0000 @@ -12,13 +12,6 @@ # Note: Not all modules that are built are loaded. # Find built modules in {{{vars.sys.workdir}}}/httpd/modules -LoadModule authn_file_module modules/mod_authn_file.so -LoadModule authz_host_module modules/mod_authz_host.so -LoadModule authz_dbm_module modules/mod_authz_dbm.so -LoadModule authz_owner_module modules/mod_authz_owner.so -LoadModule auth_basic_module modules/mod_auth_basic.so -LoadModule dbd_module modules/mod_dbd.so - # Our default log format uses features provided by these modules LoadModule log_config_module modules/mod_log_config.so LoadModule logio_module modules/mod_logio.so diff -Nru cfengine3-3.15.6/masterfiles/cfe_internal/update/windows_unattended_upgrade.cf cfengine3-3.15.7/masterfiles/cfe_internal/update/windows_unattended_upgrade.cf --- cfengine3-3.15.6/masterfiles/cfe_internal/update/windows_unattended_upgrade.cf 2022-06-29 07:35:02.000000000 +0000 +++ cfengine3-3.15.7/masterfiles/cfe_internal/update/windows_unattended_upgrade.cf 2022-11-09 16:32:57.000000000 +0000 @@ -65,6 +65,28 @@ Taskkill /IM cf-agent.exe /F set bat="$(sys.workdir)$(const.dirsep)modules$(const.dirsep)packages$(const.dirsep)msiexec.bat" echo File=$(cfengine_software.local_software_dir)$(const.dirsep)$(cfengine_package_names.my_pkg) | call %bat% file-install +@echo off +REM A failed install at this point can leave cf-execd not running leaving the host unable to try and self heal +REM We at least want to try and start cf-execd if it is not running +set TARGET_SERVICE=CfengineNovaExec +set SERVICE_STATE= +REM Surgically target third line, as some locales (such as Spanish) translate the output +for /F "skip=3 tokens=3" %%i in ('""%windir%\system32\sc.exe" query "%TARGET_SERVICE%" 2>nul"') do ( + if not defined SERVICE_STATE set SERVICE_STATE=%%i +) +rem Process result +if not defined SERVICE_STATE ( + echo ERROR: could not obtain service state! +) else ( + REM NOTE: values correspond to "SERVICE_STATUS.dwCurrentState" + REM https://msdn.microsoft.com/en-us/library/windows/desktop/ms685996(v=vs.85).aspx + if not %SERVICE_STATE%==4 ( + echo WARNING: service is not running, attempting to start + net start "%TARGET_SERVICE%" + ) else ( + echo INFORMATION: service is running + ) +) REM exit 0 so that scheduled task will not keep trying a failing situation REM looking at package module logs of one failure should help in debugging exit 0 diff -Nru cfengine3-3.15.6/masterfiles/CFVERSION cfengine3-3.15.7/masterfiles/CFVERSION --- cfengine3-3.15.6/masterfiles/CFVERSION 2022-06-29 07:35:44.000000000 +0000 +++ cfengine3-3.15.7/masterfiles/CFVERSION 2022-11-09 16:33:42.000000000 +0000 @@ -1 +1 @@ -3.15.6a.cc9f8bad1 +3.15.7a.9016a18e4 diff -Nru cfengine3-3.15.6/masterfiles/configure cfengine3-3.15.7/masterfiles/configure --- cfengine3-3.15.6/masterfiles/configure 2022-06-29 07:35:46.000000000 +0000 +++ cfengine3-3.15.7/masterfiles/configure 2022-11-09 16:33:44.000000000 +0000 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for cfengine-masterfiles 3.15.6. +# Generated by GNU Autoconf 2.69 for cfengine-masterfiles 3.15.7. # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. @@ -576,8 +576,8 @@ # Identity of this package. PACKAGE_NAME='cfengine-masterfiles' PACKAGE_TARNAME='cfengine-masterfiles' -PACKAGE_VERSION='3.15.6' -PACKAGE_STRING='cfengine-masterfiles 3.15.6' +PACKAGE_VERSION='3.15.7' +PACKAGE_STRING='cfengine-masterfiles 3.15.7' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -1260,7 +1260,7 @@ # 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 cfengine-masterfiles 3.15.6 to adapt to many kinds of systems. +\`configure' configures cfengine-masterfiles 3.15.7 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1333,7 +1333,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of cfengine-masterfiles 3.15.6:";; + short | recursive ) echo "Configuration of cfengine-masterfiles 3.15.7:";; esac cat <<\_ACEOF @@ -1420,7 +1420,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -cfengine-masterfiles configure 3.15.6 +cfengine-masterfiles configure 3.15.7 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1437,7 +1437,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by cfengine-masterfiles $as_me 3.15.6, which was +It was created by cfengine-masterfiles $as_me 3.15.7, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -1786,7 +1786,7 @@ -cfengine_version=3.15.6 +cfengine_version=3.15.7 @@ -2425,7 +2425,7 @@ # Define the identity of the package. PACKAGE='cfengine-masterfiles' - VERSION='3.15.6' + VERSION='3.15.7' cat >>confdefs.h <<_ACEOF @@ -3762,7 +3762,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by cfengine-masterfiles $as_me 3.15.6, which was +This file was extended by cfengine-masterfiles $as_me 3.15.7, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -3815,7 +3815,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -cfengine-masterfiles config.status 3.15.6 +cfengine-masterfiles config.status 3.15.7 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff -Nru cfengine3-3.15.6/masterfiles/controls/cf_execd.cf cfengine3-3.15.7/masterfiles/controls/cf_execd.cf --- cfengine3-3.15.6/masterfiles/controls/cf_execd.cf 2022-06-29 07:35:02.000000000 +0000 +++ cfengine3-3.15.7/masterfiles/controls/cf_execd.cf 2022-11-09 16:32:57.000000000 +0000 @@ -36,7 +36,6 @@ schedule => { @(def.control_executor_schedule_value) }; # The full path and command to the executable run by default (overriding builtin). - # cf-twin needs its own safe environment because of the update mechanism windows:: exec_command => "$(sys.cf_agent) -Dfrom_cfexecd,cf_execd_initiated -f \"$(sys.update_policy_path)\" & $(sys.cf_agent) -Dfrom_cfexecd,cf_execd_initiated"; diff -Nru cfengine3-3.15.6/masterfiles/controls/cf_serverd.cf cfengine3-3.15.7/masterfiles/controls/cf_serverd.cf --- cfengine3-3.15.6/masterfiles/controls/cf_serverd.cf 2022-06-29 07:35:02.000000000 +0000 +++ cfengine3-3.15.7/masterfiles/controls/cf_serverd.cf 2022-11-09 16:32:57.000000000 +0000 @@ -9,12 +9,17 @@ body server control # @brief Control attributes for cf-serverd { - # List of ciphers the server accepts. For Syntax help see man page - # for "openssl ciphers". Default is "AES256-GCM-SHA384:AES256-SHA" - #allowciphers => "AES256-GCM-SHA384:AES256-SHA"; + # List of ciphers the server accepts. For Syntax help see man page for + # "openssl-ciphers" (man:openssl-ciphers(1ssl)). The 'TLS_'-prefixed + # ciphers are for TLS 1.3 and later. + # + # Default: + #allowciphers => "AES256-GCM-SHA384:AES256-SHA:TLS_AES_256_GCM_SHA384"; # Minimum required version of TLS. Set to "1.0" if you need clients # running CFEngine in a version lower than 3.7.0 to connect. + # + # Default: #allowtlsversion => "1.1"; # List of hosts that may connect (change the ACL in def.cf) diff -Nru cfengine3-3.15.6/masterfiles/controls/update_def.cf cfengine3-3.15.7/masterfiles/controls/update_def.cf --- cfengine3-3.15.6/masterfiles/controls/update_def.cf 2022-06-29 07:36:15.000000000 +0000 +++ cfengine3-3.15.7/masterfiles/controls/update_def.cf 2022-11-09 16:34:21.000000000 +0000 @@ -13,7 +13,7 @@ any:: "sys_policy_hub_port_exists" expression => isvariable("sys.policy_hub_port"); vars: - "current_version" string => "3.15.6"; + "current_version" string => "3.15.7"; "current_release" string => "1"; !feature_def_json_preparse:: diff -Nru cfengine3-3.15.6/masterfiles/lib/packages.cf cfengine3-3.15.7/masterfiles/lib/packages.cf --- cfengine3-3.15.6/masterfiles/lib/packages.cf 2022-06-29 07:35:02.000000000 +0000 +++ cfengine3-3.15.7/masterfiles/lib/packages.cf 2022-11-09 16:32:57.000000000 +0000 @@ -316,7 +316,7 @@ bundle common redhat_no_locking_knowledge { vars: # Option was introduced in rhel 6.1 - (redhat|centos).!(redhat_3|redhat_4|redhat_5|redhat_6_0|centos_3|centos_4|centos_5|centos_6_0):: + (amazon_linux|redhat|centos).!(redhat_3|redhat_4|redhat_5|redhat_6_0|centos_3|centos_4|centos_5|centos_6_0):: "no_locking_option" string => "--setopt=exit_on_lock=True"; redhat_3|redhat_4|redhat_5|redhat_6_0|centos_3|centos_4|centos_5|centos_6_0:: "no_locking_option" string => ""; diff -Nru cfengine3-3.15.6/masterfiles/lib/paths.cf cfengine3-3.15.7/masterfiles/lib/paths.cf --- cfengine3-3.15.6/masterfiles/lib/paths.cf 2022-06-29 07:35:02.000000000 +0000 +++ cfengine3-3.15.7/masterfiles/lib/paths.cf 2022-11-09 16:32:57.000000000 +0000 @@ -169,6 +169,7 @@ "path[timedatectl]" string => "/usr/bin/timedatectl"; linux:: + "path[date]" string => "/usr/bin/date"; "path[lsattr]" string => "/usr/bin/lsattr"; "path[lsmod]" string => "/sbin/lsmod"; "path[tar]" string => "/bin/tar"; @@ -177,6 +178,7 @@ "path[pgrep]" string => "/usr/bin/pgrep"; "path[getent]" string => "/usr/bin/getent"; "path[mailx]" string => "/usr/bin/mailx"; + "path[ssh]" string => "/usr/bin/ssh"; aix:: diff -Nru cfengine3-3.15.6/masterfiles/modules/packages/vendored/apt_get.mustache cfengine3-3.15.7/masterfiles/modules/packages/vendored/apt_get.mustache --- cfengine3-3.15.6/masterfiles/modules/packages/vendored/apt_get.mustache 2022-06-29 07:35:02.000000000 +0000 +++ cfengine3-3.15.7/masterfiles/modules/packages/vendored/apt_get.mustache 2022-11-09 16:32:57.000000000 +0000 @@ -7,7 +7,6 @@ import os import subprocess import re -from distutils.version import LooseVersion PY3 = sys.version_info > (3,) @@ -32,7 +31,8 @@ "-o", "Dpkg::Options::=--force-confdef", "-y"] -if LooseVersion(apt_version) < LooseVersion("1.1"): +# compare only the first two digits of the version so versions like 1.1.1ubuntu2 work +if [int(x) for x in apt_version.split(".")[0:2]] < [1, 1]: apt_get_options.append("--force-yes") else: diff -Nru cfengine3-3.15.6/masterfiles/promises.cf cfengine3-3.15.7/masterfiles/promises.cf --- cfengine3-3.15.6/masterfiles/promises.cf 2022-06-29 07:36:15.000000000 +0000 +++ cfengine3-3.15.7/masterfiles/promises.cf 2022-11-09 16:34:21.000000000 +0000 @@ -52,7 +52,7 @@ "services/main.cf", }; - version => "CFEngine Promises.cf 3.15.6"; + version => "CFEngine Promises.cf 3.15.7"; # From 3.7 onwards there is a new package promise implementation using package # modules in which you MUST provide package modules used to generate diff -Nru cfengine3-3.15.6/masterfiles/standalone_self_upgrade.cf cfengine3-3.15.7/masterfiles/standalone_self_upgrade.cf --- cfengine3-3.15.6/masterfiles/standalone_self_upgrade.cf 2022-06-29 07:36:15.000000000 +0000 +++ cfengine3-3.15.7/masterfiles/standalone_self_upgrade.cf 2022-11-09 16:34:21.000000000 +0000 @@ -82,7 +82,7 @@ # Default desired CFEngine software "pkg_name" string => ifelse( isvariable( "def.cfengine_software_pkg_name" ), $(def.cfengine_software_pkg_name), "cfengine-nova"); - "pkg_version" string => ifelse( isvariable( "def.cfengine_software_pkg_version" ), $(def.cfengine_software_pkg_version), "3.15.6"); + "pkg_version" string => ifelse( isvariable( "def.cfengine_software_pkg_version" ), $(def.cfengine_software_pkg_version), "3.15.7"); "pkg_release" string => ifelse( isvariable( "def.cfengine_software_pkg_release" ), $(def.cfengine_software_pkg_release), "1"); "pkg_arch" string => ifelse( isvariable( "def.cfengine_software_pkg_arch" ), $(def.cfengine_software_pkg_arch), "x86_64"); "package_dir" string => ifelse( isvariable( "def.cfengine_software_pkg_dir" ), $(def.cfengine_software_pkg_dir), "$(sys.flavour)_$(sys.arch)"); @@ -723,7 +723,7 @@ body common control # @brief Common control for standalone self upgrade { - version => "CFEngine Standalone Self Upgrade 3.15.6"; + version => "CFEngine Standalone Self Upgrade 3.15.7"; (debian|ubuntu):: package_inventory => { $(package_module_knowledge.platform_default) }; diff -Nru cfengine3-3.15.6/masterfiles/tests/acceptance/testall cfengine3-3.15.7/masterfiles/tests/acceptance/testall --- cfengine3-3.15.6/masterfiles/tests/acceptance/testall 2022-06-29 07:35:02.000000000 +0000 +++ cfengine3-3.15.7/masterfiles/tests/acceptance/testall 2022-11-09 16:32:57.000000000 +0000 @@ -77,8 +77,8 @@ FLAGS="--include=$TEST_DIR/../../modules --baseclasses=AUTO,DEBUG,EXTRA,testing_masterfiles_policy_framework" -# Was --bindir in the arguments? -if echo -- "$@" | grep '[-][-]bindir' >/dev/null +# Was --bindir in the arguments or BINDIR in the environment? +if [ -n "$BINDIR" ] || echo -- "$@" | grep '[-][-]bindir' >/dev/null then # Arguments are where --bindir points to "$CORE/tests/acceptance/testall" $FLAGS "$@" diff -Nru cfengine3-3.15.6/misc/selinux/cfengine-enterprise.te cfengine3-3.15.7/misc/selinux/cfengine-enterprise.te --- cfengine3-3.15.6/misc/selinux/cfengine-enterprise.te 2022-06-29 07:35:25.000000000 +0000 +++ cfengine3-3.15.7/misc/selinux/cfengine-enterprise.te 2022-11-09 16:33:15.000000000 +0000 @@ -423,6 +423,7 @@ allow cfengine_hub_t self:unix_dgram_socket { create connect read write }; allow cfengine_hub_t semanage_exec_t:file getattr; allow cfengine_hub_t shadow_t:file getattr; +allow cfengine_hub_t smtp_port_t:tcp_socket name_connect; allow cfengine_hub_t sssd_public_t:dir search; allow cfengine_hub_t sssd_public_t:file map; allow cfengine_hub_t sssd_public_t:file { getattr open read }; diff -Nru cfengine3-3.15.6/tests/acceptance/01_vars/01_basic/this_promiser_ifvarclass.cf cfengine3-3.15.7/tests/acceptance/01_vars/01_basic/this_promiser_ifvarclass.cf --- cfengine3-3.15.6/tests/acceptance/01_vars/01_basic/this_promiser_ifvarclass.cf 2022-06-29 07:35:25.000000000 +0000 +++ cfengine3-3.15.7/tests/acceptance/01_vars/01_basic/this_promiser_ifvarclass.cf 2022-11-09 16:33:15.000000000 +0000 @@ -1,5 +1,5 @@ # Test that this.promiser works in ifvarclass -# Redmine:7880 (https://cfengine.com/dev/issues/7880) +# CFE-2262 (https://tracker.mender.io/browse/CFE-2262) body common control { @@ -18,26 +18,22 @@ bundle agent test { meta: - "description" - string => "Test that it is possible to use this.promiser in ifvarclass.", - meta => { "redmine#7880" }; - - "test_soft_fail" - string => "any", - meta => { "redmine#7880" }; + "description" -> { "redmine#7880", "CFE-2262" } + string => "Test that it is possible to use this.promiser in ifvarclass.", + meta => { "redmine#7880", "CFE-2262" }; files: # I should be able to use this.promiser to check if the file is a plain # file "$(G.testfile)" delete => tidy, - ifvarclass => isplain( $(this.promiser) ); + ifvarclass => isplain( "$(this.promiser)" ); } bundle agent check { classes: - "ok" not => fileexists("$(G.testfile)"); + "ok" not => fileexists( "$(G.testfile)" ); reports: ok:: diff -Nru cfengine3-3.15.6/tests/acceptance/02_classes/01_basic/expected_os_classes.cf cfengine3-3.15.7/tests/acceptance/02_classes/01_basic/expected_os_classes.cf --- cfengine3-3.15.6/tests/acceptance/02_classes/01_basic/expected_os_classes.cf 2022-06-29 07:35:25.000000000 +0000 +++ cfengine3-3.15.7/tests/acceptance/02_classes/01_basic/expected_os_classes.cf 2022-11-09 16:33:15.000000000 +0000 @@ -25,6 +25,7 @@ "aix", "hpux", "suse", + "opensuse", "windows", "freebsd", "macos", diff -Nru cfengine3-3.15.6/tests/acceptance/16_cf-serverd/serial/copy_from_reordered_ciphers_success.cf cfengine3-3.15.7/tests/acceptance/16_cf-serverd/serial/copy_from_reordered_ciphers_success.cf --- cfengine3-3.15.6/tests/acceptance/16_cf-serverd/serial/copy_from_reordered_ciphers_success.cf 1970-01-01 00:00:00.000000000 +0000 +++ cfengine3-3.15.7/tests/acceptance/16_cf-serverd/serial/copy_from_reordered_ciphers_success.cf 2022-11-09 16:33:15.000000000 +0000 @@ -0,0 +1,23 @@ +body common control +{ + inputs => { "../../default.cf.sub", "../../run_with_server.cf.sub" }; + bundlesequence => { default("$(this.promise_filename)") }; + version => "1.0"; +} + +bundle agent test +{ + methods: + # source file + "any" usebundle => file_make("$(G.testdir)/source_file", + "Source file to copy, always fresh, $(sys.date)"); + + # ensure destination files are not there + "any" usebundle => dcs_fini("$(G.testdir)/destfile1"); + + "any" usebundle => generate_key; + + "any" usebundle => start_server("$(this.promise_dirname)/reordered_default_ciphers_tlsversion.srv"); + "any" usebundle => run_test("$(this.promise_filename).sub"); + "any" usebundle => stop_server("$(this.promise_dirname)/reordered_default_ciphers_tlsversion.srv"); +} diff -Nru cfengine3-3.15.6/tests/acceptance/16_cf-serverd/serial/copy_from_reordered_ciphers_success.cf.sub cfengine3-3.15.7/tests/acceptance/16_cf-serverd/serial/copy_from_reordered_ciphers_success.cf.sub --- cfengine3-3.15.6/tests/acceptance/16_cf-serverd/serial/copy_from_reordered_ciphers_success.cf.sub 1970-01-01 00:00:00.000000000 +0000 +++ cfengine3-3.15.7/tests/acceptance/16_cf-serverd/serial/copy_from_reordered_ciphers_success.cf.sub 2022-11-09 16:33:15.000000000 +0000 @@ -0,0 +1,47 @@ +####################################################### +# +# Tries to copy using TLS (which is default now), from two servers: one +# with the default TLS ciphers list and another with a non-default very +# restricted one. +# +# It should succeed in both cases since default client-side cipherlist +# is OpenSSL's default, which is very broad. +# +####################################################### + +body common control +{ + inputs => { "../../default.cf.sub" }; + bundlesequence => { default("$(this.promise_filename)") }; + + # Do not set this, just use the very broad OpenSSL default. + # + # tls_ciphers => ""; +} + +bundle agent init +{ +} + +bundle agent test +{ + files: + # Server with reordered default "allowciphers" + "$(G.testdir)/destfile1" + copy_from => dcs_remote_cp("simple_source", "127.0.0.1", "9893"), + classes => classes_generic("copy1"); +} + +####################################################### + +bundle agent check +{ + classes: + "dummy" expression => regextract("(.*)\.sub", $(this.promise_filename), "fn"); + "exists1" expression => fileexists("$(G.testdir)/destfile1"); + + reports: + + copy1_repaired.exists1:: + "$(fn[1]) Pass"; +} diff -Nru cfengine3-3.15.6/tests/acceptance/16_cf-serverd/serial/default_ciphers_tlsversion.srv cfengine3-3.15.7/tests/acceptance/16_cf-serverd/serial/default_ciphers_tlsversion.srv --- cfengine3-3.15.6/tests/acceptance/16_cf-serverd/serial/default_ciphers_tlsversion.srv 2022-06-29 07:35:25.000000000 +0000 +++ cfengine3-3.15.7/tests/acceptance/16_cf-serverd/serial/default_ciphers_tlsversion.srv 2022-11-09 16:33:15.000000000 +0000 @@ -16,8 +16,8 @@ # Use the defaults, i.e. the following: # -# allowciphers => "AES256-GCM-SHA384:AES256-SHA"; -# allowtlsversion => "1.0"; +# allowciphers => "AES256-GCM-SHA384:AES256-SHA:TLS_AES_256_GCM_SHA384"; +# allowtlsversion => "1.1"; allowconnects => { "127.0.0.1" , "::1" }; allowallconnects => { "127.0.0.1" , "::1" }; diff -Nru cfengine3-3.15.6/tests/acceptance/16_cf-serverd/serial/reordered_default_ciphers_tlsversion.srv cfengine3-3.15.7/tests/acceptance/16_cf-serverd/serial/reordered_default_ciphers_tlsversion.srv --- cfengine3-3.15.6/tests/acceptance/16_cf-serverd/serial/reordered_default_ciphers_tlsversion.srv 1970-01-01 00:00:00.000000000 +0000 +++ cfengine3-3.15.7/tests/acceptance/16_cf-serverd/serial/reordered_default_ciphers_tlsversion.srv 2022-11-09 16:33:15.000000000 +0000 @@ -0,0 +1,34 @@ +body common control +{ + bundlesequence => { "access_rules" }; + inputs => { "../../default.cf.sub" }; + +} + +######################################################### +# Server config +######################################################### + +body server control + +{ + port => "9893"; + + # Use the defaults, but reordered: + allowciphers => "TLS_AES_256_GCM_SHA384:AES256-GCM-SHA384:AES256-SHA"; + + allowconnects => { "127.0.0.1" , "::1" }; + allowallconnects => { "127.0.0.1" , "::1" }; + trustkeysfrom => { "127.0.0.1" , "::1" }; +} + +######################################################### + +bundle server access_rules() + +{ + access: + "$(G.testdir)/source_file" + admit => { "127.0.0.1", "::1" }, + shortcut => "simple_source"; +} diff -Nru cfengine3-3.15.6/tests/acceptance/16_cf-serverd/serial/simple_copy_from_admit_localhost.cf cfengine3-3.15.7/tests/acceptance/16_cf-serverd/serial/simple_copy_from_admit_localhost.cf --- cfengine3-3.15.6/tests/acceptance/16_cf-serverd/serial/simple_copy_from_admit_localhost.cf 2022-06-29 07:35:25.000000000 +0000 +++ cfengine3-3.15.7/tests/acceptance/16_cf-serverd/serial/simple_copy_from_admit_localhost.cf 2022-11-09 16:33:15.000000000 +0000 @@ -11,6 +11,9 @@ meta: "test_suppress_fail" string => "windows", meta => { "redmine6405" }; + # Test fails on OpenSUSE 15, pending investigation. + "test_skip_unsupported" string => "opensuse_leap_15", + meta => { "ENT-9055" }; methods: # source file diff -Nru cfengine3-3.15.6/tests/acceptance/16_cf-serverd/serial/simple_copy_from_deny_localhost.cf cfengine3-3.15.7/tests/acceptance/16_cf-serverd/serial/simple_copy_from_deny_localhost.cf --- cfengine3-3.15.6/tests/acceptance/16_cf-serverd/serial/simple_copy_from_deny_localhost.cf 2022-06-29 07:35:25.000000000 +0000 +++ cfengine3-3.15.7/tests/acceptance/16_cf-serverd/serial/simple_copy_from_deny_localhost.cf 2022-11-09 16:33:15.000000000 +0000 @@ -11,6 +11,9 @@ meta: "test_suppress_fail" string => "windows", meta => { "redmine6405" }; + # Test fails on OpenSUSE 15, pending investigation. + "test_skip_unsupported" string => "opensuse_leap_15", + meta => { "ENT-9055" }; methods: # source file diff -Nru cfengine3-3.15.6/tests/acceptance/25_cf-execd/Makefile cfengine3-3.15.7/tests/acceptance/25_cf-execd/Makefile --- cfengine3-3.15.6/tests/acceptance/25_cf-execd/Makefile 2022-06-29 07:35:58.000000000 +0000 +++ cfengine3-3.15.7/tests/acceptance/25_cf-execd/Makefile 2022-11-09 16:33:59.000000000 +0000 @@ -207,13 +207,13 @@ CTAGS = ctags am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = ${SHELL} /home/jenkins/workspace/bootstrap-pr@2/core/missing aclocal-1.15 +ACLOCAL = ${SHELL} /home/jenkins/workspace/bootstrap-pr@4/core/missing aclocal-1.15 AMTAR = $${TAR-tar} AM_DEFAULT_VERBOSITY = 0 AR = ar -AUTOCONF = ${SHELL} /home/jenkins/workspace/bootstrap-pr@2/core/missing autoconf -AUTOHEADER = ${SHELL} /home/jenkins/workspace/bootstrap-pr@2/core/missing autoheader -AUTOMAKE = ${SHELL} /home/jenkins/workspace/bootstrap-pr@2/core/missing automake-1.15 +AUTOCONF = ${SHELL} /home/jenkins/workspace/bootstrap-pr@4/core/missing autoconf +AUTOHEADER = ${SHELL} /home/jenkins/workspace/bootstrap-pr@4/core/missing autoheader +AUTOMAKE = ${SHELL} /home/jenkins/workspace/bootstrap-pr@4/core/missing automake-1.15 AWK = mawk CC = gcc CCDEPMODE = depmode=gcc3 @@ -316,10 +316,10 @@ PACKAGE = cfengine PACKAGE_BUGREPORT = PACKAGE_NAME = cfengine -PACKAGE_STRING = cfengine 3.15.6 +PACKAGE_STRING = cfengine 3.15.7 PACKAGE_TARNAME = cfengine PACKAGE_URL = -PACKAGE_VERSION = 3.15.6 +PACKAGE_VERSION = 3.15.7 PAM_CFLAGS = PAM_CPPFLAGS = PAM_LDFLAGS = -R/lib @@ -356,13 +356,13 @@ TOKYOCABINET_LDFLAGS = TOKYOCABINET_LIBS = TOKYOCABINET_PATH = -VERSION = 3.15.6 +VERSION = 3.15.7 YACC = bison -y YFLAGS = -abs_builddir = /home/jenkins/workspace/bootstrap-pr@2/core/tests/acceptance/25_cf-execd -abs_srcdir = /home/jenkins/workspace/bootstrap-pr@2/core/tests/acceptance/25_cf-execd -abs_top_builddir = /home/jenkins/workspace/bootstrap-pr@2/core -abs_top_srcdir = /home/jenkins/workspace/bootstrap-pr@2/core +abs_builddir = /home/jenkins/workspace/bootstrap-pr@4/core/tests/acceptance/25_cf-execd +abs_srcdir = /home/jenkins/workspace/bootstrap-pr@4/core/tests/acceptance/25_cf-execd +abs_top_builddir = /home/jenkins/workspace/bootstrap-pr@4/core +abs_top_srcdir = /home/jenkins/workspace/bootstrap-pr@4/core ac_ct_AR = ar ac_ct_CC = gcc ac_ct_DUMPBIN = @@ -398,7 +398,7 @@ includedir = ${prefix}/include infodir = ${datarootdir}/info inputdir = default -install_sh = ${SHELL} /home/jenkins/workspace/bootstrap-pr@2/core/install-sh +install_sh = ${SHELL} /home/jenkins/workspace/bootstrap-pr@4/core/install-sh libdir = ${exec_prefix}/lib libexecdir = ${exec_prefix}/libexec localedir = ${datarootdir}/locale diff -Nru cfengine3-3.15.6/tests/acceptance/31_tickets/ENT-8788/1/desired-result.xml.txt cfengine3-3.15.7/tests/acceptance/31_tickets/ENT-8788/1/desired-result.xml.txt --- cfengine3-3.15.6/tests/acceptance/31_tickets/ENT-8788/1/desired-result.xml.txt 1970-01-01 00:00:00.000000000 +0000 +++ cfengine3-3.15.7/tests/acceptance/31_tickets/ENT-8788/1/desired-result.xml.txt 2022-11-09 16:33:15.000000000 +0000 @@ -0,0 +1,189 @@ + + + + Atlassian JIRA Web Application + The Atlassian JIRA web application - see http://www.atlassian.com/software/jira for more information + + + + + + + + + + JiraImportProgressFilter + com.atlassian.jira.web.filters.JiraImportProgressFilter + + + + SetupProgressFilter + com.atlassian.jira.web.filters.SetupProgressFilter + + + + StartupProgressFilter + com.atlassian.jira.web.filters.StartupProgressFilter + + + + + JiraFirstFilter + com.atlassian.jira.web.filters.JiraFirstFilter + + + + MetricsCollectorFilter + com.atlassian.jira.servermetrics.MetricsCollectorFilter + + + + MultipartBoundaryCheckFilter + com.atlassian.jira.web.filters.MultipartBoundaryCheckFilter + + + + filter-plugin-dispatcher-before-dispatch-include + com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter + + location + before-dispatch + + + dispatcher + INCLUDE + + + + + filter-plugin-dispatcher-before-dispatch-error + com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter + + location + before-dispatch + + + dispatcher + ERROR + + + + + + + MyLoginFilter + com.atlassian.jira.authenticator.my.MyLoginFilter + + + + + MyLoginFilter + /* + REQUEST + FORWARD + + + + JiraLastFilter + com.atlassian.jira.web.filters.JiraLastFilter + + + + + + JiraImportProgressFilter + /importprogress + + + + + + + + + com.atlassian.jira.web.ServletContextProviderListener + + + + + appstatus + com.atlassian.jira.servlet.ApplicationStatusServlet + + + + jsp.func.service.service_002dexecutor_jsp + /func/service/service-executor.jsp + + + + + 600 + + + + + + wsdl + text/xml + + + + + default.jsp + index.html + + + + + 401 + /display-error + + + + + + webwork + /WEB-INF/tld/webwork.tld + + + + sitemesh-page + /WEB-INF/tld/sitemesh-page.tld + + + sitemesh-decorator + /WEB-INF/tld/sitemesh-decorator.tld + + + jiratags + /WEB-INF/tld/atlassian-jira-tags.tld + + + + + + diff -Nru cfengine3-3.15.6/tests/acceptance/31_tickets/ENT-8788/1/main.cf cfengine3-3.15.7/tests/acceptance/31_tickets/ENT-8788/1/main.cf --- cfengine3-3.15.6/tests/acceptance/31_tickets/ENT-8788/1/main.cf 1970-01-01 00:00:00.000000000 +0000 +++ cfengine3-3.15.7/tests/acceptance/31_tickets/ENT-8788/1/main.cf 2022-11-09 16:33:15.000000000 +0000 @@ -0,0 +1,66 @@ +body file control +{ + inputs => { + "../../../default.cf.sub", + }; +} +bundle agent __main__ +# If this is the policy entry (cf-agent --file) then this bundle will be run by default. +{ + methods: + "bundlesequence" usebundle => default("$(this.promise_filename)"); +} + +bundle agent test +{ + meta: + "description" + string => "Inserting content that contains blank lines with file_preserve_block before select_line_matching does not split inserted content before and after select_line_matching", + meta => { "ENT-8788" }; + + vars: + "test_file" string => "$(this.promise_dirname)/start.xml.txt"; + "new_content_file" string => "$(this.promise_dirname)/newcontent.xml.txt"; + + files: + "$(test_file)" + create => "false", + edit_defaults => size("500k"), + edit_line => insert_file_as_block_relative_to_first_or_last_line( + "$(new_content_file)", # File with content to insert if not found + "before", # Relative position to insert content (before|after) + "last", # which line match will we insert based on? + "\s+" # Regex to match the line we want to insert relative to + ); +} + +bundle agent check +{ + methods: + + "Pass/Fail" usebundle => dcs_check_diff($(test.test_file), + "$(this.promise_dirname)/desired-result.xml.txt", + $(this.promise_filename)); +} + +bundle edit_line insert_file_as_block_relative_to_first_or_last_line(templatefile, relative_location, first_or_last, location_line_regex) +{ + insert_lines: + + "$(templatefile)" + comment => "Insert the template file into the file being edited", + insert_type => "file_preserve_block", + location => location_before_after_first_or_last_line( $(relative_location), $(first_or_last), $(location_line_regex) ); +} +body location location_before_after_first_or_last_line(relative_position, first_or_last, regex_matching_line) +{ + before_after => "$(relative_position)"; + first_last => "$(first_or_last)"; + select_line_matching => "$(regex_matching_line)"; +} + +body edit_defaults size(bigenough) +{ + max_file_size => "$(bigenough)"; +} + diff -Nru cfengine3-3.15.6/tests/acceptance/31_tickets/ENT-8788/1/newcontent.xml.txt cfengine3-3.15.7/tests/acceptance/31_tickets/ENT-8788/1/newcontent.xml.txt --- cfengine3-3.15.6/tests/acceptance/31_tickets/ENT-8788/1/newcontent.xml.txt 1970-01-01 00:00:00.000000000 +0000 +++ cfengine3-3.15.7/tests/acceptance/31_tickets/ENT-8788/1/newcontent.xml.txt 2022-11-09 16:33:15.000000000 +0000 @@ -0,0 +1,14 @@ + + + MyLoginFilter + com.atlassian.jira.authenticator.my.MyLoginFilter + + + + + MyLoginFilter + /* + REQUEST + FORWARD + + diff -Nru cfengine3-3.15.6/tests/acceptance/31_tickets/ENT-8788/1/start.xml.txt cfengine3-3.15.7/tests/acceptance/31_tickets/ENT-8788/1/start.xml.txt --- cfengine3-3.15.6/tests/acceptance/31_tickets/ENT-8788/1/start.xml.txt 1970-01-01 00:00:00.000000000 +0000 +++ cfengine3-3.15.7/tests/acceptance/31_tickets/ENT-8788/1/start.xml.txt 2022-11-09 16:33:15.000000000 +0000 @@ -0,0 +1,175 @@ + + + + Atlassian JIRA Web Application + The Atlassian JIRA web application - see http://www.atlassian.com/software/jira for more information + + + + + + + + + + JiraImportProgressFilter + com.atlassian.jira.web.filters.JiraImportProgressFilter + + + + SetupProgressFilter + com.atlassian.jira.web.filters.SetupProgressFilter + + + + StartupProgressFilter + com.atlassian.jira.web.filters.StartupProgressFilter + + + + + JiraFirstFilter + com.atlassian.jira.web.filters.JiraFirstFilter + + + + MetricsCollectorFilter + com.atlassian.jira.servermetrics.MetricsCollectorFilter + + + + MultipartBoundaryCheckFilter + com.atlassian.jira.web.filters.MultipartBoundaryCheckFilter + + + + filter-plugin-dispatcher-before-dispatch-include + com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter + + location + before-dispatch + + + dispatcher + INCLUDE + + + + + filter-plugin-dispatcher-before-dispatch-error + com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter + + location + before-dispatch + + + dispatcher + ERROR + + + + + + JiraLastFilter + com.atlassian.jira.web.filters.JiraLastFilter + + + + + + JiraImportProgressFilter + /importprogress + + + + + + + + + com.atlassian.jira.web.ServletContextProviderListener + + + + + appstatus + com.atlassian.jira.servlet.ApplicationStatusServlet + + + + jsp.func.service.service_002dexecutor_jsp + /func/service/service-executor.jsp + + + + + 600 + + + + + + wsdl + text/xml + + + + + default.jsp + index.html + + + + + 401 + /display-error + + + + + + webwork + /WEB-INF/tld/webwork.tld + + + + sitemesh-page + /WEB-INF/tld/sitemesh-page.tld + + + sitemesh-decorator + /WEB-INF/tld/sitemesh-decorator.tld + + + jiratags + /WEB-INF/tld/atlassian-jira-tags.tld + + + + + + diff -Nru cfengine3-3.15.6/tests/acceptance/31_tickets/ENT-8788/2/desired-result.xml.txt cfengine3-3.15.7/tests/acceptance/31_tickets/ENT-8788/2/desired-result.xml.txt --- cfengine3-3.15.6/tests/acceptance/31_tickets/ENT-8788/2/desired-result.xml.txt 1970-01-01 00:00:00.000000000 +0000 +++ cfengine3-3.15.7/tests/acceptance/31_tickets/ENT-8788/2/desired-result.xml.txt 2022-11-09 16:33:15.000000000 +0000 @@ -0,0 +1,187 @@ + + + + Atlassian JIRA Web Application + The Atlassian JIRA web application - see http://www.atlassian.com/software/jira for more information + + + + + + + + + + JiraImportProgressFilter + com.atlassian.jira.web.filters.JiraImportProgressFilter + + + + SetupProgressFilter + com.atlassian.jira.web.filters.SetupProgressFilter + + + + StartupProgressFilter + com.atlassian.jira.web.filters.StartupProgressFilter + + + + + JiraFirstFilter + com.atlassian.jira.web.filters.JiraFirstFilter + + + + MetricsCollectorFilter + com.atlassian.jira.servermetrics.MetricsCollectorFilter + + + + MultipartBoundaryCheckFilter + com.atlassian.jira.web.filters.MultipartBoundaryCheckFilter + + + + filter-plugin-dispatcher-before-dispatch-include + com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter + + location + before-dispatch + + + dispatcher + INCLUDE + + + + + filter-plugin-dispatcher-before-dispatch-error + com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter + + location + before-dispatch + + + dispatcher + ERROR + + + + + + + MyLoginFilter + com.atlassian.jira.authenticator.my.MyLoginFilter + + + MyLoginFilter + /* + REQUEST + FORWARD + + + + JiraLastFilter + com.atlassian.jira.web.filters.JiraLastFilter + + + + + + JiraImportProgressFilter + /importprogress + + + + + + + + + com.atlassian.jira.web.ServletContextProviderListener + + + + + appstatus + com.atlassian.jira.servlet.ApplicationStatusServlet + + + + jsp.func.service.service_002dexecutor_jsp + /func/service/service-executor.jsp + + + + + 600 + + + + + + wsdl + text/xml + + + + + default.jsp + index.html + + + + + 401 + /display-error + + + + + + webwork + /WEB-INF/tld/webwork.tld + + + + sitemesh-page + /WEB-INF/tld/sitemesh-page.tld + + + sitemesh-decorator + /WEB-INF/tld/sitemesh-decorator.tld + + + jiratags + /WEB-INF/tld/atlassian-jira-tags.tld + + + + + + diff -Nru cfengine3-3.15.6/tests/acceptance/31_tickets/ENT-8788/2/main.cf cfengine3-3.15.7/tests/acceptance/31_tickets/ENT-8788/2/main.cf --- cfengine3-3.15.6/tests/acceptance/31_tickets/ENT-8788/2/main.cf 1970-01-01 00:00:00.000000000 +0000 +++ cfengine3-3.15.7/tests/acceptance/31_tickets/ENT-8788/2/main.cf 2022-11-09 16:33:15.000000000 +0000 @@ -0,0 +1,66 @@ +body file control +{ + inputs => { + "../../../default.cf.sub", + }; +} +bundle agent __main__ +# If this is the policy entry (cf-agent --file) then this bundle will be run by default. +{ + methods: + "bundlesequence" usebundle => default("$(this.promise_filename)"); +} + +bundle agent test +{ + meta: + "description" + string => "Inserting content that does not contain blank lines with file_preserve_block before select_line_matching works as expected", + meta => { "ENT-8788" }; + + vars: + "test_file" string => "$(this.promise_dirname)/start.xml.txt"; + "new_content_file" string => "$(this.promise_dirname)/newcontent.xml.txt"; + + files: + "$(test_file)" + create => "false", + edit_defaults => size("500k"), + edit_line => insert_file_as_block_relative_to_first_or_last_line( + "$(new_content_file)", # File with content to insert if not found + "before", # Relative position to insert content (before|after) + "last", # which line match will we insert based on? + "\s+" # Regex to match the line we want to insert relative to + ); +} + +bundle agent check +{ + methods: + + "Pass/Fail" usebundle => dcs_check_diff($(test.test_file), + "$(this.promise_dirname)/desired-result.xml.txt", + $(this.promise_filename)); +} + +bundle edit_line insert_file_as_block_relative_to_first_or_last_line(templatefile, relative_location, first_or_last, location_line_regex) +{ + insert_lines: + + "$(templatefile)" + comment => "Insert the template file into the file being edited", + insert_type => "file_preserve_block", + location => location_before_after_first_or_last_line( $(relative_location), $(first_or_last), $(location_line_regex) ); +} +body location location_before_after_first_or_last_line(relative_position, first_or_last, regex_matching_line) +{ + before_after => "$(relative_position)"; + first_last => "$(first_or_last)"; + select_line_matching => "$(regex_matching_line)"; +} + +body edit_defaults size(bigenough) +{ + max_file_size => "$(bigenough)"; +} + diff -Nru cfengine3-3.15.6/tests/acceptance/31_tickets/ENT-8788/2/newcontent.xml.txt cfengine3-3.15.7/tests/acceptance/31_tickets/ENT-8788/2/newcontent.xml.txt --- cfengine3-3.15.6/tests/acceptance/31_tickets/ENT-8788/2/newcontent.xml.txt 1970-01-01 00:00:00.000000000 +0000 +++ cfengine3-3.15.7/tests/acceptance/31_tickets/ENT-8788/2/newcontent.xml.txt 2022-11-09 16:33:15.000000000 +0000 @@ -0,0 +1,12 @@ + + + MyLoginFilter + com.atlassian.jira.authenticator.my.MyLoginFilter + + + MyLoginFilter + /* + REQUEST + FORWARD + + diff -Nru cfengine3-3.15.6/tests/acceptance/31_tickets/ENT-8788/2/start.xml.txt cfengine3-3.15.7/tests/acceptance/31_tickets/ENT-8788/2/start.xml.txt --- cfengine3-3.15.6/tests/acceptance/31_tickets/ENT-8788/2/start.xml.txt 1970-01-01 00:00:00.000000000 +0000 +++ cfengine3-3.15.7/tests/acceptance/31_tickets/ENT-8788/2/start.xml.txt 2022-11-09 16:33:15.000000000 +0000 @@ -0,0 +1,175 @@ + + + + Atlassian JIRA Web Application + The Atlassian JIRA web application - see http://www.atlassian.com/software/jira for more information + + + + + + + + + + JiraImportProgressFilter + com.atlassian.jira.web.filters.JiraImportProgressFilter + + + + SetupProgressFilter + com.atlassian.jira.web.filters.SetupProgressFilter + + + + StartupProgressFilter + com.atlassian.jira.web.filters.StartupProgressFilter + + + + + JiraFirstFilter + com.atlassian.jira.web.filters.JiraFirstFilter + + + + MetricsCollectorFilter + com.atlassian.jira.servermetrics.MetricsCollectorFilter + + + + MultipartBoundaryCheckFilter + com.atlassian.jira.web.filters.MultipartBoundaryCheckFilter + + + + filter-plugin-dispatcher-before-dispatch-include + com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter + + location + before-dispatch + + + dispatcher + INCLUDE + + + + + filter-plugin-dispatcher-before-dispatch-error + com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter + + location + before-dispatch + + + dispatcher + ERROR + + + + + + JiraLastFilter + com.atlassian.jira.web.filters.JiraLastFilter + + + + + + JiraImportProgressFilter + /importprogress + + + + + + + + + com.atlassian.jira.web.ServletContextProviderListener + + + + + appstatus + com.atlassian.jira.servlet.ApplicationStatusServlet + + + + jsp.func.service.service_002dexecutor_jsp + /func/service/service-executor.jsp + + + + + 600 + + + + + + wsdl + text/xml + + + + + default.jsp + index.html + + + + + 401 + /display-error + + + + + + webwork + /WEB-INF/tld/webwork.tld + + + + sitemesh-page + /WEB-INF/tld/sitemesh-page.tld + + + sitemesh-decorator + /WEB-INF/tld/sitemesh-decorator.tld + + + jiratags + /WEB-INF/tld/atlassian-jira-tags.tld + + + + + + diff -Nru cfengine3-3.15.6/tests/acceptance/testall cfengine3-3.15.7/tests/acceptance/testall --- cfengine3-3.15.6/tests/acceptance/testall 2022-06-29 07:35:25.000000000 +0000 +++ cfengine3-3.15.7/tests/acceptance/testall 2022-11-09 16:33:15.000000000 +0000 @@ -927,7 +927,15 @@ esac done -if [ -n "$AGENT" -o -n "$CF_PROMISES" -o -n "$CF_SERVERD" -o -n "$CF_EXECD" -o -n "$CF_KEY" -o -n "$CF_SECRET" -o -n "$CF_NET" -o -n "$CF_CHECK" -o -n "$CF_RUNAGENT" -o -n "$RPMVERCMP" ] +# check if rpm is used on this host, sometimes it can be installed but not used say on Ubuntu +if [ -n "$(command -v rpm)" -a "0" != "$(rpm -qa | wc -l)" ] +then + NEED_RPMVERCMP="yes" +else + NEED_RPMVERCMP="no" +fi + +if [ -n "$AGENT" -o -n "$CF_PROMISES" -o -n "$CF_SERVERD" -o -n "$CF_EXECD" -o -n "$CF_KEY" -o -n "$CF_SECRET" -o -n "$CF_NET" -o -n "$CF_CHECK" -o -n "$CF_RUNAGENT" -o \( "$NEED_RPMVERCMP" = "yes" -a -n "$RPMVERCMP" \) ] then if [ -n "$BINDIR" ] then @@ -960,7 +968,10 @@ find_default_binary DEFCF_NET cf-net find_default_binary DEFCF_CHECK cf-check find_default_binary DEFCF_RUNAGENT cf-runagent -find_default_binary DEFRPMVERCMP rpmvercmp +if [ "$NEED_RPMVERCMP" = "yes" ] +then + find_default_binary DEFRPMVERCMP rpmvercmp +fi [ -x "`pwd`/libtool" ] && DEFLIBTOOL="`pwd`/libtool" [ -x "`pwd`/../../libtool" ] && DEFLIBTOOL="`pwd`/../../libtool" @@ -977,7 +988,7 @@ RPMVERCMP=${RPMVERCMP:-${DEFRPMVERCMP}} LIBTOOL=${LIBTOOL:-${DEFLIBTOOL}} -if [ ! -x "$AGENT" -o ! -x "$CF_PROMISES" -o ! -x "$CF_SERVERD" -o ! -x "$CF_EXECD" -o ! -x "$CF_KEY" -o ! -x "$CF_SECRET" -o ! -x "$CF_NET" -o ! -x "$CF_CHECK" -o ! -x "$CF_RUNAGENT" -o ! -x "$RPMVERCMP" ] +if [ ! -x "$AGENT" -o ! -x "$CF_PROMISES" -o ! -x "$CF_SERVERD" -o ! -x "$CF_EXECD" -o ! -x "$CF_KEY" -o ! -x "$CF_SECRET" -o ! -x "$CF_NET" -o ! -x "$CF_CHECK" -o ! -x "$CF_RUNAGENT" -o \( "$NEED_RPMVERCMP" = "yes" -a ! -x "$RPMVERCMP" \) ] then echo "ERROR: can't find cf-agent or other binary;" \ " Are you sure you're running this from OBJDIR" \