[-]
[+]
|
Changed |
keepalived.changes
|
|
[-]
[+]
|
Changed |
keepalived.spec
^
|
|
[-]
[+]
|
Deleted |
keepalived-FD_leak.patch
^
|
@@ -1,30 +0,0 @@
---- keepalived/check/check_http.c.orig 2011-08-10 16:29:21.328399452 +0200
-+++ keepalived/check/check_http.c 2011-08-10 16:40:20.262536921 +0200
-@@ -877,6 +877,7 @@
-
- status = tcp_bind_connect(fd, &http_get_check->dst, &http_get_check->bindto);
- if (status == connect_error) {
-+ close(fd);
- thread_add_timer(thread->master, http_connect_thread, checker,
- checker->vs->delay_loop);
- return 0;
---- keepalived/check/check_tcp.c.orig 2011-08-10 16:29:38.389119167 +0200
-+++ keepalived/check/check_tcp.c 2011-08-10 16:40:32.882538123 +0200
-@@ -175,6 +175,7 @@
-
- status = tcp_bind_connect(fd, &tcp_check->dst, &tcp_check->bindto);
- if (status == connect_error) {
-+ close(fd);
- thread_add_timer(thread->master, tcp_connect_thread, checker,
- checker->vs->delay_loop);
- return 0;
---- keepalived/check/check_smtp.c.orig 2011-08-10 16:29:28.205173090 +0200
-+++ keepalived/check/check_smtp.c 2011-08-10 16:40:46.650537342 +0200
-@@ -819,6 +819,7 @@
-
- status = tcp_bind_connect(sd, &smtp_host->dst, &smtp_host->bindto);
- if (status == connect_error) {
-+ close(sd);
- thread_add_timer(thread->master, smtp_connect_thread, checker,
- checker->vs->delay_loop);
- return 0;
|
[-]
[+]
|
Deleted |
keepalived-bind.patch
^
|
@@ -1,24 +0,0 @@
-From 794273c2729f4b79ddd321d3fa90f9b300e86800 Mon Sep 17 00:00:00 2001
-From: Vincent Bernat <bernat@luffy.cx>
-Date: Mon, 05 Dec 2011 13:47:14 +0000
-Subject: Don't use bind() with AF_UNSPEC
-
-tcp_bind_connect() may be called with a non NULL bind_addr variable
-but filled with 0. This cause bind() to be called with AF_UNSPEC and
-make it fail with recent kernels.
----
-diff --git a/keepalived/core/layer4.c b/keepalived/core/layer4.c
-index 5725500..5b33417 100644
---- a/keepalived/core/layer4.c
-+++ b/keepalived/core/layer4.c
-@@ -43,7 +43,7 @@ tcp_bind_connect(int fd, struct sockaddr_storage *addr, struct sockaddr_storage
- fcntl(fd, F_SETFL, val | O_NONBLOCK);
-
- /* Bind socket */
-- if (bind_addr) {
-+ if (bind_addr && ((struct sockaddr *) bind_addr)->sa_family != AF_UNSPEC) {
- addrlen = sizeof(*bind_addr);
- if (bind(fd, (struct sockaddr *) bind_addr, addrlen) != 0)
- return connect_error;
---
-cgit v0.8.3.4
|
[-]
[+]
|
Deleted |
keepalived-check-ipv6-mark.patch
^
|
@@ -1,58 +0,0 @@
-From 479bb39cb94e602e8e8891d84538b2f67de14f04 Mon Sep 17 00:00:00 2001
-From: Vincent Bernat <bernat@luffy.cx>
-Date: Wed, 26 Oct 2011 21:26:44 +0000
-Subject: check: enable the use of fwmark with IPv6 virtual servers
-
-When using fwmark, the virtual server was assumed to use IPv4. We
-correct this by looking at the address family of the first real
-server.
----
-diff --git a/keepalived/check/ipvswrapper.c b/keepalived/check/ipvswrapper.c
-index 511be53..6f49b19 100644
---- a/keepalived/check/ipvswrapper.c
-+++ b/keepalived/check/ipvswrapper.c
-@@ -455,9 +455,9 @@ ipvs_group_range_cmd(int cmd, virtual_server_group_entry *vsg_entry)
-
- /* set IPVS group rules */
- static void
--ipvs_group_cmd(int cmd, list vs_group, real_server * rs, char * vsgname)
-+ipvs_group_cmd(int cmd, list vs_group, real_server * rs, virtual_server * vs)
- {
-- virtual_server_group *vsg = ipvs_get_group_by_name(vsgname, vs_group);
-+ virtual_server_group *vsg = ipvs_get_group_by_name(vs->vsgname, vs_group);
- virtual_server_group_entry *vsg_entry;
- list l;
- element e;
-@@ -493,6 +493,12 @@ ipvs_group_cmd(int cmd, list vs_group, real_server * rs, char * vsgname)
- for (e = LIST_HEAD(l); e; ELEMENT_NEXT(e)) {
- vsg_entry = ELEMENT_DATA(e);
- srule->af = AF_INET;
-+ /* Need to get address family from first real server */
-+ if (vs->rs && !LIST_ISEMPTY(vs->rs) &&
-+ (((real_server *)ELEMENT_DATA(LIST_HEAD(vs->rs)))->addr.ss_family == AF_INET6)) {
-+ srule->af = AF_INET6;
-+ srule->netmask = 128;
-+ }
- srule->fwmark = vsg_entry->vfwmark;
-
- /* Talk to the IPVS channel */
-@@ -584,10 +590,16 @@ ipvs_cmd(int cmd, list vs_group, virtual_server * vs, real_server * rs)
-
- /* Set vs rule and send to kernel */
- if (vs->vsgname) {
-- ipvs_group_cmd(cmd, vs_group, rs, vs->vsgname);
-+ ipvs_group_cmd(cmd, vs_group, rs, vs);
- } else {
- if (vs->vfwmark) {
- srule->af = AF_INET;
-+ /* Need to get address family from first real server */
-+ if (vs->rs && !LIST_ISEMPTY(vs->rs) &&
-+ (((real_server *)ELEMENT_DATA(LIST_HEAD(vs->rs)))->addr.ss_family == AF_INET6)) {
-+ srule->af = AF_INET6;
-+ srule->netmask = 128;
-+ }
- srule->fwmark = vs->vfwmark;
- } else {
- srule->af = vs->addr.ss_family;
---
-cgit v0.8.3.4
|
[-]
[+]
|
Deleted |
keepalived-checker-keep-retry.patch
^
|
@@ -1,185 +0,0 @@
-From e2edaa6b637227c70ec6dc0f0d00de4d5fe5b620 Mon Sep 17 00:00:00 2001
-From: Vincent Bernat <bernat@luffy.cx>
-Date: Mon, 06 Jun 2011 07:01:54 +0000
-Subject: checker: keep retry in case of early TCP failures in checks
-
-Patch from Brad Schick. Original mail:
-
-Two patched attached. It turns out that 1.1.20 and 1.2.2 each had some
-partial implementations of my proposed improvements already, but they
-are inconsistent. And I believe in the case of 1.2.2, the existing
-implementation leaks socket handles.
-
-These patches cleanup 1.1.20 and 1.2.2 respectively and make both of
-them continue to retry after socket creation and bind failures. I also
-added INFO level logging rather than DGB only since this is very
-helpful information when things aren't working as expected.
-
-I also fixed another random mis-use of the DBG macro that I noticed in
-both 1.1.20 and 1.2.2. Patches attached.
----
-diff --git a/keepalived/check/check_http.c b/keepalived/check/check_http.c
-index 0d1a12c..3d2e46b 100644
---- a/keepalived/check/check_http.c
-+++ b/keepalived/check/check_http.c
-@@ -793,7 +793,7 @@ http_check_thread(thread_t * thread)
- thread->u.fd,
- http_get_check->connection_to);
- } else {
-- DBG(LOG_INFO, "Connection trouble to: [%s]:%d."
-+ DBG("Connection trouble to: [%s]:%d."
- , inet_sockaddrtos(&http_get_check->dst)
- , ntohs(inet_sockaddrport(&http_get_check->dst)));
- #ifdef _DEBUG_
-@@ -871,19 +871,23 @@ http_connect_thread(thread_t * thread)
-
- /* Create the socket */
- if ((fd = socket(http_get_check->dst.ss_family, SOCK_STREAM, IPPROTO_TCP)) == -1) {
-- DBG("WEB connection fail to create socket.");
-+ log_message(LOG_INFO, "WEB connection fail to create socket. Rescheduling.");
-+ thread_add_timer(thread->master, http_connect_thread, checker,
-+ checker->vs->delay_loop);
-+
- return 0;
- }
-
- status = tcp_bind_connect(fd, &http_get_check->dst, &http_get_check->bindto);
-- if (status == connect_error) {
-+
-+ /* handle tcp connection status & register check worker thread */
-+ if(tcp_connection_state(fd, status, thread, http_check_thread,
-+ http_get_check->connection_to)) {
-+ close(fd);
-+ log_message(LOG_ERR, "WEB socket bind failed. Rescheduling");
- thread_add_timer(thread->master, http_connect_thread, checker,
-- checker->vs->delay_loop);
-- return 0;
-+ checker->vs->delay_loop);
- }
-
-- /* handle tcp connection status & register check worker thread */
-- tcp_connection_state(fd, status, thread, http_check_thread,
-- http_get_check->connection_to);
- return 0;
- }
-diff --git a/keepalived/check/check_smtp.c b/keepalived/check/check_smtp.c
-index 79a8f5b..bf62a8c 100644
---- a/keepalived/check/check_smtp.c
-+++ b/keepalived/check/check_smtp.c
-@@ -811,20 +811,21 @@ smtp_connect_thread(thread_t *thread)
-
- /* Create the socket, failling here should be an oddity */
- if ((sd = socket(smtp_host->dst.ss_family, SOCK_STREAM, IPPROTO_TCP)) == -1) {
-- DBG("SMTP_CHECK connection failed to create socket.");
-+ 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);
- return 0;
- }
-
- status = tcp_bind_connect(sd, &smtp_host->dst, &smtp_host->bindto);
-- if (status == connect_error) {
-- thread_add_timer(thread->master, smtp_connect_thread, checker,
-- checker->vs->delay_loop);
-- return 0;
-- }
-
- /* handle tcp connection status & register callback the next setp in the process */
-- tcp_connection_state(sd, status, thread, smtp_check_thread, smtp_checker->timeout);
-+ if(tcp_connection_state(sd, status, thread, smtp_check_thread, smtp_checker->timeout)) {
-+ close(sd);
-+ log_message(LOG_ERR, "SMTP_CHECK socket bind failed. Rescheduling.");
-+ thread_add_timer(thread->master, smtp_connect_thread, checker,
-+ checker->vs->delay_loop);
-+ }
-+
- return 0;
- }
-diff --git a/keepalived/check/check_tcp.c b/keepalived/check/check_tcp.c
-index e0fb077..9f2b3e8 100644
---- a/keepalived/check/check_tcp.c
-+++ b/keepalived/check/check_tcp.c
-@@ -169,19 +169,23 @@ tcp_connect_thread(thread_t * thread)
- }
-
- if ((fd = socket(tcp_check->dst.ss_family, SOCK_STREAM, IPPROTO_TCP)) == -1) {
-- DBG("TCP connect fail to create socket.");
-+ log_message(LOG_INFO, "TCP connect fail to create socket. Rescheduling.");
-+ thread_add_timer(thread->master, tcp_connect_thread, checker,
-+ checker->vs->delay_loop);
-+
- return 0;
- }
-
- status = tcp_bind_connect(fd, &tcp_check->dst, &tcp_check->bindto);
-- if (status == connect_error) {
-- thread_add_timer(thread->master, tcp_connect_thread, checker,
-- checker->vs->delay_loop);
-- return 0;
-- }
-
- /* handle tcp connection status & register check worker thread */
-- tcp_connection_state(fd, status, thread, tcp_check_thread,
-- tcp_check->connection_to);
-+ if(tcp_connection_state(fd, status, thread, tcp_check_thread,
-+ tcp_check->connection_to)) {
-+ close(fd);
-+ log_message(LOG_ERR, "TCP socket bind failed. Rescheduling.");
-+ thread_add_timer(thread->master, tcp_connect_thread, checker,
-+ checker->vs->delay_loop);
-+ }
-+
- return 0;
- }
-diff --git a/keepalived/core/layer4.c b/keepalived/core/layer4.c
-index ce2035e..5725500 100644
---- a/keepalived/core/layer4.c
-+++ b/keepalived/core/layer4.c
-@@ -119,7 +119,7 @@ tcp_socket_state(int fd, thread_t * thread, int (*func) (thread_t *))
- return connect_success;
- }
-
--void
-+int
- tcp_connection_state(int fd, enum connect_result status, thread_t * thread,
- int (*func) (thread_t *), long timeout)
- {
-@@ -128,20 +128,16 @@ tcp_connection_state(int fd, enum connect_result status, thread_t * thread,
- checker = THREAD_ARG(thread);
-
- switch (status) {
-- case connect_error:
-- close(fd);
-- break;
--
- case connect_success:
- thread_add_write(thread->master, func, checker, fd, timeout);
-- break;
-+ return 0;
-
- /* Checking non-blocking connect, we wait until socket is writable */
- case connect_in_progress:
- thread_add_write(thread->master, func, checker, fd, timeout);
-- break;
-+ return 0;
-
- default:
-- break;
-+ return 1;
- }
- }
-diff --git a/keepalived/include/layer4.h b/keepalived/include/layer4.h
-index 857927b..ad2fc57 100644
---- a/keepalived/include/layer4.h
-+++ b/keepalived/include/layer4.h
-@@ -52,7 +52,7 @@ extern enum connect_result
- extern enum connect_result
- tcp_socket_state(int, thread_t *, int (*func) (thread_t *));
-
--extern void
-+extern int
- tcp_connection_state(int, enum connect_result
- , thread_t *, int (*func) (thread_t *)
- , long);
---
-cgit v0.8.3.4
|
[-]
[+]
|
Deleted |
keepalived-docu-update.patch
^
|
@@ -1,59 +0,0 @@
-From c02b0ebab4e6f622e914295025807abbe777feee Mon Sep 17 00:00:00 2001
-From: Vincent Bernat <bernat@luffy.cx>
-Date: Wed, 26 Oct 2011 22:18:19 +0000
-Subject: vrrp: better documentation of the limitation on password length
-
-Patch from Dan Wallis:
-
- I've been helping debug a password issue between versions v1.1.15 &
- v1.1.20, and it turns out that auth_pass is being truncated to eight
- characters in the former, and seven in the latter. This is later
- "fixed" to be eight characters again in v1.2.1.
-
- This patch makes this maximum length more obvious to the end user, so
- as to avoid future issues with inadvertent truncation.
----
-diff --git a/doc/keepalived.conf.SYNOPSIS b/doc/keepalived.conf.SYNOPSIS
-index 5d79720..7369ef3 100644
---- a/doc/keepalived.conf.SYNOPSIS
-+++ b/doc/keepalived.conf.SYNOPSIS
-@@ -170,7 +170,7 @@ vrrp_instance <STRING> { # VRRP instance declaration
- advert_int <INTEGER> # VRRP Advert interval (use default)
- authentication { # Authentication block
- auth_type PASS|AH # Simple Passwd or IPSEC AH
-- auth_pass <STRING> # Password string
-+ auth_pass <STRING> # Password string (up to 8 characters)
- }
- virtual_ipaddress { # VRRP IP addres block
- <IP ADDRESS>/<MASK> brd <IP ADDRESS> dev <STRING> scope <SCOPE> label <LABEL>
-diff --git a/doc/man/man5/keepalived.conf.5 b/doc/man/man5/keepalived.conf.5
-index 09aae3a..53856da 100644
---- a/doc/man/man5/keepalived.conf.5
-+++ b/doc/man/man5/keepalived.conf.5
-@@ -172,6 +172,7 @@ which will transition together on any state change.
- auth_type PASS
- # Password for accessing vrrpd.
- # should be the same for all machines.
-+ # Only the first eight (8) characters are used.
- auth_pass 1234
-
- #addresses add|del on change to MASTER, to BACKUP.
-diff --git a/keepalived/vrrp/vrrp_parser.c b/keepalived/vrrp/vrrp_parser.c
-index 2b5ed33..5888723 100644
---- a/keepalived/vrrp/vrrp_parser.c
-+++ b/keepalived/vrrp/vrrp_parser.c
-@@ -307,8 +307,11 @@ vrrp_auth_pass_handler(vector strvec)
- int max_size = sizeof (vrrp->auth_data);
- int str_len = strlen(str);
-
-- if (str_len > max_size)
-+ if (str_len > max_size) {
- str_len = max_size;
-+ log_message(LOG_INFO,
-+ "Truncating auth_pass to %d characters", max_size);
-+ }
-
- memset(vrrp->auth_data, 0, max_size);
- memcpy(vrrp->auth_data, str, str_len);
---
-cgit v0.8.3.4
|
[-]
[+]
|
Deleted |
keepalived-ipv4compare.patch
^
|
@@ -1,23 +0,0 @@
-From bc49a46989c98eb6ee72a379b18b77e87ed624fa Mon Sep 17 00:00:00 2001
-From: Vincent Bernat <bernat@luffy.cx>
-Date: Wed, 07 Dec 2011 09:17:55 +0000
-Subject: Fix IPv4 address comparison routine.
-
-Two different IPv4 addresses were returned to be equal while this was
-not the case. Thanks to Ronie Gilberto Henrich for spotting this bug.
----
-diff --git a/keepalived/include/check_data.h b/keepalived/include/check_data.h
-index 50a4757..e3ff458 100644
---- a/keepalived/include/check_data.h
-+++ b/keepalived/include/check_data.h
-@@ -163,7 +163,7 @@ static inline int sockstorage_equal(const struct sockaddr_storage *s1,
- struct sockaddr_in *a1 = (struct sockaddr_in *) s1;
- struct sockaddr_in *a2 = (struct sockaddr_in *) s2;
-
-- if ((a1->sin_addr.s_addr == a1->sin_addr.s_addr) &&
-+ if ((a1->sin_addr.s_addr == a2->sin_addr.s_addr) &&
- (a1->sin_port == a2->sin_port))
- return 1;
- }
---
-cgit v0.8.3.4
|
[-]
[+]
|
Deleted |
keepalived-ipv6-range.patch
^
|
@@ -1,34 +0,0 @@
-From e629c803dfdf012917b242e8e703feaec006496f Mon Sep 17 00:00:00 2001
-From: Vincent Bernat <bernat@luffy.cx>
-Date: Thu, 26 May 2011 11:50:25 +0000
-Subject: range: when specifying an IPv6 range, range is hexadecimal value
-
-A range 2001:db8::16-30 was interpreted as 0x16 -> 0x1e while it
-should be interpreted as 0x16 -> 0x30.
----
-diff --git a/lib/utils.c b/lib/utils.c
-index 03f1e5f..a262dc0 100644
---- a/lib/utils.c
-+++ b/lib/utils.c
-@@ -147,16 +147,15 @@ inet_stom(char *addr)
- uint8_t
- inet_stor(char *addr)
- {
-- uint8_t range = 0;
- char *cp = addr;
-
- if (!strstr(addr, "-"))
-- return range;
-+ return 0;
- while (*cp != '-' && *cp != '\0')
- cp++;
- if (*cp == '-')
-- return atoi(++cp);
-- return range;
-+ return strtoul(++cp, NULL, (strchr(addr, ':')) ? 16 : 10);
-+ return 0;
- }
-
- /* IP string to sockaddr_storage */
---
-cgit v0.8.3.4
|
[-]
[+]
|
Deleted |
keepalived-main-SET_RELOAD.patch
^
|
@@ -1,26 +0,0 @@
-From 0b770193b214d527982ee5dcf73b4538d3bc8cb5 Mon Sep 17 00:00:00 2001
-From: Vincent Bernat <bernat@luffy.cx>
-Date: Wed, 01 Sep 2010 13:36:21 +0000
-Subject: Do not set reload flag in the main process.
-
-The main process does not use the reload flag. When setting the reload
-flag in the main process and a child dies, the new child will have the
-reload flag for a short time. There seems to be some race condition
-here. This "fix" seems to circumvent this race condition.
----
-diff --git a/keepalived/core/main.c b/keepalived/core/main.c
-index ef472f8..5b6ec7a 100644
---- a/keepalived/core/main.c
-+++ b/keepalived/core/main.c
-@@ -87,9 +87,6 @@ start_keepalived(void)
- void
- sighup(void *v, int sig)
- {
-- /* Set the reloading flag */
-- SET_RELOAD;
--
- /* Signal child process */
- if (vrrp_child > 0)
- kill(vrrp_child, SIGHUP);
---
-cgit v0.8.3.4
|
[-]
[+]
|
Deleted |
keepalived-modprobe.patch
^
|
@@ -1,22 +0,0 @@
-From a3547673b4181999b26d1d21663b0d7c3664b2e1 Mon Sep 17 00:00:00 2001
-From: Vincent Bernat <bernat@luffy.cx>
-Date: Fri, 26 Aug 2011 05:25:05 +0000
-Subject: Fix modprobe arguments.
-
-Fix by Dan Wallis.
----
-diff --git a/keepalived/check/ipvswrapper.c b/keepalived/check/ipvswrapper.c
-index a48ef0f..511be53 100644
---- a/keepalived/check/ipvswrapper.c
-+++ b/keepalived/check/ipvswrapper.c
-@@ -728,7 +728,7 @@ string_to_number(const char *s, int min, int max)
- static int
- modprobe_ipvs(void)
- {
-- char *argv[] = { "/sbin/modprobe", "-s", "-k", "--", "ip_vs", NULL };
-+ char *argv[] = { "/sbin/modprobe", "-s", "--", "ip_vs", NULL };
- int child;
- int status;
- int rc;
---
-cgit v0.8.3.4
|
[-]
[+]
|
Deleted |
keepalived-priority.patch
^
|
@@ -1,32 +0,0 @@
-From 0685d312f8160b776b299e31224b83c63f42abfd Mon Sep 17 00:00:00 2001
-From: Vincent Bernat <bernat@luffy.cx>
-Date: Mon, 30 Jan 2012 13:51:28 +0000
-Subject: Fix priority not changing on reload
-
-In 1.2.2 if a user changes the priority assigned to a vrrp-group and
-reloads the configuration, the old priority will persist. This is
-caused by saving the effective_priority in reset_vrrp_state. While
-this makes sense for the case where a weighted interface or script is
-used, it prevents to change the priority when sync groups are used (no
-thread with vrrp_update_priority() is running in this case). Since
-sync groups do not allow the use of weighted interfaces or scripts,
-the effective priority is not copied over when they are used.
-
-Original patch credit goes to John Southworth (Vyatta).
----
-diff --git a/keepalived/vrrp/vrrp.c b/keepalived/vrrp/vrrp.c
-index b347737..158ed3e 100644
---- a/keepalived/vrrp/vrrp.c
-+++ b/keepalived/vrrp/vrrp.c
-@@ -1196,7 +1196,8 @@ reset_vrrp_state(vrrp_rt * old_vrrp)
- vrrp->state = old_vrrp->state;
- vrrp->init_state = old_vrrp->state;
- vrrp->wantstate = old_vrrp->state;
-- vrrp->effective_priority = old_vrrp->effective_priority;
-+ if (!old_vrrp->sync)
-+ vrrp->effective_priority = old_vrrp->effective_priority;
- memcpy(vrrp->ipsecah_counter, old_vrrp->ipsecah_counter, sizeof(seq_counter));
-
- #ifdef _HAVE_IPVS_SYNCD_
---
-cgit v0.8.3.4
|
[-]
[+]
|
Deleted |
keepalived-vrrp_cleanup.patch
^
|
@@ -1,32 +0,0 @@
-From a19fb5ec351ca3a52501b3a3426deba5806ebb83 Mon Sep 17 00:00:00 2001
-From: Vincent Bernat <bernat@luffy.cx>
-Date: Sun, 20 Feb 2011 11:17:57 +0000
-Subject: vrrp: on shutdown, release sockets later to be able to send shutdown packet
-
-Each VRRP instance should be able to send a shutdown packet when the
-instance is terminated. However, the socket pool was released early
-and the socket was closed too soon. We release the socket pool later
-to avoid this problem.
----
-diff --git a/keepalived/vrrp/vrrp_daemon.c b/keepalived/vrrp/vrrp_daemon.c
-index b44398e..555b55f 100644
---- a/keepalived/vrrp/vrrp_daemon.c
-+++ b/keepalived/vrrp/vrrp_daemon.c
-@@ -52,7 +52,6 @@ stop_vrrp(void)
- {
- /* Destroy master thread */
- signal_handler_destroy();
-- free_vrrp_sockpool(vrrp_data);
- thread_destroy_master(master);
-
- /* Clear static entries */
-@@ -70,6 +69,7 @@ stop_vrrp(void)
-
- /* Clean data */
- free_global_data(data);
-+ free_vrrp_sockpool(vrrp_data);
- free_vrrp_data(vrrp_data);
- free_vrrp_buffer();
-
---
-cgit v0.8.3.4
|
|
Added |
keepalived-1.2.3.tar.bz2
^
|