Don't process C_LASTSEEN unless we're a master (otherwise a crashed

master kills all slaves once restarted).
This commit is contained in:
bodea 2005-05-07 10:14:33 +00:00
parent c266121a2c
commit 851e04dbdf
3 changed files with 12 additions and 3 deletions

View file

@ -1,4 +1,4 @@
* Thu May 5 2005 Brendan O'Dea <bod@optusnet.com.au> 2.1.0
* Sat May 7 2005 Brendan O'Dea <bod@optusnet.com.au> 2.1.0
- Add IPv6 support from Jonathan McDowell.
- Add CHAP support from Jordan Hrycaj (work in progress).
- Add interim accounting support from Vladislav Bjelic.
@ -53,6 +53,10 @@
allocated (uses config->debug).
- Initialise log_stream to stderr to catch errors before the config file
is read.
- Fix leak in session freelist when initial RADIUS session allocation
fails.
- Don't process C_LASTSEEN unless we're a master (otherwise a crashed
master kills all slaves once restarted).
* Fri Dec 17 2004 Brendan O'Dea <bod@optusnet.com.au> 2.0.13
- Better cluster master collision resolution: keep a counter of state

View file

@ -1,6 +1,6 @@
// L2TPNS Clustering Stuff
char const *cvs_id_cluster = "$Id: cluster.c,v 1.35 2005/05/05 10:02:07 bodea Exp $";
char const *cvs_id_cluster = "$Id: cluster.c,v 1.36 2005/05/07 10:14:33 bodea Exp $";
#include <stdio.h>
#include <stdlib.h>
@ -1364,6 +1364,11 @@ int processcluster(char *data, int size, in_addr_t addr)
return cluster_add_peer(addr, more, (pingt *) p, s);
case C_LASTSEEN: // Catch up a slave (slave missed a packet).
if (!config->cluster_iam_master) { // huh?
LOG(0, 0, 0, "I'm not the master, but I got a C_LASTSEEN from %s?\n", fmtaddr(addr, 0));
return -1;
}
return cluster_catchup_slave(more, addr);
case C_FORWARD: { // Forwarded control packet. pass off to processudp.

View file

@ -43,5 +43,5 @@ rm -rf %{buildroot}
%attr(644,root,root) /usr/share/man/man[58]/*
%changelog
* Thu May 5 2005 Brendan O'Dea <bod@optusnet.com.au> 2.1.0-1
* Sat May 7 2005 Brendan O'Dea <bod@optusnet.com.au> 2.1.0-1
- 2.1.0 release, see /usr/share/doc/l2tpns-2.1.0/Changes