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>
Maintainer: Moritz Warning <moritzwarning@web.de>
Compiled and tested on snapshot SDK mips_24kc
This release has numerous bug fixes and enhancements:
* Fix bug - fas_remotefqdn not supported with option fas_secure_enabled 0 [bluewavenet]
* Fix bug - prevent deadlock causing ndsctl to hang and NDS to become unresponsive [bluewavenet]
* PreAuth - Override FAS settings making configuration foolproof [bluewavenet]
* ndsctl - make json parsing consistent for all client variables [bluewavenet]
* Fix memory leak in template generation [lynxis]
* When executing the ndsctl stop command, cleanup all structures [lynxis]
* Check for positive errno in thread_ndsctl [lynxis]
Signed-off-by: Rob White <rob@blue-wave.net>
The batman-adv kernel module can be build without sysfs support. This will
stop the kernel module from creating the "mesh" directory. The alfred init
script must not depend on this folder to start the daemon up.
Signed-off-by: Sven Eckelmann <sven@narfation.org>
The alfred daemon allows to be started with multiple interfaces. The first
interface is used for communication and to calculate the source mac
address. The rest of the interfaces are only used for communication.
Signed-off-by: Sven Eckelmann <sven@narfation.org>
The '-m' option to select the mesh interface or vlan interfaces was
replaced with device type specific subcommand prefixes:
* meshif <netdev>
* vlan <vdev>
* meshif <netdev> vid <vid>
* hardif <netdev>
This change should also be made in the proto script to allow batctl to drop
the support of '-m' completely in the future.
Signed-off-by: Sven Eckelmann <sven@narfation.org>
* add tcpdump support for MCAST TVLV, unicast fragments and coded packets
* implement support for multicast RTR flags
* avoid some kernel deprecation warning by using more generic netlink over
sysfs
* use type specific prefixes to select mesh interface or vlan instead of '-m'
* add support for hardif specific settings
Signed-off-by: Sven Eckelmann <sven@narfation.org>
Maintainer: Moritz Warning <moritzwarning@web.de>
Compiled and tested on snapshot SDK mips_24kc
* Make debuglevel platform independent [mwarning]
* Add/move/reword some debug output lines [mwarning]
* Numerous code cleanups [mwarning]
* Put fas code into block [mwarning]
* Fix coding error in fas-aes.php incorrectly passing redir back to NDS [bluewavenet]
* Numerous documentation updates [bluewavenet]
Signed-off-by: Rob White <rob@blue-wave.net>
The legacy init script had various problems in comparison with procd based
init scripts. It wasn't able to correctly track the running process
instance and thus could:
* accidentally kill another (non init controlled) daemon instance when stop
is used
* not restart the daemon depending on config changes when reload is used
* not automatically start/restart daemon when the used netdev was
created/recreated
The information about a running instance and its parameters can now be
handled by a global controller (procd). The process must not fork anymore
and leave the control to procd. The process with its parameters can then be
used by procd to trigger the stop/start of the process at the right time.
Signed-off-by: Sven Eckelmann <sven@narfation.org>
The legacy init script had various problems in comparison with procd based
init scripts. It wasn't able to correctly track the running process
instance and thus could:
* accidentally kill another (non init controlled) daemon instance when stop
is used
* not restart the daemon depending on config changes when reload is used
The information about a running instance and its parameters can now be
handled by a global controller (procd). The process must not fork anymore
and leave the control to procd. The process with its parameters can then be
used by procd to trigger the stop/start of the process at the right time.
Signed-off-by: Sven Eckelmann <sven@narfation.org>
batctl isn't using any special rules in Build/Compile. It is cleaner to
directly use the global Build/Compile/Default instead of having a
functional similar copy in the package Makefile
Signed-off-by: Sven Eckelmann <sven@narfation.org>
The Makefile defines the init-y variable but neither this Makefile nor
OpenWrt's common files use this variable.
Signed-off-by: Sven Eckelmann <sven@narfation.org>
alfred isn't using any special rules in Build/Compile. It is cleaner to
directly use the global Build/Compile/Default instead of having a
functional similar copy in the package Makefile
Signed-off-by: Sven Eckelmann <sven@narfation.org>
vis isn't using any special rules in Build/Compile. It is cleaner to
directly use the global Build/Compile/Default instead of having a
functional similar copy in the package Makefile
Signed-off-by: Sven Eckelmann <sven@narfation.org>
batmand isn't using any special rules in Build/Compile. It is cleaner to
directly use the global Build/Compile/Default instead of having a
functional similar copy in the package Makefile
Signed-off-by: Sven Eckelmann <sven@narfation.org>
The mac80211 package version was updated to a 5.2 based one in commit
0b2c42ced21a ("mac80211: Update to version 5.2-rc7"). The batman-adv module
must therefore no longer the pre-5.2 API.
Signed-off-by: Sven Eckelmann <sven@narfation.org>
Maintainer: Moritz Warning <moritzwarning@web.de>
Compiled and tested on snapshot SDK mips_24kc and arm_cortex-a5_neon-vfpv4/
* Introduce aes encryption of the query string passed to remote FAS, allowing authdir and client token to be transferred securely. Uses php-cli and php-openssl. These are required if encryption is enabled but are not dependencies [bluewavenet]
* Introduce fasremotefqdn, specifying the FQDN of the remote FAS. This facilitates simplified support for FAS operation on shared hosting systems [bluewavenet]
* Add a FAS php script supporting aes encrypted query string sent from NDS [bluewavenet]
* Numerous Documentation updates [bluewavenet]
* Remove unused pagesdir and imagesdir [mwarning]
* Add Preauth script that displays images from remote servers [bluewavenet]
* Use elegant check for valid ip addresses [mwarning]
* openwrt initscript - add missing macmechanism in the config file [lynxis]
Signed-off-by: Rob White <rob@blue-wave.net>
this spewed out 2 compile warnings
In file included from build_dir/target-mipsel_24kc_musl/mcproxy-2017-08-24-93b5ace42268160ebbfff4c61818fb15fa2d9b99/mcproxy/src/utils/mc_socket.cpp:43:0:
build_dir/target-mipsel_24kc_musl/mcproxy-2017-08-24-93b5ace42268160ebbfff4c61818fb15fa2d9b99/mcproxy/src/utils/sourcefilter.cpp: In function 'int setsourcefilter(int, uint32_t, const sockaddr*, socklen_t, uint32_t, uint32_t, const sockaddr_storage*)':
build_dir/target-mipsel_24kc_musl/mcproxy-2017-08-24-93b5ace42268160ebbfff4c61818fb15fa2d9b99/mcproxy/src/utils/sourcefilter.cpp:157:3: warning: this 'else' clause does not guard... [-Wmisleading-indentation]
else
^~~~
build_dir/target-mipsel_24kc_musl/mcproxy-2017-08-24-93b5ace42268160ebbfff4c61818fb15fa2d9b99/mcproxy/src/utils/sourcefilter.cpp:160:5: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'else'
int save_errno = errno;
^~~
Signed-off-by: John Crispin <john@phrozen.org>
mcproxy has no way to send an IGMPv2 query today. If you force IGMPv2 (by
setting the protocol in the mcproxy config and setting the force_igmp_version
flag on all interfaces) the bridge will send v2 queries but if mcproxy takes
over as the querier it will send v3 queries. The patch below adds support for
sending v2 queries so everyone stays in sync:
Signed-off-by: Sukru Senli <sukru.senli@iopsys.eu>
Signed-off-by: Chad Monroe <chad.monroe@smartrg.com>
Signed-off-by: John Crispin <john@phrozen.org>
The ap_isolation setting only supports boolean values. So setting an empty
string as ap_isolation is not supported by batctl.
Fixes: f5205d7d24 ("batman-adv: upgrade package to latest release 2014.2.0")
Signed-off-by: Sven Eckelmann <sven@narfation.org>
B.A.T.M.A.N. V support additional settings which are hardif specific. The
batadv_hardif proto has to expose them to allow automatic configuration.
The default configuration would be:
config interface 'bat0_hardif_eth0'
option proto 'batadv_hardif'
option master 'bat0'
option ifname 'eth0'
option mtu '1536'
option 'elp_interval' 500
# string like '1mbit' is accepted instead of kbit for override
option 'throughput_override' '0'
Signed-off-by: Sven Eckelmann <sven@narfation.org>
batctl currently supports settings which are either mesh interface or vlan
specific. But B.A.T.M.A.N. V introduced two additional settings which are
hard (slave) interface specific.
To support these, an additional command prefix called hardif is implemented
for some sysfs commands:
$ batctl -m bat0 hardif eth0 ..
The usable commands with that are:
* elp_interval
* throughput_override
Signed-off-by: Sven Eckelmann <sven@narfation.org>
mcproxy supports a generic filtering/blacklisting mechanism but it’s currently
broken. In the case of routed video (e.g. mcproxy routing video from
WAN -> LAN), it will forward multicast between the LAN and WAN. There are
perfectly valid use cases for this like reporting but other less-appropriate
things like mDNS and SSDP leak through from LAN -> WAN which is bad.
Signed-off-by: Sukru Senli <sukru.senli@iopsys.eu>
Signed-off-by: Chad Monroe <chad.monroe@smartrg.com>
Signed-off-by: John Crispin <john@phrozen.org>
The state of slave interfaces are handled differently depending on whether
the interface is up or not. All active interfaces (IFF_UP) will transmit
OGMs. But for B.A.T.M.A.N. IV, also non-active interfaces are scheduling
(low TTL) OGMs on active interfaces. The code which setups and schedules
the OGMs must therefore already be called when the interfaces gets added as
slave interface and the transmit function must then check whether it has to
send out the OGM or not on the specific slave interface.
But v2016.3 moved the setup code from the enable function to the activate
function. The latter is called either when the added slave was already up
when batadv_hardif_enable_interface processed the new interface or when a
NETDEV_UP event was received for this slave interfac. As result, each
NETDEV_UP would schedule a new OGM worker for the interface and thus OGMs
would be send a lot more than expected.
Fixes: 549909f89d ("batman-adv: upgrade package to latest release 2016.3")
Reported-by: Linus Lüssing <linus.luessing@c0d3.blue>
Signed-off-by: Sven Eckelmann <sven@narfation.org>