diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 17fa6e5b5..b62b59ad9 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -8,7 +8,7 @@ jobs: build: strategy: matrix: - OMR_TARGET: [bpi-r1, bpi-r2, bpi-r4, bpi-r4-poe, bpi-r64, rpi2, rpi4, wrt32x, espressobin, r2s, rpi3, wrt3200acm, x86, x86_64, ubnt-erx, r4s, r7800, rutx12, rutx50, r5s, qnap-301w, rpi5, z8102ax_128m, z8102ax_64m] + OMR_TARGET: [bpi-r1, bpi-r2, bpi-r3, bpi-r4, bpi-r4-poe, bpi-r64, rpi2, rpi4, wrt32x, espressobin, r2s, rpi3, wrt3200acm, x86, x86_64, ubnt-erx, r4s, r7800, rutx12, rutx50, r5s, qnap-301w, rpi5, z8102ax_128m, z8102ax_64m] OMR_KERNEL: [5.4, 6.6] runs-on: ubuntu-latest continue-on-error: true diff --git a/iproute2/Makefile b/iproute2/Makefile index a39551ace..c2508f71b 100644 --- a/iproute2/Makefile +++ b/iproute2/Makefile @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=iproute2 -PKG_VERSION:=6.9.0 +PKG_VERSION:=6.11.0 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=@KERNEL/linux/utils/net/iproute2 -PKG_HASH:=2f643d09ea11a4a2a043c92e2b469b5f73228cbf241ae806760296ed0ec413d0 +PKG_HASH:=1f795398a04aeaacd06a8f6ace2cfd913c33fa5953ca99daae83bb5c534611c3 PKG_BUILD_PARALLEL:=1 PKG_BUILD_DEPENDS:=iptables PKG_LICENSE:=GPL-2.0 diff --git a/iproute2/patches/010-bridge-mst-fix-a-musl-build-issue.patch b/iproute2/patches/010-bridge-mst-fix-a-musl-build-issue.patch new file mode 100644 index 000000000..1630415eb --- /dev/null +++ b/iproute2/patches/010-bridge-mst-fix-a-musl-build-issue.patch @@ -0,0 +1,68 @@ +From 6a77abab92516e65f07f8657fc4e384c4541ce0e Mon Sep 17 00:00:00 2001 +From: Dario Binacchi +Date: Sun, 22 Sep 2024 16:50:10 +0200 +Subject: bridge: mst: fix a musl build issue + +This patch fixes a compilation error raised by the bump to version 6.11.0 +in Buildroot using musl as the C library for the cross-compilation +toolchain. + +After setting the CFLGAS + +ifeq ($(BR2_TOOLCHAIN_USES_MUSL),y) +IPROUTE2_CFLAGS += -D__UAPI_DEF_IN6_ADDR=0 -D__UAPI_DEF_SOCKADDR_IN6=0 \ + -D__UAPI_DEF_IPV6_MREQ=0 +endif + +to fix the following errors: + +In file included from ../../../host/mips64-buildroot-linux-musl/sysroot/usr/include/arpa/inet.h:9, + from ../include/libnetlink.h:14, + from mst.c:10: +../../../host/mips64-buildroot-linux-musl/sysroot/usr/include/netinet/in.h:23:8: error: redefinition of 'struct in6_addr' + 23 | struct in6_addr { + | ^~~~~~~~ +In file included from ../include/uapi/linux/if_bridge.h:19, + from mst.c:7: +../include/uapi/linux/in6.h:33:8: note: originally defined here + 33 | struct in6_addr { + | ^~~~~~~~ +../../../host/mips64-buildroot-linux-musl/sysroot/usr/include/netinet/in.h:34:8: error: redefinition of 'struct sockaddr_in6' + 34 | struct sockaddr_in6 { + | ^~~~~~~~~~~~ +../include/uapi/linux/in6.h:50:8: note: originally defined here + 50 | struct sockaddr_in6 { + | ^~~~~~~~~~~~ +../../../host/mips64-buildroot-linux-musl/sysroot/usr/include/netinet/in.h:42:8: error: redefinition of 'struct ipv6_mreq' + 42 | struct ipv6_mreq { + | ^~~~~~~~~ +../include/uapi/linux/in6.h:60:8: note: originally defined here + 60 | struct ipv6_mreq { + +I got this further errors + +../include/uapi/linux/in6.h:72:25: error: field 'flr_dst' has incomplete type + 72 | struct in6_addr flr_dst; + | ^~~~~~~ +../include/uapi/linux/if_bridge.h:711:41: error: field 'ip6' has incomplete type + 711 | struct in6_addr ip6; + | ^~~ + +fixed by including the netinet/in.h header. + +Signed-off-by: Dario Binacchi +Signed-off-by: Stephen Hemminger +--- + bridge/mst.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/bridge/mst.c ++++ b/bridge/mst.c +@@ -4,6 +4,7 @@ + */ + + #include ++#include + #include + #include + diff --git a/iproute2/patches/011-bridge-mst-fix-a-further-musl-build-issue.patch b/iproute2/patches/011-bridge-mst-fix-a-further-musl-build-issue.patch new file mode 100644 index 000000000..1bdab398f --- /dev/null +++ b/iproute2/patches/011-bridge-mst-fix-a-further-musl-build-issue.patch @@ -0,0 +1,51 @@ +From 043ef90e2fa94397eb5c85330889ca4146a6d58a Mon Sep 17 00:00:00 2001 +From: Dario Binacchi +Date: Sun, 22 Sep 2024 16:50:11 +0200 +Subject: bridge: mst: fix a further musl build issue + +This patch fixes the following build errors: + +In file included from mst.c:11: +../include/json_print.h:80:30: warning: 'struct timeval' declared inside parameter list will not be visible outside of this definition or declaration + 80 | _PRINT_FUNC(tv, const struct timeval *) + | ^~~~~~~ +../include/json_print.h:50:37: note: in definition of macro '_PRINT_FUNC' + 50 | type value); \ + | ^~~~ +../include/json_print.h:80:30: warning: 'struct timeval' declared inside parameter list will not be visible outside of this definition or declaration + 80 | _PRINT_FUNC(tv, const struct timeval *) + | ^~~~~~~ +../include/json_print.h:55:45: note: in definition of macro '_PRINT_FUNC' + 55 | type value) \ + | ^~~~ +../include/json_print.h: In function 'print_tv': +../include/json_print.h:58:48: error: passing argument 5 of 'print_color_tv' from incompatible pointer type [-Wincompatible-pointer-types] + 58 | value); \ + | ^~~~~ + | | + | const struct timeval * +../include/json_print.h:80:1: note: in expansion of macro '_PRINT_FUNC' + 80 | _PRINT_FUNC(tv, const struct timeval *) + | ^~~~~~~~~~~ +../include/json_print.h:50:42: note: expected 'const struct timeval *' but argument is of type 'const struct timeval *' + 50 | type value); \ + | ^ +../include/json_print.h:80:1: note: in expansion of macro '_PRINT_FUNC' + 80 | _PRINT_FUNC(tv, const struct timeval *) + +Signed-off-by: Dario Binacchi +Signed-off-by: Stephen Hemminger +--- + bridge/mst.c | 1 + + 1 file changed, 1 insertion(+) + +--- a/bridge/mst.c ++++ b/bridge/mst.c +@@ -4,6 +4,7 @@ + */ + + #include ++#include + #include + #include + #include diff --git a/iproute2/patches/012-libnetlink-fix-build-with-musl-and-gcc-14.patch b/iproute2/patches/012-libnetlink-fix-build-with-musl-and-gcc-14.patch new file mode 100644 index 000000000..749176a8d --- /dev/null +++ b/iproute2/patches/012-libnetlink-fix-build-with-musl-and-gcc-14.patch @@ -0,0 +1,28 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Natanael Copa +Date: Thu, 8 Aug 2024 09:19:01 +0200 +Subject: libnetlink: fix build with musl and gcc 14 + +Fixes compilation error with musl libc and gcc 14: + +../include/libnetlink.h: In function 'rta_getattr_be64': +../include/libnetlink.h:280:16: error: implicit declaration of function 'htobe64' [-Wimplicit-function-declaration] + 280 | return htobe64(rta_getattr_u64(rta)); + | ^~~~~~~ + +Reference: https://man7.org/linux/man-pages/man3/endian.3.html +Signed-off-by: Natanael Copa +--- + include/libnetlink.h | 1 + + 1 file changed, 1 insertion(+) + +--- a/include/libnetlink.h ++++ b/include/libnetlink.h +@@ -2,6 +2,7 @@ + #ifndef __LIBNETLINK_H__ + #define __LIBNETLINK_H__ 1 + ++#include + #include + #include + #include diff --git a/iproute2/patches/110-darwin_fixes.patch b/iproute2/patches/110-darwin_fixes.patch index 1f3eb101e..06ae59f8b 100644 --- a/iproute2/patches/110-darwin_fixes.patch +++ b/iproute2/patches/110-darwin_fixes.patch @@ -1,6 +1,6 @@ --- a/netem/maketable.c +++ b/netem/maketable.c -@@ -10,7 +10,9 @@ +@@ -11,7 +11,9 @@ #include #include #include @@ -12,7 +12,7 @@ #include --- a/netem/normal.c +++ b/netem/normal.c -@@ -8,8 +8,12 @@ +@@ -9,8 +9,12 @@ #include #include @@ -27,7 +27,7 @@ #define TABLEFACTOR NETEM_DIST_SCALE --- a/netem/pareto.c +++ b/netem/pareto.c -@@ -7,8 +7,12 @@ +@@ -8,8 +8,12 @@ #include #include @@ -42,7 +42,7 @@ #define TABLESIZE 16384 --- a/netem/paretonormal.c +++ b/netem/paretonormal.c -@@ -14,10 +14,13 @@ +@@ -15,10 +15,13 @@ #include #include #include diff --git a/iproute2/patches/115-add-config-xtlibdir.patch b/iproute2/patches/115-add-config-xtlibdir.patch index 8702d5fd2..38448e6cd 100644 --- a/iproute2/patches/115-add-config-xtlibdir.patch +++ b/iproute2/patches/115-add-config-xtlibdir.patch @@ -1,6 +1,6 @@ --- a/tc/Makefile +++ b/tc/Makefile -@@ -128,6 +128,9 @@ CFLAGS += -DCONFIG_GACT -DCONFIG_GACT_PR +@@ -107,6 +107,9 @@ CFLAGS += -DCONFIG_GACT -DCONFIG_GACT_PR ifneq ($(IPT_LIB_DIR),) CFLAGS += -DIPT_LIB_DIR=\"$(IPT_LIB_DIR)\" endif diff --git a/iproute2/patches/130-no_netem_tipc_dcb_man_vdpa.patch b/iproute2/patches/130-no_netem_tipc_dcb_man_vdpa.patch index 2a3f9eb90..7f946070f 100644 --- a/iproute2/patches/130-no_netem_tipc_dcb_man_vdpa.patch +++ b/iproute2/patches/130-no_netem_tipc_dcb_man_vdpa.patch @@ -1,6 +1,6 @@ --- a/Makefile +++ b/Makefile -@@ -65,9 +65,9 @@ WFLAGS += -Wmissing-declarations -Wold-s +@@ -69,9 +69,9 @@ WFLAGS += -Wmissing-declarations -Wold-s CFLAGS := $(WFLAGS) $(CCOPTS) -I../include -I../include/uapi $(DEFINES) $(CFLAGS) YACCFLAGS = -d -t -v diff --git a/iproute2/patches/140-allow_pfifo_fast.patch b/iproute2/patches/140-allow_pfifo_fast.patch index 13de48f41..8f5a7d352 100644 --- a/iproute2/patches/140-allow_pfifo_fast.patch +++ b/iproute2/patches/140-allow_pfifo_fast.patch @@ -1,6 +1,6 @@ --- a/tc/q_fifo.c +++ b/tc/q_fifo.c -@@ -95,5 +95,6 @@ struct qdisc_util pfifo_head_drop_qdisc_ +@@ -90,5 +90,6 @@ struct qdisc_util pfifo_head_drop_qdisc_ struct qdisc_util pfifo_fast_qdisc_util = { .id = "pfifo_fast", diff --git a/iproute2/patches/140-keep_libmnl_optional.patch b/iproute2/patches/140-keep_libmnl_optional.patch index ff7e9ca4e..48a4ae751 100644 --- a/iproute2/patches/140-keep_libmnl_optional.patch +++ b/iproute2/patches/140-keep_libmnl_optional.patch @@ -1,6 +1,6 @@ --- a/configure +++ b/configure -@@ -387,7 +387,7 @@ check_selinux() +@@ -368,7 +368,7 @@ check_tirpc() check_mnl() { diff --git a/iproute2/patches/145-keep_libelf_optional.patch b/iproute2/patches/145-keep_libelf_optional.patch index 079ca0512..99b9d326f 100644 --- a/iproute2/patches/145-keep_libelf_optional.patch +++ b/iproute2/patches/145-keep_libelf_optional.patch @@ -1,6 +1,6 @@ --- a/configure +++ b/configure -@@ -255,7 +255,7 @@ EOF +@@ -217,7 +217,7 @@ EOF check_elf() { diff --git a/iproute2/patches/150-keep_libcap_optional.patch b/iproute2/patches/150-keep_libcap_optional.patch index 68e162416..49873f87b 100644 --- a/iproute2/patches/150-keep_libcap_optional.patch +++ b/iproute2/patches/150-keep_libcap_optional.patch @@ -1,6 +1,6 @@ --- a/configure +++ b/configure -@@ -445,7 +445,7 @@ EOF +@@ -427,7 +427,7 @@ EOF check_cap() { diff --git a/iproute2/patches/155-keep_tirpc_optional.patch b/iproute2/patches/155-keep_tirpc_optional.patch index 28ba7e521..9e5e4330c 100644 --- a/iproute2/patches/155-keep_tirpc_optional.patch +++ b/iproute2/patches/155-keep_tirpc_optional.patch @@ -1,6 +1,6 @@ --- a/configure +++ b/configure -@@ -398,7 +398,7 @@ check_selinux() +@@ -355,7 +355,7 @@ check_selinux() check_tirpc() { diff --git a/iproute2/patches/170-ip_tiny.patch b/iproute2/patches/170-ip_tiny.patch new file mode 100644 index 000000000..149bcd2af --- /dev/null +++ b/iproute2/patches/170-ip_tiny.patch @@ -0,0 +1,108 @@ +--- a/ip/Makefile ++++ b/ip/Makefile +@@ -19,6 +19,13 @@ RTMONOBJ=rtmon.o + + include ../config.mk + ++STATIC_SYM_FILTER:= ++ifeq ($(IP_CONFIG_TINY),y) ++ STATIC_SYM_FILTER:=iplink_can.c iplink_ipoib.c iplink_vxlan.c ++ CFLAGS += -DIPROUTE2_TINY ++endif ++STATIC_SYM_SOURCES:=$(filter-out $(STATIC_SYM_FILTER),$(wildcard *.c)) ++ + ALLOBJ=$(IPOBJ) $(RTMONOBJ) + SCRIPTS=routel + TARGETS=ip rtmon +@@ -48,7 +55,7 @@ else + + ip: static-syms.o + static-syms.o: static-syms.h +-static-syms.h: $(wildcard *.c) ++static-syms.h: $(STATIC_SYM_SOURCES) + files="$^" ; \ + for s in `grep -B 3 '\ 255) --- a/include/uapi/linux/rtnetlink.h +++ b/include/uapi/linux/rtnetlink.h -@@ -256,6 +256,7 @@ enum { +@@ -265,6 +265,7 @@ enum { RTN_THROW, /* Not in this table */ RTN_NAT, /* Translate this address */ RTN_XRESOLVE, /* Use external resolver */ diff --git a/iproute2/patches/190-fix-nls-rpath-link.patch b/iproute2/patches/190-fix-nls-rpath-link.patch index 92d02b9a4..545075fd8 100644 --- a/iproute2/patches/190-fix-nls-rpath-link.patch +++ b/iproute2/patches/190-fix-nls-rpath-link.patch @@ -1,6 +1,6 @@ --- a/configure +++ b/configure -@@ -279,7 +279,7 @@ int main(int argc, char **argv) { +@@ -241,7 +241,7 @@ int main(int argc, char **argv) { } EOF @@ -9,7 +9,7 @@ local ret=$? rm -f $TMPDIR/libbpf_test.c $TMPDIR/libbpf_test -@@ -297,7 +297,7 @@ int main(int argc, char **argv) { +@@ -259,7 +259,7 @@ int main(int argc, char **argv) { } EOF diff --git a/iproute2/patches/195-build_variant_ip_tc.patch b/iproute2/patches/195-build_variant_ip_tc.patch index 141763460..6ecf5568b 100644 --- a/iproute2/patches/195-build_variant_ip_tc.patch +++ b/iproute2/patches/195-build_variant_ip_tc.patch @@ -11,7 +11,7 @@ --- a/tc/Makefile +++ b/tc/Makefile -@@ -140,7 +140,7 @@ MODDESTDIR := $(DESTDIR)$(LIBDIR)/tc +@@ -120,7 +120,7 @@ MODDESTDIR := $(DESTDIR)$(LIBDIR)/tc $(QUIET_CC)$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -shared -fpic $< -o $@ @@ -19,4 +19,4 @@ +all: $(findstring tc,$(BUILD_VARIANT)) $(TCSO) tc: $(TCOBJ) $(LIBNETLINK) libtc.a - $(QUIET_LINK)$(CC) $(filter-out dynsyms.list, $^) $(LDFLAGS) $(LDLIBS) -o $@ + $(QUIET_LINK)$(CC) $^ $(LDFLAGS) $(LDLIBS) -o $@ diff --git a/iproute2/patches/200-drop_libbsd_dependency.patch b/iproute2/patches/200-drop_libbsd_dependency.patch new file mode 100644 index 000000000..38193be15 --- /dev/null +++ b/iproute2/patches/200-drop_libbsd_dependency.patch @@ -0,0 +1,19 @@ +--- a/configure ++++ b/configure +@@ -413,14 +413,8 @@ EOF + if $CC -I$INCLUDE -o $TMPDIR/strtest $TMPDIR/strtest.c >/dev/null 2>&1; then + echo "no" + else +- if ${PKG_CONFIG} libbsd --exists; then +- echo 'CFLAGS += -DHAVE_LIBBSD' "$(${PKG_CONFIG} libbsd --cflags)" >>$CONFIG +- echo 'LDLIBS +=' "$(${PKG_CONFIG} libbsd --libs)" >> $CONFIG +- echo "no" +- else +- echo 'CFLAGS += -DNEED_STRLCPY' >>$CONFIG +- echo "yes" +- fi ++ echo 'CFLAGS += -DNEED_STRLCPY' >>$CONFIG ++ echo "yes" + fi + rm -f $TMPDIR/strtest.c $TMPDIR/strtest + } diff --git a/iproute2/patches/300-selinux-configurable.patch b/iproute2/patches/300-selinux-configurable.patch index b7e61fd3b..9f07d3176 100644 --- a/iproute2/patches/300-selinux-configurable.patch +++ b/iproute2/patches/300-selinux-configurable.patch @@ -1,6 +1,6 @@ --- a/configure +++ b/configure -@@ -374,7 +374,7 @@ check_libbpf() +@@ -342,7 +342,7 @@ check_libbpf() check_selinux() # SELinux is a compile time option in the ss utility { diff --git a/iproute2/patches/400-rdma-include-libgen.h-for-basename.patch b/iproute2/patches/400-rdma-include-libgen.h-for-basename.patch new file mode 100644 index 000000000..530d2bcff --- /dev/null +++ b/iproute2/patches/400-rdma-include-libgen.h-for-basename.patch @@ -0,0 +1,10 @@ +--- a/rdma/rdma.h ++++ b/rdma/rdma.h +@@ -16,6 +16,7 @@ + #include + #include + #include ++#include + + #include "list.h" + #include "utils.h" diff --git a/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua b/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua index fa3269151..51aa986d6 100644 --- a/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua +++ b/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua @@ -649,6 +649,10 @@ function wizard_add() end ucic:set("openmptcprouter",server,"port","65500") ucic:set("openmptcprouter",server,"set_firewall","1") + ucic:delete("openmptcprouter",server,"detected_ss_ipv4") + ucic:delete("openmptcprouter",server,"detected_ss_ipv6") + ucic:delete("openmptcprouter",server,"detected_public_ipv4") + ucic:delete("openmptcprouter",server,"detected_public_ipv6") ucic:save("openmptcprouter") end diff --git a/luci-app-shadowsocks-rust/htdocs/luci-static/resources/shadowsocks-rust.js b/luci-app-shadowsocks-rust/htdocs/luci-static/resources/shadowsocks-rust.js index 4e6d12605..238cb10bb 100644 --- a/luci-app-shadowsocks-rust/htdocs/luci-static/resources/shadowsocks-rust.js +++ b/luci-app-shadowsocks-rust/htdocs/luci-static/resources/shadowsocks-rust.js @@ -183,7 +183,8 @@ return L.Class.extend({ } else if (stype === 'ss_local' || stype === 'ss_redir' || stype === 'ss_tunnel') { this.cfgvalue_overview_(sdata, lines, names_options_client); if (stype === 'ss_tunnel') { - this.cfgvalue_overview_(sdata, lines, ['tunnel_address']); + this.cfgvalue_overview_(sdata, lines, ['forward_address']); + this.cfgvalue_overview_(sdata, lines, ['forward_port']); } this.cfgvalue_overview_(sdata, lines, names_options_common); } else { diff --git a/luci-app-shadowsocks-rust/htdocs/luci-static/resources/view/shadowsocks-rust/instances.js b/luci-app-shadowsocks-rust/htdocs/luci-static/resources/view/shadowsocks-rust/instances.js index 66b18163d..419eed46f 100644 --- a/luci-app-shadowsocks-rust/htdocs/luci-static/resources/view/shadowsocks-rust/instances.js +++ b/luci-app-shadowsocks-rust/htdocs/luci-static/resources/view/shadowsocks-rust/instances.js @@ -92,10 +92,13 @@ return L.view.extend({ } else { ss.options_client(s, 'general', res[1]); if (stype === 'ss_tunnel') { - o = s.taboption('general', form.Value, 'tunnel_address', + o = s.taboption('general', form.Value, 'forward_address', _('Tunnel address'), _('The address ss-tunnel will forward traffic to')); - o.datatype = 'hostport'; + o.datatype = 'host'; + o = s.taboption('general', form.Value, 'forward_port', + _('Tunnel port'), + _('The port ss-tunnel will forward traffic to')); } } }, this)); diff --git a/mptcp/files/etc/init.d/mptcp b/mptcp/files/etc/init.d/mptcp index d370e7bb1..ddca7b9b1 100755 --- a/mptcp/files/etc/init.d/mptcp +++ b/mptcp/files/etc/init.d/mptcp @@ -581,7 +581,7 @@ start_service() { fi [ -n "$(uci -q changes network)" ] && uci -q commit network [ -n "$(uci -q changes openmptcprouter)" ] && uci -q commit openmptcprouter - [ -n "$(ubus call system board | jsonfilter -e '@.board_name' | grep raspberry)" ] && [ -z "$(ubus call system board | jsonfilter -e '@.board_name' | grep '4-model-b')" ] && { + [ -n "$(ubus call system board | jsonfilter -e '@.board_name' | grep raspberry)" ] && [ -z "$(ubus call system board | jsonfilter -e '@.board_name' | grep '4-model-b')" ] && [ -z "$(ubus call system board | jsonfilter -e '@.board_name' | grep '5')" ] && { ethtool --offload eth0 rx off tx off > /dev/null 2>&1 } [ -n "$(ubus call system board | jsonfilter -e '@.board_name' | grep -i r2s)" ] && { diff --git a/mptcpd/Makefile b/mptcpd/Makefile index 36c3af633..b33a6bd80 100644 --- a/mptcpd/Makefile +++ b/mptcpd/Makefile @@ -1,5 +1,5 @@ # -# Copyright (C) 2020-2023 Ycarus (Yannick Chabanois) for OpenMPTCProuter project +# Copyright (C) 2020-2024 Ycarus (Yannick Chabanois) for OpenMPTCProuter project # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -10,8 +10,8 @@ include $(TOPDIR)/rules.mk PKG_NAME:=mptcpd PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/multipath-tcp/mptcpd.git -PKG_SOURCE_VERSION:=863e83f255f55dfd0ba9325d816bd99f6d9da0c2 -PKG_VERSION:=0.12-$(PKG_SOURCE_VERSION) +PKG_SOURCE_VERSION:=d186d935fa21ef95fb1784abaeca6d0803978351 +PKG_VERSION:=0.13-$(PKG_SOURCE_VERSION) PKG_RELEASE:=1 PKG_MAINTAINER:=Ycarus (Yannick Chabanois) diff --git a/omr-tracker/files/bin/omr-tracker-server b/omr-tracker/files/bin/omr-tracker-server index a5aefb65e..ab2daea60 100755 --- a/omr-tracker/files/bin/omr-tracker-server +++ b/omr-tracker/files/bin/omr-tracker-server @@ -225,6 +225,10 @@ _check_master() { fi uci -q batch <<-EOF >/dev/null set openmptcprouter.${name}.current='1' + del openmptcprouter.omr.detected_ss_ipv4 + del openmptcprouter.omr.detected_public_ipv4 + del openmptcprouter.omr.detected_ss_ipv6 + del openmptcprouter.omr.detected_public_ipv6 commit openmptcprouter EOF if [ "$count" -eq "0" ]; then @@ -427,6 +431,10 @@ _check_backup() { fi uci -q batch <<-EOF >/dev/null set openmptcprouter.${name}.current='1' + del openmptcprouter.omr.detected_ss_ipv4 + del openmptcprouter.omr.detected_public_ipv4 + del openmptcprouter.omr.detected_ss_ipv6 + del openmptcprouter.omr.detected_public_ipv6 commit openmptcprouter EOF diff --git a/omr-tracker/files/bin/omr-tracker-ss b/omr-tracker/files/bin/omr-tracker-ss index 5079968a9..c98ae7f08 100755 --- a/omr-tracker/files/bin/omr-tracker-ss +++ b/omr-tracker/files/bin/omr-tracker-ss @@ -131,6 +131,7 @@ while true; do } script_alert_up="$(uci -q get omr-tracker.proxy.script_alert_up)" [ -n "$script_alert_up" ] && eval $script_alert_up + _get_ip } if [ -z "$($IPTABLESSAVE 2>/dev/null | grep :ssr)" ] && [ -z "$(nft list ruleset 2>/dev/null | grep ss_r)" ] && [ -z "$(nft list ruleset 2>/dev/null | grep ssr_r)" ]; then if [ "$type" = "libev" ] && [ "$(uci -q get shadowsocks-libev.ss_rules.disabled)" != "1" ] && [ "$(uci -q get shadowsocks-libev.${server}.key)" != "" ] && [ "$(uci -q get shadowsocks-libev.${server}.server)" != "" ] && [ "$(uci -q get shadowsocks-libev.${server}.disabled)" != "1" ]; then @@ -197,7 +198,6 @@ while true; do } script_alert_down="$(uci -q get omr-tracker.proxy.script_alert_down)" [ -n "$script_alert_down" ] && eval $script_alert_down - if [ "$disabled" != "1" ] && [ "$serverip" != "1" ]; then if [ "$type" = "libev" ] && [ "$(pgrep ss-redir)" = "" ] && [ "$(uci -q get shadowsocks-libev.${server}.key)" != "" ]; then _log "Can't find shadowsocks, restart it..." diff --git a/omr-tracker/files/bin/omr-tracker-v2ray b/omr-tracker/files/bin/omr-tracker-v2ray index 97babefe6..4451eb787 100755 --- a/omr-tracker/files/bin/omr-tracker-v2ray +++ b/omr-tracker/files/bin/omr-tracker-v2ray @@ -127,6 +127,7 @@ while true; do } script_alert_up="$(uci -q get omr-tracker.proxy.script_alert_up)" [ -n "$script_alert_up" ] && eval $script_alert_up + _get_ip } if [ -z "$($IPTABLES -w -t nat -L -n 2>/dev/null | grep ^v2r)" ] && [ -z "$(nft list ruleset 2>/dev/null | grep 'chain v2r')" ]; then _log "Reload V2Ray rules" diff --git a/omr-tracker/files/bin/omr-tracker-xray b/omr-tracker/files/bin/omr-tracker-xray index 76781ba24..91cf729ff 100755 --- a/omr-tracker/files/bin/omr-tracker-xray +++ b/omr-tracker/files/bin/omr-tracker-xray @@ -126,6 +126,7 @@ while true; do } script_alert_up="$(uci -q get omr-tracker.proxy.script_alert_up)" [ -n "$script_alert_up" ] && eval $script_alert_up + _get_ip } if [ -z "$($IPTABLES -w -t nat -L -n 2>/dev/null | grep ^xr)" ] && [ -z "$(nft list ruleset 2>/dev/null | grep 'chain xr')" ]; then _log "Reload xray rules" diff --git a/openmptcprouter-full/Makefile b/openmptcprouter-full/Makefile index 72c1e0844..3417904b9 100644 --- a/openmptcprouter-full/Makefile +++ b/openmptcprouter-full/Makefile @@ -43,7 +43,7 @@ MY_DEPENDS := \ luci-app-mptcp luci-app-openmptcprouter luci-app-omr-bypass luci-app-mail luci-app-upnp \ luci-app-wol luci-app-opkg \ luci-app-uhttpd \ - luci-mod-rpc rpcd-mod-rpcsys rpcd-mod-file rpcd-mod-iwinfo \ + LINUX_5_4:luci-mod-rpc rpcd-mod-rpcsys rpcd-mod-file rpcd-mod-iwinfo \ luci-app-openvpn \ shadowsocks-libev-ss-server shadowsocks-libev-ss-redir LINUX_5_4:shadowsocks-libev-ss-rules !LINUX_5_4:shadowsocks-libev-ss-rules-nft shadowsocks-libev-ss-tunnel \ omr-6in4 ip6tables-mod-nat luci-proto-ipv6 6to4 6in4 6rd ip6tables \ diff --git a/openmptcprouter/files/etc/uci-defaults/1930-omr-shadowsocks b/openmptcprouter/files/etc/uci-defaults/1930-omr-shadowsocks index 437ede096..cd8386aa9 100755 --- a/openmptcprouter/files/etc/uci-defaults/1930-omr-shadowsocks +++ b/openmptcprouter/files/etc/uci-defaults/1930-omr-shadowsocks @@ -127,6 +127,14 @@ if [ -z "$(uci -q get shadowsocks-rust.hi1.keep_alive)" ]; then commit shadowsocks-rust EOF fi +if [ -z "$(uci -q get shadowsocks-rust.dns.forward_address)" ]; then + uci -q batch <<-EOF > /dev/null + set shadowsocks-rust.dns.forward_address="8.8.8.8" + set shadowsocks-rust.dns.forward_port=53 + del shadowsocks-rust.dns.tunnel_address + commit shadowsocks-rust + EOF +fi rm -f /tmp/luci-indexcache exit 0 diff --git a/openvpn/Makefile b/openvpn/Makefile index 3bd46b9c6..964b59c3f 100644 --- a/openvpn/Makefile +++ b/openvpn/Makefile @@ -9,14 +9,14 @@ include $(TOPDIR)/rules.mk PKG_NAME:=openvpn -PKG_VERSION:=2.6.10 +PKG_VERSION:=2.6.12 PKG_RELEASE:=10 PKG_SOURCE_URL:=\ https://build.openvpn.net/downloads/releases/ \ https://swupdate.openvpn.net/community/releases/ PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz -PKG_HASH:=1993bbb7b9edb430626eaa24573f881fd3df642f427fcb824b1aed1fca1bcc9b +PKG_HASH:=1c610fddeb686e34f1367c347e027e418e07523a10f4d8ce4a2c2af2f61a1929 PKG_MAINTAINER:=Magnus Kroken diff --git a/openvpn/patches/100-mbedtls-disable-runtime-version-check.patch b/openvpn/patches/100-mbedtls-disable-runtime-version-check.patch index c54277006..c327166ab 100644 --- a/openvpn/patches/100-mbedtls-disable-runtime-version-check.patch +++ b/openvpn/patches/100-mbedtls-disable-runtime-version-check.patch @@ -1,11 +1,11 @@ --- a/src/openvpn/ssl_mbedtls.c +++ b/src/openvpn/ssl_mbedtls.c -@@ -1535,7 +1535,7 @@ const char * +@@ -1612,7 +1612,7 @@ const char * get_ssl_library_version(void) { static char mbedtls_version[30]; - unsigned int pv = mbedtls_version_get_number(); + unsigned int pv = MBEDTLS_VERSION_NUMBER; - sprintf( mbedtls_version, "mbed TLS %d.%d.%d", + snprintf(mbedtls_version, sizeof(mbedtls_version), "mbed TLS %d.%d.%d", (pv>>24)&0xff, (pv>>16)&0xff, (pv>>8)&0xff ); return mbedtls_version; diff --git a/shadowsocks-rust/files/shadowsocks-rust.config b/shadowsocks-rust/files/shadowsocks-rust.config index 498783762..d618841a9 100644 --- a/shadowsocks-rust/files/shadowsocks-rust.config +++ b/shadowsocks-rust/files/shadowsocks-rust.config @@ -57,7 +57,8 @@ config ss_tunnel 'dns' option mode 'tcp_and_udp' option server 'sss0' option local_port '5353' - option tunnel_address '8.8.8.8:53' + option forward_address '8.8.8.8' + option forward_port '53' config ss_local 'tracker_sss0' option server 'sss0' diff --git a/shadowsocks-rust/files/shadowsocks-rust.init-nft b/shadowsocks-rust/files/shadowsocks-rust.init-nft index 9add4eddd..72394c3da 100755 --- a/shadowsocks-rust/files/shadowsocks-rust.init-nft +++ b/shadowsocks-rust/files/shadowsocks-rust.init-nft @@ -55,8 +55,10 @@ ss_mkjson_ss_server_conf() { ss_mkjson_ss_tunnel_conf() { ss_mkjson_server_conf || return 1 - [ -n "$tunnel_address" ] || return 1 - json_add_string tunnel_address "$tunnel_address" + [ -n "$forward_address" ] || return 1 + [ -n "$forward_port" ] || return 1 + json_add_string forward_address "$forward_address" + json_add_int forward_port "$forward_port" } ss_xxx() { @@ -421,5 +423,6 @@ validate_ss_server_section() { validate_ss_tunnel_section() { validate_common_client_options_ ss_tunnel "$1" \ "$2" \ - 'tunnel_address:regex(".+\:[0-9]+")' + 'forward_address:host' + 'forward_port:uinteger' }