These variables are only used in the the same file. They can therefore be
static and don't have to be exported by the executable.
Signed-off-by: Sven Eckelmann <sven@narfation.org>
The macro foreach is dereferencing router to get the next node in list.
This even happens when the node was just freed in the last iteration (and
thus could crash the program).
To avoid this crash, the next pointer has to be saved before the node is
freed.
Signed-off-by: Sven Eckelmann <sven@narfation.org>
Both source files require the _GNU_SOURCE preprocessor. But for one file it is
defined in the source and for the other one in the Makefile. It is better
to have it in the Makefile to avoid that different source files in the same
project use different.
Signed-off-by: Sven Eckelmann <sven@narfation.org>
Previously, only one nexthop was recognized. The parsing of the whole file
failed immediately when two or more hops were possible for *any* originator (not
only for one with a router behind it).
This makes the parser ignore most of the line in the originators table.
As I have seen instances of ebtables being killed with a timeout of 100ms,
increasing it to 500ms.
Also, to ease the straint on the CPU, increasing minimum time between TQ checks
to 15 seconds.
This reduces the average CPU consumption (on a WDR4300) from 3% to 1%.
Also, this commit adds error messages when the parsing fails and makes matching
more flexible after all relevant fields have been found.
This package drops all incoming router advertisements except for the
default router with the best metric according to B.A.T.M.A.N. advanced.
Note that advertisements originating from the node itself (for example
via gluon-radvd) are not affected.
We would like to check the file size instead of downloading indefinitely.
The file size is added in another copy of the manifest lines, which is
ignored by older autoupdater implementations.
Interacting with batman-adv's genl interface requires some code and
definitions which could be shared between different packages. libbatadv is
trying to do this without providing any guarantee for ABI or API stability.
It is only useful in very controlled environments like gluon.
Signed-off-by: Sven Eckelmann <sven@narfation.org>
Allow using relative paths for GLUON_SITEDIR, GLUON_OUTPUTDIR, ...
We also check for whitespace in paths now, as build will not work properly
with whitespace anyways, and Make's abspath would require escaping
otherwise.
[Matthias Schiffer: minor changes, rewrite commit message]