diff --git a/lang/luajit/Makefile b/lang/luajit/Makefile index 3ce1555b6..78b9726d5 100644 --- a/lang/luajit/Makefile +++ b/lang/luajit/Makefile @@ -24,12 +24,19 @@ define Package/luajit CATEGORY:=Languages TITLE:=LuaJIT URL:=https://www.luajit.org - DEPENDS:=@(i386||x86_64||arm||armeb||aarch64||powerpc||mips||mipsel||mips64) + DEPENDS:=@HAS_LUAJIT_ARCH endef define Package/luajit/description LuaJIT is a Just-In-Time (JIT) compiler for the Lua programming language. *** Requires GCC Multilib on host system to build! *** endef + +define Package/luajit/config +config HAS_LUAJIT_ARCH + bool + default y if i386||x86_64||arm||armeb||aarch64||powerpc||mips||mipsel||mips64 +endef + ifeq ($(HOST_ARCH),$(filter $(HOST_ARCH), x86_64 mips64)) ifeq ($(CONFIG_ARCH_64BIT),) HOST_BITS := -m32 diff --git a/lang/luajit2/Makefile b/lang/luajit2/Makefile index ba002be5e..86dc28018 100644 --- a/lang/luajit2/Makefile +++ b/lang/luajit2/Makefile @@ -17,13 +17,17 @@ PKG_BUILD_FLAGS:=no-mips16 include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/host-build.mk +# HAS_LUAJIT_ARCH config is defined in luajit and is used to define +# arch deoendency for luajit. Since luajit2 is an improved version of +# luajit, they share the same arch dependency. Refer there to update +# dependency for them. define Package/luajit2 SECTION:=lang CATEGORY:=Languages SUBMENU:=Lua TITLE:=LuaJIT from OpenResty URL:=https://www.luajit.org - DEPENDS:=@(i386||x86_64||arm||armeb||aarch64||powerpc||mips||mipsel||mips64) + DEPENDS:=@HAS_LUAJIT_ARCH PROVIDES:=luajit endef diff --git a/lang/php8-pecl-redis/Makefile b/lang/php8-pecl-redis/Makefile index 5fe724ddf..0a53121c9 100644 --- a/lang/php8-pecl-redis/Makefile +++ b/lang/php8-pecl-redis/Makefile @@ -8,9 +8,9 @@ include $(TOPDIR)/rules.mk PECL_NAME:=redis PECL_LONGNAME:=PHP extension for interfacing with Redis -PKG_VERSION:=5.3.7 -PKG_RELEASE:=2 -PKG_HASH:=b958166ccda4f40bd17c6998f9e2239021ae644467cd8ad5c15def420aad65b0 +PKG_VERSION:=6.0.1 +PKG_RELEASE:=1 +PKG_HASH:=d39136e0ef9495f8e775ef7349a97658fb41c526d12d8e517f56274f149e1e4e PKG_NAME:=php8-pecl-redis PKG_SOURCE:=$(PECL_NAME)-$(PKG_VERSION).tgz diff --git a/lang/python/python-cryptography/Makefile b/lang/python/python-cryptography/Makefile index eca939458..6ef9cb969 100644 --- a/lang/python/python-cryptography/Makefile +++ b/lang/python/python-cryptography/Makefile @@ -8,17 +8,17 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-cryptography -PKG_VERSION:=3.4.8 -PKG_RELEASE:=3 +PKG_VERSION:=41.0.4 +PKG_RELEASE:=1 PYPI_NAME:=cryptography -PKG_HASH:=94cc5ed4ceaefcbe5bf38c8fba6a21fc1d365bb8fb826ea1688e3370b2e24a1c +PKG_HASH:=7febc3094125fc126a7f6fb1f420d0da639f3f32cb15c8ff0dc3997c4549f51a PKG_LICENSE:=Apache-2.0 BSD-3-Clause PKG_LICENSE_FILES:=LICENSE.APACHE LICENSE.BSD PKG_MAINTAINER:=Jeffery To -PKG_BUILD_DEPENDS:=libffi/host python-cffi/host # cffi>=1.12 +PKG_BUILD_DEPENDS:=libffi/host python-cffi/host python-setuptools-rust/host include ../pypi.mk include $(INCLUDE_DIR)/package.mk @@ -32,18 +32,18 @@ define Package/python3-cryptography URL:=https://github.com/pyca/cryptography DEPENDS:= \ +libopenssl \ + +libopenssl-legacy \ +python3-light \ +python3-email \ - +python3-openssl \ +python3-urllib \ +python3-cffi \ - +python3-six + $(RUST_ARCH_DEPENDS) endef define Package/python3-cryptography/description cryptography is a package which provides cryptographic recipes and -primitives to Python developers. Our goal is for it to be your "cryptographic -standard library". It supports Python 2.6-2.7, Python 3.3+, and PyPy 2.6+. +primitives to Python developers. Our goal is for it to be your +"cryptographic standard library". endef $(eval $(call Py3Package,python3-cryptography)) diff --git a/lang/python/python-cryptography/patches/0001-Add-new-ASN1_STRING_get0_data-API.patch b/lang/python/python-cryptography/patches/0001-Add-new-ASN1_STRING_get0_data-API.patch deleted file mode 100644 index 46adae82d..000000000 --- a/lang/python/python-cryptography/patches/0001-Add-new-ASN1_STRING_get0_data-API.patch +++ /dev/null @@ -1,20 +0,0 @@ -From 7eefc9c72f522e414f953fee2d6ca9242c566107 Mon Sep 17 00:00:00 2001 -From: Rosen Penev -Date: Fri, 7 Jun 2019 18:18:46 -0700 -Subject: [PATCH 1/7] Add new ASN1_STRING_get0_data API - -Introduced with OpenSSL 1.1 ---- - src/_cffi_src/openssl/asn1.py | 4 ++++ - 1 file changed, 4 insertions(+) - ---- a/src/_cffi_src/openssl/asn1.py -+++ b/src/_cffi_src/openssl/asn1.py -@@ -105,4 +105,7 @@ ASN1_NULL *ASN1_NULL_new(void); - """ - - CUSTOMIZATIONS = """ -+#if (OPENSSL_API_COMPAT >= 0x10100000L) && !CRYPTOGRAPHY_IS_LIBRESSL -+#define ASN1_STRING_data ASN1_STRING_get0_data -+#endif - """ diff --git a/lang/python/python-cryptography/patches/0002-Add-compatibility-for-X509_STORE_set_get_issuer.patch b/lang/python/python-cryptography/patches/0002-Add-compatibility-for-X509_STORE_set_get_issuer.patch deleted file mode 100644 index 52f434095..000000000 --- a/lang/python/python-cryptography/patches/0002-Add-compatibility-for-X509_STORE_set_get_issuer.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 77b25307a743eb52ef5ead24c956e577f5bd025f Mon Sep 17 00:00:00 2001 -From: Rosen Penev -Date: Fri, 7 Jun 2019 20:42:04 -0700 -Subject: [PATCH 2/7] Add compatibility for X509_STORE_set_get_issuer - -Deprecated under OpenSSL 1.1. ---- - src/_cffi_src/openssl/x509_vfy.py | 8 ++++++++ - src/cryptography/hazmat/bindings/openssl/_conditional.py | 8 ++++++++ - 2 files changed, 16 insertions(+) - ---- a/src/_cffi_src/openssl/x509_vfy.py -+++ b/src/_cffi_src/openssl/x509_vfy.py -@@ -21,6 +21,7 @@ TYPES = """ - static const long Cryptography_HAS_102_VERIFICATION; - static const long Cryptography_HAS_110_VERIFICATION_PARAMS; - static const long Cryptography_HAS_X509_STORE_CTX_GET_ISSUER; -+static const long Cryptography_HAS_X509_CB_ISSUER_CHECK; - - typedef ... Cryptography_STACK_OF_ASN1_OBJECT; - typedef ... Cryptography_STACK_OF_X509_OBJECT; -@@ -257,4 +258,11 @@ void (*X509_STORE_set_get_issuer)(X509_S - #else - static const long Cryptography_HAS_X509_STORE_CTX_GET_ISSUER = 1; - #endif -+ -+#ifndef X509_V_FLAG_CB_ISSUER_CHECK -+static const long Cryptography_HAS_X509_CB_ISSUER_CHECK = 0; -+#define X509_V_FLAG_CB_ISSUER_CHECK 0x0 -+#else -+static const long Cryptography_HAS_X509_CB_ISSUER_CHECK = 1; -+#endif - """ ---- a/src/cryptography/hazmat/bindings/openssl/_conditional.py -+++ b/src/cryptography/hazmat/bindings/openssl/_conditional.py -@@ -269,6 +269,11 @@ def cryptography_has_get_proto_version() - "SSL_get_max_proto_version", - ] - -+def cryptography_has_x509_cb_issuer_check(): -+ return [ -+ "X509_V_FLAG_CB_ISSUER_CHECK", -+ ] -+ - - # This is a mapping of - # {condition: function-returning-names-dependent-on-that-condition} so we can -@@ -318,4 +323,7 @@ CONDITIONAL_NAMES = { - "Cryptography_HAS_VERIFIED_CHAIN": cryptography_has_verified_chain, - "Cryptography_HAS_SRTP": cryptography_has_srtp, - "Cryptography_HAS_GET_PROTO_VERSION": cryptography_has_get_proto_version, -+ "Cryptography_HAS_X509_CB_ISSUER_CHECK": ( -+ cryptography_has_x509_cb_issuer_check -+ ), - } diff --git a/lang/python/python-cryptography/patches/0003-Add-compatibility-for-deprecated-TLS-methods.patch b/lang/python/python-cryptography/patches/0003-Add-compatibility-for-deprecated-TLS-methods.patch deleted file mode 100644 index f30d1e92b..000000000 --- a/lang/python/python-cryptography/patches/0003-Add-compatibility-for-deprecated-TLS-methods.patch +++ /dev/null @@ -1,127 +0,0 @@ -From 7a55c37e01114dfd1ae733b099fdee1ba1889449 Mon Sep 17 00:00:00 2001 -From: Rosen Penev -Date: Fri, 7 Jun 2019 21:00:46 -0700 -Subject: [PATCH 3/7] Add compatibility for deprecated TLS methods - ---- - src/_cffi_src/openssl/ssl.py | 45 +++++++++++++++++-- - .../hazmat/bindings/openssl/_conditional.py | 36 +++++++++++++++ - 2 files changed, 77 insertions(+), 4 deletions(-) - ---- a/src/_cffi_src/openssl/ssl.py -+++ b/src/_cffi_src/openssl/ssl.py -@@ -13,12 +13,14 @@ TYPES = """ - static const long Cryptography_HAS_SSL_ST; - static const long Cryptography_HAS_TLS_ST; - static const long Cryptography_HAS_SSL3_METHOD; --static const long Cryptography_HAS_TLSv1_1; --static const long Cryptography_HAS_TLSv1_2; -+static const long Cryptography_HAS_TLS1_METHOD; -+static const long Cryptography_HAS_TLS1_1_METHOD; -+static const long Cryptography_HAS_TLS1_2_METHOD; - static const long Cryptography_HAS_TLSv1_3; - static const long Cryptography_HAS_SECURE_RENEGOTIATION; - static const long Cryptography_HAS_SSL_CTX_CLEAR_OPTIONS; - static const long Cryptography_HAS_DTLS; -+static const long Cryptography_HAS_DTLS1_METHOD; - static const long Cryptography_HAS_SIGALGS; - static const long Cryptography_HAS_PSK; - static const long Cryptography_HAS_VERIFIED_CHAIN; -@@ -548,8 +550,43 @@ static const long Cryptography_HAS_SSL3_ - - static const long Cryptography_HAS_RELEASE_BUFFERS = 1; - static const long Cryptography_HAS_OP_NO_COMPRESSION = 1; --static const long Cryptography_HAS_TLSv1_1 = 1; --static const long Cryptography_HAS_TLSv1_2 = 1; -+ -+#if (OPENSSL_API_COMPAT >= 0x10100000L) && !CRYPTOGRAPHY_IS_LIBRESSL -+static const long Cryptography_HAS_TLS1_METHOD = 0; -+const SSL_METHOD* (*TLSv1_method)(void) = NULL; -+const SSL_METHOD* (*TLSv1_server_method)(void) = NULL; -+const SSL_METHOD* (*TLSv1_client_method)(void) = NULL; -+#else -+static const long Cryptography_HAS_TLS1_METHOD = 1; -+#endif -+ -+#if (OPENSSL_API_COMPAT >= 0x10100000L) && !CRYPTOGRAPHY_IS_LIBRESSL -+static const long Cryptography_HAS_TLS1_1_METHOD = 0; -+const SSL_METHOD* (*TLSv1_1_method)(void) = NULL; -+const SSL_METHOD* (*TLSv1_1_server_method)(void) = NULL; -+const SSL_METHOD* (*TLSv1_1_client_method)(void) = NULL; -+#else -+static const long Cryptography_HAS_TLS1_1_METHOD = 1; -+#endif -+ -+#if (OPENSSL_API_COMPAT >= 0x10100000L) && !CRYPTOGRAPHY_IS_LIBRESSL -+static const long Cryptography_HAS_TLS1_2_METHOD = 0; -+const SSL_METHOD* (*TLSv1_2_method)(void) = NULL; -+const SSL_METHOD* (*TLSv1_2_server_method)(void) = NULL; -+const SSL_METHOD* (*TLSv1_2_client_method)(void) = NULL; -+#else -+static const long Cryptography_HAS_TLS1_2_METHOD = 1; -+#endif -+ -+#if (OPENSSL_API_COMPAT >= 0x10100000L) && !CRYPTOGRAPHY_IS_LIBRESSL -+static const long Cryptography_HAS_DTLS1_METHOD = 0; -+const SSL_METHOD* (*DTLSv1_method)(void) = NULL; -+const SSL_METHOD* (*DTLSv1_server_method)(void) = NULL; -+const SSL_METHOD* (*DTLSv1_client_method)(void) = NULL; -+#else -+static const long Cryptography_HAS_DTLS1_METHOD = 1; -+#endif -+ - static const long Cryptography_HAS_SSL_OP_MSIE_SSLV2_RSA_PADDING = 1; - static const long Cryptography_HAS_SSL_OP_NO_TICKET = 1; - static const long Cryptography_HAS_SSL_SET_SSL_CTX = 1; ---- a/src/cryptography/hazmat/bindings/openssl/_conditional.py -+++ b/src/cryptography/hazmat/bindings/openssl/_conditional.py -@@ -31,6 +31,38 @@ def cryptography_has_ssl3_method(): - ] - - -+def cryptography_has_tls1_method(): -+ return [ -+ "TLSv1_method", -+ "TLSv1_client_method", -+ "TLSv1_server_method", -+ ] -+ -+ -+def cryptography_has_tls1_1_method(): -+ return [ -+ "TLSv1_1_method", -+ "TLSv1_1_client_method", -+ "TLSv1_1_server_method", -+ ] -+ -+ -+def cryptography_has_tls1_2_method(): -+ return [ -+ "TLSv1_2_method", -+ "TLSv1_2_client_method", -+ "TLSv1_2_server_method", -+ ] -+ -+ -+def cryptography_has_dtls1_method(): -+ return [ -+ "DTLSv1_method", -+ "DTLSv1_client_method", -+ "DTLSv1_server_method", -+ ] -+ -+ - def cryptography_has_102_verification(): - return [ - "X509_V_ERR_SUITE_B_INVALID_VERSION", -@@ -285,6 +317,10 @@ CONDITIONAL_NAMES = { - "Cryptography_HAS_RSA_OAEP_MD": cryptography_has_rsa_oaep_md, - "Cryptography_HAS_RSA_OAEP_LABEL": cryptography_has_rsa_oaep_label, - "Cryptography_HAS_SSL3_METHOD": cryptography_has_ssl3_method, -+ "Cryptography_HAS_TLS1_METHOD": cryptography_has_tls1_method, -+ "Cryptography_HAS_TLS1_1_METHOD": cryptography_has_tls1_1_method, -+ "Cryptography_HAS_TLS1_2_METHOD": cryptography_has_tls1_2_method, -+ "Cryptography_HAS_DTLS1_METHOD": cryptography_has_dtls1_method, - "Cryptography_HAS_102_VERIFICATION": cryptography_has_102_verification, - "Cryptography_HAS_110_VERIFICATION_PARAMS": ( - cryptography_has_110_verification_params diff --git a/lang/python/python-cryptography/patches/0004-disable-rust.patch b/lang/python/python-cryptography/patches/0004-disable-rust.patch deleted file mode 100644 index bf3010bb0..000000000 --- a/lang/python/python-cryptography/patches/0004-disable-rust.patch +++ /dev/null @@ -1,33 +0,0 @@ ---- a/pyproject.toml -+++ b/pyproject.toml -@@ -6,7 +6,6 @@ requires = [ - "wheel", - # Must be kept in sync with the `setup_requirements` in `setup.py` - "cffi>=1.12; platform_python_implementation != 'PyPy'", -- "setuptools-rust>=0.11.4", - ] - build-backend = "setuptools.build_meta" - ---- a/setup.py -+++ b/setup.py -@@ -11,7 +11,7 @@ import sys - from setuptools import find_packages, setup - - try: -- from setuptools_rust import RustExtension -+ pass - except ImportError: - print( - """ -@@ -43,9 +43,9 @@ with open(os.path.join(src_dir, "cryptog - # `pyproject.toml` - setuptools_rust = "setuptools-rust>=0.11.4" - install_requirements = ["cffi>=1.12"] --setup_requirements = install_requirements + [setuptools_rust] -+setup_requirements = install_requirements - --if os.environ.get("CRYPTOGRAPHY_DONT_BUILD_RUST"): -+if True: - rust_extensions = [] - else: - rust_extensions = [ diff --git a/lang/python/python-cryptography/patches/0006-Add-X509_STORE_CTX_trusted_stack-compatibility-macro.patch b/lang/python/python-cryptography/patches/0006-Add-X509_STORE_CTX_trusted_stack-compatibility-macro.patch deleted file mode 100644 index d43abc6d6..000000000 --- a/lang/python/python-cryptography/patches/0006-Add-X509_STORE_CTX_trusted_stack-compatibility-macro.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 98bf3eda9c950158cf6a0a6a698dd365712201b1 Mon Sep 17 00:00:00 2001 -From: Rosen Penev -Date: Mon, 25 Nov 2019 12:06:16 -0800 -Subject: [PATCH 6/7] Add X509_STORE_CTX_trusted_stack compatibility macro - -Deprecated in 1.1 - -Signed-off-by: Rosen Penev ---- - src/_cffi_src/openssl/x509_vfy.py | 12 +++++++++++- - 1 file changed, 11 insertions(+), 1 deletion(-) - ---- a/src/_cffi_src/openssl/x509_vfy.py -+++ b/src/_cffi_src/openssl/x509_vfy.py -@@ -265,4 +265,10 @@ static const long Cryptography_HAS_X509_ - #else - static const long Cryptography_HAS_X509_CB_ISSUER_CHECK = 1; - #endif -+ -+#if (OPENSSL_API_COMPAT >= 0x10100000L) && !CRYPTOGRAPHY_IS_LIBRESSL -+#define X509_STORE_CTX_trusted_stack X509_STORE_CTX_set0_trusted_stack -+#define X509_STORE_CTX_set_chain X509_STORE_CTX_set0_untrusted -+#define X509_STORE_CTX_get_chain X509_STORE_CTX_get1_chain -+#endif - """ diff --git a/lang/python/python-cryptography/patches/0007-Add-defines-for-totally-deprecated-functions.patch b/lang/python/python-cryptography/patches/0007-Add-defines-for-totally-deprecated-functions.patch deleted file mode 100644 index 7aca62c8d..000000000 --- a/lang/python/python-cryptography/patches/0007-Add-defines-for-totally-deprecated-functions.patch +++ /dev/null @@ -1,56 +0,0 @@ -From e96af1cee523c5551c7fc5f36eba8e271fa51b20 Mon Sep 17 00:00:00 2001 -From: Rosen Penev -Date: Thu, 5 Dec 2019 12:52:13 -0800 -Subject: [PATCH 7/7] Add defines for totally deprecated functions - ---- - src/_cffi_src/openssl/conf.py | 4 ++++ - src/_cffi_src/openssl/crypto.py | 4 ++++ - src/_cffi_src/openssl/ecdh.py | 3 +++ - src/_cffi_src/openssl/ssl.py | 5 +++++ - 4 files changed, 16 insertions(+) - ---- a/src/_cffi_src/openssl/conf.py -+++ b/src/_cffi_src/openssl/conf.py -@@ -17,4 +17,8 @@ void OPENSSL_no_config(void); - """ - - CUSTOMIZATIONS = """ -+#if (OPENSSL_API_COMPAT >= 0x10100000L) && !CRYPTOGRAPHY_IS_LIBRESSL -+#define OPENSSL_config(x) 0 -+#define OPENSSL_no_config() 0 -+#endif - """ ---- a/src/_cffi_src/openssl/crypto.py -+++ b/src/_cffi_src/openssl/crypto.py -@@ -113,4 +113,8 @@ void *Cryptography_realloc_wrapper(void - void Cryptography_free_wrapper(void *ptr, const char *path, int line) { - free(ptr); - } -+ -+#if (OPENSSL_API_COMPAT >= 0x10100000L) && !CRYPTOGRAPHY_IS_LIBRESSL -+#define CRYPTO_get_locking_callback() 0 -+#endif - """ ---- a/src/_cffi_src/openssl/ecdh.py -+++ b/src/_cffi_src/openssl/ecdh.py -@@ -17,4 +17,7 @@ long SSL_CTX_set_ecdh_auto(SSL_CTX *, in - """ - - CUSTOMIZATIONS = """ -+#if (OPENSSL_API_COMPAT >= 0x10100000L) && !CRYPTOGRAPHY_IS_LIBRESSL -+#define SSL_CTX_set_ecdh_auto(a, b) ((b) != 0) -+#endif - """ ---- a/src/_cffi_src/openssl/ssl.py -+++ b/src/_cffi_src/openssl/ssl.py -@@ -745,4 +745,9 @@ long (*SSL_get_max_proto_version)(SSL *) - #else - static const long Cryptography_HAS_GET_PROTO_VERSION = 1; - #endif -+ -+#if (OPENSSL_API_COMPAT >= 0x10100000L) && !CRYPTOGRAPHY_IS_LIBRESSL -+#define SSL_library_init() 1 -+#define SSL_load_error_strings() 0 -+#endif - """ diff --git a/lang/python/python-cryptography/patches/001-Update-ouroboros.patch b/lang/python/python-cryptography/patches/001-Update-ouroboros.patch new file mode 100644 index 000000000..93abe3a4f --- /dev/null +++ b/lang/python/python-cryptography/patches/001-Update-ouroboros.patch @@ -0,0 +1,13 @@ +Fixes https://rustsec.org/advisories/RUSTSEC-2023-0042.html + +--- a/src/rust/Cargo.toml ++++ b/src/rust/Cargo.toml +@@ -15,7 +15,7 @@ cryptography-cffi = { path = "cryptograp + cryptography-x509 = { path = "cryptography-x509" } + cryptography-openssl = { path = "cryptography-openssl" } + pem = "1.1" +-ouroboros = "0.15" ++ouroboros = "0.18" + openssl = "0.10.54" + openssl-sys = "0.9.88" + foreign-types-shared = "0.1" diff --git a/lang/python/python-cryptography/test.sh b/lang/python/python-cryptography/test.sh new file mode 100644 index 000000000..b706d561a --- /dev/null +++ b/lang/python/python-cryptography/test.sh @@ -0,0 +1,12 @@ +#!/bin/sh + +[ "$1" = python3-cryptography ] || exit 0 + +python3 - << EOF +import sys +from cryptography.fernet import Fernet +key = Fernet.generate_key() +f = Fernet(key) +token = f.encrypt(b"my deep dark secret") +sys.exit(0 if f.decrypt(token) == b"my deep dark secret" else 1) +EOF diff --git a/lang/python/python-semantic-version/Makefile b/lang/python/python-semantic-version/Makefile new file mode 100644 index 000000000..9a78393f6 --- /dev/null +++ b/lang/python/python-semantic-version/Makefile @@ -0,0 +1,49 @@ +# +# Copyright (C) 2023 Jeffery To +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=python-semantic-version +PKG_VERSION:=2.10.0 +PKG_RELEASE:=1 + +PYPI_NAME:=semantic-version +PYPI_SOURCE_NAME:=semantic_version +PKG_HASH:=bdabb6d336998cbb378d4b9db3a4b56a1e3235701dc05ea2690d9a997ed5041c + +PKG_LICENSE:=BSD-2-Clause +PKG_LICENSE_FILES:=LICENSE +PKG_MAINTAINER:=Jeffery To + +PKG_HOST_ONLY:=1 +HOST_BUILD_DEPENDS:=python3/host python-build/host python-installer/host python-wheel/host + +include ../pypi.mk +include $(INCLUDE_DIR)/package.mk +include $(INCLUDE_DIR)/host-build.mk +include ../python3-package.mk +include ../python3-host-build.mk + +define Package/python3-semantic-version + SUBMENU:=Python + SECTION:=lang + CATEGORY:=Languages + TITLE:=Library implementing the 'SemVer' scheme + URL:=https://github.com/rbarrois/python-semanticversion + DEPENDS:=+python3-light + BUILDONLY:=1 +endef + +define Package/python3-semantic-version/description +This small python library provides a few tools to handle SemVer in +Python. It follows strictly the 2.0.0 version of the SemVer scheme. +endef + +$(eval $(call Py3Package,python3-semantic-version)) +$(eval $(call BuildPackage,python3-semantic-version)) +$(eval $(call BuildPackage,python3-semantic-version-src)) +$(eval $(call HostBuild)) diff --git a/lang/python/python-setuptools-rust/Makefile b/lang/python/python-setuptools-rust/Makefile new file mode 100644 index 000000000..19325c1fd --- /dev/null +++ b/lang/python/python-setuptools-rust/Makefile @@ -0,0 +1,62 @@ +# +# Copyright (C) 2023 Jeffery To +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=python-setuptools-rust +PKG_VERSION:=1.7.0 +PKG_RELEASE:=1 + +PYPI_NAME:=setuptools-rust +PKG_HASH:=c7100999948235a38ae7e555fe199aa66c253dc384b125f5d85473bf81eae3a3 + +PKG_LICENSE:=MIT +PKG_LICENSE_FILES:=LICENSE +PKG_MAINTAINER:=Jeffery To + +PKG_HOST_ONLY:=1 +HOST_BUILD_DEPENDS:= \ + python3/host \ + python-build/host \ + python-installer/host \ + python-wheel/host \ + python-setuptools-scm/host \ + python-semantic-version/host \ + python-typing-extensions/host \ + rust/host + +include ../pypi.mk +include $(INCLUDE_DIR)/package.mk +include $(INCLUDE_DIR)/host-build.mk +include ../python3-package.mk +include ../python3-host-build.mk + +define Package/python3-setuptools-rust + SUBMENU:=Python + SECTION:=lang + CATEGORY:=Languages + TITLE:=Setuptools Rust extension plugin + URL:=https://github.com/PyO3/setuptools-rust + DEPENDS:= \ + +python3-light \ + +python3-logging \ + +python3-semantic-version \ + +python3-setuptools \ + +python3-typing-extensions \ + +rust + BUILDONLY:=1 +endef + +define Package/python3-setuptools-rust/description +setuptools-rust is a plugin for setuptools to build Rust Python +extensions implemented with PyO3 or rust-cpython. +endef + +$(eval $(call Py3Package,python3-setuptools-rust)) +$(eval $(call BuildPackage,python3-setuptools-rust)) +$(eval $(call BuildPackage,python3-setuptools-rust-src)) +$(eval $(call HostBuild)) diff --git a/lang/python/python-setuptools/Makefile b/lang/python/python-setuptools/Makefile index 08cb7124f..8138a9955 100644 --- a/lang/python/python-setuptools/Makefile +++ b/lang/python/python-setuptools/Makefile @@ -8,11 +8,11 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-setuptools -PKG_VERSION:=68.2.0 +PKG_VERSION:=68.2.2 PKG_RELEASE:=1 PYPI_NAME:=setuptools -PKG_HASH:=00478ca80aeebeecb2f288d3206b0de568df5cd2b8fada1209843cc9a8d88a48 +PKG_HASH:=4ac1475276d2f1c48684874089fefcd83bd7162ddaafb81fac866ba0db282a87 PKG_LICENSE:=MIT PKG_LICENSE_FILES:=LICENSE diff --git a/lang/python/python-setuptools/test.sh b/lang/python/python-setuptools/test.sh new file mode 100644 index 000000000..bc35600c6 --- /dev/null +++ b/lang/python/python-setuptools/test.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +[ "$1" = python3-setuptools ] || exit 0 + +python3 -c 'from setuptools import setup' diff --git a/lang/python/python-trove-classifiers/Makefile b/lang/python/python-trove-classifiers/Makefile index d370438a9..447fa8704 100644 --- a/lang/python/python-trove-classifiers/Makefile +++ b/lang/python/python-trove-classifiers/Makefile @@ -8,11 +8,11 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-trove-classifiers -PKG_VERSION:=2023.8.7 +PKG_VERSION:=2023.9.19 PKG_RELEASE:=1 PYPI_NAME:=trove-classifiers -PKG_HASH:=c9f2a0a85d545e5362e967e4f069f56fddfd91215e22ffa48c66fb283521319a +PKG_HASH:=3e700af445c802f251ce2b741ee78d2e5dfa5ab8115b933b89ca631b414691c9 PKG_LICENSE:=Apache-2.0 PKG_LICENSE_FILES:=LICENSE diff --git a/lang/python/python-typing-extensions/Makefile b/lang/python/python-typing-extensions/Makefile index a317eb55c..12abc240a 100644 --- a/lang/python/python-typing-extensions/Makefile +++ b/lang/python/python-typing-extensions/Makefile @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-typing-extensions -PKG_VERSION:=4.7.1 +PKG_VERSION:=4.8.0 PKG_RELEASE:=1 PYPI_NAME:=typing-extensions PYPI_SOURCE_NAME:=typing_extensions -PKG_HASH:=b75ddc264f0ba5615db7ba217daeb99701ad295353c45f9e95963337ceeeffb2 +PKG_HASH:=df8e4339e9cb77357558cbdbceca33c303714cf861d1eef15e1070055ae8b7ef PKG_MAINTAINER:=Jan Pavlinec , Jeffery To PKG_LICENSE:=Python-2.0.1 0BSD diff --git a/lang/python/python-typing-extensions/test.sh b/lang/python/python-typing-extensions/test.sh new file mode 100644 index 000000000..623cb2427 --- /dev/null +++ b/lang/python/python-typing-extensions/test.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +[ "$1" = python3-typing-extensions ] || exit 0 + +python3 -c 'import typing_extensions' diff --git a/lang/python/python3-host.mk b/lang/python/python3-host.mk index b272c28ca..ca5cb64ba 100644 --- a/lang/python/python3-host.mk +++ b/lang/python/python3-host.mk @@ -11,6 +11,7 @@ # For PYTHON3_VERSION python3_mk_path:=$(dir $(lastword $(MAKEFILE_LIST))) include $(python3_mk_path)python3-version.mk +include $(python3_mk_path)../rust/rust-values.mk # Unset environment variables @@ -76,7 +77,9 @@ HOST_PYTHON3_VARS = \ LDSHARED="$(HOSTCC) -shared" \ CFLAGS="$(HOST_CFLAGS)" \ CPPFLAGS="$(HOST_CPPFLAGS) -I$(HOST_PYTHON3_INC_DIR)" \ - LDFLAGS="$(HOST_LDFLAGS) -lpython$(PYTHON3_VERSION) -Wl$(comma)-rpath$(comma)$(STAGING_DIR_HOSTPKG)/lib" + LDFLAGS="$(HOST_LDFLAGS) -lpython$(PYTHON3_VERSION) -Wl$(comma)-rpath$(comma)$(STAGING_DIR_HOSTPKG)/lib" \ + CARGO_HOME="$(CARGO_HOME)" \ + PATH="$(CARGO_HOME)/bin:$(PATH)" # $(1) => directory of python script # $(2) => python script and its arguments diff --git a/lang/python/python3-package.mk b/lang/python/python3-package.mk index 268bca07f..0693d21ee 100644 --- a/lang/python/python3-package.mk +++ b/lang/python/python3-package.mk @@ -44,7 +44,12 @@ PYTHON3_VARS = \ PYTHONDONTWRITEBYTECODE=1 \ _python_sysroot="$(STAGING_DIR)" \ _python_prefix="/usr" \ - _python_exec_prefix="/usr" + _python_exec_prefix="/usr" \ + CARGO_BUILD_TARGET="$(RUSTC_TARGET_ARCH)" \ + CARGO_HOME="$(CARGO_HOME)" \ + PATH="$(CARGO_HOME)/bin:$(PATH)" \ + PYO3_CROSS_LIB_DIR="$(PYTHON3_LIB_DIR)" \ + RUSTFLAGS="$(CARGO_RUSTFLAGS)" # $(1) => directory of python script # $(2) => python script and its arguments diff --git a/libs/libwebp/Makefile b/libs/libwebp/Makefile index c9f15c963..7d413c1f1 100644 --- a/libs/libwebp/Makefile +++ b/libs/libwebp/Makefile @@ -1,12 +1,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=libwebp -PKG_VERSION:=1.3.1 +PKG_VERSION:=1.3.2 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://storage.googleapis.com/downloads.webmproject.org/releases/webp -PKG_HASH:=b3779627c2dfd31e3d8c4485962c2efe17785ef975e2be5c8c0c9e6cd3c4ef66 +PKG_HASH:=2a499607df669e40258e53d0ade8035ba4ec0175244869d1025d460562aa09b4 PKG_MAINTAINER:=Alexandru Ardelean PKG_LICENSE:=BSD-3-Clause diff --git a/net/adblock-fast/Makefile b/net/adblock-fast/Makefile index 317a3d1aa..72a3324ac 100644 --- a/net/adblock-fast/Makefile +++ b/net/adblock-fast/Makefile @@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=adblock-fast PKG_VERSION:=1.0.0 -PKG_RELEASE:=2 +PKG_RELEASE:=3 PKG_MAINTAINER:=Stan Grishin PKG_LICENSE:=GPL-3.0-or-later @@ -18,6 +18,10 @@ define Package/adblock-fast TITLE:=AdBlock Fast Service URL:=https://docs.openwrt.melmac.net/adblock-fast/ DEPENDS:=+jshn +curl + DEPENDS+=+!BUSYBOX_DEFAULT_AWK:gawk + DEPENDS+=+!BUSYBOX_DEFAULT_GREP:grep + DEPENDS+=+!BUSYBOX_DEFAULT_SED:sed + DEPENDS+=+!BUSYBOX_DEFAULT_SORT:coreutils-sort CONFLICTS:=simple-adblock PROVIDES:=simple-adblock PKGARCH:=all diff --git a/net/adblock-fast/files/etc/config/adblock-fast b/net/adblock-fast/files/etc/config/adblock-fast index 10cdf5186..f459411f0 100644 --- a/net/adblock-fast/files/etc/config/adblock-fast +++ b/net/adblock-fast/files/etc/config/adblock-fast @@ -13,7 +13,7 @@ config adblock-fast 'config' option curl_retry '3' option debug '0' option dns 'dnsmasq.servers' - option dnsmasq_instance '*' + list dnsmasq_instance '*' # option dnsmasq_config_file_url 'https://big.oisd.nl/dnsmasq2' option download_timeout '10' option force_dns '1' diff --git a/net/adblock-fast/files/etc/init.d/adblock-fast b/net/adblock-fast/files/etc/init.d/adblock-fast index 2a75e6938..6d0cade3f 100755 --- a/net/adblock-fast/files/etc/init.d/adblock-fast +++ b/net/adblock-fast/files/etc/init.d/adblock-fast @@ -151,6 +151,7 @@ get_text() { errorParsingList) r="failed to parse";; errorNoSSLSupport) r="no HTTPS/SSL support on device";; errorCreatingDirectory) r="failed to create output/cache/gzip file directory";; + errorDetectingFileType) r="failed to detect format";; statusNoInstall) r="$serviceName is not installed or not found";; statusStopped) r="Stopped";; @@ -268,20 +269,35 @@ append_url() { fi } -detect_file_type() { - local file="$1" - if [ "$(head -1 "$file")" = '[Adblock Plus]' ]; then - echo 'adBlockPlus' - elif grep -q '^server=' "$file"; then - echo 'dnsmasqFile' - elif grep -q '^local=' "$file"; then - echo 'dnsmasq2File' - elif grep -q '^0.0.0.0' "$file" || grep -q '^127.0.0.1' "$file"; then - echo 'hosts' - else - echo 'domains' - fi -} + detect_file_type() { + local file="$1" + if [ "$(head -1 "$file")" = '[Adblock Plus]' ] || \ + grep -q '^||' "$file"; then + echo 'adBlockPlus' + elif grep -q '^server=' "$file"; then + echo 'dnsmasqFile' + elif grep -q '^local=' "$file"; then + echo 'dnsmasq2File' + elif grep -q '^0.0.0.0' "$file" || grep -q '^127.0.0.1' "$file"; then + echo 'hosts' + elif [ -n "$(sed "$domainsFilter" "$file" | head -1)" ]; then + echo 'domains' + fi + } +# detect_file_type() { +# local file="$1" +# if [ -n "$(sed "$adBlockPlusFilter" "$file" | head -1)" ]; then +# echo 'adBlockPlus' +# elif [ -n "$(sed "$dnsmasqFileFilter" "$file" | head -1)" ]; then +# echo 'dnsmasqFile' +# elif [ -n "$(sed "$dnsmasq2FileFilter" "$file" | head -1)" ]; then +# echo 'dnsmasq2File' +# elif [ -n "$(sed "$hostsFilter" "$file" | head -1)" ]; then +# echo 'hosts' +# elif [ -n "$(sed "$domainsFilter" "$file" | head -1)" ]; then +# echo 'domains' +# fi +# } load_environment() { local i j @@ -543,7 +559,7 @@ get_local_filesize() { echo -en "$size" } -resolver() { +resolver_config() { local cfg="$1" param="$2" case "$param" in dnsmasq.addnhosts) @@ -580,10 +596,10 @@ dns() { config_load 'dhcp' if [ "$dnsmasq_instance" = "*" ]; then - config_foreach resolver 'dnsmasq' "$dns" + config_foreach resolver_config 'dnsmasq' "$dns" elif [ -n "$dnsmasq_instance" ]; then for i in $dnsmasq_instance; do - resolver "@dnsmasq[$i]" "$dns" || resolver "$i" "$dns" + resolver_config "@dnsmasq[$i]" "$dns" || resolver_config "$i" "$dns" done fi @@ -849,16 +865,23 @@ process_file_url() { format="$(detect_file_type "$R_TMP")" case "$format" in adBlockPlus) filter="$adBlockPlusFilter";; -# dnsmasqFile) filter="$dnsmasqFileFilter";; -# dnsmasq2File) filter="$dnsmasq2FileFilter";; + dnsmasqFile) filter="$dnsmasqFileFilter";; + dnsmasq2File) filter="$dnsmasq2FileFilter";; domains) filter="$domainsFilter";; hosts) filter="$hostsFilter";; + *) + output 1 "$_FAIL_" + output 2 "[DL] $type $label $__FAIL__\\n" + echo "errorDetectingFileType|${url}" >> "$sharedMemoryError" + rm -f "$R_TMP" + return 0 + ;; esac - [ -n "$filter" ] && sed -i "$filter" "$R_TMP" + sed -i "$filter" "$R_TMP" if [ ! -s "$R_TMP" ]; then output 1 "$_FAIL_" output 2 "[DL] $type $label ($format) $__FAIL__\\n" - echo "errorParsingList|${1}" >> "$sharedMemoryError" + echo "errorParsingList|${url}" >> "$sharedMemoryError" else cat "${R_TMP}" >> "$D_TMP" output 1 "$_OK_" @@ -1596,7 +1619,7 @@ killcache() { rm -f "$dnsmasqServersCache" "${compressed_cache_dir}/${dnsmasqServersGzip}" rm -f "$unboundCache" "$unboundGzip" config_load 'dhcp' - config_foreach resolver 'dnsmasq' 'cleanup' + config_foreach resolver_config 'dnsmasq' 'cleanup' uci_commit 'dhcp' return 0 } diff --git a/net/apache/Makefile b/net/apache/Makefile index 9a6c88158..5005a233d 100644 --- a/net/apache/Makefile +++ b/net/apache/Makefile @@ -8,13 +8,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=apache -PKG_VERSION:=2.4.52 +PKG_VERSION:=2.4.57 PKG_RELEASE:=1 PKG_SOURCE_NAME:=httpd PKG_SOURCE:=$(PKG_SOURCE_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:=@APACHE/httpd/ -PKG_HASH:=0127f7dc497e9983e9c51474bed75e45607f2f870a7675a86dc90af6d572f5c9 +PKG_HASH:=dbccb84aee95e095edfbb81e5eb926ccd24e6ada55dcd83caecb262e5cf94d2a PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_SOURCE_NAME)-$(PKG_VERSION) @@ -66,7 +66,7 @@ endef define Package/apache $(call Package/apache/Default) USERID:=apache=377:apache=377 - DEPENDS:=+libapr +libaprutil +libpcre + DEPENDS:=+libapr +libaprutil +libpcre2 endef define Package/apache/description @@ -201,7 +201,7 @@ CONFIGURE_ARGS+= \ --with-apr-util="$(STAGING_DIR)/usr/bin/apu-1-config" \ --with-apr="$(STAGING_DIR)/usr/bin/apr-1-config" \ --with-mpm=prefork \ - --with-pcre="$(STAGING_DIR)/usr/bin/pcre-config" \ + --with-pcre="$(STAGING_DIR)/usr/bin/pcre2-config" \ --with-program-name=apache2 \ --with-ssl diff --git a/net/apache/patches/020-openssl-deprecated.patch b/net/apache/patches/020-openssl-deprecated.patch index c4f600fa8..94115840a 100644 --- a/net/apache/patches/020-openssl-deprecated.patch +++ b/net/apache/patches/020-openssl-deprecated.patch @@ -1,6 +1,6 @@ --- a/modules/md/md_crypt.c +++ b/modules/md/md_crypt.c -@@ -1139,23 +1139,23 @@ const char *md_cert_get_serial_number(co +@@ -1194,23 +1194,23 @@ int md_certs_are_equal(const md_cert_t * int md_cert_is_valid_now(const md_cert_t *cert) { @@ -102,7 +102,7 @@ * when the user points at an explicit non-engine flavor of OpenSSL --- a/support/ab.c +++ b/support/ab.c -@@ -652,11 +652,11 @@ static void ssl_print_cert_info(BIO *bio +@@ -665,11 +665,11 @@ static void ssl_print_cert_info(BIO *bio BIO_printf(bio, "Certificate version: %ld\n", X509_get_version(cert)+1); BIO_printf(bio,"Valid from: "); @@ -116,7 +116,7 @@ BIO_printf(bio,"\n"); pk = X509_get_pubkey(cert); -@@ -2634,8 +2634,10 @@ int main(int argc, const char * const ar +@@ -2647,8 +2647,10 @@ int main(int argc, const char * const ar CRYPTO_malloc_init(); #endif #endif diff --git a/net/bind/Makefile b/net/bind/Makefile index 16041aa1d..82db8ee40 100644 --- a/net/bind/Makefile +++ b/net/bind/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=bind -PKG_VERSION:=9.18.18 +PKG_VERSION:=9.18.19 PKG_RELEASE:=1 USERID:=bind=57:bind=57 @@ -22,7 +22,7 @@ PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:= \ https://www.mirrorservice.org/sites/ftp.isc.org/isc/bind9/$(PKG_VERSION) \ https://ftp.isc.org/isc/bind9/$(PKG_VERSION) -PKG_HASH:=d735cdc127a6c5709bde475b5bf16fa2133f36fdba202f7c3c37d134e5192160 +PKG_HASH:=115e09c05439bebade1d272eda08fa88eb3b60129edef690588c87a4d27612cc PKG_FIXUP:=autoreconf PKG_REMOVE_FILES:=aclocal.m4 libtool.m4 diff --git a/net/dnsdist/Makefile b/net/dnsdist/Makefile index a9bb2e2bb..50b0cfacb 100644 --- a/net/dnsdist/Makefile +++ b/net/dnsdist/Makefile @@ -35,7 +35,7 @@ define Package/dnsdist/Default +libatomic \ +libcap \ +libstdcpp \ - +luajit + @HAS_LUAJIT_ARCH +luajit URL:=https://dnsdist.org/ VARIANT:=$(1) PROVIDES:=dnsdist diff --git a/net/knot-resolver/Makefile b/net/knot-resolver/Makefile index 8732ff7f3..735e1f7d2 100644 --- a/net/knot-resolver/Makefile +++ b/net/knot-resolver/Makefile @@ -34,7 +34,7 @@ define Package/knot-resolver +knot-libs \ +knot-libzscanner \ +libuv \ - +luajit \ + @HAS_LUAJIT_ARCH +luajit \ +luasec \ +luasocket \ +libstdcpp \ diff --git a/net/linuxptp/Makefile b/net/linuxptp/Makefile index ca1732c25..125baa298 100644 --- a/net/linuxptp/Makefile +++ b/net/linuxptp/Makefile @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=linuxptp -PKG_VERSION:=4.0 +PKG_VERSION:=4.1 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tgz PKG_SOURCE_URL:=@SF/$(PKG_NAME)/v$(PKG_VERSION) -PKG_HASH:=d27d5ef296bb3d285e22e69f75ae023b4b42a2f4655130d6d390d8afcbc3d933 +PKG_HASH:=e1743d44f8208897e30895da3579e670ff919b914feb4b5a949f3e421ddde535 PKG_MAINTAINER:=Wojciech Dubowik PKG_LICENSE:=GPL-2.0-only diff --git a/net/linuxptp/patches/001-fix_kbuild_output.patch b/net/linuxptp/patches/001-fix_kbuild_output.patch index 66d6b39b0..1b5e81e97 100644 --- a/net/linuxptp/patches/001-fix_kbuild_output.patch +++ b/net/linuxptp/patches/001-fix_kbuild_output.patch @@ -6,6 +6,6 @@ prefix="" - tstamp=/usr/include/linux/net_tstamp.h + tstamp=/include/uapi/linux/net_tstamp.h + ptp_clock=/usr/include/linux/ptp_clock.h if [ "x$KBUILD_OUTPUT" != "x" ]; then - # With KBUILD_OUTPUT set, we are building against diff --git a/net/mdnsresponder/Makefile b/net/mdnsresponder/Makefile index 0c886f3cc..36566d047 100644 --- a/net/mdnsresponder/Makefile +++ b/net/mdnsresponder/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=mDNSResponder PKG_VERSION:=IETF104 -PKG_RELEASE:=5 +PKG_RELEASE:=6 PKG_SOURCE:=mDNSResponder-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://opensource.apple.com/tarballs/mDNSResponder/IETF/ @@ -121,11 +121,11 @@ define Build/Compile endef define Build/InstallDev - $(INSTALL_DIR) $(1)/usr/include - $(CP) $(PKG_INSTALL_DIR)/usr/include/dns_sd.h $(1)/usr/include/ - $(INSTALL_DIR) $(1)/usr/lib - $(CP) $(PKG_INSTALL_DIR)/usr/lib/libdns_sd.so.1 $(1)/usr/lib/ - $(LN) -s libdns_sd.so.1 $(1)/usr/lib/libdns_sd.so + $(INSTALL_DIR) $(1)/usr/include/mdns + $(CP) $(PKG_INSTALL_DIR)/usr/include/dns_sd.h $(1)/usr/include/mdns + $(INSTALL_DIR) $(1)/usr/lib/mdns + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libdns_sd.so.1 $(1)/usr/lib/mdns + $(LN) -s libdns_sd.so.1 $(1)/usr/lib/mdns/libdns_sd.so endef define Package/mdns-utils/install @@ -152,9 +152,9 @@ define Package/mdnsd/install $(INSTALL_DIR) $(1)/etc/hotplug.d/iface $(INSTALL_DIR) $(1)/etc/init.d $(INSTALL_BIN) ./files/mdnsd.init $(1)/etc/init.d/mdnsd - $(INSTALL_DIR) $(1)/usr/lib/ - $(CP) $(PKG_INSTALL_DIR)/usr/lib/libdns_sd.so.1 $(1)/usr/lib/ - $(LN) -s libdns_sd.so.1 $(1)/usr/lib/libdns_sd.so + $(INSTALL_DIR) $(1)/usr/lib/mdns + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libdns_sd.so.1 $(1)/usr/lib/mdns + $(LN) -s libdns_sd.so.1 $(1)/usr/lib/mdns/libdns_sd.so endef define Package/mdnsresponder/install diff --git a/net/modemmanager/Makefile b/net/modemmanager/Makefile index 0069eaae9..864127a3d 100644 --- a/net/modemmanager/Makefile +++ b/net/modemmanager/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=modemmanager PKG_SOURCE_VERSION:=1.20.6 -PKG_RELEASE:=13 +PKG_RELEASE:=14 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://gitlab.freedesktop.org/mobile-broadband/ModemManager.git diff --git a/net/modemmanager/files/modemmanager.common b/net/modemmanager/files/modemmanager.common index a931717fd..d46ee7243 100644 --- a/net/modemmanager/files/modemmanager.common +++ b/net/modemmanager/files/modemmanager.common @@ -6,6 +6,7 @@ . /lib/functions.sh . /lib/netifd/netifd-proto.sh +INCLUDE_ONLY=1 . /lib/netifd/proto/modemmanager.sh ################################################################################ # Runtime state @@ -139,10 +140,6 @@ mm_get_modem_config_foreach_cb() { local cfg="$1" local sysfspath="$2" - local proto - config_get proto "${cfg}" proto - [ "${proto}" = modemmanager ] || return 0 - local dev dev=$(uci_get network "${cfg}" device) [ "${dev}" = "${sysfspath}" ] || return 0 @@ -237,19 +234,25 @@ mm_report_modem_wait() { ################################################################################ # Cleanup interfaces -mm_cleanup_interface_cb() { - local cfg="$1" - - local proto - config_get proto "${cfg}" proto - [ "${proto}" = modemmanager ] || return 0 - - proto_set_available "${cfg}" 0 -} - mm_cleanup_interfaces() { - config_load network - config_foreach mm_cleanup_interface_cb interface + local modemlist modemlength idx modeminfo modemsysfspath + + modemlist=$(mmcli --list-modems --output-keyvalue) + [ -n "${modemlist}" ] || return 0 + + modemlength=$(modemmanager_get_field "${modemlist}" "modem-list.length") + + # do nothing if no modem reported + [ -n "${modemlength}" ] && [ "${modemlength}" -ge 1 ] && { + idx=1 + while [ $idx -le "$modemlength" ]; do + modempath=$(modemmanager_get_field "${modemlist}" "modem-list.value\[$idx\]") + modeminfo=$(mmcli --modem "${modempath}" --output-keyvalue) + modemsysfspath=$(modemmanager_get_field "${modeminfo}" "modem.generic.device") + mm_cleanup_interface_by_sysfspath "${modemsysfspath}" + idx=$((idx + 1)) + done + } } mm_cleanup_interface_by_sysfspath() { diff --git a/net/mwan3/Makefile b/net/mwan3/Makefile index b31f4ce34..9bfc24dbd 100644 --- a/net/mwan3/Makefile +++ b/net/mwan3/Makefile @@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=mwan3 -PKG_VERSION:=2.11.8 +PKG_VERSION:=2.11.12 PKG_RELEASE:=1 PKG_MAINTAINER:=Florian Eckert , \ Aaron Goodman diff --git a/net/mwan3/files/lib/mwan3/common.sh b/net/mwan3/files/lib/mwan3/common.sh index 29ace6050..ecd45026e 100644 --- a/net/mwan3/files/lib/mwan3/common.sh +++ b/net/mwan3/files/lib/mwan3/common.sh @@ -107,7 +107,7 @@ mwan3_get_mwan3track_status() tracking="down" fi else - tracking="not enabled" + tracking="disabled" fi echo "$tracking" } diff --git a/net/mwan3/files/lib/mwan3/mwan3.sh b/net/mwan3/files/lib/mwan3/mwan3.sh index a3e7c0098..c69f381ea 100644 --- a/net/mwan3/files/lib/mwan3/mwan3.sh +++ b/net/mwan3/files/lib/mwan3/mwan3.sh @@ -1082,7 +1082,8 @@ mwan3_get_iface_hotplug_state() { mwan3_report_iface_status() { - local device result tracking IP IPT error + local device result tracking IP IPT + local status online uptime result mwan3_get_iface_id id "$1" network_get_device device "$1" @@ -1099,40 +1100,39 @@ mwan3_report_iface_status() IPT="$IPT6" fi - if [ -z "$id" ] || [ -z "$device" ]; then - result="offline" + if [ -f "$MWAN3TRACK_STATUS_DIR/${1}/STATUS" ]; then + status="$(cat "$MWAN3TRACK_STATUS_DIR/${1}/STATUS")" else - error=0 - [ -n "$($IP rule | awk '$1 == "'$((id+1000)):'"')" ] || - error=$((error+1)) - [ -n "$($IP rule | awk '$1 == "'$((id+2000)):'"')" ] || - error=$((error+2)) - [ -n "$($IP rule | awk '$1 == "'$((id+3000)):'"')" ] || - error=$((error+4)) - [ -n "$($IPT -S mwan3_iface_in_$1 2> /dev/null)" ] || - error=$((error+8)) - [ -n "$($IP route list table $id default dev $device 2> /dev/null)" ] || - error=$((error+16)) + status="unknown" fi - if [ "$result" = "offline" ]; then - : - elif [ $error -eq 0 ]; then + if [ "$status" = "online" ]; then online=$(get_online_time "$1") network_get_uptime uptime "$1" online="$(printf '%02dh:%02dm:%02ds\n' $((online/3600)) $((online%3600/60)) $((online%60)))" uptime="$(printf '%02dh:%02dm:%02ds\n' $((uptime/3600)) $((uptime%3600/60)) $((uptime%60)))" result="$(mwan3_get_iface_hotplug_state $1) $online, uptime $uptime" - elif [ $error -gt 0 ] && [ $error -ne 31 ]; then - result="error (${error})" - elif [ "$enabled" = "1" ]; then - result="offline" else - result="disabled" + result=0 + [ -n "$($IP rule | awk '$1 == "'$((id+1000)):'"')" ] || + result=$((result+1)) + [ -n "$($IP rule | awk '$1 == "'$((id+2000)):'"')" ] || + result=$((result+2)) + [ -n "$($IP rule | awk '$1 == "'$((id+3000)):'"')" ] || + result=$((result+4)) + [ -n "$($IPT -S mwan3_iface_in_$1 2> /dev/null)" ] || + result=$((result+8)) + [ -n "$($IP route list table $id default dev $device 2> /dev/null)" ] || + result=$((result+16)) + [ "$result" = "0" ] && result="" fi tracking="$(mwan3_get_mwan3track_status $1)" - echo " interface $1 is $result and tracking is $tracking" + if [ -n "$result" ]; then + echo " interface $1 is $status and tracking is $tracking ($result)" + else + echo " interface $1 is $status and tracking is $tracking" + fi } mwan3_report_policies() diff --git a/net/mwan3/files/usr/libexec/rpcd/mwan3 b/net/mwan3/files/usr/libexec/rpcd/mwan3 index 3fce9b0d4..4bd2b631f 100755 --- a/net/mwan3/files/usr/libexec/rpcd/mwan3 +++ b/net/mwan3/files/usr/libexec/rpcd/mwan3 @@ -106,14 +106,10 @@ get_mwan3_status() { config_get enabled "$iface" enabled 0 - if [ -d "${MWAN3_STATUS_DIR}" ]; then + if [ -f "$MWAN3TRACK_STATUS_DIR/${iface}/STATUS" ]; then network_get_uptime uptime "$iface" network_is_up "$iface" && up="1" - if [ -f "$MWAN3TRACK_STATUS_DIR/${iface}/STATUS" ]; then - status="$(cat "$MWAN3TRACK_STATUS_DIR/${iface}/STATUS")" - else - status="notracking" - fi + status="$(cat "$MWAN3TRACK_STATUS_DIR/${iface}/STATUS")" else uptime=0 up=0 @@ -131,6 +127,7 @@ get_mwan3_status() { json_add_string "status" "${status}" json_add_boolean "enabled" "${enabled}" json_add_boolean "running" "${running}" + json_add_string "tracking" "${track_status}" json_add_boolean "up" "${up}" json_add_array "track_ip" for file in $MWAN3TRACK_STATUS_DIR/${iface}/TRACK_*; do diff --git a/net/nginx-util/Makefile b/net/nginx-util/Makefile index 4a77e2f20..b4f06aaae 100644 --- a/net/nginx-util/Makefile +++ b/net/nginx-util/Makefile @@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=nginx-util PKG_VERSION:=1.6 -PKG_RELEASE:=19 +PKG_RELEASE:=20 PKG_MAINTAINER:=Peter Stadler include $(INCLUDE_DIR)/package.mk @@ -30,7 +30,7 @@ endef define Package/nginx-ssl-util $(Package/nginx-ssl-util/default) TITLE+= (using PCRE) - DEPENDS+= +libpcre + DEPENDS+= +libpcre2 CONFLICTS:=nginx-ssl-util-nopcre, endef diff --git a/net/nginx-util/src/CMakeLists.txt b/net/nginx-util/src/CMakeLists.txt index 2adff1c71..e023f1eb6 100644 --- a/net/nginx-util/src/CMakeLists.txt +++ b/net/nginx-util/src/CMakeLists.txt @@ -27,7 +27,7 @@ FIND_LIBRARY(ubus NAMES ubus) INCLUDE_DIRECTORIES(${ubus_include_dir}) ADD_EXECUTABLE(nginx-ssl-util nginx-util.cpp) -TARGET_LINK_LIBRARIES(nginx-ssl-util ${uci} ${ubox} ${ubus} pthread ssl crypto pcre) +TARGET_LINK_LIBRARIES(nginx-ssl-util ${uci} ${ubox} ${ubus} pthread ssl crypto pcre2-8) INSTALL(TARGETS nginx-ssl-util RUNTIME DESTINATION bin) ADD_EXECUTABLE(nginx-ssl-util-nopcre nginx-util.cpp) @@ -51,7 +51,7 @@ INSTALL(TARGETS px5g RUNTIME DESTINATION bin) ADD_EXECUTABLE(nginx-ssl-util-noubus nginx-util.cpp) TARGET_COMPILE_DEFINITIONS(nginx-ssl-util-noubus PUBLIC -DNO_UBUS) -TARGET_LINK_LIBRARIES(nginx-ssl-util-noubus ${uci} ${ubox} pthread ssl crypto pcre) +TARGET_LINK_LIBRARIES(nginx-ssl-util-noubus ${uci} ${ubox} pthread ssl crypto pcre2-8) INSTALL(TARGETS nginx-ssl-util-noubus RUNTIME DESTINATION bin) ADD_EXECUTABLE(nginx-ssl-util-nopcre-noubus nginx-util.cpp) diff --git a/net/nginx-util/src/regex-pcre.hpp b/net/nginx-util/src/regex-pcre.hpp index f63d5f90c..ab255542b 100644 --- a/net/nginx-util/src/regex-pcre.hpp +++ b/net/nginx-util/src/regex-pcre.hpp @@ -1,7 +1,9 @@ #ifndef __REGEXP_PCRE_HPP #define __REGEXP_PCRE_HPP -#include +#define PCRE2_CODE_UNIT_WIDTH 8 + +#include #include #include #include @@ -65,11 +67,9 @@ class regex { private: int errcode = 0; - const char* errptr = nullptr; + PCRE2_SIZE erroffset = 0; - int erroffset = 0; - - pcre* const re = nullptr; + pcre2_code* const re = nullptr; static const std::array errcode_pcre2regex; @@ -89,10 +89,18 @@ class regex { explicit regex(const std::string& str) : regex(str.c_str()) {} explicit regex(const char* const str) - : re{pcre_compile2(str, 0, &errcode, &errptr, &erroffset, nullptr)} + : re{pcre2_compile((PCRE2_SPTR)str, PCRE2_ZERO_TERMINATED, 0, &errcode, &erroffset, nullptr)} { if (re == nullptr) { - std::string what = std::string("regex error: ") + errptr + '\n'; + std::vector buffer(256); + int errlen; + + errlen = pcre2_get_error_message(errcode, buffer.data(), buffer.size()); + if (errlen < 0) + throw regex_error(errcode_pcre2regex.at(errlen)); + + std::string what = std::string("regex error: ") + + std::string(buffer.data(), buffer.data() + errlen) + '\n'; what += " '" + std::string{str} + "'\n"; what += " " + std::string(erroffset, ' ') + '^'; @@ -103,11 +111,11 @@ class regex { ~regex() { if (re != nullptr) { - pcre_free(re); + pcre2_code_free(re); } } - inline auto operator()() const -> const pcre* + inline auto operator()() const -> const pcre2_code* { return re; } @@ -187,11 +195,19 @@ auto regex_search(std::string::const_iterator begin, inline auto regex_search(const std::string& subj, const regex& rgx) { + pcre2_match_data *match_data; + if (rgx() == nullptr) { throw std::runtime_error("regex_search error: no regex given"); } + + match_data = pcre2_match_data_create_from_pattern(rgx(), NULL); + int n = - pcre_exec(rgx(), nullptr, subj.c_str(), static_cast(subj.length()), 0, 0, nullptr, 0); + pcre2_match(rgx(), (PCRE2_SPTR)subj.c_str(), static_cast(subj.length()), 0, 0, match_data, nullptr); + + pcre2_match_data_free(match_data); + return n >= 0; } @@ -205,7 +221,7 @@ auto regex_search(const std::string::const_iterator begin, } int sz = 0; - pcre_fullinfo(rgx(), nullptr, PCRE_INFO_CAPTURECOUNT, &sz); + pcre2_pattern_info(rgx(), PCRE2_INFO_CAPTURECOUNT, &sz); sz = 3 * (sz + 1); match.vec.reserve(sz); @@ -216,7 +232,9 @@ auto regex_search(const std::string::const_iterator begin, match.begin = begin; match.end = end; - match.n = pcre_exec(rgx(), nullptr, subj, len, 0, 0, &match.vec[0], sz); + pcre2_match_data *match_data = pcre2_match_data_create(sz, NULL); + match.n = pcre2_match(rgx(), (PCRE2_SPTR)subj, len, 0, 0, match_data, NULL); + pcre2_match_data_free(match_data); if (match.n < 0) { return false; diff --git a/net/nginx/Makefile b/net/nginx/Makefile index a2ce0a0fe..66a0c8713 100644 --- a/net/nginx/Makefile +++ b/net/nginx/Makefile @@ -210,7 +210,7 @@ endef define Package/nginx-mod-lua-resty-lrucache $(call Package/nginx/default) - DEPENDS:=+luajit2 + DEPENDS:=@HAS_LUAJIT_ARCH +luajit2 TITLE:=Nginx Lua OpenResty lrucache module endef diff --git a/net/openthread-br/Makefile b/net/openthread-br/Makefile index 1b42cceee..d5b61b1e1 100644 --- a/net/openthread-br/Makefile +++ b/net/openthread-br/Makefile @@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=openthread-br PKG_SOURCE_DATE:=2023-08-01 PKG_SOURCE_VERSION:=1738d8cd8b42106c2ef1262fbbac2f06beab83ba -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=https://github.com/openthread/ot-br-posix.git @@ -74,7 +74,9 @@ CMAKE_OPTIONS += \ -DOTBR_SRP_SERVER_AUTO_ENABLE:BOOL=ON \ -DOTBR_TREL:BOOL=ON -TARGET_CFLAGS += -DOPENTHREAD_POSIX_CONFIG_DAEMON_SOCKET_BASENAME=\\\"/var/run/openthread-%s\\\" +TARGET_CFLAGS += -DOPENTHREAD_POSIX_CONFIG_DAEMON_SOCKET_BASENAME=\\\"/var/run/openthread-%s\\\" \ + -I$(STAGING_DIR)/usr/include/mdns \ + -L$(STAGING_DIR)/usr/lib/mdns define Package/luci-app-openthread/install $(INSTALL_DIR) \ @@ -94,7 +96,6 @@ endef define Package/openthread-br/install $(INSTALL_DIR) \ - $(1)/etc/init.d \ $(1)/lib/netifd/proto \ $(1)/usr/sbin \ $(1)/var/lib/thread diff --git a/net/openthread-br/patches/100-rest-support-deleting-the-dataset.patch b/net/openthread-br/patches/100-rest-support-deleting-the-dataset.patch index 014c306f3..5605acb15 100644 --- a/net/openthread-br/patches/100-rest-support-deleting-the-dataset.patch +++ b/net/openthread-br/patches/100-rest-support-deleting-the-dataset.patch @@ -16,8 +16,6 @@ otDatasetCreateNewNetwork). src/rest/resource.hpp | 1 + 3 files changed, 57 insertions(+) -diff --git a/src/rest/openapi.yaml b/src/rest/openapi.yaml -index 2ba2a4dd56..2edc4af29a 100644 --- a/src/rest/openapi.yaml +++ b/src/rest/openapi.yaml @@ -248,6 +248,18 @@ paths: @@ -55,8 +53,6 @@ index 2ba2a4dd56..2edc4af29a 100644 components: schemas: LeaderData: -diff --git a/src/rest/resource.cpp b/src/rest/resource.cpp -index a60e9d9483..829835341a 100644 --- a/src/rest/resource.cpp +++ b/src/rest/resource.cpp @@ -767,12 +767,47 @@ exit: @@ -107,8 +103,6 @@ index a60e9d9483..829835341a 100644 case HttpMethod::kGet: GetDataset(aDatasetType, aRequest, aResponse); break; -diff --git a/src/rest/resource.hpp b/src/rest/resource.hpp -index d79085dbfc..362e501471 100644 --- a/src/rest/resource.hpp +++ b/src/rest/resource.hpp @@ -150,6 +150,7 @@ private: @@ -119,6 +113,3 @@ index d79085dbfc..362e501471 100644 void DeleteOutDatedDiagnostic(void); void UpdateDiag(std::string aKey, std::vector &aDiag); --- -2.41.0 - diff --git a/net/openvswitch/Makefile b/net/openvswitch/Makefile index 7f47c2822..43b8bfaf5 100644 --- a/net/openvswitch/Makefile +++ b/net/openvswitch/Makefile @@ -251,6 +251,7 @@ CONFIGURE_ARGS+= \ CONFIGURE_VARS += \ $(if $(CONFIG_OPENVSWITCH_WITH_LIBUNBOUND),,ac_cv_lib_unbound_ub_ctx_create=no) \ ovs_cv_flake8=no \ + ovs_cv_groff=no \ ovs_cv_python3=$(PYTHON3) \ ovs_cv_python3_host=$(HOST_PYTHON3_BIN) \ SPHINXBUILD=none \ diff --git a/net/snort/Makefile b/net/snort/Makefile index f5e246df4..6afffec5c 100644 --- a/net/snort/Makefile +++ b/net/snort/Makefile @@ -31,7 +31,7 @@ define Package/snort SUBMENU:=Firewall SECTION:=net CATEGORY:=Network - DEPENDS:=+libdaq +libdnet +libnghttp2 +libopenssl +libpcap +libpcre +libpthread +libtirpc +libuuid +zlib +luajit +SNORT_LZMA:liblzma + DEPENDS:=+libdaq +libdnet +libnghttp2 +libopenssl +libpcap +libpcre +libpthread +libtirpc +libuuid +zlib @HAS_LUAJIT_ARCH +luajit +SNORT_LZMA:liblzma TITLE:=Lightweight Network Intrusion Detection System URL:=http://www.snort.org/ CONFLICTS:=snort3 diff --git a/net/snort3/Makefile b/net/snort3/Makefile index 691d08be8..4c7cbb407 100644 --- a/net/snort3/Makefile +++ b/net/snort3/Makefile @@ -6,12 +6,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=snort3 -PKG_VERSION:=3.1.70.0 +PKG_VERSION:=3.1.71.0 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://github.com/snort3/snort3/archive/refs/tags/ -PKG_HASH:=4917f2631d033383ca553002f5688b61df507f5c809b9ba62abceca45a7554ad +PKG_HASH:=b5dd52b46ca2570986d7c12750bbf9db00ee3c294983ce272b3ca321aee8fb73 PKG_MAINTAINER:=W. Michael Petullo PKG_LICENSE:=GPL-2.0-only @@ -25,7 +25,7 @@ define Package/snort3 SUBMENU:=Firewall SECTION:=net CATEGORY:=Network - DEPENDS:=+libstdcpp +libdaq3 +libdnet +libopenssl +libpcap +libpcre +libpthread +libuuid +zlib +libhwloc +libtirpc +luajit +libatomic + DEPENDS:=+libstdcpp +libdaq3 +libdnet +libopenssl +libpcap +libpcre +libpthread +libuuid +zlib +libhwloc +libtirpc @HAS_LUAJIT_ARCH +luajit +libatomic TITLE:=Lightweight Network Intrusion Detection System URL:=http://www.snort.org/ MENU:=1 diff --git a/net/stunnel/Makefile b/net/stunnel/Makefile index e0406666b..40b41234e 100644 --- a/net/stunnel/Makefile +++ b/net/stunnel/Makefile @@ -8,8 +8,8 @@ include $(TOPDIR)/rules.mk PKG_NAME:=stunnel -PKG_VERSION:=5.67 -PKG_RELEASE:=4 +PKG_VERSION:=5.71 +PKG_RELEASE:=1 PKG_LICENSE:=GPL-2.0-or-later PKG_MAINTAINER:=Florian Eckert @@ -23,7 +23,7 @@ PKG_SOURCE_URL:= \ https://www.usenix.org.uk/mirrors/stunnel/archive/$(word 1, $(subst .,$(space),$(PKG_VERSION))).x/ PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz -PKG_HASH:=3086939ee6407516c59b0ba3fbf555338f9d52f459bcab6337c0f00e91ea8456 +PKG_HASH:=f023aae837c2d32deb920831a5ee1081e11c78a5d57340f8e6f0829f031017f5 PKG_FIXUP:=autoreconf PKG_FIXUP:=patch-libtool diff --git a/net/tailscale/Makefile b/net/tailscale/Makefile index f9c7488c1..64360168a 100644 --- a/net/tailscale/Makefile +++ b/net/tailscale/Makefile @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=tailscale -PKG_VERSION:=1.48.2 +PKG_VERSION:=1.50.0 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/tailscale/tailscale/tar.gz/v$(PKG_VERSION)? -PKG_HASH:=1c34c5c2c3b78e59ffb824b356418ff828653c62885b126d0d05f300218b36b5 +PKG_HASH:=a7e024577854c07b793c4bbd81a497250e6a1b4536e303351a388810f13b7316 PKG_MAINTAINER:=Jan Pavlinec PKG_LICENSE:=BSD-3-Clause diff --git a/net/tunneldigger/Makefile b/net/tunneldigger/Makefile index 8cab922f0..f314bf2bf 100644 --- a/net/tunneldigger/Makefile +++ b/net/tunneldigger/Makefile @@ -5,8 +5,9 @@ PKG_RELEASE:=1 PKG_SOURCE_URL:=https://github.com/wlanslovenija/tunneldigger.git PKG_SOURCE_PROTO:=git +PKG_SOURCE_DATE:=2021-03-08 PKG_SOURCE_VERSION:=4f72b30578ac3dbc5482f4a54054bf870355bdf5 -PKG_MIRROR_HASH:=babc71c757b757026f63e298bd4bd0edceae220827fff5cfad0af3f04ed529c7 +PKG_MIRROR_HASH:=f4f7bbb5782771c4f775f60a52a9ecf0636ce929d89688f671ee4eb6bedb9f91 PKG_MAINTAINER:=Nick Hainke PKG_LICENSE:=AGPL-3.0 diff --git a/net/tunneldigger/files/tunneldigger.init b/net/tunneldigger/files/tunneldigger.init index ea37751d5..bacaace81 100644 --- a/net/tunneldigger/files/tunneldigger.init +++ b/net/tunneldigger/files/tunneldigger.init @@ -21,6 +21,7 @@ parse_broker() { config_get limit_bw_down "$section" limit_bw_down config_get hook_script "$section" hook_script config_get bind_interface "$section" bind_interface + config_get group "$section" group [ $enabled -eq 0 ] && return @@ -53,6 +54,7 @@ parse_broker() { procd_append_param command -i "${interface}" procd_append_param command -t "${tunnel_id}" procd_append_param command ${broker_opts} + [ -n "$group" ] && procd_set_param group "$group" procd_set_param stdout 1 procd_set_param stderr 1 procd_set_param respawn