Commit Graph

29 Commits

Author SHA1 Message Date
Paul Fertser 0c10c224be treewide: remove AUTORELEASE
Automatically compute and substitute current values for all
$(AUTORELEASE) instances as this feature is deprecated and shouldn't be
used.

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/packages; git grep -l PKG_RELEASE:=.*AUTORELEASE | \
                              sed 's^.*/\([^/]*\)/Makefile^\1^';);
do
  make package/$i/download
done

Signed-off-by: Paul Fertser <fercerpav@gmail.com>
2023-04-21 22:46:58 +02:00
Nick Hainke 40b87aac95 wg-installer: use babeld add_interface function
With commit 385200443554 ("babeld: add add_interface function") babeld
has a new ubus function allowing to dynamically add an interface.

Before the add_interface function, we were required to reload babeld.
The reload influenced the babeld routing. However, the remove part is
still missing and will be added at a later stage.

Signed-off-by: Nick Hainke <vincent@systemli.org>
2022-02-01 22:32:30 +01:00
Nick Hainke 94efdcf02a wg-installer: fix multiple namespaces
Add flag "--lookup-default-namespace" to signal that wg-installer should
look already established wireguard sessions in the default namespace.

Signed-off-by: Nick Hainke <vincent@systemli.org>
2022-01-23 00:08:32 +01:00
Nick Hainke fab86eb626 wg-installer: remove unused dependency
Remove the dependency "coreutils-realpath" from
wg-installer-server-hotplug-olsrd.

Signed-off-by: Nick Hainke <vincent@systemli.org>
2022-01-20 15:56:02 +01:00
Nick Hainke 324fa79d7c wg-installer: create wireguard key if it does not exist
Check if the key exists which is given by
    option wg_key '/etc/wgserver/wg.key'

Signed-off-by: Nick Hainke <vincent@systemli.org>
2022-01-20 14:44:26 +01:00
Nick Hainke 432a965689 wg-installer: install cronjob
Install a cronjob that removes unused wireguard interfaces every 10
minutes.

Signed-off-by: Nick Hainke <vincent@systemli.org>
2022-01-20 09:51:05 +01:00
Nick Hainke da48bc3792 wg-installer: check if a key is already inserted
Check if a peer is already existing with a given public key. Introduce a
response code for signaling why the server rejected the request.

Signed-off-by: Nick Hainke <vincent@systemli.org>
2022-01-20 09:19:04 +01:00
Nick Hainke 69c81790d1 wg-installer: rework code
Use shellcheck to rework the code. Use "export" to return variables from
a function call. Further, fix typos.

Signed-off-by: Nick Hainke <vincent@systemli.org>
2022-01-20 02:04:50 +01:00
Nick Hainke 38a9a3e0dc wg-installer: cosmetic changes
Use "ip addr" instead of "ip addres" or "ip a".

Signed-off-by: Nick Hainke <vincent@systemli.org>
2022-01-18 18:20:20 +01:00
Nick Hainke b89eb0115f wg-installer: switch to ubus call for olsrd hotplug
Use ubus ipc calls to add and remove interfaces.

Signed-off-by: Nick Hainke <vincent@systemli.org>
2022-01-16 11:05:27 +01:00
Nick Hainke fea27cec05 wg-installer: rework iproute2 commands
- Use ip address add instead of ip a a
- Directly add broadcast address

Signed-off-by: Nick Hainke <vincent@systemli.org>
2022-01-16 10:39:19 +01:00
Nick Hainke 53503c4a3a wg-installer: fix shell typo
Signed-off-by: Nick Hainke <vincent@systemli.org>
2022-01-12 18:58:46 +01:00
Nick Hainke ee879d3747 wg-installer: allow defining link costs for hotplugs
Add options to set link costs in mesh routing daemons.

Signed-off-by: Nick Hainke <vincent@systemli.org>
2022-01-12 17:47:26 +01:00
Nick Hainke 6a59d41fbf wg-installer: private key as parameter
Signed-off-by: Nick Hainke <vincent@systemli.org>
2022-01-12 01:29:48 +01:00
Nick Hainke 8ab044712a wg-installer: generate new keys for every connection
Generate new keys on every new connection.

Signed-off-by: Nick Hainke <vincent@systemli.org>
2022-01-12 00:51:08 +01:00
Nick Hainke 5e8301d7dc wg-installer: fix using symlinks for conf files
It is useful to symlink babeld and olsrd to /tmp/ if we frequently
write to those config files.

Signed-off-by: Nick Hainke <vincent@systemli.org>
2022-01-11 00:27:43 +01:00
Nick Hainke e6afcf8f3c wg-installer: fix cleanup script
The wrong function was called.

Signed-off-by: Nick Hainke <vincent@systemli.org>
2022-01-10 13:32:20 +01:00
Nick Hainke 0e416dadd1 wg-installer: fix typo in cleanup function
The delete variable was misspelled leading to devices always being
removed although they had connected neighbors.

Signed-off-by: Nick Hainke <vincent@systemli.org>
2022-01-09 13:33:03 +01:00
Nick Hainke 714b51c630 wg-installer: add cleanup script
Add script to cleanup unused wireguard interfaces.

Signed-off-by: Nick Hainke <vincent@systemli.org>
2022-01-09 10:21:44 +01:00
Nick Hainke 4302bfd3c8 wg-installer: fix ipv4 meshing via olsr
The ipv4 address space was not allowed.

Signed-off-by: Nick Hainke <vincent@systemli.org>
2022-01-08 22:30:47 +01:00
Nick Hainke 98d8680a8c wg-installer: add ipv4 support
Add base_v4prefix to allow ipv4 mesh connections.

Signed-off-by: Nick Hainke <vincent@systemli.org>
2022-01-07 08:04:00 +01:00
Nick Hainke d35c22951b wg-installer: add hotplug script for olsr
Add hotplug-olsrd to automatically mesh with olsrd via new wireguard
links.

Signed-off-by: Nick Hainke <vincent@systemli.org>
2022-01-06 22:24:08 +01:00
Huangbin Zhan 94d57346fc treewide: add missing conffiles
Signed-off-by: Huangbin Zhan <zhanhb88@gmail.com>
2021-10-27 23:18:42 -07:00
Nick Hainke 62cc627aba wg-installer: fix dependencies
Signed-off-by: Nick Hainke <vincent@systemli.org>
2021-09-07 08:49:41 +02:00
Nick Hainke 36dc9b3f79 wg-installer: delete old interfaces
Add "wg_check_interfaces" and specify a timeout in the config file.
This allows to delete not used wireguard-interfaces automatically.

For example a cronjob can be installed that calls:
  . /usr/share/wginstaller/wg_functions.sh && wg_check_interfaces

Signed-off-by: Nick Hainke <vincent@systemli.org>
2021-03-14 11:27:07 +01:00
Nick Hainke f7cb8b20e1 wg-installer: fix get_usage function
The get_usage function always returns 0. The shell syntax was wrong.

Signed-off-by: Nick Hainke <vincent@systemli.org>
2021-03-13 21:21:20 +01:00
Nick Hainke 625f3c8302 wg-installer: add link-local to client interface
Wireguard has no link-local address on an interface automatically.
Add a link-local to the interface. The server has fe80::1/64 and
the client fe80::2/64.

Signed-off-by: Nick Hainke <vincent@systemli.org>
2021-03-06 11:16:38 +01:00
Nick Hainke 3ebc568f18 wg-installer: add babeld hotplug.d script
Add a hotplug.d-extension that automatically configures babeld for
meshing via wireguard interfaces.

It checks for "add" and "remove" of a wireguard interface with name
"wg_*". Depending on the action, it removes it from the babeld config
or adds the interface and reloads babeld.

Signed-off-by: Nick Hainke <vincent@systemli.org>
2021-02-08 11:38:36 +01:00
Nick Hainke 3a6949dfaf wg-installer: add wg-installer
This tool can be used to automatically create wireguard tunnels. Using
rpcd a new wireguard interface is created on the server where the client
can connect to.

Wiregurad server automatically installs a user and associated ACL to use
the wireguard-installer-server features. The user is called wginstaller
and so is the password.

Get Usage:
  wg-client-installer get_usage --ip 127.0.0.1 --user wginstaller
	--password wginstaller

Register Interface:
  wg-client-installer register --ip 127.0.0.1 --user wginstaller
         --password wginstaller --bandwidth 10 --mtu 1400

Signed-off-by: Nick Hainke <vincent@systemli.org>
2021-02-06 22:41:29 +01:00