projects
/
l2tpns.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
only poll clifd if successfully bound
[l2tpns.git]
/
cluster.c
diff --git
a/cluster.c
b/cluster.c
index
f601f70
..
0b595e3
100644
(file)
--- a/
cluster.c
+++ b/
cluster.c
@@
-1,6
+1,6
@@
// L2TPNS Clustering Stuff
// L2TPNS Clustering Stuff
-char const *cvs_id_cluster = "$Id: cluster.c,v 1.
46 2005/09/02 23:59:56
bodea Exp $";
+char const *cvs_id_cluster = "$Id: cluster.c,v 1.
50 2006/04/05 02:13:48
bodea Exp $";
#include <stdio.h>
#include <stdlib.h>
#include <stdio.h>
#include <stdlib.h>
@@
-1268,12
+1268,10
@@
static uint8_t *convert_session(struct oldsession *old)
new.next = old->next;
new.far = old->far;
new.tunnel = old->tunnel;
new.next = old->next;
new.far = old->far;
new.tunnel = old->tunnel;
- new.
l2tp_
flags = old->l2tp_flags;
+ new.flags = old->l2tp_flags;
new.ip = old->ip;
new.ip_pool_index = old->ip_pool_index;
new.unique_id = old->unique_id;
new.ip = old->ip;
new.ip_pool_index = old->ip_pool_index;
new.unique_id = old->unique_id;
- new.nr = old->nr;
- new.ns = old->ns;
new.magic = old->magic;
new.pin = old->pin;
new.pout = old->pout;
new.magic = old->magic;
new.pin = old->pin;
new.pout = old->pout;
@@
-1553,7
+1551,7
@@
static int cluster_process_heartbeat(uint8_t *data, int size, int more, uint8_t
s -= (p - orig_p);
if (size != sizeof(tunnelt) ) { // Ouch! Very very bad!
s -= (p - orig_p);
if (size != sizeof(tunnelt) ) { // Ouch! Very very bad!
- LOG(0, 0, 0, "DANGER: Received a C
SESSION
that didn't decompress correctly!\n");
+ LOG(0, 0, 0, "DANGER: Received a C
TUNNEL
that didn't decompress correctly!\n");
// Now what? Should exit! No-longer up to date!
break;
}
// Now what? Should exit! No-longer up to date!
break;
}
@@
-1657,7
+1655,11
@@
int processcluster(uint8_t *data, int size, in_addr_t addr)
STAT(recv_forward);
if (type == C_FORWARD_DAE)
STAT(recv_forward);
if (type == C_FORWARD_DAE)
- processdae(p, s, &a, sizeof(a));
+ {
+ struct in_addr local;
+ local.s_addr = config->bind_address ? config->bind_address : my_address;
+ processdae(p, s, &a, sizeof(a), &local);
+ }
else
processudp(p, s, &a);
else
processudp(p, s, &a);