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)
I am now the maintainer of olsrd. Add me also as maintainer in the
openwrt-routing feed.
Signed-off-by: Nick Hainke <vincent@systemli.org>
(cherry picked from commit b455e1809a)
The sed is adding the package name as "PKGNAME/" and does not remove
the "/". That is why the buildchain currently fails.
Signed-off-by: Nick Hainke <vincent@systemli.org>
Just copy .github from openwrt enabling:
- checking of formalities
- checking of build
- issue template
- pr template
Signed-off-by: Nick Hainke <vincent@systemli.org>
(cherry picked from commit d1ab87b7db)
* Allow to force of alfred startup when the interfaces don't work/exist (yet)
* coding style cleanups and refactoring
Signed-off-by: Sven Eckelmann <sven@narfation.org>
* add various commands to print generic netlink replies as JSON
* coding style cleanups and refactoring
Signed-off-by: Sven Eckelmann <sven@narfation.org>
The batman-adv netlink messages often contain the interface index and
interface name in the same message. This makes it easy for the receiver to
operate on the incoming data when it either needs to print something or
needs to operate on the interface index.
But one of the attributes was missing for:
* neighbor table dumps
* originator table dumps
* gateway list dumps
* query of hardif information
* query of vid information
The userspace therefore had to implement special workarounds using
SIOCGIFNAME or SIOCGIFINDEX depending on what was actually provided.
Providing both information simplifies the userspace code massively without
adding a lot of extra overhead in the kernel portion.
Signed-off-by: Sven Eckelmann <sven@narfation.org>
This version introduces major new functionality, some changes and fixes.
New Themed Splash pages are introduced, enabling rapid customisation. Theme placeholders can be populated from information provided in the config file. Remote files and image sources can be defined in the config file and these will be automatically downloaded as required.
Deprecated legacy code from previous versions has been removed.
Tested on OpenWrt, OpenSuse and Debian.
Signed-off-by: rob <rob@blue-wave.net>
- Just small reodering of some rows to be more consistent with packages feed
- Fix deprecated SPDX License Identifier
Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
(cherry picked from commit b38a46acd5)
- Removed all patches as they are now included in upstream release
- Removed --with-linux-headers option
(Fixes: configure: WARNING: unrecognized options: --with-linux-headers)
Changelog:
https://bird.network.cz/pipermail/bird-users/2021-March/015281.html
Signed-off-by: Josef Schlehofer <pepe.schlehofer@gmail.com>
(cherry picked from commit dcff996cbe)
This release fixes an issue where some firewall rules containing
the keyword "block" would cause openNDS to fail in startup.
Signed-off-by: Rob White <rob@blue-wave.net>
The alfred server always needs interfaces to operate on. But these
interfaces might not exist at the moment when the daemon process is
started. This situation stopped the startup process after the init scripts
waited for a longer period of polling the system state.
But alfred is able to deal with interfaces which disappeared at runtime but
existed at startup. To force a similar behavior for the alfred startup, the
parameter "--force" or "-f" is used. The extra polling code is therefore no
longer needed in the init scripts.
Signed-off-by: Sven Eckelmann <sven@narfation.org>
Alfred can be stopped during a (re)start or reload when:
* disabled = 1
* batman-adv interface is missing
* MAC based EUI64 IPv6 link-local address not set
It is assumed that procd detects that the procd instance definition
disappeared and the currently running instance must be stopped. But all
these checks were triggering an "exit" which then stopped the alfred init
script and the wrapper from /lib/functions/procd.sh. And thus procd was
never informed about the instances which should be changed.
The correct handling is to return the result of the function instead of
directly killing the init scripts.
Fixes: 45db0e60d2 ("alfred: use procd")
Signed-off-by: Sven Eckelmann <sven@narfation.org>
babeld: adopt to upstream header-style
Instead of including the headerfiles that define the structs, we add
forward definitions to our headerfile.
Fixes warning:
ubus.h:67:32: warning: 'struct xroute' declared inside parameter list will not be visible outside of this definition or declaration
void ubus_notify_xroute(struct xroute *xroute, int kind);
^~~~~~
Signed-off-by: Nick Hainke <vincent@systemli.org>
babeld: fix compiler warnings
Fixes:
- "route_list_entry" points to "struct babel_route"
- "format_thousands" returns a string pointer
- "UBUS_METHOD_NOARG" wants a function returning an integer
Signed-off-by: Nick Hainke <vincent@systemli.org>
* babeld: send events via ubus
Send a notification via the ubus bus if we experience any changes in
neighbours, routes or xroutes.
The format looks like this:
{route,xroute,neighbour}.add: Object was added
{route,xroute,neighbour}.change: Object was changed
{route,xroute,neighbour}.flush: Object was flushed
If ubus_bindings is turned off, it will minimally effect performance,
since only an if-statement has to be evaluated.
If no subscriber is available, it will minimally change the performance,
since only an if-statmenet that checks for subscribers has to be
evaluated.
Signed-off-by: Nick Hainke <vincent@systemli.org>
* Drop support for batman-adv's sysfs+debugfs
* allow to select routing algorithm during creation of interface
* bugs squashed:
- fix query of meshif's ap_isolation status
- ignore "interface already exists" error during "interface add"
Signed-off-by: Sven Eckelmann <sven@narfation.org>
* support latest kernels (4.4 - 5.11)
* coding style cleanups and refactoring
* drop support for sysfs+debugfs
* allow to select routing algorithm during creation of interface
* bugs squashed:
- allocate enough reserved room on fragments for lower devices
Signed-off-by: Sven Eckelmann <sven@narfation.org>
The lowest kernel version supported by OpenWrt at the moment is Linux 5.4.
It is therefore not required to have these dead code sections anymore.
Signed-off-by: Sven Eckelmann <sven@narfation.org>
This version introduces major new functionality and some major changes
* Rationalisation of support for multiple Linux distributions [bluewavenet]
* Refactor login.sh script introducing base64 encoding and hashed token (hid) support [bluewavenet]
* Refactor fas-hid script introducing base64 encoding and simplifying customisation of the script [bluewavenet]
* Refactor binauth_log.sh and log BinAuth custom data as url encoded [bluewavenet]
* Refactor fas-aes, simplifying customisation of the script [bluewavenet]
* Refactor fas-aes-https, simplifying customisation of the script [bluewavenet]
* Change - Use hid instead of tok when fas_secure_enabled >= 1 [bluewavenet]
* Add - base64 encoding to fas_secure_enabled level 1 [bluewavenet]
* Add - gatewyname, clientif, session_start, session_end and last_active to ndsctl json [bluewavenet]
* Add - support for RFC6585 Status Code 511 - Network Authentication Required [bluewavenet]
* Add - Client Status Page UI with Logout [bluewavenet]
* Add - GatewayFQDN option [bluewavenet]
* Add - client interface to status page query string [bluewavenet]
* Add - support using base 64 encoded custom string for BinAuth and replace tok with hid [bluewavenet]
* Add - base 64 decode option to ndsctl [bluewavenet]
* Add - b64 encoding of querystring for level 1 [bluewavenet]
* Add - Improved performance/user-experience on congested/slow systems using php FAS scripts [bluewavenet]
* Add - support for ndsctl auth by hid in client_list [bluewavenet]
* Add - Ensure faskey is set to default value (always enabled) [bluewavenet]
* Add - Display error page on login failure in login.sh [bluewavenet]
* Add - splash.html, add deprecation notice [bluewavenet]
* Add - authmon, improved lock checking and introduce smaller loopinterval [bluewavenet]
* Add - client_params, wait for ndsctl if it is busy [bluewavenet]
* Add - fas-aes-https, allow progressive output to improve user experience on slow links [bluewavenet]
* Fix - Block access to /opennds_preauth/ if PreAuth not enabled [bluewavenet]
* Fix - On startup, call iptables_fw_destroy before doing any other setup [bluewavenet]
* Fix - missing final redirect to originurl in fas-hid [bluewavenet]
* Fix - ensure gatewayname is always urlencoded [bluewavenet]
* Fix - client session end not set by binauth [bluewavenet]
* Fix - Session timeout, if client setting is 0, default to global value [bluewavenet]
* Fix - missing trailing separator on query and fix some compiler errors [bluewavenet]
* Fix - ensure authmon daemon is killed if left running from previous crash [bluewavenet]
* Fix - add missing query separator for custom FAS parameters [bluewavenet]
* Fix - ndsctl auth, do not set quotas if client is already authenticated [bluewavenet]
* Fix - client_params, show "Unlimited" when "null" is received from ndsctl json [bluewavenet]
* Update configuration files [bluewavenet]
* update documentation [bluewavenet]
Signed-off-by: Rob White <rob@blue-wave.net>