Merge branch 'openwrt:master' into master

This commit is contained in:
Hayzam Sherif 2023-09-29 07:12:38 +05:30 committed by GitHub
commit 7dd664d10c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
52 changed files with 363 additions and 473 deletions

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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 <jeffery.to@gmail.com>
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))

View file

@ -1,20 +0,0 @@
From 7eefc9c72f522e414f953fee2d6ca9242c566107 Mon Sep 17 00:00:00 2001
From: Rosen Penev <rosenp@gmail.com>
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
"""

View file

@ -1,55 +0,0 @@
From 77b25307a743eb52ef5ead24c956e577f5bd025f Mon Sep 17 00:00:00 2001
From: Rosen Penev <rosenp@gmail.com>
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
+ ),
}

View file

@ -1,127 +0,0 @@
From 7a55c37e01114dfd1ae733b099fdee1ba1889449 Mon Sep 17 00:00:00 2001
From: Rosen Penev <rosenp@gmail.com>
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

View file

@ -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 = [

View file

@ -1,25 +0,0 @@
From 98bf3eda9c950158cf6a0a6a698dd365712201b1 Mon Sep 17 00:00:00 2001
From: Rosen Penev <rosenp@gmail.com>
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 <rosenp@gmail.com>
---
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
"""

View file

@ -1,56 +0,0 @@
From e96af1cee523c5551c7fc5f36eba8e271fa51b20 Mon Sep 17 00:00:00 2001
From: Rosen Penev <rosenp@gmail.com>
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
"""

View file

@ -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"

View file

@ -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

View file

@ -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 <jeffery.to@gmail.com>
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))

View file

@ -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 <jeffery.to@gmail.com>
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))

View file

@ -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

View file

@ -0,0 +1,5 @@
#!/bin/sh
[ "$1" = python3-setuptools ] || exit 0
python3 -c 'from setuptools import setup'

View file

@ -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

View file

@ -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 <jan.pavlinec1@gmail.com>, Jeffery To <jeffery.to@gmail.com>
PKG_LICENSE:=Python-2.0.1 0BSD

View file

@ -0,0 +1,5 @@
#!/bin/sh
[ "$1" = python3-typing-extensions ] || exit 0
python3 -c 'import typing_extensions'

View file

@ -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

View file

@ -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

View file

@ -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 <ardeleanalex@gmail.com>
PKG_LICENSE:=BSD-3-Clause

View file

@ -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 <stangri@melmac.ca>
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

View file

@ -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'

View file

@ -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
}

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -35,7 +35,7 @@ define Package/dnsdist/Default
+libatomic \
+libcap \
+libstdcpp \
+luajit
@HAS_LUAJIT_ARCH +luajit
URL:=https://dnsdist.org/
VARIANT:=$(1)
PROVIDES:=dnsdist

View file

@ -34,7 +34,7 @@ define Package/knot-resolver
+knot-libs \
+knot-libzscanner \
+libuv \
+luajit \
@HAS_LUAJIT_ARCH +luajit \
+luasec \
+luasocket \
+libstdcpp \

View file

@ -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 <Wojciech.Dubowik@westermo.com>
PKG_LICENSE:=GPL-2.0-only

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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() {

View file

@ -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 <fe@dev.tdt.de>, \
Aaron Goodman <aaronjg@alumni.stanford.edu>

View file

@ -107,7 +107,7 @@ mwan3_get_mwan3track_status()
tracking="down"
fi
else
tracking="not enabled"
tracking="disabled"
fi
echo "$tracking"
}

View file

@ -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()

View file

@ -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

View file

@ -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 <peter.stadler@student.uibk.ac.at>
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

View file

@ -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)

View file

@ -1,7 +1,9 @@
#ifndef __REGEXP_PCRE_HPP
#define __REGEXP_PCRE_HPP
#include <pcre.h>
#define PCRE2_CODE_UNIT_WIDTH 8
#include <pcre2.h>
#include <array>
#include <stdexcept>
#include <string>
@ -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<regex_constants::error_type, 86> 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<PCRE2_UCHAR> 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<int>(subj.length()), 0, 0, nullptr, 0);
pcre2_match(rgx(), (PCRE2_SPTR)subj.c_str(), static_cast<int>(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;

View file

@ -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

View file

@ -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

View file

@ -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<otNetworkDiagTlv> &aDiag);
--
2.41.0

View file

@ -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 \

View file

@ -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

View file

@ -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 <mike@flyn.org>
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

View file

@ -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 <fe@dev.tdt.de>
@ -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

View file

@ -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 <jan.pavlinec1@gmail.com>
PKG_LICENSE:=BSD-3-Clause

View file

@ -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 <vincent@systemli.org>
PKG_LICENSE:=AGPL-3.0

View file

@ -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