diff --git a/.gitignore b/.gitignore index ffe4aa1..56e9f4a 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/keepalived-1.2.13.tar.gz +SOURCES/keepalived-1.3.5.tar.gz diff --git a/.keepalived.metadata b/.keepalived.metadata index 3fec58d..d210999 100644 --- a/.keepalived.metadata +++ b/.keepalived.metadata @@ -1 +1 @@ -50a0d396d3f7c95dadbbe038bfd9bbd73b9b254f SOURCES/keepalived-1.2.13.tar.gz +5a373d8f5d382700cf53b827947a92a7f4cef148 SOURCES/keepalived-1.3.5.tar.gz diff --git a/SOURCES/bz1085535-keepalived-man-snmp.patch b/SOURCES/bz1085535-keepalived-man-snmp.patch deleted file mode 100644 index 8d7e57d..0000000 --- a/SOURCES/bz1085535-keepalived-man-snmp.patch +++ /dev/null @@ -1,29 +0,0 @@ -From fd2dd6876e1862af519c93f37c08946e1d14abf1 Mon Sep 17 00:00:00 2001 -From: Ryan O'Hara -Date: Wed, 21 May 2014 14:11:05 -0500 -Subject: [PATCH] Add SNMP subsystem option to man page - -The keepalived(8) man page did not mention the -x option to enable the -SNMP subsystem. This patch adds the -x (and --smmp) options to the -keepalived(8) man page, as described in the keepalived help message. ---- - doc/man/man8/keepalived.8 | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/doc/man/man8/keepalived.8 b/doc/man/man8/keepalived.8 -index 94c366a..7219887 100644 ---- a/doc/man/man8/keepalived.8 -+++ b/doc/man/man8/keepalived.8 -@@ -91,6 +91,9 @@ the VRRP child process is "/var/run/keepalived_vrrp.pid". - Use specified pidfile for checkers child process. The default pidfile - for the checker child process is "/var/run/keepalived_checkers.pid". - .TP -+\fB -x, --snmp\fP -+Enable SNMP subsystem. -+.TP - \fB -v, --version\fP - Display the version and exit. - .TP --- -1.8.1.4 - diff --git a/SOURCES/bz1181107-global-data-after-parse.patch b/SOURCES/bz1181107-global-data-after-parse.patch deleted file mode 100644 index ebe2971..0000000 --- a/SOURCES/bz1181107-global-data-after-parse.patch +++ /dev/null @@ -1,113 +0,0 @@ -From 87088c1751b5788a30062f55a1b585c4eb5db5bf Mon Sep 17 00:00:00 2001 -From: Ryan O'Hara -Date: Thu, 14 May 2015 12:03:33 -0500 -Subject: [PATCH] Set global data default values after parsing config file - -This patch will defer setting the global data default values until -after the config file has been parsed. This will potentially avoid two -calls to getaddrinfo. For example, if the router_id and/or email_from -parameters are set in the config file, there is no need to call -getaddrinfo twice in order to set a default value. Instead, this patch -will check to see if they values are unset after parsing the config -file. Note that email_from and smtp_connection_to are only set to a -default value if they are unitialized and smtp_server is specified. ---- - keepalived/check/check_daemon.c | 1 + - keepalived/core/global_data.c | 32 +++++++++++++++++++------------- - keepalived/include/global_data.h | 1 + - keepalived/vrrp/vrrp_daemon.c | 1 + - 4 files changed, 22 insertions(+), 13 deletions(-) - -diff --git a/keepalived/check/check_daemon.c b/keepalived/check/check_daemon.c -index 240ad00..3ea199e 100644 ---- a/keepalived/check/check_daemon.c -+++ b/keepalived/check/check_daemon.c -@@ -112,6 +112,7 @@ start_check(void) - stop_check(); - return; - } -+ init_global_data(global_data); - - /* Post initializations */ - log_message(LOG_INFO, "Configuration is using : %lu Bytes", mem_allocated); -diff --git a/keepalived/core/global_data.c b/keepalived/core/global_data.c -index 2ef93ac..52bbee1 100644 ---- a/keepalived/core/global_data.c -+++ b/keepalived/core/global_data.c -@@ -88,18 +88,6 @@ set_default_mcast_group(data_t * data) - inet_stosockaddr("ff02::12", 0, &data->vrrp_mcast_group6); - } - --static void --set_default_values(data_t * data) --{ -- /* No global data so don't default */ -- if (!data) -- return; -- set_default_router_id(data); -- set_default_smtp_connection_timeout(data); -- set_default_email_from(data); -- set_default_mcast_group(data); --} -- - /* email facility functions */ - static void - free_email(void *data) -@@ -134,11 +122,29 @@ alloc_global_data(void) - new = (data_t *) MALLOC(sizeof(data_t)); - new->email = alloc_list(free_email, dump_email); - -- set_default_values(new); -+ set_default_mcast_group(new); -+ - return new; - } - - void -+init_global_data(data_t * data) -+{ -+ if (!data->router_id) { -+ set_default_router_id(data); -+ } -+ -+ if (data->smtp_server.ss_family) { -+ if (!data->smtp_connection_to) { -+ set_default_smtp_connection_timeout(data); -+ } -+ if (!data->email_from) { -+ set_default_email_from(data); -+ } -+ } -+} -+ -+void - free_global_data(data_t * data) - { - free_list(data->email); -diff --git a/keepalived/include/global_data.h b/keepalived/include/global_data.h -index 896480c..3e429da 100644 ---- a/keepalived/include/global_data.h -+++ b/keepalived/include/global_data.h -@@ -64,6 +64,7 @@ extern data_t *global_data; /* Global configuration data */ - /* Prototypes */ - extern void alloc_email(char *); - extern data_t *alloc_global_data(void); -+extern void init_global_data(data_t *); - extern void free_global_data(data_t *); - extern void dump_global_data(data_t *); - -diff --git a/keepalived/vrrp/vrrp_daemon.c b/keepalived/vrrp/vrrp_daemon.c -index 755741b..b6369de 100644 ---- a/keepalived/vrrp/vrrp_daemon.c -+++ b/keepalived/vrrp/vrrp_daemon.c -@@ -123,6 +123,7 @@ start_vrrp(void) - stop_vrrp(); - return; - } -+ init_global_data(global_data); - - #ifdef _WITH_LVS_ - if (vrrp_ipvs_needed()) { --- -1.9.3 - diff --git a/SOURCES/bz1419049-fix-unused-variables.patch b/SOURCES/bz1419049-fix-unused-variables.patch new file mode 100644 index 0000000..17ae5da --- /dev/null +++ b/SOURCES/bz1419049-fix-unused-variables.patch @@ -0,0 +1,32 @@ +From 6e855aa91876e6a41324e870439f2c185318be88 Mon Sep 17 00:00:00 2001 +From: Ryan O'Hara +Date: Wed, 15 Mar 2017 14:46:33 -0500 +Subject: [PATCH] Fix unused variables + +--- + keepalived/vrrp/vrrp_snmp.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/keepalived/vrrp/vrrp_snmp.c b/keepalived/vrrp/vrrp_snmp.c +index 7956f66..84aa00e 100644 +--- a/keepalived/vrrp/vrrp_snmp.c ++++ b/keepalived/vrrp/vrrp_snmp.c +@@ -1112,13 +1112,13 @@ vrrp_snmp_encap(struct variable *vp, oid *name, size_t *length, + { + #if HAVE_DECL_LWTUNNEL_ENCAP_MPLS + static char labels[11*MAX_MPLS_LABELS]; +-#endif + char *op; ++ unsigned i; ++#endif + ip_route_t *route; + nexthop_t *nh; + encap_t *encap; + int state = HEADER_STATE_STATIC_ROUTE; +- unsigned i; + static struct counter64 c64; + + if (vp->name[vp->namelen - 3] == 7) { +-- +2.9.3 + diff --git a/SOURCES/bz1429880-optimize-close-syscalls.patch b/SOURCES/bz1429880-optimize-close-syscalls.patch deleted file mode 100644 index 9184c9d..0000000 --- a/SOURCES/bz1429880-optimize-close-syscalls.patch +++ /dev/null @@ -1,329 +0,0 @@ -diff --git a/configure b/configure -index dcb9f06..bdc7ba7 100755 ---- a/configure -+++ b/configure -@@ -4753,7 +4753,7 @@ cat >>confdefs.h <<_ACEOF - _ACEOF - - --for ac_func in gettimeofday select socket strerror strtol uname -+for ac_func in gettimeofday select socket strerror strtol uname pipe2 - do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` - ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -diff --git a/configure.in b/configure.in -index 8aba44a..808401c 100644 ---- a/configure.in -+++ b/configure.in -@@ -303,7 +303,7 @@ dnl ----[ Checks for library functions ]---- - AC_PROG_GCC_TRADITIONAL - AC_FUNC_MEMCMP - AC_TYPE_SIGNAL --AC_CHECK_FUNCS(gettimeofday select socket strerror strtol uname) -+AC_CHECK_FUNCS(gettimeofday select socket strerror strtol uname pipe2) - - dnl ----[ Process output target ]---- - OUTPUT_TARGET="$OUTPUT_TARGET keepalived/Makefile lib/Makefile" -diff --git a/genhash/layer4.c b/genhash/layer4.c -index ba7b05b..bdf3580 100644 ---- a/genhash/layer4.c -+++ b/genhash/layer4.c -@@ -231,18 +231,18 @@ tcp_connect_thread(thread_t * thread) - - if(req->dst){ - if(req->dst->ai_family == AF_INET6) { -- if ((sock_obj->fd = socket(AF_INET6, SOCK_STREAM, IPPROTO_TCP)) == -1) { -+ if ((sock_obj->fd = socket(AF_INET6, SOCK_STREAM | SOCK_CLOEXEC, IPPROTO_TCP)) == -1) { - DBG("WEB connection fail to create socket.\n"); - return 0; - } - } else { -- if ((sock_obj->fd = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)) == -1) { -+ if ((sock_obj->fd = socket(AF_INET, SOCK_STREAM | SOCK_CLOEXEC, IPPROTO_TCP)) == -1) { - DBG("WEB connection fail to create socket.\n"); - return 0; - } - } - } else { -- if ((sock_obj->fd = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)) == -1) { -+ if ((sock_obj->fd = socket(AF_INET, SOCK_STREAM | SOCK_CLOEXEC, IPPROTO_TCP)) == -1) { - DBG("WEB connection fail to create socket.\n"); - return 0; - } -diff --git a/keepalived/check/check_http.c b/keepalived/check/check_http.c -index 18431f9..830f05b 100644 ---- a/keepalived/check/check_http.c -+++ b/keepalived/check/check_http.c -@@ -869,7 +869,7 @@ http_connect_thread(thread_t * thread) - } - - /* Create the socket */ -- if ((fd = socket(co->dst.ss_family, SOCK_STREAM, IPPROTO_TCP)) == -1) { -+ if ((fd = socket(co->dst.ss_family, SOCK_STREAM | SOCK_CLOEXEC, IPPROTO_TCP)) == -1) { - log_message(LOG_INFO, "WEB connection fail to create socket. Rescheduling."); - thread_add_timer(thread->master, http_connect_thread, checker, - checker->vs->delay_loop); -diff --git a/keepalived/check/check_misc.c b/keepalived/check/check_misc.c -index 53e08e9..1f8ad19 100644 ---- a/keepalived/check/check_misc.c -+++ b/keepalived/check/check_misc.c -@@ -150,7 +150,6 @@ misc_check_thread(thread_t * thread) - - /* Child part */ - signal_handler_destroy(); -- closeall(0); - - open("/dev/null", O_RDWR); - ret = dup(0); -diff --git a/keepalived/check/check_smtp.c b/keepalived/check/check_smtp.c -index a52b755..1baaacf 100644 ---- a/keepalived/check/check_smtp.c -+++ b/keepalived/check/check_smtp.c -@@ -774,7 +774,7 @@ smtp_connect_thread(thread_t *thread) - smtp_host = smtp_checker->host_ptr; - - /* Create the socket, failling here should be an oddity */ -- if ((sd = socket(smtp_host->dst.ss_family, SOCK_STREAM, IPPROTO_TCP)) == -1) { -+ if ((sd = socket(smtp_host->dst.ss_family, SOCK_STREAM | SOCK_CLOEXEC, IPPROTO_TCP)) == -1) { - log_message(LOG_INFO, "SMTP_CHECK connection failed to create socket. Rescheduling."); - thread_add_timer(thread->master, smtp_connect_thread, checker, - checker->vs->delay_loop); -diff --git a/keepalived/check/check_ssl.c b/keepalived/check/check_ssl.c -index aa19011..2035a67 100644 ---- a/keepalived/check/check_ssl.c -+++ b/keepalived/check/check_ssl.c -@@ -199,8 +199,11 @@ ssl_connect(thread_t * thread, int new_req) - - /* First round, create SSL context */ - if (new_req) { -+ int bio_fd; - req->ssl = SSL_new(check_data->ssl->ctx); - req->bio = BIO_new_socket(thread->u.fd, BIO_NOCLOSE); -+ BIO_get_fd(req->bio, &bio_fd); -+ fcntl(bio_fd, F_SETFD, fcntl(bio_fd, F_GETFD) | FD_CLOEXEC); - SSL_set_bio(req->ssl, req->bio, req->bio); - } - -diff --git a/keepalived/check/check_tcp.c b/keepalived/check/check_tcp.c -index b941ab2..c595935 100644 ---- a/keepalived/check/check_tcp.c -+++ b/keepalived/check/check_tcp.c -@@ -131,7 +131,7 @@ tcp_connect_thread(thread_t * thread) - return 0; - } - -- if ((fd = socket(co->dst.ss_family, SOCK_STREAM, IPPROTO_TCP)) == -1) { -+ if ((fd = socket(co->dst.ss_family, SOCK_STREAM | SOCK_CLOEXEC, IPPROTO_TCP)) == -1) { - log_message(LOG_INFO, "TCP connect fail to create socket. Rescheduling."); - thread_add_timer(thread->master, tcp_connect_thread, checker, - checker->vs->delay_loop); -diff --git a/keepalived/core/smtp.c b/keepalived/core/smtp.c -index 6b1cf7e..34bb126 100644 ---- a/keepalived/core/smtp.c -+++ b/keepalived/core/smtp.c -@@ -560,7 +560,7 @@ smtp_connect(smtp_t * smtp) - { - enum connect_result status; - -- if ((smtp->fd = socket(global_data->smtp_server.ss_family, SOCK_STREAM, IPPROTO_TCP)) == -1) { -+ if ((smtp->fd = socket(global_data->smtp_server.ss_family, SOCK_STREAM | SOCK_CLOEXEC, IPPROTO_TCP)) == -1) { - DBG("SMTP connect fail to create socket."); - free_smtp_all(smtp); - return; -diff --git a/keepalived/libipvs-2.4/libipvs.c b/keepalived/libipvs-2.4/libipvs.c -index be0329e..ff95e8c 100644 ---- a/keepalived/libipvs-2.4/libipvs.c -+++ b/keepalived/libipvs-2.4/libipvs.c -@@ -35,7 +35,7 @@ int ipvs_init(void) - socklen_t len; - - len = sizeof(ipvs_info); -- if ((sockfd = socket(AF_INET, SOCK_RAW, IPPROTO_RAW)) == -1) -+ if ((sockfd = socket(AF_INET, SOCK_RAW | SOCK_CLOEXEC, IPPROTO_RAW)) == -1) - return -1; - - ipvs_cmd = GET_CMD(IP_VS_SO_GET_INFO); -diff --git a/keepalived/vrrp/vrrp.c b/keepalived/vrrp/vrrp.c -index 2d41ae2..0133ff5 100644 ---- a/keepalived/vrrp/vrrp.c -+++ b/keepalived/vrrp/vrrp.c -@@ -1073,7 +1073,7 @@ open_vrrp_send_socket(sa_family_t family, int proto, int idx, int unicast) - ifp = if_get_by_ifindex(idx); - - /* Create and init socket descriptor */ -- fd = socket(family, SOCK_RAW, proto); -+ fd = socket(family, SOCK_RAW | SOCK_CLOEXEC, proto); - if (fd < 0) { - log_message(LOG_INFO, "cant open raw socket. errno=%d", errno); - return -1; -@@ -1119,7 +1119,7 @@ open_vrrp_socket(sa_family_t family, int proto, int idx, int unicast) - ifp = if_get_by_ifindex(idx); - - /* open the socket */ -- fd = socket(family, SOCK_RAW, proto); -+ fd = socket(family, SOCK_RAW | SOCK_CLOEXEC, proto); - if (fd < 0) { - int err = errno; - log_message(LOG_INFO, "cant open raw socket. errno=%d", err); -diff --git a/keepalived/vrrp/vrrp_arp.c b/keepalived/vrrp/vrrp_arp.c -index e53b9d7..58116a9 100644 ---- a/keepalived/vrrp/vrrp_arp.c -+++ b/keepalived/vrrp/vrrp_arp.c -@@ -98,7 +98,7 @@ void gratuitous_arp_init(void) - garp_buffer = (char *)MALLOC(sizeof(arphdr_t) + ETHER_HDR_LEN); - - /* Create the socket descriptor */ -- garp_fd = socket(PF_PACKET, SOCK_RAW, htons(ETH_P_RARP)); -+ garp_fd = socket(PF_PACKET, SOCK_RAW | SOCK_CLOEXEC, htons(ETH_P_RARP)); - - if (garp_fd > 0) - log_message(LOG_INFO, "Registering gratuitous ARP shared channel"); -diff --git a/keepalived/vrrp/vrrp_if.c b/keepalived/vrrp/vrrp_if.c -index 4bb2356..3b3209d 100644 ---- a/keepalived/vrrp/vrrp_if.c -+++ b/keepalived/vrrp/vrrp_if.c -@@ -190,7 +190,7 @@ if_mii_probe(const char *ifname) - { - uint16_t *data = (uint16_t *) (&ifr.ifr_data); - int phy_id; -- int fd = socket(AF_INET, SOCK_DGRAM, 0); -+ int fd = socket(AF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0); - int status = 0; - - if (fd < 0) -@@ -239,7 +239,7 @@ if_ethtool_status(const int fd) - int - if_ethtool_probe(const char *ifname) - { -- int fd = socket(AF_INET, SOCK_DGRAM, 0); -+ int fd = socket(AF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0); - int status = 0; - - if (fd < 0) -@@ -255,7 +255,7 @@ if_ethtool_probe(const char *ifname) - void - if_ioctl_flags(interface_t * ifp) - { -- int fd = socket(AF_INET, SOCK_DGRAM, 0); -+ int fd = socket(AF_INET, SOCK_DGRAM | SOCK_CLOEXEC, 0); - - if (fd < 0) - return; -diff --git a/keepalived/vrrp/vrrp_ndisc.c b/keepalived/vrrp/vrrp_ndisc.c -index 1399095..84e77be 100644 ---- a/keepalived/vrrp/vrrp_ndisc.c -+++ b/keepalived/vrrp/vrrp_ndisc.c -@@ -187,7 +187,7 @@ ndisc_init(void) - sizeof(struct ndhdr) + sizeof(struct nd_opt_hdr) + ETH_ALEN); - - /* Create the socket descriptor */ -- ndisc_fd = socket(PF_PACKET, SOCK_RAW, htons(ETH_P_IPV6)); -+ ndisc_fd = socket(PF_PACKET, SOCK_RAW | SOCK_CLOEXEC, htons(ETH_P_IPV6)); - } - - void -diff --git a/keepalived/vrrp/vrrp_netlink.c b/keepalived/vrrp/vrrp_netlink.c -index d7adffa..f73810e 100644 ---- a/keepalived/vrrp/vrrp_netlink.c -+++ b/keepalived/vrrp/vrrp_netlink.c -@@ -56,7 +56,7 @@ netlink_socket(nl_handle_t *nl, unsigned long groups) - - memset(nl, 0, sizeof (*nl)); - -- nl->fd = socket(AF_NETLINK, SOCK_RAW, NETLINK_ROUTE); -+ nl->fd = socket(AF_NETLINK, SOCK_RAW | SOCK_CLOEXEC, NETLINK_ROUTE); - if (nl->fd < 0) { - log_message(LOG_INFO, "Netlink: Cannot open netlink socket : (%s)", - strerror(errno)); -diff --git a/keepalived/vrrp/vrrp_scheduler.c b/keepalived/vrrp/vrrp_scheduler.c -index 10d9539..05dd1d8 100644 ---- a/keepalived/vrrp/vrrp_scheduler.c -+++ b/keepalived/vrrp/vrrp_scheduler.c -@@ -983,7 +983,6 @@ vrrp_script_thread(thread_t * thread) - - /* Child part */ - signal_handler_destroy(); -- closeall(0); - open("/dev/null", O_RDWR); - ret = dup(0); - if (ret < 0) { -diff --git a/lib/notify.c b/lib/notify.c -index 80cc91e..188423d 100644 ---- a/lib/notify.c -+++ b/lib/notify.c -@@ -48,15 +48,6 @@ system_call(char *cmdline) - return retval; - } - --/* Close all FDs >= a specified value */ --void --closeall(int fd) --{ -- int fdlimit = sysconf(_SC_OPEN_MAX); -- while (fd < fdlimit) -- close(fd++); --} -- - /* Execute external script/program */ - int - notify_exec(char *cmd) -@@ -77,7 +68,6 @@ notify_exec(char *cmd) - return 0; - - signal_handler_destroy(); -- closeall(0); - - open("/dev/null", O_RDWR); - -diff --git a/lib/notify.h b/lib/notify.h -index a17cb75..9b81da1 100644 ---- a/lib/notify.h -+++ b/lib/notify.h -@@ -25,7 +25,6 @@ - - /* system includes */ - extern int system_call(char *cmdline); --extern void closeall(int fd); - extern int notify_exec(char *cmd); - - #endif -diff --git a/lib/signals.c b/lib/signals.c -index 983c71d..5eb1ee3 100644 ---- a/lib/signals.c -+++ b/lib/signals.c -@@ -125,12 +125,21 @@ signal_ignore(int signo) - void - signal_handler_init(void) - { -- int n = pipe(signal_pipe); -- assert(!n); -+ int n; - -+#ifdef HAVE_PIPE2 -+ n = pipe2(signal_pipe, O_CLOEXEC | O_NONBLOCK); -+#else -+ n = pipe(signal_pipe); -+ - fcntl(signal_pipe[0], F_SETFL, O_NONBLOCK | fcntl(signal_pipe[0], F_GETFL)); - fcntl(signal_pipe[1], F_SETFL, O_NONBLOCK | fcntl(signal_pipe[1], F_GETFL)); -- -+ -+ fcntl(signal_pipe[0], F_SETFD, FD_CLOEXEC | fcntl(signal_pipe[0], F_GETFD)); -+ fcntl(signal_pipe[1], F_SETFD, FD_CLOEXEC | fcntl(signal_pipe[1], F_GETFD)); -+#endif -+ assert(!n); -+ - signal_SIGHUP_handler = NULL; - signal_SIGINT_handler = NULL; - signal_SIGTERM_handler = NULL; -@@ -172,10 +181,6 @@ void - signal_handler_destroy(void) - { - signal_wait_handlers(); -- close(signal_pipe[1]); -- close(signal_pipe[0]); -- signal_pipe[1] = -1; -- signal_pipe[0] = -1; - } - - int diff --git a/SOURCES/keepalived.service b/SOURCES/keepalived.service index 2a8e2bf..1b3e587 100644 --- a/SOURCES/keepalived.service +++ b/SOURCES/keepalived.service @@ -1,6 +1,6 @@ [Unit] Description=LVS and VRRP High Availability Monitor -After=syslog.target network.target +After=syslog.target network-online.target [Service] Type=forking diff --git a/SPECS/keepalived.spec b/SPECS/keepalived.spec index 097baa8..55c7834 100644 --- a/SPECS/keepalived.spec +++ b/SPECS/keepalived.spec @@ -8,8 +8,8 @@ Name: keepalived Summary: Load balancer and high availability service -Version: 1.2.13 -Release: 9%{?dist} +Version: 1.3.5 +Release: 1%{?dist} License: GPLv2+ URL: http://www.keepalived.org/ Group: System Environment/Daemons @@ -17,9 +17,7 @@ Group: System Environment/Daemons Source0: http://www.keepalived.org/software/keepalived-%{version}.tar.gz Source1: keepalived.service -Patch0: bz1085535-keepalived-man-snmp.patch -Patch1: bz1181107-global-data-after-parse.patch -Patch2: bz1429880-optimize-close-syscalls.patch +Patch0: bz1419049-fix-unused-variables.patch Requires(post): systemd Requires(preun): systemd @@ -32,8 +30,9 @@ BuildRequires: net-snmp-devel BuildRequires: systemd-units BuildRequires: openssl-devel BuildRequires: libnl3-devel -BuildRequires: kernel-devel -BuildRequires: popt-devel +BuildRequires: ipset-devel +BuildRequires: iptables-devel +BuildRequires: libnfnetlink-devel %description Keepalived provides simple and robust facilities for load balancing @@ -48,15 +47,13 @@ Keepalived also implements the Virtual Router Redundancy Protocol %prep %setup -q %patch0 -p1 -%patch1 -p1 -%patch2 -p1 %build %configure \ %{?with_debug:--enable-debug} \ %{?with_profile:--enable-profile} \ %{!?with_vrrp:--disable-vrrp} \ - %{?with_snmp:--enable-snmp} \ + %{?with_snmp:--enable-snmp --enable-snmp-rfc} \ %{?with_sha1:--enable-sha1} %{__make} %{?_smp_mflags} STRIP=/bin/true @@ -71,7 +68,6 @@ Keepalived also implements the Virtual Router Redundancy Protocol %if %{with snmp} %{__mkdir_p} %{buildroot}%{_datadir}/snmp/mibs/ -%{__install} -p -D -m 0644 doc/KEEPALIVED-MIB %{buildroot}%{_datadir}/snmp/mibs/KEEPALIVED-MIB.txt %endif %clean @@ -88,7 +84,7 @@ Keepalived also implements the Virtual Router Redundancy Protocol %files %defattr(-,root,root,-) -%doc AUTHOR ChangeLog CONTRIBUTORS COPYING README TODO VERSION +%doc AUTHOR ChangeLog CONTRIBUTORS COPYING README TODO %doc doc/keepalived.conf.SYNOPSIS doc/NOTE_vrrp_vmac.txt doc/samples/ %dir %{_sysconfdir}/keepalived/ %dir %{_libexecdir}/keepalived/ @@ -97,6 +93,8 @@ Keepalived also implements the Virtual Router Redundancy Protocol %{_unitdir}/keepalived.service %if %{with snmp} %{_datadir}/snmp/mibs/KEEPALIVED-MIB.txt +%{_datadir}/snmp/mibs/VRRP-MIB.txt +%{_datadir}/snmp/mibs/VRRPv3-MIB.txt %endif %attr(0755,root,root) %{_bindir}/genhash %attr(0755,root,root) %{_sbindir}/keepalived @@ -105,8 +103,14 @@ Keepalived also implements the Virtual Router Redundancy Protocol %{_mandir}/man8/keepalived.8* %changelog -* Mon Mar 27 2017 Ryan O'Hara - 1.2.13-9 -- Fix high number of close system calls (#1429880) +* Wed Mar 22 2017 Ryan O'Hara - 1.3.5-1 +- Rebase to upstream version 1.3.5 (#1419049) + +* Thu Mar 16 2017 Ryan O'Hara - 1.3.4-2 +- Start keepalived after network-online.target (#1425828) + +* Wed Mar 15 2017 Ryan O'Hara - 1.3.4-1 +- Rebase to upstream version 1.3.4 (#1419049) * Fri Jul 01 2016 Ryan O'Hara - 1.2.13-8 - Add PIDFile to systemd unit file (#1336190)