Maintainer: Rob White rob@blue-wave.net
Compile tested: arm_cortex-a7_neon-vfpv4, mipsel_24kc
Run tested: arm_cortex-a7_neon-vfpv4, mipsel_24kc, gl-inet b1300, gl-inet mt300n-v2, Snapshot, 21.02.1, 19.07.8
Description:
This version adds new functionality, and fixes some issues
It requires iptables(legacy)
* Fix - correctly display return buffer in syslog [bluewavenet]
* Add - use heap allocation for library call return buffer [bluewavenet]
* Fix - OpenWrt, fhook request for fw3 [bluewavenet]
* Add - spider remote urls before downloading [bluewavenet]
* Add - OpenWrt, revert uncommitted uci updates at startup and shutdown [bluewavenet]
* Fix - remove unneccesary flash writes and fix hosts updates [doctor-ox] [bluewavenet]
* Add - Updated splash images [bluewavenet]
* Add - OpenWrt makefile for nft or ipt dependencies [bluewavenet]
* Fix - grep by word to prevent any ambiguity [doctor-ox] [bluewavenet]
* Fix - ensure rate limiting is disabled if rate thresholds are set to zero [bluewavenet]
* Add - querystring support for client status page [bluewavenet]
* Add - Advanced/standard status page checkbox [bluewavenet]
* Add - set default session timeout to 24 hours [bluewavenet]
* Fix - potential buffer overflow [bluewavenet]
* Fix - Restrict max packet limit to iptables maximum [bluewavenet]
* Fix - descriptive labels on ndsctl status output [bluewavenet]
* Add - update of README.md [bluewavenet]
* Fix - Added required variable to FAS return string example documentation [dorkone]
* Add - Default checkinterval set to 15 seconds [bluewavenet]
* Fix - incoming and outgoing counters when unlimited bursting is enabled [bluewavenet]
* Add - maximum bucket size configuration [bluewavenet]
* Add - calculate moving average packet size for rate limiting [bluewavenet]
* Add - some operational default values [bluewavenet]
* Add - initial rate limits when unrestricted bursting is disabled [bluewavenet]
* Add - Require clients to be in the dhcp database [bluewavenet]
* Add - dhcpcheck library call [bluewavenet]
* Fix - Remove trailing whitespace when getting clientaddress if client not active [bluewavenet]
* Fix - Segfault when FAS fails to Return customstring [dorkone] [bluewavenet]
* Add - Enable/Disable unrestricted bursting [bluewavenet]
* Add - gatewayurl to querystring and use in place of originurl in FAS [bluewavenet]
* Fix - more accurate debug message [bluewavenet]
* Fix - Show packet rate correctly as packets per minute [bluewavenet]
* Add - Report Packet Rate and Bucket Size in ndsctl status and json and status client page [bluewavenet]
* Add - rate limit refresh to client limit rules [bluewavenet]
* Fix - code readability [bluewavenet]
* Fix - Documentation for data sent to Authmon Daemon [bluewavenet]
* Add - Show unrestricted burst intervals in ndsctl status [bluewavenet]
* Add - Set default bucket ratios to 10 [bluewavenet]
Signed-off-by: Rob White <rob@blue-wave.net>
There is an unused variable in the function. Remove it.
Fixes: 3852004435 ("babeld: add add_interface function").
Signed-off-by: Nick Hainke <vincent@systemli.org>
(cherry picked from commit 879725ce3e)
An interface can be added dynmiacally to babeld by starting babeld with
the local management interface (-G) and saying:
interface eth0
Add the ubus equivalent of this function:
ubus call babeld add_interface '{"ifname":"eth0"}'
Signed-off-by: Nick Hainke <vincent@systemli.org>
(cherry picked from commit 3852004435)
IPC integration of olsrd with OpenWrt. Allow dynamic adding and removing
of interfaces at run-time. We need to rename the avl-tree files, since
libubox also defines avl tree. Also add patch to allow meshing via
wireguard point-to-point links.
The ubus interface offers following functions:
- add_inteface '{"ifname":"wg_51820"}'
- del_inteface '{"ifname":"wg_51820"}'
Signed-off-by: Nick Hainke <vincent@systemli.org>
(cherry picked from commit 0bffe620b4)
The runtime testing always ran on master branch aka snapshots since the
branch wasn't passed over to the container execution!
Signed-off-by: Paul Spooren <mail@aparcar.org>
(cherry picked from commit 817240b07c)
Check multiple rounds if neighbors are available before kicking. This
should reduce unneeded reboots.
Signed-off-by: Nick Hainke <vincent@systemli.org>
(cherry picked from commit 24285ce4fc)
The procd script was not adding the wireguard interfaces. Add corner case
in the init script to allow meshing via wireguard.
Signed-off-by: Nick Hainke <vincent@systemli.org>
(cherry picked from commit 576967a2a3)
Maintainer: Rob White rob@blue-wave.net
Compile tested: arm_cortex-a7_neon-vfpv4, mipsel_24kc
Run tested: arm_cortex-a7_neon-vfpv4, mipsel_24kc, gl-inet b1300, gl-inet mt300n-v2, Snapshot, 21.02.1, 19.07.8
Description:
This version adds new functionality, and fixes some issues
* Fix - ThemeSpec file downloads when mwan3 is running [bluewavenet]
* Fix - Preemptive auth failure after previous deauth [minhng99] [bluewavenet]
From v9.5.0
* Add - use average packet size instead of MTU when implementing rate limiting [bluewavenet]
* Fix - typo in iptables command and remove a redundant command [bluewavenet]
* Add - startdaemon() and stopdaemon() utility functions [bluewavenet]
* Add - combined interface/ipaddress external gateway status monitoring [bluewavenet]
* Fix - potential online/offline detection problem when mwan3 is running [bluewavenet]
* Add - get_debug_level and syslog library calls [bluewavenet]
* Fix - correctly reset upload and download rate rules [bluewavenet]
* Add - extend upstream gateway checking for use with mwan3 loadbalance/failover [bluewavenet]
* Fix - Potential NULL pointer segfault in http_microhttpd on calling authenticated() [bluewavenet]
* Fix - Potential NULL pointer segfault in http_microhttpd on calling preauthenticated() [dddaniel]
* Add - Calculate Bucket size based on achieved burst rate [bluewavenet]
* Fix - prevent parameter parsing if clientip not known [bluewavenet]
* Add - disable rate quotas by setting bucket ratio to zero [bluewavenet]
* Fix - suppress some debug messages [bluewavenet]
* Add - more libraries documentation [bluewavenet]
* Add - library calls startdaemon and stopdaemon [bluewavenet]
* Fix - Increase buffer length for longer interface names [koivunen]
* Add - Update README.md [bluewavenet]
* Add - bucket ratio option to config file [bluewavenet]
* Add - upload and download bucket ratio config values [bluewavenet]
* Fix - flag initial debuglevel to externals [bluewavenet]
* Add - limit-burst tuning to rate quotas [bluewavenet]
* Fix - add trailing space to defaultip [bluewavenet]
* Add - record pre-emptive authentication in local log [bluewavenet]
* Add - Write to local log function to libopennds [bluewavenet]
* Add - set client_type and custom string for Pre-emptive authentication [bluewavenet]
* Fix - Remove trailing newline from library call response [bluewavenet]
* Fix - attempt to remove cid file only if client->cid is set [bluewavenet]
* Add - a skip option for custom downloads to speed up serving page from themespec [bluewavenet]
* Add - put client_type into query string when type is cpd canary [bluewavenet]
* Add - set refresh=0 before loading images [bluewavenet]
* Fix - Truncated return status [bluewavenet]
* Add - Acknowlegement from call to dnsconfig [bluewavenet]
* Fix - potential buffer overflow in debug output [bluewavenet]
* Add - processing of custom data and client type [bluewavenet]
* Add - Client Type for RFC8908 and RFC8910 clients [bluewavenet]
* Add - rfc8908 replies for external FAS and refactor memory management for MHD calls [bluewavenet]
* Add - send error 403 if client is not on openNDS subnet [bluewavenet]
* Fix - remove uneccessary safe_asprint in auth.c [bluewavenet]
* Fix - Initialise buffer to prevent receiving spurious characters [bluewavenet]
* Add - encoded custom data support to ndsctl json, themespec and binauth [bluewavenet]
* Add - advert_1.htm to thankyou page of theme_click-to-continue-custom-placeholders.sh [bluewavenet]
* Add - library call get_interface_by_ip [bluewavenet]
* Add - function encode_custom() for encoding custom data to be sent to openNDS [bluewavenet]
* Fix - error 511, make all html refrences absolute to enforce link to MHD [bluewavenet]
* Add - check status_path exists and is executeable [bluewavenet]
* Fix - regression causing error 511 to be served from default script [bluewavenet]
* Add - venue-info-url and can-extend-session json keys [bluewavenet]
* Add - RFC 8908 initial experimental support [bluewavenet]
* Add - debug message when resetting client [bluewavenet]
* Fix - Ensure the ndscids directory exists before trying to write to it. [bluewavenet]
* Fix - use eval in do_ndsctl to allow quoting of arguments [bluewavenet]
* Fix - ensure client hid and client cid file is reset correctly [bluewavenet]
* Fix - Titles of example ThemeSpec Files [bluewavenet]
* Fix - Ensure ThemeSpec Files are executable [bluewavenet]
* Remove - deprecated Allowed and Blocked entries in ndsctl status output [bluewavenet]
* Add - Deprecate option macmechanism, allowedmaclist and blockedmaclist [bluewavenet]
Signed-off-by: Rob White <rob@blue-wave.net>
Change log level from debug to info to avoid filling up syslog with query-level logging.
Signed-off-by: Maarten Aertsen <spam-github@rtsn.nl>
(cherry picked from commit 4f235865e7)
Commit 97d35a552ec5b6ddf7923dd2f9a8eb973526acea of musl introduced the
macros __LITTLE_ENDIAN and __BIG_ENDIAN in alltypes.h. These are pulled
into the compilation of batman-adv. This has the side effect that the
function is_multicast_ether_addr of etherdevice.h in Linux kernel is
compiled as the big endian version and so fails to work properly on
little endian devices.
This commits prevents pulling in header files of musl libc similar to
OpenWRT commit 9ac47ee46918c45b91f4e4d1fa76b1e26b9d57fe
Signed-off-by: Hendrik Borghorst <hendrikborghorst@gmail.com>
(cherry picked from commit 523821c195)
Signed-off-by: Sven Eckelmann <sven@narfation.org>
Naywatch in combination with the watchdog can be tricky and dangerous
when doing a sysupgrade. Add a warning to always stop naywatch first and
check if procd took control over the watchdog again.
Also change use_watchdog to '0'.
Signed-off-by: Nick Hainke <vincent@systemli.org>
For some reason the buffer is initialized twice before filling it.
This does not break anything but is useless. Reduce the initialization
to only one.
Signed-off-by: Nick Hainke <vincent@systemli.org>
(cherry picked from commit 2cf253b3df)
As Felix mentioned:
If a buffer was already allocated, blob_buf_init reuses it. You can
keep reusing it as many times as you want. You only need to call
blob_buf_free if you explicitly want to free the buffer memory
(e.g. on exit, or if the blob_buf is on stack).
http://lists.openwrt.org/pipermail/openwrt-devel/2021-October/036722.html
This PR frees the blob-buffers that are on the stack.
Signed-off-by: Nick Hainke <vincent@systemli.org>
(cherry picked from commit 6d463ca97c)
Wait for wireless to initialize (pending="false") to ensure
that any olsrd(6) configured interfaces and their associated
devices are up. This provides the init script the ability
to properly add all interface sections to the generated
config file /tmp/etc/olsrd(6).conf
Signed-off-by: Perry Melange <isprotejesvalkata@gmail.com>
(cherry picked from commit 0bb6aa04f6)
Sometimes, naywatch can not handover the watchdog to procd again using
ubus. We need to call the same ubus command multiple times until procd
takes over control again.
Signed-off-by: Nick Hainke <vincent@systemli.org>
(cherry picked from commit e35255710b)
Maintainer: Rob White rob@blue-wave.net
Compile tested: arm_cortex-a7_neon-vfpv4, mipsel_24kc
Run tested: arm_cortex-a7_neon-vfpv4, mipsel_24kc, gl-inet b1300, gl-inet mt300n-v2, Snapshot, 21.02.0, 19.07.8
Description:
This version adds new functionality, and fixes some issues
* Add - Error message in fas-aes-https if shared key is mismatched [bluewave.net]
* Fix - and refactor error 511 page generation[bluewave.net]
* Fix - and refactor dnsmasq configuration [bluewave.net]
* Fix - Typographic error preventing RFC8910 disable [bluewave.net]
* Add - gateway address and gatewayfqdn to ndsctl json output [bluewave.net]
* Add - RFC8910 housekeeping on startup and shutdown [bluewave.net]
* Add - correctly apply dhcp option 114 for generic Linux [bluewave.net]
* Add - reading of configured ndsctlsocket in ndsctl utility[bluewave.net]
* Add - use send_error 200 for MHD watchdog [bluewave.net]
* Add - generation of page_511 html by library script [bluewave.net]
* Add - extend debuglevel support to library scripts [bluewave.net]
* Refactor - fas-aes-https to simplify and make customisation of http easier [bluewave.net]
* Add - library script for error 511 page, allowing customisation [bluewave.net]
* Add - make authmon report connection error details [bluewave.net]
* Fix- remove unwanted debug message in ndsctl [bluewave.net]
* Add - RFC8910 support by default [bluewave.net]
* Add - display status page when accessing /login when authenticated [bluewave.net]
* Add - MHD response to RFC8910 requests [bluewave.net]
* Add - Dnsmasq RFC8910 configuration [bluewave.net]
* Add - send error 511 in response to unsupported http method [bluewave.net]
* Add - Check for ca-bundle on OpenWrt, if not installed, add syslog messages and terminate [bluewave.net]
* Add - Make ndsctl use the configured value for socket path if set and deprecate -s option [bluewave.net]
* Add - Warning message when Walled Garden port 80 is allowed [bluewave.net]
* Fix - remove un-needed pthread_kill in termination_handler() [bluewave.net] [T-X]
* Fix - debug messages from authmon.sh [bluewave.net]
* Fix - Allow disabling gateway fqdn, facilitating access to router port 80 [bluewave.net]
* Fix - Segfault in ndsctl when -s option is used incorrectly [bluewave.net] [T-X]
* Fix - Typo making calculation of ul/dl rates incorrect [bluewave.net]
* Fix - Allow port 80 to be configured in the Walled Garden [bluewave.net]
Signed-off-by: Rob White <rob@blue-wave.net>
The test builds are now requiring quilt refreshed patches instead of git
patches. Otherwise the build check will not even try to build something.
Signed-off-by: Sven Eckelmann <sven@narfation.org>
The plugin adds a possibility to filter out gateway HNAs. This can be
very handy e.g. for faulty nodes. A gateway can be taken out directly on
a central node and all traffic is then redirected. Also the underlying
smart gateways are adapted. Currently the link multiplier is often used
to control a faulty node, but it is not necessarily the best way to do
so.
Signed-off-by: Nick Hainke <vincent@systemli.org>
(cherry picked from commit bdec65a6d9)
On a Netgear R7800, if ospf v2 or v3 is configured in bird.conf, it fails to start with this error:
Fri Jun 11 14:41:11 2021 daemon.info bird: Started
Fri Jun 11 14:41:11 2021 kern.err kernel: [ 3500.853248] Alignment trap: not handling instruction f44c0a1f at [<00035848>] Fri Jun 11 14:41:11 2021 kern.alert kernel: [ 3500.853283] 8<--- cut here ---
Fri Jun 11 14:41:11 2021 kern.alert kernel: [ 3500.859363] Unhandled fault: alignment exception (0x801) at 0x007e0624
Fri Jun 11 14:41:11 2021 kern.alert kernel: [ 3500.862443] pgd = 0bbef4fd
Fri Jun 11 14:41:11 2021 kern.alert kernel: [ 3500.868821] [007e0624] *pgd=5d6ca835, *pte=5c40b75f, *ppte=5c40bc7f
The problem is due to a struct not being properly aligned on the ARMv7 architecture.
This patch fixes the problem by adding the "PACKED" macro to the affected struct. Note
that upstream may later fix this in another way, in which case this patch will not be required.
Signed-off-by: Matt Reeve <matt@mreeve.com>
Maintainer: Rob White rob@blue-wave.net
Compile tested: arm_cortex-a7_neon-vfpv4, mipsel_24kc
Run tested: arm_cortex-a7_neon-vfpv4, mipsel_24kc, gl-inet b1300, gl-inet mt300n-v2, Snapshot, 21.02.0-rc3, 19.07.7
Description:
This version adds new functionality, and fixes some issues
* Add - firewall passthrough mode for authenticated users [bluewave.net]
* Add - use configured debuglevel in authmon [bluewave.net]
* Add - automated log rotation and client_zone to binauth_log [bluewave.net]
* Add - increased timeout interval for file downloads [bluewave.net]
* Add - local interface to MeshZone and remove unneeded call to ip utility [bluewave.net]
* Add - log_mountpoint and max_log_entries options [bluewave.net]
* Add - config variables ext_interface and ext_gateway [bluewave.net]
* Add - Start initial download of remotes only if online [bluewave.net]
* Add - Router online/offline watchdog [bluewave.net]
* Fix - Segfault when gatewayfqdn is disabled [bluewave.net]
* Fix - missing clientmac when not using themespec [bluewave.net]
* Fix - some compiler warnings [bluewave.net]
* Fix - use configured value for webroot for remote image symlink to images folder [bluewave.net]
* Fix - remove refrences to login.sh in documentation and comments [bluewave.net]
* Fix - Prevent potential read overrun within the MHD page buffer [bluewave.net]
* Remove - legacy get_ext_iface() function [bluewave.net]
Signed-off-by: Rob White <rob@blue-wave.net>
The network may crash on the SoCs, but the SoC itself does not. This
leads to a node no longer being accessible in a mesh network. If the
node is placed in a location that is not easily accessible, e.g. in a
high tower, it can cause a lot of problems. Therefore we check the
link-local connectivity on the configured interfaces.
Signed-off-by: Nick Hainke <vincent@systemli.org>
Tested-by: Simon Polack <spolack+git@mailbox.org>
Signed-off-by: Simon Polack <spolack+git@mailbox.org>
(cherry picked from commit 1088e65440)
This increases the amount of seconds to wait before a service restart
attempt from 5 to 15 seconds and allows unlimited retries. Olsrd
sometimes crashes together with a network interface and 5 seconds can
be too short to bring back up a crashed network interface, which is
required for olsrd to restart. It also adds the ability to configure
the wait time (respawn_timeout) and the number of retries
(respawn_retry).
Signed-off-by: Tobias Schwarz <info@tobias-schwarz.com>
(cherry picked from commit bc58bd99e8)
Maintainer: Rob White rob@blue-wave.net
Compile tested: arm_cortex-a7_neon-vfpv4, mipsel_24kc
Run tested: arm_cortex-a7_neon-vfpv4, mipsel_24kc, gl-inet b1300, gl-inet mt300n-v2, Snapshot, 21.02.0-rc3, 19.07.7
Description:
This version adds new functionality, improves performance, adds documentation and fixes an issue
* Add - new config options to ndsctl status [bluewave.net]
* Add - Readthedocs / man documentation for configuration options [bluewave.net]
* Add - Faster convergence of average rates to configured rate quotas [bluewave.net]
* Add - BinAuth parse authenticated client database for client data [bluewave.net]
* Add - Use heap allocation for http page buffer allowing large page sizes [bluewave.net]
* Fix - fail to serve downloaded images on custom themespec [bluewave.net]
Signed-off-by: Rob White <rob@blue-wave.net>
This script originates from Freifunk Berlin. It prints a list of
all meshing neighbors known to olsrd on the command line.
Added: Error-checking for IPv4/IPv6-Hosts.
Signed-off-by: Martin Hübner <martin.hubner@web.de>
(cherry picked from commit eff944874c)
Should fix#691.
Sometimes the wifi interface is not ready before olsrd tries to access
it. This leads to warnings in the form of:
daemon.info olsrd: /etc/rc.d/S65olsrd: olsrd_write_interface()
Warning: Interface 'wireless0' not found, skipped
daemon.notice procd: /etc/rc.d/S65olsrd: olsrd: /etc/rc.d/S65olsrd:
olsrd_write_interface() Warning: Interface 'wireless0' not found, skipped
We make use of the "wait_for" procd command that allows us to wait for
the network before starting olsrd.
Tested-by: Noki
Signed-off-by: Nick Hainke <vincent@systemli.org>
Maintainer: Rob White rob@blue-wave.net
Compile tested: arm_cortex-a7_neon-vfpv4, mipsel_24kc
Run tested: arm_cortex-a7_neon-vfpv4, mipsel_24kc, gl-inet b1300, gl-inet mt300n-v2, Snapshot, 21.02.0-rc3, 19.07.7
Description:
This version fixes a compiler error, some compiler warnings and mutes a debug message
* Fix - Compiler error, missing mode in call to open() [bluewave.net]
* Fix - Compiler warning, ignored return value from call to lockf() [bluewave.net]
* Fix - Compiler warning, ignored return value from call to system() [bluewave.net]
* Fix - Compiler warning, ignored return value from call to fgets() [bluewave.net]
* Fix - Remove debug message from call to get_client_interface library [bluewave.net]
Signed-off-by: Rob White <rob@blue-wave.net>
The repository path changed and the information to manually add the feed
is outdated, since it enabled by default.
Also use Markdown to format the README since it looks much more
appealing.
Signed-off-by: Paul Spooren <mail@aparcar.org>
(cherry picked from commit 4bf9a5d5dc)
I am maintaining the ubus bindings and also the luci-app-babeld.
I am very glad that ubus is included and that is why I do not want
babeld maintainer to have extra work.
Signed-off-by: Nick Hainke <vincent@systemli.org>
(cherry picked from commit e62b8b54b9)
25 April 2021: babeld-1.10
* Removed the disambiguation code: source-specific routing is no longer
supported for IPv4, and for IPv6 only on Linux 3.11 or later.
* Fixed an issue handling of retractions with no next hop, which caused
interoperability problems with BIRD. Thanks to Fabian Bläse.
* If skip-kernel-setup is set, we no longer disable the rp_filter, which
makes babeld work in containers. Thanks to Martin Weinelt.
Remove upstreamed part of ubus patch:
- local: make local_kind function accessible
Signed-off-by: Nick Hainke <vincent@systemli.org>
(cherry picked from commit dc22d38f91)
As a workaround for the glibc-fix the dependency on libgps was moved
to olsrd. However, only pud is using this library.
Signed-off-by: Nick Hainke <vincent@systemli.org>
(cherry picked from commit 27ac56adc6)