Fix --force-bind logic
authorLennart Poettering <lennart@poettering.net>
Fri, 12 Dec 2008 20:26:27 +0000 (21:26 +0100)
committerLennart Poettering <lennart@poettering.net>
Fri, 12 Dec 2008 20:26:27 +0000 (21:26 +0100)
commitf8ef650e9d7b633c67509666599c15f205fa5baf
tree3568bcb02c439bc858eaddf1e724cb67dd2d73ba
parent1946f54fc6380ee57dcd3f2f491270c7b08a8479
Fix --force-bind logic

Quoting Cocagne:

"line 1280 of autoipd's main.c: "else if (event ==
EVENT_ROUTABLE_ADDR_CONFIGURED)" is missing '&& !force_bind' in
the conditional. The lack of this condition causes the local
link IP to be released even if the --force-bind arugment is
passed.

The problem was noticed when attempting to use avahi-autoipd
acquire a link-local address during the early-userspace in a
Linux initramfs. Immediately after the call-out script assinged
the ll-address to the device, the daemon released the address
via this conditional. It's suspicious that the daemon would
consider this address "routable" but, even if it were,
--force-bind should prevent the address from being released.

After adding the && !force_bind to the conditional the daemon
appeard to behave as expected."

Closes #209.
avahi-autoipd/main.c