From d705f7989080f38feba4329e5f24d2c85f99a902 Mon Sep 17 00:00:00 2001 From: William Fleurant Date: Mon, 20 Jun 2022 21:31:44 +0200 Subject: [PATCH] cjdns: support the supernodes feature (#884) Signed-off-by: William Fleurant --- cjdns/Makefile | 2 +- cjdns/lua/cjdns/uci.lua | 4 ++++ luci-app-cjdns/Makefile | 2 +- luci-app-cjdns/luasrc/model/cbi/cjdns/peering.lua | 9 +++++++++ 4 files changed, 15 insertions(+), 2 deletions(-) diff --git a/cjdns/Makefile b/cjdns/Makefile index b926bc7..1f8592b 100644 --- a/cjdns/Makefile +++ b/cjdns/Makefile @@ -18,7 +18,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=cjdns PKG_VERSION:=v21.1 -PKG_RELEASE:=3 +PKG_RELEASE:=4 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/cjdelisle/cjdns/tar.gz/$(PKG_NAME)-$(PKG_VERSION)? diff --git a/cjdns/lua/cjdns/uci.lua b/cjdns/lua/cjdns/uci.lua index f4716b7..d6b6633 100644 --- a/cjdns/lua/cjdns/uci.lua +++ b/cjdns/lua/cjdns/uci.lua @@ -53,6 +53,10 @@ function UCI.get() obj.router.interface.tunDevice = config.tun_device end + cursor:foreach("cjdns", "supernodes", function(supernodes) + table.insert(obj.router.supernodes, supernodes.public_key) + end) + for i,section in pairs(obj.security) do if type(section.seccomp) == "number" then obj.security[i].seccomp = tonumber(config.seccomp) diff --git a/luci-app-cjdns/Makefile b/luci-app-cjdns/Makefile index 9396528..0b6485a 100644 --- a/luci-app-cjdns/Makefile +++ b/luci-app-cjdns/Makefile @@ -18,7 +18,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=luci-app-cjdns PKG_VERSION:=1.3 -PKG_RELEASE:=8 +PKG_RELEASE:=9 PKG_MAINTAINER:=William Fleurant PKG_LICENSE:=GPL-3.0-or-later diff --git a/luci-app-cjdns/luasrc/model/cbi/cjdns/peering.lua b/luci-app-cjdns/luasrc/model/cbi/cjdns/peering.lua index 2b1fc1b..3526afe 100644 --- a/luci-app-cjdns/luasrc/model/cbi/cjdns/peering.lua +++ b/luci-app-cjdns/luasrc/model/cbi/cjdns/peering.lua @@ -70,4 +70,13 @@ eth_peers:option(Value, "address", translate("MAC address")).datatype = "macaddr eth_peers:option(Value, "public_key", translate("Public key")) eth_peers:option(Value, "password", translate("Password")) +-- Supernodes +supernodes = m:section(TypedSection, "supernodes", translate("List of Supernodes"), + translate("If none are specified they'll be taken from your peers")) +supernodes.anonymous = true +supernodes.addremove = true +supernodes.template = "cbi/tblsection" + +supernodes:option(Value, "public_key", translate("Public Key")).size = 55 + return m -- 2.30.2