diff --git a/.gitignore b/.gitignore index cbf28ac..fc05a06 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,27 @@ /keepalived-1.2.24.tar.gz /keepalived-1.3.2.tar.gz /keepalived-1.3.5.tar.gz +/keepalived-1.3.6.tar.gz +/keepalived-1.3.9.tar.gz +/keepalived-1.4.0.tar.gz +/keepalived-1.4.1.tar.gz +/keepalived-1.4.2.tar.gz +/keepalived-1.4.3.tar.gz +/keepalived-1.4.4.tar.gz +/keepalived-1.4.5.tar.gz +/keepalived-2.0.5.tar.gz +/keepalived-2.0.6.tar.gz +/keepalived-2.0.10.tar.gz +/keepalived-2.0.11.tar.gz +/keepalived-2.0.12.tar.gz +/keepalived-2.0.18.tar.gz +/keepalived-2.0.19.tar.gz +/keepalived-2.0.20.tar.gz +/keepalived-2.1.5.tar.gz +/keepalived-2.2.0.tar.gz +/keepalived-2.2.1.tar.gz +/keepalived-2.2.2.tar.gz +/keepalived-2.2.3.tar.gz +/keepalived-2.2.4.tar.gz +/keepalived-2.2.7.tar.gz +/keepalived-2.2.8.tar.gz diff --git a/configure.patch b/configure.patch deleted file mode 100644 index 015742b..0000000 --- a/configure.patch +++ /dev/null @@ -1,562 +0,0 @@ ---- a/configure.ac 2016-09-11 17:47:25.000000000 +0100 -+++ b/configure.ac 2016-09-16 18:06:48.931414048 +0100 -@@ -154,7 +154,8 @@ - [], [AC_MSG_ERROR([Missing/unusable system header file <$ac_header>])]) - - # check for kernel headers --CPPFLAGS="$kernelinc" -+SAV_CPPFLAGS="$CPPFLAGS" -+CPPFLAGS="$CPPFLAGS $kernelinc" - dnl -- needed until Linux 3.1 - dnl -- using AC_CHECK_HEADER causes a horrible error message for the user - NETLINK_EXTRA_INCLUDE= -@@ -176,6 +177,7 @@ - AC_CHECK_HEADERS([linux/if_arp.h], - [], [AC_MSG_ERROR([Missing/unusable <$ac_header>])], - [[#include ]]) -+CPPFLAGS="$SAV_CPPFLAGS" - - # Checks for typedefs, structures, and compiler characteristics. - AC_HEADER_STDBOOL -@@ -303,16 +305,19 @@ - ]) - - if test $NETLINK_VER != None; then -- CPPFLAGS="$kernelinc" -+ SAV_CPPFLAGS="$CPPFLAGS" -+ CPPFLAGS="$CPPFLAGS $kernelinc" - AC_CHECK_HEADERS(libnfnetlink/libnfnetlink.h,,AC_MSG_ERROR([ - !!! Please install libnfnetlink headers. !!!])) - if test $NETLINK_VER = 3; then -- CPPFLAGS="$NL3_CFLAGS" -+ CPPFLAGS="$CPPFLAGS $NL3_CFLAGS" - AC_CHECK_HEADERS([netlink/route/link.h netlink/route/link/inet.h], [], [AC_MSG_ERROR([libnl-3 headers missing])]) - fi - - AC_CHECK_HEADERS([linux/rtnetlink.h], [], [AC_MSG_ERROR([Unusable link/rtnetlink.h])], [$NETLINK_EXTRA_INCLUDE]) - AC_CHECK_HEADERS([libnfnetlink/libnfnetlink.h netlink/genl/ctrl.h netlink/genl/genl.h netlink/netlink.h], [], [AC_MSG_ERROR([netlink headers missing])]) -+ -+ CPPFLAGS="$SAV_CPPFLAGS" - fi - - dnl -- Check for the following variables introduced at various times into Linux -@@ -347,7 +352,8 @@ - dnl -- Resolved in libnl3-3.2.26 (release 30/3/2015) - if test $NETLINK_VER = 3; then - AC_MSG_CHECKING([for net/if.h and libnl3/netlink/route/link.h namespace collision]) -- CPPFLAGS="$NL3_CFLAGS" -+ SAV_CPPFLAGS="$CPPFLAGS" -+ CPPFLAGS="$CPPFLAGS $NL3_CFLAGS" - AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ - #include - #include -@@ -358,12 +364,14 @@ - AC_DEFINE([_HAVE_IF_H_LINK_H_COLLISION_], [ 1 ], [Define to 1 if and namespace collision]) - add_build_opt([IF_H_LINK_H_COLLISION]) - ]) -+ CPPFLAGS="$SAV_CPPFLAGS" - fi - - dnl ----[Check have IPV4_DEVCONF defines - since Linux 3.11]---- - if test $NETLINK_VER = 3; then - IPV4_DEVCONF=Yes -- CPPFLAGS="$kernelinc" -+ SAV_CPPFLAGS="$CPPFLAGS" -+ CPPFLAGS="$CPPFLAGS $kernelinc" - AC_CHECK_DECLS([ - IPV4_DEVCONF_ARP_IGNORE, - IPV4_DEVCONF_ACCEPT_LOCAL, -@@ -375,6 +383,7 @@ - break - ], - [[#include ]]) -+ CPPFLAGS="$SAV_CPPFLAGS" - else - IPV4_DEVCONF=No - fi -@@ -397,20 +406,23 @@ - if test $USE_LIBIPTC = Yes; then - add_pkg_config([--static libiptc], [IPTC]) - LIBS="$IPTC_LIBS" -- CPPFLAGS="$kernelinc" -+ SAV_CPPFLAGS="$CPPFLAGS" -+ CPPFLAGS="$CPPFLAGS $kernelinc" - AC_CHECK_LIB(iptc, iptc_init, - [ - add_pkg_config([--static libiptc]) - AC_DEFINE([_HAVE_LIBIPTC_], [ 1 ], [Define to 1 if have iptables libraries]) - ], - [USE_LIBIPTC=No]) -+ CPPFLAGS="$SAV_CPPFLAGS" - fi - - if test $USE_LIBIPTC = Yes; then - add_build_opt([LIBIPTC]) - - dnl ----[Check for ipset libraries]---- -- CPPFLAGS="$kernelinc" -+ SAV_CPPFLAGS="$CPPFLAGS" -+ CPPFLAGS="$CPPFLAGS $kernelinc" - if test "${enable_libipset}" != no; then - pkg-config --exists libipset - if test $? -eq 0; then -@@ -478,6 +490,8 @@ - AC_CHECK_DECL([XT_EXTENSION_MAXNAMELEN], [], - [AC_DEFINE([XT_EXTENSION_MAXNAMELEN], [ (XT_FUNCTION_MAXNAMELEN - 1) ], [Define if doesnt define it])], - [#include ]) -+ -+ CPPFLAGS="$SAV_CPPFLAGS" - fi - fi - AM_CONDITIONAL([LIBIPTC], [test $USE_LIBIPTC = Yes]) -@@ -488,7 +502,8 @@ - # Linux 4.5 to 4.5.4 has indirectly including - # and which causes a namespace collision. - AC_MSG_CHECKING([for libiptc/libiptc.h linux/if.h and net/if.h namespace collision]) --CPPFLAGS="$kernelinc" -+SAV_CPPFLAGS="$CPPFLAGS" -+CPPFLAGS="$CPPFLAGS $kernelinc" - AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ - #include - ]])], -@@ -500,6 +515,7 @@ - AC_DEFINE([_HAVE_LINUX_NET_IF_H_COLLISION_], [ 1 ], [Define to 1 if have libiptc/libiptc.h linux/if.h and net/if.h namespace collision]) - add_build_opt([LINUX_NET_IF_H_COLLISION]) - ]) -+CPPFLAGS="$SAV_CPPFLAGS" - - dnl ----[ Checks for LVS and VRRP support ]---- - IPVS_SYNCD_ATTRIBUTES=No -@@ -518,7 +534,8 @@ - fi - - dnl ----[ IPVS syncd options ]--- -- CPPFLAGS="$kernelinc" -+ SAV_CPPFLAGS="$CPPFLAGS" -+ CPPFLAGS="$CPPFLAGS $kernelinc" - IPVS_SYNCD_ATTRIBUTES=Yes - AC_CHECK_DECLS([ - IPVS_DAEMON_ATTR_SYNC_MAXLEN, -@@ -540,7 +557,6 @@ - dnl ----[ IPVS 64-bit stats ]---- - dnl -- Since Linux 4.2 - if test "$enable_lvs_64bit_stats" != "no"; then -- CPPFLAGS="$kernelinc" - IPVS_64BIT_STATS=Yes - AC_CHECK_DECLS([ - IPVS_SVC_ATTR_STATS64, -@@ -555,6 +571,7 @@ - add_build_opt([IPVS_64BIT_STATS]) - fi - fi -+ CPPFLAGS="$SAV_CPPFLAGS" - else - IPVS_SUPPORT=No - fi -@@ -577,7 +594,8 @@ - fi - - dnl ----[ Checks for kernel VMAC support ]---- -- CPPFLAGS="$kernelinc" -+ SAV_CPPFLAGS="$CPPFLAGS" -+ CPPFLAGS="$CPPFLAGS $kernelinc" - MACVLAN_SUPPORT=Yes - dnl -- Since Linux 2.6.33 - AC_CHECK_DECLS([ -@@ -594,6 +612,7 @@ - AC_DEFINE([_HAVE_VRRP_VMAC_], [ 1 ], [Define to 1 if have MAC VLAN support]) - add_build_opt([VRRP_VMAC]) - fi -+ CPPFLAGS="$SAV_CPPFLAGS" - fi - AM_CONDITIONAL([WITH_VRRP], [test $VRRP_SUPPORT = Yes]) - AM_CONDITIONAL([VRRP_AUTH], [test $VRRP_AUTH_SUPPORT = Yes]) -@@ -614,7 +633,8 @@ - - dnl ----[ Checks for FIB routing support ]---- - # Introduced in Linux 2.6.19 --CPPFLAGS="$kernelinc" -+SAV_CPPFLAGS="$CPPFLAGS" -+CPPFLAGS="$CPPFLAGS $kernelinc" - AC_CHECK_DECL([FRA_SRC], - [ - FIB_ROUTING_SUPPORT=Yes -@@ -626,9 +646,11 @@ - ],[[#include - #include ]]) - AM_CONDITIONAL([FIB_ROUTING], [test $FIB_ROUTING_SUPPORT = Yes]) -+CPPFLAGS="$SAV_CPPFLAGS" - - dnl ----[ Checks for kernel IFLA_INET6_ADDR_GEN_MODE support ]---- --CPPFLAGS="$kernelinc" -+SAV_CPPFLAGS="$CPPFLAGS" -+CPPFLAGS="$CPPFLAGS $kernelinc" - if test ${MACVLAN_SUPPORT} = Yes; then - # Introduced in Linux 3.17 - AC_CHECK_DECLS([IFLA_INET6_ADDR_GEN_MODE], -@@ -638,6 +660,7 @@ - #include - ]]) - fi -+CPPFLAGS="$SAV_CPPFLAGS" - - dnl ----[ Checks for SNMP support ]---- - SNMP_SUPPORT=No -@@ -662,8 +685,10 @@ - NETSNMP_LIBS="$NETSNMP_LIBS_AGENT $NETSNMP_LIBS_EXT" - NETSNMP_CFLAGS="`${NETSNMP_CONFIG} --base-cflags` -DNETSNMP_NO_INLINE" - -- CFLAGS="${NETSNMP_CFLAGS}" -- LIBS="${NETSNMP_LIBS}" -+ SAV_CFLAGS="$CFLAGS" -+ CFLAGS="$CFLAGS ${NETSNMP_CFLAGS}" -+ SAV_LIBS="$LIBS" -+ LIBS="$LIBS ${NETSNMP_LIBS}" - AC_MSG_CHECKING([whether C compiler supports flag "${NETSNMP_CFLAGS} ${NETSNMP_LIBS}" from Net-SNMP]) - AC_LINK_IFELSE([AC_LANG_SOURCE([[ - int main(void) -@@ -683,7 +708,8 @@ - - # check for net-snmp headers - # Some ancient distributions may miss header -- CPPFLAGS="$NETSNMP_CFLAGS" -+ SAV_CPPFLAGS="$CPPFLAGS" -+ CPPFLAGS="$CPPFLAGS $NETSNMP_CFLAGS" - AC_CHECK_HEADERS(net-snmp/agent/agent_sysORTable.h net-snmp/agent/snmp_vars.h net-snmp/agent/util_funcs.h,[], - [AC_MSG_ERROR([missing net-snmp headers])],[[ - #include -@@ -739,8 +765,9 @@ - AC_MSG_ERROR([CHECKER SNMP support requires checker]) - fi - -- unset LIBS -- unset CFLAGS -+ CPPFLAGS="$SAV_CPPFLAGS" -+ CFLAGS="$SAV_CFLAGS" -+ LIBS="$SAV_LIBS" - fi - - dnl ----[What SNMP support is required]---- -@@ -798,10 +825,12 @@ - - dnl ---[ check for setns() ]---- - dnl -- CLONE_NEWNET defined from Linux 3.0 --CFLAGS=-D_GNU_SOURCE -+SAV_CFLAGS="$CFLAGS" -+CFLAGS="$CFLAGS -D_GNU_SOURCE" - AC_CHECK_DECLS([CLONE_NEWNET], [], [], [[#include ]]) - dnl -- From glibc 2.14. Otherwise use setns syscall, since Linux 2.4.x - AC_CHECK_FUNCS([setns]) -+CFLAGS="$SAV_CFLAGS" - AM_CONDITIONAL([WITH_NAMESPACES], [test $ac_cv_have_decl_CLONE_NEWNET = yes]) - - dnl ---[ check for sphinx-build executable ]---- ---- a/configure 2016-09-11 18:17:50.000000000 +0100 -+++ b/configure 2016-09-16 18:06:48.934413991 +0100 -@@ -2527,7 +2527,7 @@ - ac_compiler_gnu=$ac_cv_c_compiler_gnu - - --am__api_version='1.14' -+am__api_version='1.15' - - ac_aux_dir= - for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do -@@ -2728,8 +2728,8 @@ - ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' - program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` - --# expand $ac_aux_dir to an absolute path --am_aux_dir=`cd $ac_aux_dir && pwd` -+# Expand $ac_aux_dir to an absolute path. -+am_aux_dir=`cd "$ac_aux_dir" && pwd` - - if test x"${MISSING+set}" != xset; then - case $am_aux_dir in -@@ -2748,7 +2748,7 @@ - $as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;} - fi - --if test x"${install_sh}" != xset; then -+if test x"${install_sh+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; -@@ -3076,8 +3076,8 @@ - # - mkdir_p='$(MKDIR_P)' - --# We need awk for the "check" target. The system "awk" is bad on --# some platforms. -+# We need awk for the "check" target (and possibly the TAP driver). The -+# system "awk" is bad on some platforms. - # Always define AMTAR for backward compatibility. Yes, it's still used - # in the wild :-( We should find a proper way to deprecate it ... - AMTAR='$${TAR-tar}' -@@ -3137,6 +3137,7 @@ - - - -+ - ac_config_headers="$ac_config_headers lib/config.h" - - -@@ -5259,7 +5260,8 @@ - - - # check for kernel headers --CPPFLAGS="$kernelinc" -+SAV_CPPFLAGS="$CPPFLAGS" -+CPPFLAGS="$CPPFLAGS $kernelinc" - NETLINK_EXTRA_INCLUDE= - cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ -@@ -5333,6 +5335,7 @@ - - done - -+CPPFLAGS="$SAV_CPPFLAGS" - - # Checks for typedefs, structures, and compiler characteristics. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdbool.h that conforms to C99" >&5 -@@ -6521,7 +6524,8 @@ - - - if test $NETLINK_VER != None; then -- CPPFLAGS="$kernelinc" -+ SAV_CPPFLAGS="$CPPFLAGS" -+ CPPFLAGS="$CPPFLAGS $kernelinc" - for ac_header in libnfnetlink/libnfnetlink.h - do : - ac_fn_c_check_header_mongrel "$LINENO" "libnfnetlink/libnfnetlink.h" "ac_cv_header_libnfnetlink_libnfnetlink_h" "$ac_includes_default" -@@ -6538,7 +6542,7 @@ - done - - if test $NETLINK_VER = 3; then -- CPPFLAGS="$NL3_CFLAGS" -+ CPPFLAGS="$CPPFLAGS $NL3_CFLAGS" - for ac_header in netlink/route/link.h netlink/route/link/inet.h - do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -@@ -6586,6 +6590,8 @@ - - done - -+ -+ CPPFLAGS="$SAV_CPPFLAGS" - fi - - ac_fn_c_check_decl "$LINENO" "RTA_ENCAP" "ac_cv_have_decl_RTA_ENCAP" "#include -@@ -6743,7 +6749,8 @@ - if test $NETLINK_VER = 3; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for net/if.h and libnl3/netlink/route/link.h namespace collision" >&5 - $as_echo_n "checking for net/if.h and libnl3/netlink/route/link.h namespace collision... " >&6; } -- CPPFLAGS="$NL3_CFLAGS" -+ SAV_CPPFLAGS="$CPPFLAGS" -+ CPPFLAGS="$CPPFLAGS $NL3_CFLAGS" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ - -@@ -6767,11 +6774,13 @@ - - fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -+ CPPFLAGS="$SAV_CPPFLAGS" - fi - - if test $NETLINK_VER = 3; then - IPV4_DEVCONF=Yes -- CPPFLAGS="$kernelinc" -+ SAV_CPPFLAGS="$CPPFLAGS" -+ CPPFLAGS="$CPPFLAGS $kernelinc" - ac_fn_c_check_decl "$LINENO" "IPV4_DEVCONF_ARP_IGNORE" "ac_cv_have_decl_IPV4_DEVCONF_ARP_IGNORE" "#include - " - if test "x$ac_cv_have_decl_IPV4_DEVCONF_ARP_IGNORE" = xyes; then : -@@ -6849,6 +6858,7 @@ - - fi - -+ CPPFLAGS="$SAV_CPPFLAGS" - else - IPV4_DEVCONF=No - fi -@@ -6919,7 +6929,8 @@ - - - LIBS="$IPTC_LIBS" -- CPPFLAGS="$kernelinc" -+ SAV_CPPFLAGS="$CPPFLAGS" -+ CPPFLAGS="$CPPFLAGS $kernelinc" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iptc_init in -liptc" >&5 - $as_echo_n "checking for iptc_init in -liptc... " >&6; } - if ${ac_cv_lib_iptc_iptc_init+:} false; then : -@@ -7002,12 +7013,14 @@ - USE_LIBIPTC=No - fi - -+ CPPFLAGS="$SAV_CPPFLAGS" - fi - - if test $USE_LIBIPTC = Yes; then - BUILD_OPTIONS="$BUILD_OPTIONS LIBIPTC" - -- CPPFLAGS="$kernelinc" -+ SAV_CPPFLAGS="$CPPFLAGS" -+ CPPFLAGS="$CPPFLAGS $kernelinc" - if test "${enable_libipset}" != no; then - pkg-config --exists libipset - if test $? -eq 0; then -@@ -7326,6 +7339,8 @@ - - fi - -+ -+ CPPFLAGS="$SAV_CPPFLAGS" - fi - fi - if test $USE_LIBIPTC = Yes; then -@@ -7350,7 +7365,8 @@ - # and which causes a namespace collision. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libiptc/libiptc.h linux/if.h and net/if.h namespace collision" >&5 - $as_echo_n "checking for libiptc/libiptc.h linux/if.h and net/if.h namespace collision... " >&6; } --CPPFLAGS="$kernelinc" -+SAV_CPPFLAGS="$CPPFLAGS" -+CPPFLAGS="$CPPFLAGS $kernelinc" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext - /* end confdefs.h. */ - -@@ -7373,6 +7389,7 @@ - - fi - rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -+CPPFLAGS="$SAV_CPPFLAGS" - - IPVS_SYNCD_ATTRIBUTES=No - IPVS_64BIT_STATS=No -@@ -7403,7 +7420,8 @@ - BUILD_OPTIONS="$BUILD_OPTIONS LIBIPVS_NETLINK" - fi - -- CPPFLAGS="$kernelinc" -+ SAV_CPPFLAGS="$CPPFLAGS" -+ CPPFLAGS="$CPPFLAGS $kernelinc" - IPVS_SYNCD_ATTRIBUTES=Yes - ac_fn_c_check_decl "$LINENO" "IPVS_DAEMON_ATTR_SYNC_MAXLEN" "ac_cv_have_decl_IPVS_DAEMON_ATTR_SYNC_MAXLEN" "#include - " -@@ -7509,7 +7527,6 @@ - fi - - if test "$enable_lvs_64bit_stats" != "no"; then -- CPPFLAGS="$kernelinc" - IPVS_64BIT_STATS=Yes - ac_fn_c_check_decl "$LINENO" "IPVS_SVC_ATTR_STATS64" "ac_cv_have_decl_IPVS_SVC_ATTR_STATS64" "#include - " -@@ -7557,6 +7574,7 @@ - BUILD_OPTIONS="$BUILD_OPTIONS IPVS_64BIT_STATS" - fi - fi -+ CPPFLAGS="$SAV_CPPFLAGS" - else - IPVS_SUPPORT=No - fi -@@ -7587,7 +7605,8 @@ - BUILD_OPTIONS="$BUILD_OPTIONS VRRP_AUTH" - fi - -- CPPFLAGS="$kernelinc" -+ SAV_CPPFLAGS="$CPPFLAGS" -+ CPPFLAGS="$CPPFLAGS $kernelinc" - MACVLAN_SUPPORT=Yes - ac_fn_c_check_decl "$LINENO" "IFLA_MACVLAN_MODE" "ac_cv_have_decl_IFLA_MACVLAN_MODE" " - #include -@@ -7640,6 +7659,7 @@ - - BUILD_OPTIONS="$BUILD_OPTIONS VRRP_VMAC" - fi -+ CPPFLAGS="$SAV_CPPFLAGS" - fi - if test $VRRP_SUPPORT = Yes; then - WITH_VRRP_TRUE= -@@ -7713,7 +7733,8 @@ - - - # Introduced in Linux 2.6.19 --CPPFLAGS="$kernelinc" -+SAV_CPPFLAGS="$CPPFLAGS" -+CPPFLAGS="$CPPFLAGS $kernelinc" - ac_fn_c_check_decl "$LINENO" "FRA_SRC" "ac_cv_have_decl_FRA_SRC" "#include - #include - " -@@ -7739,8 +7760,10 @@ - FIB_ROUTING_FALSE= - fi - -+CPPFLAGS="$SAV_CPPFLAGS" - --CPPFLAGS="$kernelinc" -+SAV_CPPFLAGS="$CPPFLAGS" -+CPPFLAGS="$CPPFLAGS $kernelinc" - if test ${MACVLAN_SUPPORT} = Yes; then - # Introduced in Linux 3.17 - ac_fn_c_check_decl "$LINENO" "IFLA_INET6_ADDR_GEN_MODE" "ac_cv_have_decl_IFLA_INET6_ADDR_GEN_MODE" " -@@ -7763,6 +7786,7 @@ - fi - - fi -+CPPFLAGS="$SAV_CPPFLAGS" - - SNMP_SUPPORT=No - SNMP_KEEPALIVED_SUPPORT=No -@@ -7883,8 +7907,10 @@ - NETSNMP_LIBS="$NETSNMP_LIBS_AGENT $NETSNMP_LIBS_EXT" - NETSNMP_CFLAGS="`${NETSNMP_CONFIG} --base-cflags` -DNETSNMP_NO_INLINE" - -- CFLAGS="${NETSNMP_CFLAGS}" -- LIBS="${NETSNMP_LIBS}" -+ SAV_CFLAGS="$CFLAGS" -+ CFLAGS="$CFLAGS ${NETSNMP_CFLAGS}" -+ SAV_LIBS="$LIBS" -+ LIBS="$LIBS ${NETSNMP_LIBS}" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler supports flag \"${NETSNMP_CFLAGS} ${NETSNMP_LIBS}\" from Net-SNMP" >&5 - $as_echo_n "checking whether C compiler supports flag \"${NETSNMP_CFLAGS} ${NETSNMP_LIBS}\" from Net-SNMP... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -@@ -7928,7 +7954,8 @@ - - # check for net-snmp headers - # Some ancient distributions may miss header -- CPPFLAGS="$NETSNMP_CFLAGS" -+ SAV_CPPFLAGS="$CPPFLAGS" -+ CPPFLAGS="$CPPFLAGS $NETSNMP_CFLAGS" - for ac_header in net-snmp/agent/agent_sysORTable.h net-snmp/agent/snmp_vars.h net-snmp/agent/util_funcs.h - do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -@@ -8000,8 +8027,9 @@ - as_fn_error $? "CHECKER SNMP support requires checker" "$LINENO" 5 - fi - -- unset LIBS -- unset CFLAGS -+ CPPFLAGS="$SAV_CPPFLAGS" -+ CFLAGS="$SAV_CFLAGS" -+ LIBS="$SAV_LIBS" - fi - - if test $SNMP_SUPPORT = Yes; then -@@ -8183,7 +8211,8 @@ - - fi - --CFLAGS=-D_GNU_SOURCE -+SAV_CFLAGS="$CFLAGS" -+CFLAGS="$CFLAGS -D_GNU_SOURCE" - ac_fn_c_check_decl "$LINENO" "CLONE_NEWNET" "ac_cv_have_decl_CLONE_NEWNET" "#include - " - if test "x$ac_cv_have_decl_CLONE_NEWNET" = xyes; then : -@@ -8207,6 +8236,7 @@ - fi - done - -+CFLAGS="$SAV_CFLAGS" - if test $ac_cv_have_decl_CLONE_NEWNET = yes; then - WITH_NAMESPACES_TRUE= - WITH_NAMESPACES_FALSE='#' diff --git a/keepalived-configure-c99.patch b/keepalived-configure-c99.patch new file mode 100644 index 0000000..cabf8d9 --- /dev/null +++ b/keepalived-configure-c99.patch @@ -0,0 +1,51 @@ +Fix a configure check that happens to trigger and implicit function +declaration error. + +Fixed slightly differently in upstream via: + +commit 516032ec39169d05c613de0e8ee10845658748ff +Author: Quentin Armitage +Date: Sun Apr 17 18:02:18 2022 +0100 + + config parser: Fix segfault caused by extra '}' and other parser fixes + + If there was a configuration error in a block, e.g. a vrrp_instance, + keepalived would apply the configuration in the rest of the block to + the previous object of that type, e.g. the previous vrrp instance. If + there had been no previous instance, keepalived would probably segfault. + + This commit changes the way the parser works. A new instance of an + object, e.g. a VRRP instance or a virtual server, is only added to the + list of those objects once the configuration of that object is complete. + In particular it no longer applies the configuration to the last entry + on the list of the relevant object type, but keeps a point to the + object currently being configured. + + Signed-off-by: Quentin Armitage + +diff --git a/configure b/configure +index 7cd6c4f614930391..b099b8f42aca1cba 100755 +--- a/configure ++++ b/configure +@@ -6382,7 +6382,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext + + #include + +- static int func(int i) __attribute__((error("deliberate error"))) ++ static int __attribute__((error("deliberate error"))) func(int i) + { + return i * 2; + } +diff --git a/configure.ac b/configure.ac +index 350a9f4e9567518c..5546143b4630aff6 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -792,7 +792,7 @@ AC_COMPILE_IFELSE( + [[ + #include + +- static int func(int i) __attribute__((error("deliberate error"))) ++ static int __attribute__((error("deliberate error"))) func(int i) + { + return i * 2; + } diff --git a/keepalived.service b/keepalived.service index 64c5d3f..b4a521d 100644 --- a/keepalived.service +++ b/keepalived.service @@ -4,11 +4,12 @@ After=network-online.target syslog.target Wants=network-online.target [Service] -Type=forking -PIDFile=/var/run/keepalived.pid +Type=notify +NotifyAccess=all +PIDFile=/run/keepalived.pid KillMode=process EnvironmentFile=-/etc/sysconfig/keepalived -ExecStart=/usr/sbin/keepalived $KEEPALIVED_OPTIONS +ExecStart=/usr/sbin/keepalived --dont-fork $KEEPALIVED_OPTIONS ExecReload=/bin/kill -HUP $MAINPID [Install] diff --git a/keepalived.spec b/keepalived.spec index 5639d53..28896aa 100644 --- a/keepalived.spec +++ b/keepalived.spec @@ -1,6 +1,8 @@ %bcond_without snmp %bcond_without vrrp %bcond_without sha1 +%bcond_without json +%bcond_without nftables %bcond_with profile %bcond_with debug @@ -8,29 +10,37 @@ Name: keepalived Summary: High Availability monitor built upon LVS, VRRP and service pollers -Version: 1.3.5 -Release: 3%{?dist} -License: GPLv2+ +Version: 2.2.8 +Release: 8%{?dist} +License: GPL-2.0-or-later URL: http://www.keepalived.org/ -Group: System Environment/Daemons Source0: http://www.keepalived.org/software/keepalived-%{version}.tar.gz Source1: keepalived.service +#Patch0: keepalived-configure-c99.patch Requires(post): systemd Requires(preun): systemd Requires(postun): systemd -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) %if %{with snmp} BuildRequires: net-snmp-devel %endif -BuildRequires: systemd-units -BuildRequires: openssl-devel -BuildRequires: libnl3-devel +%if %{with nftables} +BuildRequires: libmnl-devel +BuildRequires: libnftnl-devel +%else BuildRequires: ipset-devel BuildRequires: iptables-devel +%endif +BuildRequires: gcc +BuildRequires: systemd-units +BuildRequires: systemd-devel +BuildRequires: openssl-devel +BuildRequires: libnl3-devel BuildRequires: libnfnetlink-devel +BuildRequires: file-devel +BuildRequires: make %description Keepalived provides simple and robust facilities for load balancing @@ -47,7 +57,10 @@ can be used independently or all together to provide resilient infrastructures. %prep -%setup -q +%autosetup -p1 + +# Prevent re-running autotools. +touch aclocal.m4 Makefile.in lib/config.h.in configure %build %configure \ @@ -55,7 +68,10 @@ infrastructures. %{?with_profile:--enable-profile} \ %{!?with_vrrp:--disable-vrrp} \ %{?with_snmp:--enable-snmp --enable-snmp-rfc} \ - %{?with_sha1:--enable-sha1} + %{?with_nftables:--enable-nftables --disable-iptables} \ + %{?with_json:--enable-json} \ + %{?with_sha1:--enable-sha1} \ + --with-init=systemd %{__make} %{?_smp_mflags} STRIP=/bin/true %install @@ -63,12 +79,11 @@ rm -rf %{buildroot} make install DESTDIR=%{buildroot} rm -rf %{buildroot}%{_initrddir}/ rm -rf %{buildroot}%{_sysconfdir}/keepalived/samples/ +mv %{buildroot}%{_sysconfdir}/keepalived/keepalived.conf.sample \ + %{buildroot}%{_sysconfdir}/keepalived/keepalived.conf %{__install} -p -D -m 0644 %{SOURCE1} %{buildroot}%{_unitdir}/keepalived.service mkdir -p %{buildroot}%{_libexecdir}/keepalived -%clean -rm -rf %{buildroot} - %post %systemd_post keepalived.service @@ -79,7 +94,6 @@ rm -rf %{buildroot} %systemd_postun_with_restart keepalived.service %files -%defattr(-,root,root,-) %attr(0755,root,root) %{_sbindir}/keepalived %config(noreplace) %attr(0644,root,root) %{_sysconfdir}/sysconfig/keepalived %config(noreplace) %attr(0644,root,root) %{_sysconfdir}/keepalived/keepalived.conf @@ -99,6 +113,191 @@ rm -rf %{buildroot} %{_mandir}/man8/keepalived.8* %changelog +* Thu Jul 24 2025 Fedora Release Engineering - 2.2.8-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Fri Jan 17 2025 Fedora Release Engineering - 2.2.8-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Thu Jul 18 2024 Fedora Release Engineering - 2.2.8-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Wed Jan 24 2024 Fedora Release Engineering - 2.2.8-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sun Jan 21 2024 Fedora Release Engineering - 2.2.8-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Aug 04 2023 Ryan O'Hara - 2.2.8-3 +- Migrate to SPDX license + +* Thu Jul 20 2023 Fedora Release Engineering - 2.2.8-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Thu Jun 08 2023 Ryan O'Hara - 2.2.8-1 +- Update to 2.2.8 (#2211385) + +* Thu Jan 19 2023 Fedora Release Engineering - 2.2.7-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Tue Dec 20 2022 Ryan O'Hara - 2.2.7-5 +- Enable JSON support + +* Wed Dec 7 2022 Florian Weimer - 2.2.7-4 +- Fix spurious implicit function declaration in broken configure check + +* Thu Jul 21 2022 Fedora Release Engineering - 2.2.7-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Thu Jul 07 2022 Ryan O'Hara - 2.2.7-2 +- Move keepalived.conf.sample to keepalived.conf + +* Mon Feb 14 2022 Ryan O'Hara - 2.2.7-1 +- Update to 2.2.7 (#2041231) + +* Thu Jan 20 2022 Fedora Release Engineering - 2.2.4-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Tue Dec 14 2021 Ryan O'Hara - 2.2.4-4 +- Fix dbus policy (#2027158, CVE-2021-44225) + +* Sat Nov 27 2021 Kevin Fenzi - 2.2.4-3 +- Rebuild for new libnftnl + +* Tue Sep 14 2021 Sahana Prasad - 2.2.4-2 +- Rebuilt with OpenSSL 3.0.0 + +* Mon Aug 23 2021 Ryan O'Hara - 2.2.4-1 +- Update to 2.2.4 (#1996274) + +* Sat Aug 14 2021 Ryan O'Hara - 2.2.3-1 +- Update to 2.2.3 (#1993601) + +* Tue Aug 03 2021 Ryan O'Hara - 2.2.2-5 +- Add systemd notify support + +* Tue Aug 03 2021 Ryan O'Hara - 2.2.2-4 +- Fix build errors (#1987620) + +* Thu Jul 22 2021 Fedora Release Engineering - 2.2.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Mon Apr 12 2021 Ryan O'Hara - 2.2.2-2 +- Add BuildRequires for file-devel + +* Wed Apr 07 2021 Ryan O'Hara - 2.2.2-1 +- Update to 2.2.2 (#1935590) + +* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek - 2.2.1-3 +- Rebuilt for updated systemd-rpm-macros + See https://pagure.io/fesco/issue/2583. + +* Tue Jan 26 2021 Fedora Release Engineering - 2.2.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Mon Jan 18 2021 Ryan O'Hara - 2.2.1-1 +- Update to 2.2.1 (#1917152) + +* Thu Jan 14 2021 Ryan O'Hara - 2.2.0-1 +- Update to 2.2.0 (#1914512) + +* Thu Aug 27 2020 Josef Řídký - 2.1.5-3 +- Rebuilt for new net-snmp release + +* Tue Jul 28 2020 Fedora Release Engineering - 2.1.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Wed Jul 15 2020 Ryan O'Hara - 2.1.5-1 +- Update to 2.1.5 (#1794135) + +* Tue Feb 18 2020 Ryan O'Hara - 2.0.20-3 +- Build with nftables support instead of iptables + +* Thu Feb 13 2020 Ryan O'Hara - 2.0.20-2 +- Remove unused patches + +* Wed Feb 12 2020 Ryan O'Hara - 2.0.20-1 +- Update to 2.0.20 (#1794135) + +* Wed Jan 29 2020 Fedora Release Engineering - 2.0.19-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Tue Nov 12 2019 Ryan O'Hara - 2.0.19-4 +- Fix file descriptor errors on reload + +* Tue Nov 12 2019 Ryan O'Hara - 2.0.19-3 +- Fix track_process with PIDs over 32767 (#1770766) + +* Wed Nov 06 2019 Ryan O'Hara - 2.0.19-2 +- Enable nftables support (#1769278) + +* Wed Nov 06 2019 Ryan O'Hara - 2.0.19-1 +- Update to 2.0.19 (#1763424) + +* Tue Jul 30 2019 Ryan O'Hara - 2.0.18-2 +- Change pidfile directory (#1712730) + +* Tue Jul 30 2019 Ryan O'Hara - 2.0.18-1 +- Update to 2.0.18 (#1678397) + +* Thu Jul 25 2019 Fedora Release Engineering - 2.0.12-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Tue Jun 25 2019 Björn Esser - 2.0.12-2 +- Rebuilt (iptables) + +* Mon Feb 04 2019 Ryan O'Hara - 2.0.12-1 +- Update to 2.0.12 (#1576138) + +* Fri Feb 01 2019 Fedora Release Engineering - 2.0.11-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Wed Jan 09 2019 Ryan O'Hara - 2.0.11-1 +- Update to 2.0.11 + +* Mon Nov 26 2018 Ryan O'Hara - 2.0.10-1 +- Update to 2.0.10 +- Fix improper pathname validation (#1651864, CVE-2018-19044) +- Fix insecure permissions when creating temporary files (#1651868, CVE-2018-19045) +- Fix insecure use of temporary files (#1651870, CVE-2018-19046) +- Fix buffer overflow when parsing HTTP status codes (#1651873, CVE-2018-19047) + +* Wed Jul 25 2018 Ryan O'Hara - 2.0.6-1 +- Update to 2.0.6 (#1576138) + +* Tue Jul 24 2018 Adam Williamson - 2.0.5-3 +- Rebuild for new net-snmp + +* Fri Jul 13 2018 Fedora Release Engineering - 2.0.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Tue Jul 03 2018 Ryan O'Hara - 2.0.5-1 +- Update to 2.0.5 (#1576138) + +* Mon Jul 02 2018 Ryan O'Hara - 1.4.5-1 +- Update to 1.4.5 + +* Thu May 10 2018 Ryan O'Hara - 1.4.4-1 +- Update to 1.4.4 (#1576138) + +* Thu Apr 19 2018 Ryan O'Hara - 1.4.3-1 +- Update to 1.4.3 (#1565388) + +* Wed Mar 07 2018 Ryan O'Hara - 1.4.2-1 +- Update to 1.4.2 (#1539269) + +* Mon Jan 29 2018 Ryan O'Hara - 1.4.1-1 +- Update to 1.4.1 (#1539269) + +* Fri Jan 05 2018 Ryan O'Hara - 1.4.0-1 +- Update to 1.4.0 (#1529802) + +* Wed Oct 25 2017 Ryan O'Hara - 1.3.9-1 +- Update to 1.3.9 (#1497576) + +* Mon Sep 11 2017 Ryan O'Hara - 1.3.6-1 +- Update to 1.3.6 (#1481471) + * Thu Aug 03 2017 Fedora Release Engineering - 1.3.5-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild diff --git a/sources b/sources index de055d7..68261a4 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (keepalived-1.3.5.tar.gz) = ebd710167becd4b99b665877953d19477c11f1d1c736eb580a05dedd4946363b756553e20607f34aa6c35f57b7252d8a22287beedc316b62a745fccc4243a720 +SHA512 (keepalived-2.2.8.tar.gz) = dc0ab5b0ef8911a7859422eccc2771a40e942236c855a628158ed748eb5f7dc4b6f4850e9c3057e81fd9d2daa640ab51fb1d7af12748a613280a217b333eb06b