-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hello all,
I was very pleased to find Wackamole yesterday though would have been
slightly more pleased for someone to have told me about it before I'd
reimplemented half of it already :-)
My first project was to get it running between two machines in our office
and check that everything worked as advertised. Now since I like to control
my daemons with daemontools (http://cr.yp.to/daemontools.html) rather than
rely on programs' own inbuilt backgrounding capabilities or tedious init
scripts, I tried to run wackamole in the foreground by turning on debugging
output. Relevant program versions:
Debian 3.0 (stable)
Linux 2.4.20 (a Redhat kernel)
spread 3.17.1
wackamole 2.0.0
My spread.conf looks like this:
Spread_Segment 127.0.0.255:4803 {
localhost 127.0.0.1
}
Spread_Segment 192.168.0.253:4803 {
factotum 192.168.0.253
cc 192.168.0.1
}
And my wackamole.conf looks like this (on factotum at least):
Spread = 4803
SpreadRetryInterval = 5s
Group = officetest
Control = /var/run/wack.it
Prefer None
VirtualInterfaces {
{ eth0:192.168.0.11/24 }
}
Notify {
eth0:192.168.0.0/24 throttle 128
arp-cache
}
balance {
AcquisitionsPerRound = all
interval = 4s
}
mature = 5s
Unfortunately this causes it to segfault and keep hold of the IP address
which I have to delete with "ip addr delete ...". It's output looks like
this:
# /usr/local/sbin/wackamole -d -c wackamole.conf
[snip banner]
connecting to 4803
Clean_up called
Dequeued arp spoof notifier.
No such interface
SP_connect: connected with private group(18 bytes): #wack8071#factotum
Sending 4 local arp entries
Sending 4 local arp entries
Adding 192.168.5.3 to the shared arp cache
Adding 192.168.0.77 to the shared arp cache
Adding 192.168.0.1 to the shared arp cache
Adding 192.168.0.128 to the shared arp cache
UP: eth0:1:192.168.0.11/255.255.255.0
Dequeued arp spoof notifier.
Queued arp spoof notifier for virtual entry.
Count: -1
Count: 0
Re-queued arp spoof notifier for virtual entry.
Segmentation fault
According to gdb this happens in the spread library, events.c line 607:
temp_ptr = Time_queue;
Time_queue = Time_queue->next;
Alarm( EVENTS, "E_handle_events: exec time event \n");
#ifdef TESTTIME
Alarm( DEBUG, "Events: TimeEv is %d %d late\n",tmp_late
#endif
temp_ptr->func( temp_ptr->code, temp_ptr->data ); // segfault here
dispose( temp_ptr );
#ifdef BADCLOCK
Now = E_add_time( Now, mili_sec );
clock_sync++;
Now this is relatively minor practical problem since by running wackamole in
the background, it appears to work without segfaulting. But it does seem a
very curious bug to happen only after forking has occurred, since just
commenting out the fork in wackamole.c causes this to happen. Any ideas how
to get round this so I can supervise the process properly?
- --
Matthew Bloch Bytemark Hosting
tel. +44 (0) 8707 455026
http://www.bytemark-hosting.co.uk/
Dedicated Linux hosts from 15ukp ($26) per month
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)
iD8DBQE/WfKzT2rVDg8aLXQRAvrMAJwP5yO2CHUn/fF+LGGYUwSYgLjNvwCfeHgw
KBlPd2KiT+Uo7HkcME0xf4k=
=lWbi
-----END PGP SIGNATURE-----
Hash: SHA1
Hello all,
I was very pleased to find Wackamole yesterday though would have been
slightly more pleased for someone to have told me about it before I'd
reimplemented half of it already :-)
My first project was to get it running between two machines in our office
and check that everything worked as advertised. Now since I like to control
my daemons with daemontools (http://cr.yp.to/daemontools.html) rather than
rely on programs' own inbuilt backgrounding capabilities or tedious init
scripts, I tried to run wackamole in the foreground by turning on debugging
output. Relevant program versions:
Debian 3.0 (stable)
Linux 2.4.20 (a Redhat kernel)
spread 3.17.1
wackamole 2.0.0
My spread.conf looks like this:
Spread_Segment 127.0.0.255:4803 {
localhost 127.0.0.1
}
Spread_Segment 192.168.0.253:4803 {
factotum 192.168.0.253
cc 192.168.0.1
}
And my wackamole.conf looks like this (on factotum at least):
Spread = 4803
SpreadRetryInterval = 5s
Group = officetest
Control = /var/run/wack.it
Prefer None
VirtualInterfaces {
{ eth0:192.168.0.11/24 }
}
Notify {
eth0:192.168.0.0/24 throttle 128
arp-cache
}
balance {
AcquisitionsPerRound = all
interval = 4s
}
mature = 5s
Unfortunately this causes it to segfault and keep hold of the IP address
which I have to delete with "ip addr delete ...". It's output looks like
this:
# /usr/local/sbin/wackamole -d -c wackamole.conf
[snip banner]
connecting to 4803
Clean_up called
Dequeued arp spoof notifier.
No such interface
SP_connect: connected with private group(18 bytes): #wack8071#factotum
Sending 4 local arp entries
Sending 4 local arp entries
Adding 192.168.5.3 to the shared arp cache
Adding 192.168.0.77 to the shared arp cache
Adding 192.168.0.1 to the shared arp cache
Adding 192.168.0.128 to the shared arp cache
UP: eth0:1:192.168.0.11/255.255.255.0
Dequeued arp spoof notifier.
Queued arp spoof notifier for virtual entry.
Count: -1
Count: 0
Re-queued arp spoof notifier for virtual entry.
Segmentation fault
According to gdb this happens in the spread library, events.c line 607:
temp_ptr = Time_queue;
Time_queue = Time_queue->next;
Alarm( EVENTS, "E_handle_events: exec time event \n");
#ifdef TESTTIME
Alarm( DEBUG, "Events: TimeEv is %d %d late\n",tmp_late
#endif
temp_ptr->func( temp_ptr->code, temp_ptr->data ); // segfault here
dispose( temp_ptr );
#ifdef BADCLOCK
Now = E_add_time( Now, mili_sec );
clock_sync++;
Now this is relatively minor practical problem since by running wackamole in
the background, it appears to work without segfaulting. But it does seem a
very curious bug to happen only after forking has occurred, since just
commenting out the fork in wackamole.c causes this to happen. Any ideas how
to get round this so I can supervise the process properly?
- --
Matthew Bloch Bytemark Hosting
tel. +44 (0) 8707 455026
http://www.bytemark-hosting.co.uk/
Dedicated Linux hosts from 15ukp ($26) per month
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)
iD8DBQE/WfKzT2rVDg8aLXQRAvrMAJwP5yO2CHUn/fF+LGGYUwSYgLjNvwCfeHgw
KBlPd2KiT+Uo7HkcME0xf4k=
=lWbi
-----END PGP SIGNATURE-----