diff --git a/.gitignore b/.gitignore index 8d45573..656377b 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ /keepalived-1.2.15.tar.gz /keepalived-1.2.16.tar.gz /keepalived-1.2.17.tar.gz +/keepalived-1.2.18.tar.gz diff --git a/bz1232073-revert-fix-notify-upon-reload.patch b/bz1232073-revert-fix-notify-upon-reload.patch deleted file mode 100644 index 1191f1e..0000000 --- a/bz1232073-revert-fix-notify-upon-reload.patch +++ /dev/null @@ -1,202 +0,0 @@ -From bde088a433219ff8f966f53f1a4cb5a504f24fd5 Mon Sep 17 00:00:00 2001 -From: Ryan O'Hara -Date: Wed, 17 Jun 2015 20:58:31 -0500 -Subject: [PATCH 1/2] Revert "Fix notify upon reload" - -This reverts commit 89f910217097c1201ff15922a52facc668aa4ab4. ---- - keepalived/include/vrrp.h | 8 ----- - keepalived/include/vrrp_notify.h | 1 - - keepalived/vrrp/vrrp.c | 9 ----- - keepalived/vrrp/vrrp_data.c | 8 ++--- - keepalived/vrrp/vrrp_notify.c | 71 ---------------------------------------- - keepalived/vrrp/vrrp_scheduler.c | 3 +- - 6 files changed, 5 insertions(+), 95 deletions(-) - -diff --git a/keepalived/include/vrrp.h b/keepalived/include/vrrp.h -index 12f44e1..8c8b3f3 100644 ---- a/keepalived/include/vrrp.h -+++ b/keepalived/include/vrrp.h -@@ -230,14 +230,6 @@ typedef struct _vrrp_t { - /* IPSEC AH counter def (only valid for VRRPv2) --rfc2402.3.3.2 */ - seq_counter_t *ipsecah_counter; - list script; -- list pscript[2]; /* -- * previous scripts: -- * [0] contains pointer to list of scripts -- * configured before reload. -- * [1] contains pointer to list of scripts -- * configured two reloads ago. The list -- * pointed to here gets freed during reload. -- */ - } vrrp_t; - - /* VRRP state machine -- rfc2338.6.4 */ -diff --git a/keepalived/include/vrrp_notify.h b/keepalived/include/vrrp_notify.h -index fa0770f..692f10f 100644 ---- a/keepalived/include/vrrp_notify.h -+++ b/keepalived/include/vrrp_notify.h -@@ -28,7 +28,6 @@ - #include "vrrp.h" - - extern int notify_instance_exec(vrrp_t *, int); --extern int notify_instance_exec_init(vrrp_t *, int); - extern int notify_group_exec(vrrp_sgroup_t *, int); - extern void alloc_notify_script(list, vector_t *); - extern void dump_notify_script(void *); -diff --git a/keepalived/vrrp/vrrp.c b/keepalived/vrrp/vrrp.c -index 8020302..e0715be 100644 ---- a/keepalived/vrrp/vrrp.c -+++ b/keepalived/vrrp/vrrp.c -@@ -1758,14 +1758,6 @@ clear_diff_vrrp(void) - netlink_link_del_vmac(vrrp); - } - -- /* Obtain reference to list of scripts used before reload -- * to enable a comparison later on to avoid making redundant -- * notifications. -- */ -- new_vrrp->pscript[1] = vrrp->pscript[0]; -- new_vrrp->pscript[0] = vrrp->script; -- vrrp->script = NULL; -- - /* reset the state */ - reset_vrrp_state(vrrp); - } -@@ -1795,4 +1787,3 @@ clear_diff_script(void) - } - } - } -- -diff --git a/keepalived/vrrp/vrrp_data.c b/keepalived/vrrp/vrrp_data.c -index 78d3fdb..42d7af0 100644 ---- a/keepalived/vrrp/vrrp_data.c -+++ b/keepalived/vrrp/vrrp_data.c -@@ -213,10 +213,10 @@ free_vrrp(void *data) - FREE(ELEMENT_DATA(e)); - free_list(vrrp->track_script); - -- if (!LIST_ISEMPTY(vrrp->pscript[1])) -- for (e = LIST_HEAD(vrrp->pscript[1]); e; ELEMENT_NEXT(e)) -- FREE(ELEMENT_DATA(e)); -- free_list(vrrp->pscript[1]); -+ if (!LIST_ISEMPTY(vrrp->script)) -+ for (e = LIST_HEAD(vrrp->script); e; ELEMENT_NEXT(e)) -+ FREE(ELEMENT_DATA(e)); -+ free_list(vrrp->script); - - free_list(vrrp->unicast_peer); - free_list(vrrp->vip); -diff --git a/keepalived/vrrp/vrrp_notify.c b/keepalived/vrrp/vrrp_notify.c -index 935f726..f830341 100644 ---- a/keepalived/vrrp/vrrp_notify.c -+++ b/keepalived/vrrp/vrrp_notify.c -@@ -22,7 +22,6 @@ - - /* system include */ - #include --#include - - /* local include */ - #include "vrrp_notify.h" -@@ -160,76 +159,6 @@ notify_script_exec(char* script, char *type, int state_num, char* name, int prio - return 1; - } - --/* This function acts as a proxy, temporarily changing each VRRP's notify -- * list. It should be called when we are in the init state. We get to this -- * stage if our daemon has just been initialized, or if we perform a reload -- * on the daemon. In the latter situation, this causes us to leave and then -- * re-enter the state we just left. We do not want to notify when we go -- * from, for example, master->master. -- * -- * This function prevents the above from happening by comparing our current -- * configured notify script list with the previous scripts we had configured. -- * We create a new list that contains scripts that are in our current -- * configuration AND were not in our configuration before reload. -- * We then update our vrrp instance to point to this list temporarily before -- * calling notify_instance_exec(...). After this call has returned, we then -- * update our vrrp reference to point back to the original, currently configured -- * list. -- */ --int --notify_instance_exec_init(vrrp_t * vrrp, int state) --{ -- bool match = false; -- char *cur_script, *prev_script; -- element e_cur, e_prev = NULL; -- int ret; -- list l_temp = alloc_list(NULL, dump_notify_script); -- list l_orig = vrrp->script; -- notify_sc_t *nsc_cur, *nsc_prev = NULL; -- -- /* The algorithm here is essentially: -- * for each element in our currently configured list -- * if this element did not exist in our previous configuration -- * add this element to our temporary list -- * -- * NOTE: this loop can be optimised if scripts are stored in an -- * alphabetical order. The inner loop can be exited early if -- * strcmp returns > 0. -- */ -- if (!LIST_ISEMPTY(vrrp->script) && !LIST_ISEMPTY(vrrp->pscript[0])) { -- for (e_cur = LIST_HEAD(vrrp->script); e_cur; ELEMENT_NEXT(e_cur)) { -- nsc_cur = e_cur->data; -- cur_script = nsc_cur->sname; -- for (e_prev = LIST_HEAD(vrrp->pscript[0]); e_prev; ELEMENT_NEXT(e_prev)) { -- nsc_prev = e_prev->data; -- prev_script = nsc_prev->sname; -- if (strcmp(cur_script, prev_script) == 0) { -- match = true; -- break; -- } -- } -- if (match == false) -- list_add(l_temp, nsc_cur); -- match = false; -- } -- /* Change our reference to temp list. This means the call to -- * notify_instance_exec(...) will only invoke the scripts that we -- * have not previously been configured with. -- */ -- vrrp->script = l_temp; -- } -- ret = notify_instance_exec(vrrp, state); -- -- /* Reset our reference back to our original list containing all our -- * configured scripts. This means subsequent state changes will cause -- * all of our configured scripts to be executed -- */ -- vrrp->script = l_orig; -- -- free_list(l_temp); -- return ret; --} -- - int - notify_instance_exec(vrrp_t * vrrp, int state) - { -diff --git a/keepalived/vrrp/vrrp_scheduler.c b/keepalived/vrrp/vrrp_scheduler.c -index b87a93c..7f31032 100644 ---- a/keepalived/vrrp/vrrp_scheduler.c -+++ b/keepalived/vrrp/vrrp_scheduler.c -@@ -240,7 +240,6 @@ vrrp_init_state(list l) - vrrp->vrid); - #endif - vrrp->state = VRRP_STATE_GOTO_MASTER; -- notify_instance_exec_init(vrrp, VRRP_STATE_MAST); - } else { - vrrp->ms_down_timer = 3 * vrrp->adver_int - + VRRP_TIMER_SKEW(vrrp); -@@ -258,7 +257,7 @@ vrrp_init_state(list l) - vrrp_restore_interface(vrrp, 0); - vrrp->state = VRRP_STATE_BACK; - vrrp_smtp_notifier(vrrp); -- notify_instance_exec_init(vrrp, VRRP_STATE_BACK); -+ notify_instance_exec(vrrp, VRRP_STATE_BACK); - #ifdef _WITH_SNMP_ - vrrp_snmp_instance_trap(vrrp); - #endif --- -1.9.3 - diff --git a/bz1232073-revert-multiple-notify-scripts.patch b/bz1232073-revert-multiple-notify-scripts.patch deleted file mode 100644 index d5b7e6a..0000000 --- a/bz1232073-revert-multiple-notify-scripts.patch +++ /dev/null @@ -1,291 +0,0 @@ -From cc57912f2f947194522d0030ed34fb37d8ab2c17 Mon Sep 17 00:00:00 2001 -From: Ryan O'Hara -Date: Wed, 17 Jun 2015 20:59:24 -0500 -Subject: [PATCH 2/2] Revert "Enhance keepalived vrrp to configure - mltp-scripts" - -This reverts commit 5c4177381bee24f9f7fbe33b8dc20c2d9cc2bccb. ---- - keepalived/include/vrrp.h | 2 +- - keepalived/include/vrrp_data.h | 1 - - keepalived/include/vrrp_notify.h | 7 ------- - keepalived/include/vrrp_print.h | 1 - - keepalived/vrrp/vrrp_data.c | 25 ++++------------------- - keepalived/vrrp/vrrp_notify.c | 43 ++++++++++++---------------------------- - keepalived/vrrp/vrrp_parser.c | 4 +++- - keepalived/vrrp/vrrp_print.c | 16 +++------------ - keepalived/vrrp/vrrp_snmp.c | 4 ++-- - 9 files changed, 26 insertions(+), 77 deletions(-) - -diff --git a/keepalived/include/vrrp.h b/keepalived/include/vrrp.h -index 8c8b3f3..2d6dded 100644 ---- a/keepalived/include/vrrp.h -+++ b/keepalived/include/vrrp.h -@@ -205,6 +205,7 @@ typedef struct _vrrp_t { - char *script_master; - char *script_fault; - char *script_stop; -+ char *script; - - /* rfc2336.6.2 */ - uint32_t ms_down_timer; -@@ -229,7 +230,6 @@ typedef struct _vrrp_t { - - /* IPSEC AH counter def (only valid for VRRPv2) --rfc2402.3.3.2 */ - seq_counter_t *ipsecah_counter; -- list script; - } vrrp_t; - - /* VRRP state machine -- rfc2338.6.4 */ -diff --git a/keepalived/include/vrrp_data.h b/keepalived/include/vrrp_data.h -index bfbcc20..2bbc6a2 100644 ---- a/keepalived/include/vrrp_data.h -+++ b/keepalived/include/vrrp_data.h -@@ -79,7 +79,6 @@ extern void alloc_vrrp_unicast_peer(vector_t *); - extern void alloc_vrrp_track(vector_t *); - extern void alloc_vrrp_script(char *); - extern void alloc_vrrp_track_script(vector_t *); --extern void alloc_vrrp_notify_script(vector_t *); - extern void alloc_vrrp_vip(vector_t *); - extern void alloc_vrrp_evip(vector_t *); - extern void alloc_vrrp_vroute(vector_t *); -diff --git a/keepalived/include/vrrp_notify.h b/keepalived/include/vrrp_notify.h -index 692f10f..8f60c45 100644 ---- a/keepalived/include/vrrp_notify.h -+++ b/keepalived/include/vrrp_notify.h -@@ -29,12 +29,5 @@ - - extern int notify_instance_exec(vrrp_t *, int); - extern int notify_group_exec(vrrp_sgroup_t *, int); --extern void alloc_notify_script(list, vector_t *); --extern void dump_notify_script(void *); -- --/* Notify script structure definition */ --typedef struct _notify_sc { -- char *sname; --} notify_sc_t; - - #endif -diff --git a/keepalived/include/vrrp_print.h b/keepalived/include/vrrp_print.h -index 52ba26f..8307260 100644 ---- a/keepalived/include/vrrp_print.h -+++ b/keepalived/include/vrrp_print.h -@@ -30,7 +30,6 @@ extern void vrrp_print_stats(void); - extern void vrrp_print(FILE *file, void *d); - extern void vgroup_print(FILE *file, void *d); - extern void vscript_print(FILE *file, void *d); --extern void nscript_print(FILE *file, void *d); - extern void address_print(FILE *file, void *d); - extern void route_print(FILE *file, void *d); - extern void if_print(FILE *file, void *d); -diff --git a/keepalived/vrrp/vrrp_data.c b/keepalived/vrrp/vrrp_data.c -index 42d7af0..c79f1b5 100644 ---- a/keepalived/vrrp/vrrp_data.c -+++ b/keepalived/vrrp/vrrp_data.c -@@ -30,7 +30,6 @@ - #include "utils.h" - #include "logger.h" - #include "bitops.h" --#include "vrrp_notify.h" - - /* global vars */ - vrrp_data_t *vrrp_data = NULL; -@@ -200,6 +199,7 @@ free_vrrp(void *data) - FREE_PTR(vrrp->script_master); - FREE_PTR(vrrp->script_fault); - FREE_PTR(vrrp->script_stop); -+ FREE_PTR(vrrp->script); - FREE_PTR(vrrp->stats); - FREE(vrrp->ipsecah_counter); - -@@ -213,11 +213,6 @@ free_vrrp(void *data) - FREE(ELEMENT_DATA(e)); - free_list(vrrp->track_script); - -- if (!LIST_ISEMPTY(vrrp->script)) -- for (e = LIST_HEAD(vrrp->script); e; ELEMENT_NEXT(e)) -- FREE(ELEMENT_DATA(e)); -- free_list(vrrp->script); -- - free_list(vrrp->unicast_peer); - free_list(vrrp->vip); - free_list(vrrp->evip); -@@ -316,11 +311,9 @@ dump_vrrp(void *data) - if (vrrp->script_stop) - log_message(LOG_INFO, " Stop state transition script = %s", - vrrp->script_stop); -- if (!LIST_ISEMPTY(vrrp->script)) { -- log_message(LOG_INFO, " Generic state transition scripts = %d\n", -- LIST_SIZE(vrrp->script)); -- dump_list(vrrp->script); -- } -+ if (vrrp->script) -+ log_message(LOG_INFO, " Generic state transition script = '%s'", -+ vrrp->script); - if (vrrp->smtp_alert) - log_message(LOG_INFO, " Using smtp notification"); - if (__test_bit(VRRP_VMAC_BIT, &vrrp->vmac_flags)) -@@ -453,16 +446,6 @@ alloc_vrrp_track_script(vector_t *strvec) - } - - void --alloc_vrrp_notify_script(vector_t *strvec) --{ -- vrrp_t *vrrp = LIST_TAIL_DATA(vrrp_data->vrrp); -- -- if (LIST_ISEMPTY(vrrp->script)) -- vrrp->script = alloc_list(NULL, dump_notify_script); -- alloc_notify_script(vrrp->script, strvec); --} -- --void - alloc_vrrp_vip(vector_t *strvec) - { - vrrp_t *vrrp = LIST_TAIL_DATA(vrrp_data->vrrp); -diff --git a/keepalived/vrrp/vrrp_notify.c b/keepalived/vrrp/vrrp_notify.c -index f830341..61bc7a3 100644 ---- a/keepalived/vrrp/vrrp_notify.c -+++ b/keepalived/vrrp/vrrp_notify.c -@@ -44,6 +44,12 @@ get_iscript(vrrp_t * vrrp, int state) - } - - static char * -+get_igscript(vrrp_t * vrrp) -+{ -+ return vrrp->script; -+} -+ -+static char * - get_gscript(vrrp_sgroup_t * vgroup, int state) - { - if (!vgroup->notify_exec) -@@ -163,9 +169,8 @@ int - notify_instance_exec(vrrp_t * vrrp, int state) - { - char *script = get_iscript(vrrp, state); -+ char *gscript = get_igscript(vrrp); - int ret = 0; -- element e; -- notify_sc_t *nsc; - - /* Launch the notify_* script */ - if (script && script_open(script)) { -@@ -174,16 +179,12 @@ notify_instance_exec(vrrp_t * vrrp, int state) - } - - /* Launch the generic notify script */ -- if (!LIST_ISEMPTY(vrrp->script)) { -- for (e = LIST_HEAD(vrrp->script); e; ELEMENT_NEXT(e)) { -- nsc = ELEMENT_DATA(e); -- if (nsc->sname && script_open_litteral(nsc->sname)) { -- notify_script_exec(nsc->sname, "INSTANCE", state, vrrp->iname, -- vrrp->effective_priority); -- ret = 1; -- } -- } -- } -+ if (gscript && script_open_litteral(gscript)) { -+ notify_script_exec(gscript, "INSTANCE", state, vrrp->iname, -+ vrrp->effective_priority); -+ ret = 1; -+ } -+ - return ret; - } - -@@ -208,21 +209,3 @@ notify_group_exec(vrrp_sgroup_t * vgroup, int state) - - return ret; - } -- --/* Notify script dump */ --void --dump_notify_script(void *data) --{ -- notify_sc_t *nsc = data; -- log_message(LOG_INFO, " %s", nsc->sname); --} -- --void --alloc_notify_script(list notify_list, vector_t *strvec) --{ -- notify_sc_t *nsc = NULL; -- nsc = (notify_sc_t *) MALLOC(sizeof(notify_sc_t)); -- nsc->sname = (char *)MALLOC(strlen(vector_slot(strvec, 0)) + 1); -- strncpy(nsc->sname, vector_slot(strvec, 0), strlen(vector_slot(strvec, 0)) + 1); -- list_add(notify_list, nsc); --} -diff --git a/keepalived/vrrp/vrrp_parser.c b/keepalived/vrrp/vrrp_parser.c -index 78f42d3..270e550 100644 ---- a/keepalived/vrrp/vrrp_parser.c -+++ b/keepalived/vrrp/vrrp_parser.c -@@ -364,7 +364,9 @@ vrrp_notify_stop_handler(vector_t *strvec) - static void - vrrp_notify_handler(vector_t *strvec) - { -- alloc_value_block(strvec, alloc_vrrp_notify_script); -+ vrrp_t *vrrp = LIST_TAIL_DATA(vrrp_data->vrrp); -+ vrrp->script = set_value(strvec); -+ vrrp->notify_exec = 1; - } - static void - vrrp_smtp_handler(vector_t *strvec) -diff --git a/keepalived/vrrp/vrrp_print.c b/keepalived/vrrp/vrrp_print.c -index 3d7861b..66085a3 100644 ---- a/keepalived/vrrp/vrrp_print.c -+++ b/keepalived/vrrp/vrrp_print.c -@@ -27,7 +27,6 @@ - #include "vrrp_print.h" - #include "vrrp_iproute.h" - #include "vrrp_netlink.h" --#include "vrrp_notify.h" - - void - vrrp_print_list(FILE *file, list l, void (*fptr)(FILE*, void*)) -@@ -193,11 +192,9 @@ vrrp_print(FILE *file, void *data) - if (vrrp->script_stop) - fprintf(file, " Stop state transition script = %s\n", - vrrp->script_stop); -- if (!LIST_ISEMPTY(vrrp->script)) { -- fprintf(file, " Generic state transition scripts = %d\n", -- LIST_SIZE(vrrp->script)); -- vrrp_print_list(file, vrrp->script, &nscript_print); -- } -+ if (vrrp->script) -+ fprintf(file, " Generic state transition script = '%s'\n", -+ vrrp->script); - if (vrrp->smtp_alert) - fprintf(file, " Using smtp notification\n"); - -@@ -260,13 +257,6 @@ vscript_print(FILE *file, void *data) - } - - void --nscript_print(FILE *file, void *data) --{ -- notify_sc_t *nsc = data; -- fprintf(file, " VRRP notify Script = %s\n", nsc->sname); --} -- --void - address_print(FILE *file, void *data) - { - ip_address_t *ipaddr = data; -diff --git a/keepalived/vrrp/vrrp_snmp.c b/keepalived/vrrp/vrrp_snmp.c -index 7ddcf7d..f5c5e9a 100644 ---- a/keepalived/vrrp/vrrp_snmp.c -+++ b/keepalived/vrrp/vrrp_snmp.c -@@ -810,8 +810,8 @@ vrrp_snmp_instance(struct variable *vp, oid *name, size_t *length, - break; - case VRRP_SNMP_INSTANCE_SCRIPT: - if (rt->script) { -- *var_len = 0; -- return (u_char *) NULL; -+ *var_len = strlen(rt->script); -+ return (u_char *)rt->script; - } - break; - case VRRP_SNMP_INSTANCE_ACCEPT: --- -1.9.3 - diff --git a/bz1232408-fix-multiple-vrrp-instance-configs.patch b/bz1232408-fix-multiple-vrrp-instance-configs.patch deleted file mode 100644 index 6994927..0000000 --- a/bz1232408-fix-multiple-vrrp-instance-configs.patch +++ /dev/null @@ -1,92 +0,0 @@ -From 65b3126b7e7fe2ad40f830240e94cf9a1f772409 Mon Sep 17 00:00:00 2001 -From: Ryan O'Hara -Date: Wed, 17 Jun 2015 13:05:19 -0500 -Subject: [PATCH] Revert "Fix VRRP preemption taking too long" - -This reverts commit 76f9ce36ae389983b48a83a933182739786908c9. ---- - keepalived/vrrp/vrrp_scheduler.c | 15 --------------- - keepalived/vrrp/vrrp_sync.c | 31 ++++++------------------------- - 2 files changed, 6 insertions(+), 40 deletions(-) - -diff --git a/keepalived/vrrp/vrrp_scheduler.c b/keepalived/vrrp/vrrp_scheduler.c -index b87a93c..685a2bc 100644 ---- a/keepalived/vrrp/vrrp_scheduler.c -+++ b/keepalived/vrrp/vrrp_scheduler.c -@@ -629,14 +629,6 @@ vrrp_leave_master(vrrp_t * vrrp, char *buffer, int len) - } else if (vrrp_state_master_rx(vrrp, buffer, len)) { - vrrp_state_leave_master(vrrp); - vrrp_smtp_notifier(vrrp); -- } else { -- /* -- * If we're up, and the packet we received is preemptible -- * assert that we are the correct MASTER and immediately -- * transmit an advertisement to quell the operation of the -- * erroneous, lower-priority MASTER -- */ -- vrrp_master(vrrp); - } - } - -@@ -726,13 +718,6 @@ vrrp_goto_master(vrrp_t * vrrp) - /* handle master state transition */ - vrrp->wantstate = VRRP_STATE_MAST; - vrrp_state_goto_master(vrrp); -- -- /* -- * Immediately send a VRRP advertisement to the multicast -- * address to assert that we are now operating as the session -- * MASTER -- */ -- vrrp_master(vrrp); - } - } - -diff --git a/keepalived/vrrp/vrrp_sync.c b/keepalived/vrrp/vrrp_sync.c -index 3431e03..ee35b0b 100644 ---- a/keepalived/vrrp/vrrp_sync.c -+++ b/keepalived/vrrp/vrrp_sync.c -@@ -36,34 +36,15 @@ vrrp_init_instance_sands(vrrp_t * vrrp) - { - set_time_now(); - -- /* -- * When in MASTER state the expiry time for the group controls when -- * advertisements are transmitted. -- * As such, sets the expiry to one advertisement interval from now -- */ -- if (vrrp->state == VRRP_STATE_MAST) { -- vrrp->sands = timer_add_long(time_now, vrrp->adver_int); -+ if (vrrp->state == VRRP_STATE_MAST || -+ vrrp->state == VRRP_STATE_GOTO_MASTER || -+ vrrp->state == VRRP_STATE_GOTO_FAULT || -+ vrrp->wantstate == VRRP_STATE_GOTO_MASTER) { -+ vrrp->sands.tv_sec = time_now.tv_sec + vrrp->adver_int / TIMER_HZ; -+ vrrp->sands.tv_usec = time_now.tv_usec; - return; - } - -- /* -- * When not in MASTER state, but transitioning to MASTER state (e.g. -- * wantstate is GOTO_MASTER, which occurs when a preemptable packet is -- * received), the timer should not be updated to allow the Master Down -- * Timer to expire. -- */ -- if (vrrp->state == VRRP_STATE_GOTO_MASTER || -- vrrp->state == VRRP_STATE_GOTO_FAULT || -- vrrp->wantstate == VRRP_STATE_GOTO_MASTER) { -- return; -- } -- -- /* -- * When in the BACKUP state the expiry timer should be updated to -- * time_now plus the Master Down Timer, when a non-preemptable packet is -- * received. (When a preemptable packet is received, the wantstate is -- * moved to GOTO_MASTER and this condition is caught above). -- */ - if (vrrp->state == VRRP_STATE_BACK || vrrp->state == VRRP_STATE_FAULT) - vrrp->sands = timer_add_long(time_now, vrrp->ms_down_timer); - } --- -1.9.3 - diff --git a/keepalived.spec b/keepalived.spec index c58322c..3755423 100644 --- a/keepalived.spec +++ b/keepalived.spec @@ -8,8 +8,8 @@ Name: keepalived Summary: High Availability monitor built upon LVS, VRRP and service pollers -Version: 1.2.17 -Release: 5%{?dist} +Version: 1.2.18 +Release: 1%{?dist} License: GPLv2+ URL: http://www.keepalived.org/ Group: System Environment/Daemons @@ -17,10 +17,6 @@ Group: System Environment/Daemons Source0: http://www.keepalived.org/software/keepalived-%{version}.tar.gz Source1: keepalived.service -Patch0: bz1232408-fix-multiple-vrrp-instance-configs.patch -Patch1: bz1232073-revert-fix-notify-upon-reload.patch -Patch2: bz1232073-revert-multiple-notify-scripts.patch - Requires(post): systemd Requires(preun): systemd Requires(postun): systemd @@ -51,9 +47,6 @@ infrastructures. %prep %setup -q -%patch0 -p1 -%patch1 -p1 -%patch2 -p1 %build %configure \ @@ -112,6 +105,9 @@ rm -rf %{buildroot} %{_mandir}/man8/keepalived.8* %changelog +* Wed Jul 01 2015 Ryan O'Hara - 1.2.18-1 +- Update to 1.2.18 (#1237377) + * Tue Jun 23 2015 Ryan O'Hara - 1.2.17-5 - Revert patch that changed VRRP notify scripts to list (#1232073) diff --git a/sources b/sources index cbcc112..d1082af 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -8d6400e1be43fc303175164d69125dce keepalived-1.2.17.tar.gz +4238a97f24e84bf9465dfa384104157e keepalived-1.2.18.tar.gz