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>
* support latest kernels (3.16 - 5.2)
* coding style cleanups and refactoring
* implement multicast-to-unicast support for multiple targets
* deprecate sysfs support and make it optional
* refresh DAT entry timeouts on incoming ARP Replies
* bugs squashed:
- fix multicast tt/tvlv worker locking
- drop roam tvlv handler when unregistering mesh interface
Signed-off-by: Sven Eckelmann <sven@narfation.org>
* coding style cleanups and refactoring
* add multicast_fanout setting subcommand
* implement netlink based support for remaining sysfs-only features
* drop support for deprecated log command support
* remove non-netlink support for translating MAC addresses to originators
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/
* Fix Issue introduced in v3.3.0 with the addition of Improvements towards usable IPv6 support, that caused CPD on client devices to fail with "Too Many Redirects" error. NDS now terminates gracefully with a console error if fasremoteip is set AND fasport=80 [bluewavenet]
* Validate fasremoteip to ensure that if it is set, then it is a valid dotted format IPv4 address [bluewavenet]
* Numerous Documentation updates [bluewavenet]
* Fix to Known Issue on OpenWrt >18.x.x with v3.3.1. This was caused by misconfigured Makefile for libmicrohttpd; this has been fixed there [bluewavenet]
Signed-off-by: Rob White <rob@blue-wave.net>
If someone like to become the maintainer, please re-submit this package
to the general openwrt package repository
https://github.com/openwrt/packages
Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
* support latest kernels (3.16 - 5.1)
* coding style cleanups and refactoring
* implement meshif, hardif and vlan config interface via netlink
* snoop DHCP ACKs to improve DAT cache efficiency
* bugs squashed:
- avoid potential reference counter underflows and use-after free errors for
several objects
- fix GCC warning when B.A.T.M.A.N. V is build in but cfg80211 is not
available
- reject too small VLAN packets before they are processed further
Signed-off-by: Sven Eckelmann <sven@narfation.org>
* coding style cleanups and refactoring
* introduce support for batadv meshif, hardif and vlan configuration via netlink
* replace multicast_mode with multicast_forceflood settings subcommand
* add hop_penalty setting subcommand
Signed-off-by: Sven Eckelmann <sven@narfation.org>
Although batman-adv config is cycled in config_foreach, changes
are made in the network config. Thus, this one has to be committed.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
batman-adv allows to configure three different objects:
* batadv hardif
- network interface used by batadv meshif to transport the batman-adv
packets
- its master interface is set to the batadv meshif
* batadv (meshif/softif)
- virtual interface that emulates a normal 802.3 interface on top
- encapsulates traffic and forwards it via the batadv hardifs
* batadv vlan
- potential VLAN ID on top of batadv meshif
- allows filtering of traffic from specific VIDs
While batadv vlan objects were already represented as an own proto
"batadv_vlan", the batadv meshif could never be fully configured using
/etc/config/network. Instead, parts of its configuration were stored in
/etc/config/batman_adv and some in the interfaces with the "batadv" proto.
To increase the confusion, the "batadv" proto wasn't used to define the
batadv meshif but to identify batadv (slave) hardifs. The batman-adv
meshifs were also never created directly but only when a hardif was
configured. The actual modification of the configuration settings was then
applied using a hotplug script hack. The batadv meshif network interface
could therefore only be created when an hardif was available and not
manipulated with ifup/ifdown. Also `/etc/init.d/network reload` didn't
modify the batadv meshif interface configuration correctly.
The "batadv" is now renamed to "batadv_hardif" and a new "batadv" proto is
used to configure the main (meshif) network interface with all its
configuration.
A simple network configuration with WiFi & ethernet interfaces and static
IP on top of bat0 would look like:
# batadv meshif bat0
config interface 'bat0'
option proto 'batadv'
option routing_algo 'BATMAN_IV'
option aggregated_ogms 1
option ap_isolation 0
option bonding 0
option fragmentation 1
#option gw_bandwidth '10000/2000'
option gw_mode 'off'
#option gw_sel_class 20
option log_level 0
option orig_interval 1000
option bridge_loop_avoidance 1
option distributed_arp_table 1
option multicast_mode 1
option network_coding 0
option hop_penalty 30
option isolation_mark '0x00000000/0x00000000'
# add *single* wifi-iface with network bat0_hardif_wlan as hardif to bat0
config interface 'bat0_hardif_wlan'
option mtu '1536'
option proto 'batadv_hardif'
option master 'bat0'
# option ifname is filled out by the wifi-iface
# add eth0 as hardif to bat0
config interface 'bat0_hardif_eth0'
option proto 'batadv_hardif'
option master 'bat0'
option ifname 'eth0'
option mtu '1536'
# configure IP on bat0
config interface 'bat0_lan'
option ifname 'bat0'
option proto 'static'
option ipaddr '192.168.1.1'
option netmask '255.255.255.0'
option ip6assign '60'
Signed-off-by: Sven Eckelmann <sven@narfation.org>