Merge pull request #23787 from stangri/master-curl
authorStan Grishin <stangri@melmac.ca>
Thu, 4 Apr 2024 15:12:24 +0000 (08:12 -0700)
committerGitHub <noreply@github.com>
Thu, 4 Apr 2024 15:12:24 +0000 (08:12 -0700)
curl: update to 8.7.1

27 files changed:
kernel/mdio-netlink/Makefile
lang/lua-eco/Makefile
lang/luajit2/Makefile
lang/python/python-orjson/Makefile
net/alist/Makefile
net/apcupsd/Makefile
net/cgi-io/Makefile
net/libcurl-gnutls/Makefile
net/mdio-tools/Makefile
net/nlbwmon/Makefile
net/strongswan/Makefile
net/strongswan/patches/0003-undef-wolfssl-RNG.patch [new file with mode: 0644]
net/strongswan/patches/0905-undef-wolfssl-RNG.patch [deleted file]
net/tor/Makefile
net/v2ray-geodata/Makefile
net/wgsd/Makefile [new file with mode: 0644]
net/wgsd/README.md [new file with mode: 0644]
net/wgsd/files/Corefile [new file with mode: 0644]
net/wgsd/files/wgsd-coredns.init [new file with mode: 0644]
net/xray-core/Makefile
net/yggdrasil-jumper/Makefile [new file with mode: 0644]
net/yggdrasil/Makefile
net/yggdrasil/files/yggdrasil.sh
utils/cryptsetup/Makefile
utils/lvm2/Makefile
utils/lvm2/patches/002-const-stdio.patch
utils/yq/Makefile

index a84e1009b8ac156662ab112de05aafb2dbb133c9..cd8acf6acb420d4a21f4f6bb0e5deec67fc67d44 100644 (file)
@@ -2,11 +2,12 @@ include $(TOPDIR)/rules.mk
 include $(INCLUDE_DIR)/kernel.mk
 
 PKG_NAME:=mdio-netlink
-PKG_RELEASE:=1
+PKG_VERSION:=1.3.1
+PKG_RELEASE:=2
 
 PKG_SOURCE_URL:=https://github.com/wkz/mdio-tools
 PKG_SOURCE_PROTO:=git
-PKG_SOURCE_VERSION:=1.3.1
+PKG_SOURCE_VERSION:=f74eaf38dbda441df4fcaeb21ca4465957953a2f
 PKG_MIRROR_HASH:=97dfd25d8cdf5994eeb8cb0a5862c993b8aef373b280bca567d41d4113f494a9
 
 PKG_LICENSE:=GPL-2.0-only
index 2ff59bfd7f8bb6b5c1a85108ea3b7792b13dbf42..6e4ca4a84621d13b5c66faf9de3535f9ad4ef594 100644 (file)
@@ -1,12 +1,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=lua-eco
-PKG_VERSION:=3.2.0
+PKG_VERSION:=3.3.0
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL=https://github.com/zhaojh329/lua-eco/releases/download/v$(PKG_VERSION)
-PKG_HASH:=b317599302c5c73195d980bfcfc1977e55da485137fc81f16d1a958ca893e2ed
+PKG_HASH:=597c3edbb20c35f638b26b4fa7a02638c48f96f0330758a7ac1c44079b2170a3
 
 PKG_MAINTAINER:=Jianhui Zhao <zhaojh329@gmail.com>
 PKG_LICENSE:=MIT
index 219736d964e5ee19c2ddc83443e4cc305559a416..bd792affafc27c8582378a733f205c4826afc2a6 100644 (file)
@@ -1,12 +1,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=luajit2
-PKG_VERSION:=2.1-20231117
+PKG_VERSION:=2.1-20240314
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://github.com/openresty/luajit2/archive/refs/tags/v$(PKG_VERSION).tar.gz?
-PKG_HASH:=cc92968c57c00303eb9eaebf65cc8b29a0f851670f16bb514896ab5057ae381f
+PKG_HASH:=3efddc4104a0ce720ddf4da3d9bce927f3c5816a8a45a043462ca58914cde271
 
 PKG_MAINTAINER:=Javier Marcet <javier@marcet.info>
 PKG_LICENSE:=MIT
index e1d35ce5e695b4ef5627f6c38601a2bba169316d..9352d65c62205623054ed9d46b06dba5c9707246 100644 (file)
@@ -1,11 +1,11 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=python-orjson
-PKG_VERSION:=3.9.13
+PKG_VERSION:=3.10.0
 PKG_RELEASE:=1
 
 PYPI_NAME:=orjson
-PKG_HASH:=fc6bc65b0cf524ee042e0bc2912b9206ef242edfba7426cf95763e4af01f527a
+PKG_HASH:=ba4d8cac5f2e2cff36bea6b6481cdb92b38c202bcec603d6f5ff91960595a1ed
 
 PKG_MAINTAINER:=Timothy Ace <openwrt@timothyace.com>
 PKG_LICENSE:=Apache-2.0 MIT
index 3b3678b072dcb9dc9030b76eac6c7c489c0f1a68..9b0cf2f108319e52580bf999c0458c1c95a170c6 100644 (file)
@@ -5,12 +5,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=alist
-PKG_VERSION:=3.32.0
+PKG_VERSION:=3.33.0
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/alist-org/alist/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=3a7e17c7106488b769af41ef5058c3cf0bd18665aadce241ba90d1ec5a528d90
+PKG_HASH:=28aea1ddae1f394b9d66ca95cf25ab86cf30cce94544783ce7ea440f15d95f77
 
 PKG_LICENSE:=AGPL-3.0-only
 PKG_LICENSE_FILES:=LICENSE
@@ -46,13 +46,13 @@ define Package/alist/conffiles
 /etc/config/alist
 endef
 
-WEB_VERSION:=3.32.0
+WEB_VERSION:=3.33.0
 WEB_FILE:=$(PKG_NAME)-web-$(WEB_VERSION).tar.gz
 define Download/alist-web
        URL:=https://github.com/alist-org/alist-web/releases/download/$(WEB_VERSION)/
        URL_FILE:=dist.tar.gz
        FILE:=$(WEB_FILE)
-       HASH:=2af925073e521ffadd99866b65be54d495a4dce0b416446910230cd83b4b121f
+       HASH:=50ae0539720bce7c470ac6bc47216b0e103e73636ee3a9b4b9364e2b52ca93f6
 endef
 
 define Build/Prepare
index b639720822ba28c23551c30d681be4aedb1307f0..b765b583f768b765c6f001a5e21c7ad67fc62ce9 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=apcupsd
 PKG_VERSION:=3.14.14
-PKG_RELEASE:=4
+PKG_RELEASE:=5
 
 PKG_MAINTAINER:=Othmar Truniger <github@truniger.ch>
 PKG_LICENSE:=GPL-2.0
@@ -27,7 +27,7 @@ include $(INCLUDE_DIR)/package.mk
 define Package/apcupsd
   SECTION:=net
   CATEGORY:=Network
-  DEPENDS:=+libpthread +libusb-compat
+  DEPENDS:=+libpthread +libusb-compat +libstdcpp
   TITLE:=UPS control software
   URL:=http://www.apcupsd.org/
 endef
@@ -35,7 +35,7 @@ endef
 define Package/apcupsd-cgi
   SECTION:=net
   CATEGORY:=Network
-  DEPENDS:=+libpthread +libgd
+  DEPENDS:=+libpthread +libgd +libstdcpp
   TITLE:=UPS control software CGI module
   URL:=http://www.apcupsd.org/
 endef
@@ -57,7 +57,7 @@ endef
 define Build/Compile
        $(MAKE) -C $(PKG_BUILD_DIR) \
                DESTDIR="$(PKG_INSTALL_DIR)" \
-               LD="$(TARGET_CC)" \
+               LD="$(TARGET_CXX)" \
                all install
 endef
 
index 84c1d9fbc0f02e032991312e431f5eee45db5228..3e6aa582997ffb137682a78596a8ba21b0ea0635 100644 (file)
@@ -14,7 +14,7 @@ PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL=$(PROJECT_GIT)/project/cgi-io.git
 PKG_SOURCE_DATE:=2022-08-10
 PKG_SOURCE_VERSION:=901b0f0463c9d16a8cf5b9ed37118d8484bc9176
-PKG_MIRROR_HASH:=30348a8c9c8f82a06c4e8dd9fa69f1b686b953379faa42ad634b32e065ec970b
+PKG_MIRROR_HASH:=fbb4a3aad9fb90c1f50730dd75d7213f752e9727a99d7b18ed163cb94763cefa
 CMAKE_INSTALL:=1
 
 PKG_LICENSE:=GPL-2.0-or-later
index b9e39a51924fd1c7ba6e36ef83ff50502e9ded99..bbc74a1f20cb85300ac0424e81d20ef929d9ecda 100644 (file)
@@ -10,14 +10,14 @@ include $(TOPDIR)/rules.mk
 PKG_NAME:=libcurl-gnutls
 
 PKG_SOURCE_NAME:=curl
-PKG_VERSION:=8.6.0
-PKG_RELEASE:=2
+PKG_VERSION:=8.7.1
+PKG_RELEASE:=1
 PKG_SOURCE:=$(PKG_SOURCE_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=https://github.com/curl/curl/releases/download/curl-$(subst .,_,$(PKG_VERSION))/ \
        https://dl.uxnr.de/mirror/curl/ \
        https://curl.askapache.com/download/ \
        https://curl.se/download/
-PKG_HASH:=3ccd55d91af9516539df80625f818c734dc6f2ecf9bada33c76765e99121db15
+PKG_HASH:=6fea2aac6a4610fbd0400afb0bcddbe7258a64c63f1f68e5855ebc0c659710cd
 
 PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
 PKG_LICENSE:=MIT
index e52c7fa5b8826b781242224d0bfcd31ea2dcc2a3..323cb1bd31356461f8473ebd8865a19578136c9a 100644 (file)
@@ -1,11 +1,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=mdio-tools
-PKG_RELEASE:=1
+PKG_VERSION:=1.3.1
+PKG_RELEASE:=2
 
 PKG_SOURCE_URL:=https://github.com/wkz/mdio-tools
 PKG_SOURCE_PROTO:=git
-PKG_SOURCE_VERSION:=1.3.1
+PKG_SOURCE_VERSION:=f74eaf38dbda441df4fcaeb21ca4465957953a2f
 PKG_MIRROR_HASH:=b7973284dc3dffef4bd2a904e3f7aa7fd3caab4aecf85ac57488f5acbf341aba
 
 PKG_FIXUP:=autoreconf
index 37e705f986cd140f6ef9821ddd184b97095a14b8..9d1aadcbc394ded504cd4a5e21c6bb8a5e9338b4 100644 (file)
@@ -7,7 +7,7 @@ PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL:=https://github.com/jow-/nlbwmon.git
 PKG_SOURCE_DATE:=2024-02-21
 PKG_SOURCE_VERSION:=c7616bcfaaef440848152f4dc738c990b2d0b90b
-PKG_MIRROR_HASH:=ca55b88e998b4f79105e978eb9d0c98c6394abe1ebb0578f145caa96922fd9af
+PKG_MIRROR_HASH:=3cbcd2e180547719b48c58d88f30d1296fd2db62a6a6aa96a13b485e58022903
 
 CMAKE_INSTALL:=1
 
index b74095981045db90b7ea189ba4babdc127be32e3..2ff7c8ee3c2f4651c3bf9199db69272ce89020f5 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=strongswan
 PKG_VERSION:=5.9.14
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=https://download.strongswan.org/ https://download2.strongswan.org/
diff --git a/net/strongswan/patches/0003-undef-wolfssl-RNG.patch b/net/strongswan/patches/0003-undef-wolfssl-RNG.patch
new file mode 100644 (file)
index 0000000..8f28c0f
--- /dev/null
@@ -0,0 +1,39 @@
+commit 5226561a77efc94b53d708a855df267b11f53b83
+Author: Philip Prindeville <philipp@redfish-solutions.com>
+Date:   Wed Mar 27 17:41:18 2024 -0600
+
+    wolfssl: avoid RNG redefinition
+    
+    There are definitions of RNG in <wolfcrypt/settings.h> and
+    <wolfcrypt/random.h> that play havoc with the literal RNG being
+    used in the expansions of _PLUGIN_FEATURE_RNG() => __PLUGIN_FEATURE()
+    in <plugins/plugin_feature.h> when ##-concatenated to build the
+    enum FEATURE_RNG.
+    
+    <plugins/plugin_feature.h> must always be included before
+    <woldssl/ssl.h>, and RNG must be undefined before any plugins are
+    declared.
+    
+    Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
+
+--- a/src/libstrongswan/plugins/wolfssl/wolfssl_common.h
++++ b/src/libstrongswan/plugins/wolfssl/wolfssl_common.h
+@@ -80,7 +80,4 @@ typedef union {
+ #undef PARSE_ERROR
+-/* Eliminate macro conflicts */
+-#undef RNG
+-
+ #endif /* WOLFSSL_PLUGIN_COMMON_H_ */
+--- a/src/libstrongswan/plugins/wolfssl/wolfssl_plugin.c
++++ b/src/libstrongswan/plugins/wolfssl/wolfssl_plugin.c
+@@ -47,6 +47,8 @@
+ #include <wolfssl/ssl.h>
++#undef RNG
++
+ #ifndef FIPS_MODE
+ #define FIPS_MODE 0
+ #endif
diff --git a/net/strongswan/patches/0905-undef-wolfssl-RNG.patch b/net/strongswan/patches/0905-undef-wolfssl-RNG.patch
deleted file mode 100644 (file)
index dfca722..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
---- a/src/libstrongswan/plugins/wolfssl/wolfssl_plugin.c
-+++ b/src/libstrongswan/plugins/wolfssl/wolfssl_plugin.c
-@@ -50,6 +50,9 @@
- #ifndef FIPS_MODE
- #define FIPS_MODE 0
- #endif
-+#ifdef RNG
-+#undef RNG
-+#endif
- typedef struct private_wolfssl_plugin_t private_wolfssl_plugin_t;
index 225fc0814385a5a264fdd3a5586cf58e84c7420b..b70605db70339dfe0cde03da6a53b8af8db1ea49 100644 (file)
@@ -8,13 +8,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=tor
-PKG_VERSION:=0.4.8.7
+PKG_VERSION:=0.4.8.10
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://dist.torproject.org/ \
        https://archive.torproject.org/tor-package-archive
-PKG_HASH:=b20d2b9c74db28a00c07f090ee5b0241b2b684f3afdecccc6b8008931c557491
+PKG_HASH:=e628b4fab70edb4727715b23cf2931375a9f7685ac08f2c59ea498a178463a86
 PKG_MAINTAINER:=Hauke Mehrtens <hauke@hauke-m.de> \
                Peter Wagner <tripolar@gmx.at>
 PKG_LICENSE:=BSD-3-Clause
index 396137724c15127475c940c889f6786ed9d2592b..c10eb41cb95d5971d60abd4d14202bbea5d06b2b 100644 (file)
@@ -5,38 +5,38 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=v2ray-geodata
-PKG_RELEASE:=1
+PKG_RELEASE:=r1
 
 PKG_LICENSE_FILES:=LICENSE
 PKG_MAINTAINER:=Tianling Shen <cnsztl@immortalwrt.org>
 
 include $(INCLUDE_DIR)/package.mk
 
-GEOIP_VER:=202403210039
+GEOIP_VER:=202404040040
 GEOIP_FILE:=geoip.dat.$(GEOIP_VER)
 define Download/geoip
   URL:=https://github.com/v2fly/geoip/releases/download/$(GEOIP_VER)/
   URL_FILE:=geoip.dat
   FILE:=$(GEOIP_FILE)
-  HASH:=42042ac58550250c262b24067b1be5a6d44fe3c313bfb3806c2d4ccc7cded374
+  HASH:=492a0af649accb4e9ae91f80a272e295ce6444489f6d85b389cdc635234c6ddf
 endef
 
-GEOSITE_VER:=20240316051411
+GEOSITE_VER:=20240403140129
 GEOSITE_FILE:=dlc.dat.$(GEOSITE_VER)
 define Download/geosite
   URL:=https://github.com/v2fly/domain-list-community/releases/download/$(GEOSITE_VER)/
   URL_FILE:=dlc.dat
   FILE:=$(GEOSITE_FILE)
-  HASH:=eb0f00cbe9645db223ba84a067939f21261a1f171ee8ecaa118b11b6b66aef7b
+  HASH:=bcae4b8ff409117b8f24e6c62c0d5c8c9d4dca75d335e12f8ac3a22331a81c52
 endef
 
-GEOSITE_IRAN_VER:=202403180026
+GEOSITE_IRAN_VER:=202404010028
 GEOSITE_IRAN_FILE:=iran.dat.$(GEOSITE_IRAN_VER)
 define Download/geosite-ir
   URL:=https://github.com/bootmortis/iran-hosted-domains/releases/download/$(GEOSITE_IRAN_VER)/
   URL_FILE:=iran.dat
   FILE:=$(GEOSITE_IRAN_FILE)
-  HASH:=05a237974747656807fe9811ec554230e35899c944c7ba8eda11df5f6a3b5da3
+  HASH:=322d972bfb3f6bb5d960c6d7e14a732d75f0a32ad59ce609a1a9843eef51e257
 endef
 
 define Package/v2ray-geodata/template
diff --git a/net/wgsd/Makefile b/net/wgsd/Makefile
new file mode 100644 (file)
index 0000000..3b0c5db
--- /dev/null
@@ -0,0 +1,87 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=wgsd
+PKG_VERSION:=0.3.6
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://codeload.github.com/jwhited/wgsd/tar.gz/v$(PKG_VERSION)?
+PKG_HASH:=b64e7c93a98e444e6ef46871fb73349c485c501469758e459e10188d7abfec28
+
+PKG_LICENSE:=MIT
+PKG_LICENSE_FILES:=LICENSE
+PKG_MAINTAINER:=Vladimir Ermakov <vooon341@gmail.com>
+
+PKG_BUILD_DEPENDS:=golang/host
+PKG_BUILD_PARALLEL:=1
+PKG_BUILD_FLAGS:=no-mips16
+
+GO_PKG:=github.com/jwhited/wgsd
+GO_PKG_EXCLUDES:=test
+
+include $(INCLUDE_DIR)/package.mk
+include ../../lang/golang/golang-package.mk
+
+define Package/wgsd/Default
+  SECTION:=net
+  CATEGORY:=Network
+  SUBMENU:=VPN
+  TITLE:=WireGuard Service Discovery
+  URL:=https://github.com/jwhited/wgsd
+  DEPENDS:=+kmod-wireguard
+endef
+
+define Package/wgsd-coredns
+  $(call Package/wgsd/Default)
+  TITLE+= DNS-SD server
+endef
+
+define Package/wgsd-client
+  $(call Package/wgsd/Default)
+  TITLE+= Client
+endef
+
+define Package/wgsd/Default/description
+  wgsd is a CoreDNS plugin that serves WireGuard peer information via DNS-SD (RFC6763) semantics.
+  This enables use cases such as:
+
+  - Building a mesh of WireGuard peers from a central registry
+  - Dynamic discovery of WireGuard Endpoint addressing (both IP address and port number)
+  - NAT-to-NAT WireGuard connectivity where UDP hole punching is supported.
+endef
+
+define Package/wgsd-coredns/description
+  $(call Package/wgsd/Default/description)
+
+  CoreDNS binary.
+endef
+
+define Package/wgsd-client/description
+  $(call Package/wgsd/Default/description)
+
+  Client binary.
+endef
+
+define Package/wgsd-coredns/conffiles
+/etc/Corefile
+endef
+
+define Package/wgsd-coredns/install
+       $(call GoPackage/Package/Install/Bin,$(PKG_INSTALL_DIR))
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/coredns $(1)/usr/bin/wgsd-coredns
+
+       $(INSTALL_DIR) $(1)/etc/
+       $(INSTALL_CONF) $(CURDIR)/files/Corefile $(1)/etc/Corefile
+       $(INSTALL_DIR) $(1)/etc/init.d/
+       $(INSTALL_BIN) $(CURDIR)/files/wgsd-coredns.init $(1)/etc/init.d/wgsd-coredns
+endef
+
+define Package/wgsd-client/install
+       $(call GoPackage/Package/Install/Bin,$(PKG_INSTALL_DIR))
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/wgsd-client $(1)/usr/bin/wgsd-client
+endef
+
+$(eval $(call BuildPackage,wgsd-coredns))
+$(eval $(call BuildPackage,wgsd-client))
diff --git a/net/wgsd/README.md b/net/wgsd/README.md
new file mode 100644 (file)
index 0000000..13d7330
--- /dev/null
@@ -0,0 +1,30 @@
+## Wireguard Service Discovery (Mesh)
+
+This tool allows you to build a mesh from wireguard tunnels and also traversal NAT.
+
+See this article: https://www.jordanwhited.com/posts/wireguard-endpoint-discovery-nat-traversal/
+Also see project on github: https://github.com/jwhited/wgsd
+
+
+## Usage
+
+On server edit /etc/Corefile to select on which port DNS-SD should be serving and also which interface to use.
+
+Here is the example, where port `5353` will be used by coredns, `coredns.lan.` zone be used for discovery and `vpn_wg` interface be used to gather peers information.
+
+    .:5353 {
+      log
+      #whoami
+      wgsd coredns.lan. vpn_wg
+    }
+
+On a client you should put to the cron line like that:
+
+    1,6,11,16,21,26,31,36,41,46,51,56 * * * * /usr/bin/wgsd-client -device vpn_wg -dns your.central.node:5353 -zone coredns.lan
+
+
+### Note
+
+All peers that should connect to each other should know other peers.
+So you should setup your central node as a first peer followed with peers.
+E.g. let's say we have a Cloud-Router (CR), Alice and the Bob. Then you should configure peers for CR (with the address) and Bob on Alice's side and CR and Alice on Bob's.
diff --git a/net/wgsd/files/Corefile b/net/wgsd/files/Corefile
new file mode 100644 (file)
index 0000000..0dee396
--- /dev/null
@@ -0,0 +1,5 @@
+.:5353 {
+  log
+  #whoami
+  wgsd coredns.lan. vpn_wg
+}
diff --git a/net/wgsd/files/wgsd-coredns.init b/net/wgsd/files/wgsd-coredns.init
new file mode 100644 (file)
index 0000000..5942144
--- /dev/null
@@ -0,0 +1,12 @@
+#!/bin/sh /etc/rc.common
+
+START=99
+
+USE_PROCD=1
+PROG=/usr/bin/wgsd-coredns
+
+start_service() {
+       procd_open_instance
+       procd_set_param command "$PROG" -conf /etc/Corefile
+       procd_close_instance
+}
index 858a4912d0b52eb266a7a9d75f02f5ea6c71941b..e7fd73c6b0da9ec4cd49cbe7262b4be530a18fc0 100644 (file)
@@ -1,12 +1,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=xray-core
-PKG_VERSION:=1.8.9
+PKG_VERSION:=1.8.10
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/XTLS/Xray-core/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=708cf7754c733c8eb98939495c0c2e698ca5712383b87dc25eea974a0d332721
+PKG_HASH:=af5bb501b50e3abe6b54c8d8ea764d7f8b021c4d53540a468254a24f3334afc5
 
 PKG_MAINTAINER:=Tianling Shen <cnsztl@immortalwrt.org>
 PKG_LICENSE:=MPL-2.0
diff --git a/net/yggdrasil-jumper/Makefile b/net/yggdrasil-jumper/Makefile
new file mode 100644 (file)
index 0000000..7b69ee3
--- /dev/null
@@ -0,0 +1,44 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=yggdrasil-jumper
+PKG_VERSION:=0.3.0
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://codeload.github.com/one-d-wide/yggdrasil-jumper/tar.gz/v$(PKG_VERSION)?
+PKG_HASH:=d0fd59e9f7a110094c9189b49b812fb0014c6c45535b4d30effd7cf602961454
+
+PKG_MAINTAINER:=Remy D. Farley <one-d-wide@protonmail.com>
+PKG_LICENSE:=LGPL-3.0-only
+PKG_LICENSE_FILES:=LICENSE
+
+PKG_BUILD_DEPENDS:=rust/host
+PKG_BUILD_PARALLEL:=1
+
+include $(INCLUDE_DIR)/package.mk
+include ../../lang/rust/rust-package.mk
+
+define Package/yggdrasil-jumper
+  SECTION:=net
+  CATEGORY:=Network
+  SUBMENU:=Routing and Redirection
+  TITLE:=Yggdrasil peer-to-peer firewall stun
+  URL:=https://github.com/one-d-wide/yggdrasil-jumper
+  DEPENDS:=$(RUST_ARCH_DEPENDS) @!arc @IPV6 +kmod-tun
+endef
+
+define Package/yggdrasil-jumper/description
+  Yggdrasil Jumper is independent project that aims to transparently reduce latency of
+  a connection over Yggdrasil network, utilizing NAT traversal to bypass intermediary
+  nodes. It periodically probes for active sessions and automatically establishes direct
+  peerings over internet with remote nodes running Yggdrasil Jumper without requiring
+  firewall or port configuration.
+endef
+
+define Package/yggdrasil-jumper/install
+       $(INSTALL_DIR) $(1)/usr/sbin
+       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/bin/yggdrasil-jumper $(1)/usr/sbin
+endef
+
+$(eval $(call RustBinPackage,yggdrasil-jumper))
+$(eval $(call BuildPackage,yggdrasil-jumper))
index 44457247bdf1b9a04d4b1c3b5fae49fbc23d4290..f7458504a3870c6c6d0200703a0dc0046a5a2a54 100644 (file)
@@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=yggdrasil
 PKG_VERSION:=0.5.5
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/yggdrasil-network/yggdrasil-go/tar.gz/v$(PKG_VERSION)?
index 9d3c6c3b74c8537483eb59d1d740419a8d8e343d..3185f204d8f42c19c774d8dc7a784a7b6861a053 100755 (executable)
@@ -8,8 +8,17 @@
 }
 
 proto_yggdrasil_init_config() {
-       proto_config_add_string "private_key"
        available=1
+
+       # Yggdrasil
+       proto_config_add_string "private_key"
+       proto_config_add_boolean "allocate_listen_addresses"
+
+       # Jumper
+       proto_config_add_boolean "jumper_enable"
+       proto_config_add_string "jumper_loglevel"
+       proto_config_add_boolean "jumper_autofill_listen_addresses"
+       proto_config_add_string "jumper_config"
 }
 
 proto_yggdrasil_setup_peer_if_non_interface() {
@@ -97,6 +106,52 @@ proto_yggdrasil_generate_keypair() {
        public_key=${PrivateKey:64}
 }
 
+proto_yggdrasil_allocate_listen_addresses() {
+       local config="$1"
+
+       # Collect already defined protocols
+       protocols=""
+       _add_address_protocol() {
+               protocols="${protocols}$(echo $1 | cut -d "://" -f1) "
+       }
+       config_list_foreach "$config" listen_address _add_address_protocol
+
+       # Add new address for each previously unspecified protocol
+       for protocol in "tls" "quic"; do
+               if ! echo "$protocols" | grep "$protocol" &>/dev/null; then
+                       # By default linux dynamically alocates ports in the range 32768..60999
+                       # `sysctl net.ipv4.ip_local_port_range`
+                       random_port=$(( ($RANDOM + $RANDOM) % 22767 + 10000 ))
+                       proto_yggdrasil_add_string "${protocol}://127.0.0.1:${random_port}"
+               fi
+       done
+}
+
+proto_yggdrasil_generate_jumper_config() {
+       local config="$1"
+       local ygg_sock="$2"
+       local ygg_cfg="$3"
+
+       # Autofill Yggdrasil listeners
+       config_get is_autofill_listeners "$config" "jumper_autofill_listen_addresses"
+       if [ "$is_autofill_listeners" == "1" ]; then
+               echo "yggdrasil_listen = ["
+               _print_address() {
+                       echo "\"${1}\","
+               }
+               json_load_file "${ygg_cfg}"
+               json_for_each_item _print_address "Listen"
+               echo "]"
+       fi
+
+       # Print admin api socket
+       echo "yggdrasil_admin_listen = [ \"${ygg_sock}\" ]"
+
+       # Print extra config
+       config_get jumper_config "$config" "jumper_config"
+       echo "${jumper_config}"
+}
+
 proto_yggdrasil_setup() {
        local config="$1"
        local device="$2"
@@ -178,6 +233,14 @@ EOF
 
        json_add_array "Listen"
        config_list_foreach "$config" listen_address proto_yggdrasil_add_string
+
+       # If needed, add new address for each previously unspecified protocol
+       config_get is_jumper_enabled "$config" "jumper_enable"
+       config_get allocate_listen_addresses "$config" "allocate_listen_addresses"
+       if [ "$is_jumper_enabled" == "1" ] && [ "$allocate_listen_addresses" == "1" ]; then
+               proto_yggdrasil_allocate_listen_addresses "$config"
+       fi
+
        json_close_array
 
        json_add_array "MulticastInterfaces"
@@ -193,6 +256,16 @@ EOF
        proto_add_ipv6_address "$(yggdrasil -useconffile "${ygg_cfg}" -address)" "7"
        proto_add_ipv6_prefix "$(yggdrasil -useconffile "${ygg_cfg}" -subnet)"
        proto_send_update "$config"
+
+       # Start jumper if needed
+       config_get is_jumper_enabled "$config" "jumper_enable"
+       if [ "$is_jumper_enabled" == "1" ] && [ -f /usr/sbin/yggdrasil-jumper ]; then
+               jumper_cfg="${ygg_dir}/${config}-jumper.conf"
+               proto_yggdrasil_generate_jumper_config "$config" "$ygg_sock" "$ygg_cfg" > "$jumper_cfg"
+
+               config_get jumper_loglevel "$config" "jumper_loglevel"
+               sh -c "sleep 2 && exec /usr/sbin/yggdrasil-jumper --loglevel \"${jumper_loglevel:-info}\" --config \"$jumper_cfg\" 2&>1 | logger -t \"${config}-jumper\"" &
+       fi
 }
 
 proto_yggdrasil_teardown() {
index 48acf95bb542c6e6c6e88236826946b67b758806..1af3edfc164d04dbbe86dda75133984c12be3f02 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=cryptsetup
-PKG_VERSION:=2.6.1
+PKG_VERSION:=2.7.1
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
-PKG_SOURCE_URL:=@KERNEL/linux/utils/cryptsetup/v2.6
-PKG_HASH:=410ded65a1072ab9c8e41added37b9729c087fef4d2db02bb4ef529ad6da4693
+PKG_SOURCE_URL:=@KERNEL/linux/utils/cryptsetup/v$(subst $(space),.,$(wordlist 1, 2, $(subst .,$(space),$(PKG_VERSION))))
+PKG_HASH:=da5d1419e2a86e01aa32fd79582cd54d208857cb541bca2fd426a5ff1aaabbc3
 
 PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
 PKG_LICENSE:=GPL-2.0-or-later LGPL-2.1-or-later
index dc5239b689f6b3d4a0d5b8a5c5a0875c04754460..42cc59a3171c43c71a9c1c520e751537ee818a0d 100644 (file)
@@ -9,13 +9,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=LVM2
-PKG_VERSION:=2.03.22
-PKG_VERSION_DM:=1.02.196
+PKG_VERSION:=2.03.23
+PKG_VERSION_DM:=1.02.197
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME).$(PKG_VERSION).tgz
 PKG_SOURCE_URL:=https://sourceware.org/pub/lvm2
-PKG_HASH:=4c5a6923bd1ace7ce04474608a84937ce053ba91b1ace9f0b0017268e732dc7c
+PKG_HASH:=74e794a9e9dee1bcf8a2065f65b9196c44fdf321e22d63b98ed7de8c9aa17a5d
 PKG_BUILD_DIR:=$(BUILD_DIR)/lvm2-$(BUILD_VARIANT)/$(PKG_NAME).$(PKG_VERSION)
 
 PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
index b6ed24449ac67366f6356d3a485778430a766cbb..9750659232a985e2bd2cc5f0eecf8a5c85d981e9 100644 (file)
@@ -1,6 +1,6 @@
 --- a/lib/commands/toolcontext.c
 +++ b/lib/commands/toolcontext.c
-@@ -1667,7 +1667,7 @@ struct cmd_context *create_toolcontext(u
+@@ -1709,7 +1709,7 @@ struct cmd_context *create_toolcontext(u
        /* FIXME Make this configurable? */
        reset_lvm_errno(1);
  
@@ -9,7 +9,7 @@
        /* Set in/out stream buffering before glibc */
        if (set_buffering
  #ifdef SYS_gettid
-@@ -2043,7 +2043,7 @@ void destroy_toolcontext(struct cmd_cont
+@@ -2085,7 +2085,7 @@ void destroy_toolcontext(struct cmd_cont
                dm_hash_destroy(cmd->cft_def_hash);
  
        dm_device_list_destroy(&cmd->cache_dm_devs);
@@ -20,7 +20,7 @@
                if (is_valid_fd(STDIN_FILENO) &&
 --- a/tools/lvmcmdline.c
 +++ b/tools/lvmcmdline.c
-@@ -3432,6 +3432,7 @@ int lvm_split(char *str, int *argc, char
+@@ -3437,6 +3437,7 @@ int lvm_split(char *str, int *argc, char
  /* Make sure we have always valid filedescriptors 0,1,2 */
  static int _check_standard_fds(void)
  {
@@ -28,7 +28,7 @@
        int err = is_valid_fd(STDERR_FILENO);
  
        if (!is_valid_fd(STDIN_FILENO) &&
-@@ -3458,6 +3459,12 @@ static int _check_standard_fds(void)
+@@ -3463,6 +3464,12 @@ static int _check_standard_fds(void)
                       strerror(errno));
                return 0;
        }
index ecd938d265a78cb4c7c7c82f67da2a31815df109..0c313dfc26e206ba69bb3d4a99b451cd177e2507 100644 (file)
@@ -1,12 +1,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=yq
-PKG_VERSION:=4.42.1
+PKG_VERSION:=4.43.1
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/mikefarah/yq/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=be31e5e828a0251721ea71964596832d4a40cbc21c8a8392a804bc8d1c55dd62
+PKG_HASH:=e5581d28bae2bcdf70501dfd251233c592eb3e39a210956ee74965b784435d63
 
 PKG_MAINTAINER:=Tianling Shen <cnsztl@immortalwrt.org>
 PKG_LICENSE:=MIT