OpenWrt/packages removed AUTORELEASE treewide. Remove it also in the
routing feed.
This is just copied from [0] with modification to the sed cmd because it
was not working for the routing feed:
The following temporary change was made to the core:
diff --git a/rules.mk b/rules.mk
index 57d7995d4fa8..f16367de87a8 100644
--- a/rules.mk
+++ b/rules.mk
@@ -429,7 +429,7 @@ endef
abi_version_str = $(subst -,,$(subst _,,$(subst .,,$(1))))
COMMITCOUNT = $(if $(DUMP),0,$(call commitcount))
-AUTORELEASE = $(if $(DUMP),0,$(call commitcount,1))
+AUTORELEASE = $(if $(DUMP),0,$(shell sed -i "s/\$$(AUTORELEASE)/$(call commitcount,1)/" $(CURDIR)/Makefile))
all:
FORCE: ;
And this command used to fix affected packages:
for i in $(cd feeds/routing; git grep -l PKG_RELEASE:=.*AUTORELEASE | \
sed 's/\/Makefile$//';);
do
make package/$i/download
done
[0] - https://github.com/openwrt/packages/commit/0c10c224be81f9221dabfab449855ab6718d2a0c
Signed-off-by: Nick Hainke <vincent@systemli.org>
Changelog:
916d3d9 Update CHANGES for babeld-1.12.1
3d8aec4 Schedule an interface check after adding an interface.
f13602b Split last PC into unicast and multicast values
Signed-off-by: Nick Hainke <vincent@systemli.org>
Changelog:
5 May 2022: babeld-1.12
* Implement v4-via-v6 routing (RFC 9229), which allows a router with
IPv4 addresses only to route IPv4. Thanks to Théophile Bastian.
* Enable extended Netlink acks when available.
Thanks to Toke Høyland-Jørgensen.
* Fix restoring of interface configuration to avoid unbounded memory
consumption. Thanks to andrew-hoff.
* Fix handling of deny filters in the install chain.
Refreshed patches:
- 600-add-ubus.patch
Signed-off-by: Nick Hainke <vincent@systemli.org>
Naywatch should first try to reboot normally, and if that does not work
do a hard reboot. However, the hard reboot was never called.
Signed-off-by: Nick Hainke <vincent@systemli.org>
30 March 2022: babeld-1.11
* Implemented MAC authentication (RFC 8967). Thanks to Clara Dô,
Weronika Kołodziejak and Antonin Décimo.
* Changed the interface of the add_filter function in order to simplify
integration in OpenWRT. Thanks to Nick Hainke.
Detailed List:
7c053fe Export add_filters and simplify interface.
91c44f8 Rename blake2s to blake2s128.
dda8d63 Update CHANGES.
43a0066 Allow Blake2s keys up to 32 bytes.
375ea5f Rename interface option hmac to key.
1b9abc4 Replace hmac-verify with accept-bad-signatures.
3777eb4 Ignore .gitmodules when releasing an archive.
3551b45 Simplify and fix preparse phase.
ba8f116 Add rate limitations for challenges.
6d44238 Show PC number.
ceda3a0 Expire Index and challenge timer.
d66a4d2 Ignore a Challenge Request received on multicast.
024c17a Fix confusion between INDEX_LEN and NONCE_LEN when sending PC TLV.
ceb021f Fix double-free in error path.
1e08aed Change no_hmac_verify to hmac-verify.
c7ad387 Use 'hmac-sha256' and not 'sha256'.
5a15957 Fix nodes incorrectly rejecting packets.
af02039 Append a PC message if Babel-MAC is enabled.
46fc7da Follow the spec closely for the preparse phase.
87f39d0 Rename MAC functions and constants to match the spec.
02b14e3 Helpful error messages in key configuration.
d763f3e Error if configured key can't be found.
3cb0ab7 Use RFC3542 for IPv6 on macOS.
69df1cb Use _GNU_SOURCE instead of __USE_GNU.
ef3a113 Don't copy nonce, suppress VLA.
c243769 Move key validation in parse_key.
b06b2fc Constify source argument of fromhex.
9529941 Use AUTH_TYPE_NONE consistently.
d922b64 Document the HMAC options in manual page.
0c4afc2 Only allow keys configured on a given interface.
7de6715 Create neighbour after checking HMAC.
ecd1f42 Fix typo in compare_hmac.
9a5de34 Fix HMAC-SHA-256 computation.
f1051fd Fix constants to be consistent with SHA-256.
9688b68 Fix memory leaks in error-handling paths in configuration parser.
4d8a831 Fix some more (read-only) buffer overflows.
ebda926 Fix potential memory leaks.
d53fec0 Use AUTH_TYPE_* consistently.
a1afd51 Add no_hmac_verify flag.
b4e28f2 Fix ordering of fields in pseudo-header.
c8ace8b Use IANA-assigned TLV numbers.
739f76a Implement HMAC authentication.
e3adf47 Compile with SHA-256 and Blake2s.
ca0a512 Add SHA-2 and Blake2 submodules.
756783e Untabify
Remove upstreamed patches:
- 000-export-add-filters-and-simplify-interface.patch
Signed-off-by: Nick Hainke <vincent@systemli.org>
You can define filter functions in babeld by:
in if eth0 metric 128
This commit adds the ubus equivalent to dynamically add filter on
runtime:
ubus call babeld add_filter '{"ifname":"eth0", "type":"input",
"metric":128}'
Signed-off-by: Nick Hainke <vincent@systemli.org>
You can now give a lqm when adding an interface:
ubus call olsrd add_interface '{"ifname":"wg_51821", "lqm":"0.5"}'
Signed-off-by: Nick Hainke <vincent@systemli.org>
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>
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>
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>
Check multiple rounds if neighbors are available before kicking. This
should reduce unneeded reboots.
Signed-off-by: Nick Hainke <vincent@systemli.org>
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>
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>
- Revert "pud: fix build with gpsd >= 3.23.1"
- lib/pud/src/gpsdclient.c: drop handling of gpsdata->fix.status
Signed-off-by: Nick Hainke <vincent@systemli.org>
The gpsd integration in the pud library is wrong. With the new update
the library is no longer compiling. Remove this library.
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>