Killing anything with -9 is a bad idea. When killed this way, babeld
won't be able to properly disassociate from its neighbours, withdraw its
announced routes or remove routes from the kernel.
This got introduced in bab933d4ca ("babeld: Update to version 1.8.3 +
fix init") with an unrelated change. The purpose of the change is unclear
because stopping and restarting babeld worked fine without this change.
Signed-off-by: Baptiste Jonglez <git@bitsofnetworks.org>
24 September 2018: babeld-1.8.3
* Fixed a read-only two byte buffer overflow in the packet parser.
This is a read-only overflow, and hence most probably not exploitable.
* Fixed an issue with creating unreachable routes on recent kernels
(4.16 and up). Thanks to Christof Schulze.
* Notice interface changes faster by listening to more netlink events.
Thanks to Christof Schulze.
* Fixed a local interface issue when an interface has no link-local
address. Thanks to Christof Schulze.
Also, the init script was edited to kill babeld on stop; restart works properly now, as well.
Signed-off-by: Michael Adams <unquietwiki@gmail.com>
It makes the init script more readable. It has been more than two years
since babeld 1.5.1, let's hope nobody is still using the old
(undocumented) option names.
Incidentally, this commit fixes support for the "conf_dir" option,
introduced by ac643416dc ("babeld: allow changing alternative
configuration file and directory"). The default value of $OTHERCONFIGDIR
was always used, because the variable was used *before* it was (possibly)
redefined when parsing the UCI config.
Signed-off-by: Baptiste Jonglez <git@bitsofnetworks.org>
This way, "/etc/init.d/babeld reload" will detect when one of these
dynamic config files has changed, and restart babeld only if that is the
case.
Dynamic config files where introduced by 82d9002689 ("babeld: add support
for dynamic config files").
Signed-off-by: Baptiste Jonglez <git@bitsofnetworks.org>
This avoids running out of flash or RAM space if babeld logs too much.
The system log is stored on RAM by default and has a controlled size.
It is still possible to tell babeld to log to a file, by using the
following in /etc/config/babeld:
config general
option log_file "/var/log/babeld.log"
Signed-off-by: Baptiste Jonglez <git@bitsofnetworks.org>
When parsing list options using config_load option_cb will be called
with additional options ending in _ITEM$x and _LENGTH. This ignores any
option containing _LENGTH or _ITEM as they can't possible be a valid
babeld option making a config like
config general
list import_table 23
list import_table 42
work.
Signed-off-by: Nils Schneider <nils@nilsschneider.net>
This allows to use the old syntax "config interface foo" for specifying an
interface. The new syntax ("option ifname foo") takes precedence.
Also, old option names for the "general" section are translated
accordingly. Exceptions are:
- 'hello_interval' and 'wired_hello_interval', which are now interface-specific;
- 'conf_file', since /etc/babeld.conf is now always used;
which are simply ignored.
Beware, the syntax for the 'diversity' option is not backward compatible.
Previously, we were using the name of the section as the interface name,
but this has several drawbacks:
- no "-" or other special characters are allowed in a section name,
preventing some physical interface names to be specified this way
(e.g. "tun-topeka" would not work)
- it is harder to support default interface options (no interface name)
This change is not backward compatible, but a later commit will fix that.
This is the first step toward fixing issue #33.
This still lacks some features:
- no support for "ignore" options
- no backward compatibility for option names
- no support for default interface options
22 May 2014: babeld-1.5.0
* Added support for an RTT-based metric -- see the description of
"enable-timestamps" in the manual page. This work was done by
Baptiste Jonglez with help from Matthieu Boutier.
- Update maintainer email address
- Wait for babel to die in init script (avoid race-condition on restart)
Signed-off-by: Gabriel Kerneis <gabriel@kerneis.info>