Merge branch 'openwrt:master' into master

This commit is contained in:
Hayzam Sherif 2023-11-03 02:37:12 +04:00 committed by GitHub
commit be51a0ca4f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
44 changed files with 639 additions and 374 deletions

View file

@ -8,12 +8,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=node
PKG_VERSION:=v18.18.2
PKG_VERSION:=v20.9.0
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://nodejs.org/dist/$(PKG_VERSION)
PKG_HASH:=7249e2f0af943ec38599504f4b2a2bd31fb938787291b6ccca6c8badf01e3b56
PKG_HASH:=a23d96810abf0455426b349d47ce5310f33095b7bc0571b9cc510f481c3a4519
PKG_MAINTAINER:=Hirokazu MORIKAWA <morikw2@gmail.com>, Adrian Panella <ianchi74@outlook.com>
PKG_LICENSE:=MIT
@ -26,7 +26,6 @@ HOST_BUILD_PARALLEL:=1
PKG_BUILD_DEPENDS:=python3/host
PKG_BUILD_PARALLEL:=1
PKG_INSTALL:=1
PKG_BUILD_FLAGS:=no-mips16
PKG_ASLR_PIE:=0
include $(INCLUDE_DIR)/host-build.mk
@ -38,8 +37,8 @@ define Package/node
SUBMENU:=Node.js
TITLE:=Node.js is a platform built on Chrome's JavaScript runtime
URL:=https://nodejs.org/
DEPENDS:=@HAS_FPU @(i386||x86_64||arm||aarch64||mipsel) \
+libstdcpp +libopenssl +zlib +libnghttp2 +libuv \
DEPENDS:=@HAS_FPU @(i386||x86_64||arm||aarch64) \
+libstdcpp +libopenssl +zlib +libnghttp2 \
+libcares +libatomic +NODEJS_ICU_SYSTEM:icu +NODEJS_ICU_SYSTEM:icu-full-data
endef
@ -47,8 +46,9 @@ define Package/node/description
Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. Node.js uses
an event-driven, non-blocking I/O model that makes it lightweight and efficient. Node.js'
package ecosystem, npm, is the largest ecosystem of open source libraries in the world.
*** The following preparations must be made on the host side. ***
1. gcc 8.3 or higher is required.
1. gcc 10.1 or higher is required.
2. To build a 32-bit target, gcc-multilib, g++-multilib are required.
3. Requires libatomic package. (If necessary, install the 32-bit library at the same time.)
ex) sudo apt-get install gcc-multilib g++-multilib
@ -115,7 +115,6 @@ CONFIGURE_ARGS:= \
--shared-zlib \
--shared-openssl \
--shared-nghttp2 \
--shared-libuv \
--shared-cares \
--with-intl=$(if $(CONFIG_NODEJS_ICU_SMALL),small-icu,$(if $(CONFIG_NODEJS_ICU_SYSTEM),system-icu,none)) \
$(if $(findstring +neon",$(CONFIG_CPU_TYPE)),--with-arm-fpu=neon) \
@ -157,7 +156,11 @@ define Package/node-npm/install
endef
define Host/Install
$(RM) -rf $(1)/lib/node_modules/npm
rm -f $(1)/bin/npm
rm -f $(1)/bin/npx
rm -rf $(1)/lib/node_modules/npm
rm -f $(1)/bin/corepack
rm -rf $(1)/lib/node_modules/corepack
$(call Host/Install/Default)
endef

View file

@ -1,6 +1,6 @@
--- a/lib/internal/modules/cjs/loader.js
+++ b/lib/internal/modules/cjs/loader.js
@@ -1391,7 +1391,8 @@ Module._initPaths = function() {
@@ -1378,7 +1378,8 @@ Module._initPaths = function() {
path.resolve(process.execPath, '..') :
path.resolve(process.execPath, '..', '..');

View file

@ -20,7 +20,7 @@
result = clock_gettime(CLOCK_MONOTONIC, &ts);
--- a/deps/v8/src/base/platform/platform-posix.cc
+++ b/deps/v8/src/base/platform/platform-posix.cc
@@ -1066,7 +1066,7 @@ bool Thread::Start() {
@@ -1147,7 +1147,7 @@ bool Thread::Start() {
#if V8_OS_DARWIN
// Default on Mac OS X is 512kB -- bump up to 1MB
stack_size = 1 * 1024 * 1024;

View file

@ -0,0 +1,10 @@
--- a/deps/uv/uv.gyp
+++ b/deps/uv/uv.gyp
@@ -155,6 +155,7 @@
'target_name': 'libuv',
'toolsets': ['host', 'target'],
'type': '<(uv_library)',
+ 'include_dirs!': [ '<!@(echo "$STAGING_DIR"/usr/include)' ],
'include_dirs': [
'include',
'src/',

View file

@ -0,0 +1,10 @@
--- a/deps/zlib/zlib.gyp
+++ b/deps/zlib/zlib.gyp
@@ -9,6 +9,7 @@
'arm_fpu%': '',
'llvm_version%': '0.0',
},
+ 'include_dirs!': [ '<!@(echo "$STAGING_DIR"/usr/include)' ],
'conditions': [
['use_system_zlib==0', {
'targets': [

View file

@ -0,0 +1,10 @@
--- a/node.gyp
+++ b/node.gyp
@@ -1193,6 +1193,7 @@
'dependencies': [
'deps/simdutf/simdutf.gyp:simdutf#host',
],
+ 'libraries!':[ '-licui18n', '-licuuc', '-licudata', '-lcrypto', '-lssl', '-lz', '-lhttp_parser', '-luv', '-lnghttp2', '-lcares' ],
'include_dirs': [
'tools'
],

View file

@ -72,3 +72,35 @@
'include_dirs': [
'<(icu_path)/source/common',
'<(icu_path)/source/i18n',
@@ -418,6 +427,7 @@
'target_name': 'genrb',
'type': 'executable',
'toolsets': [ 'host' ],
+ 'libraries!':[ '-lcrypto', '-lssl', '-lz', '-lhttp_parser', '-luv', '-lnghttp2', '-lcares' ],
'dependencies': [ 'icutools', 'icu_implementation' ],
'sources': [
'<@(icu_src_genrb)'
@@ -440,6 +450,7 @@
'target_name': 'iculslocs',
'toolsets': [ 'host' ],
'type': 'executable',
+ 'libraries!':[ '-lcrypto', '-lssl', '-lz', '-lhttp_parser', '-luv', '-lnghttp2', '-lcares' ],
'dependencies': [ 'icutools' ],
'sources': [
'iculslocs.cc',
@@ -458,6 +469,7 @@
'target_name': 'icupkg',
'toolsets': [ 'host' ],
'type': 'executable',
+ 'libraries!':[ '-lcrypto', '-lssl', '-lz', '-lhttp_parser', '-luv', '-lnghttp2', '-lcares' ],
'dependencies': [ 'icutools' ],
'sources': [
'<@(icu_src_icupkg)',
@@ -475,6 +487,7 @@
'target_name': 'genccode',
'toolsets': [ 'host' ],
'type': 'executable',
+ 'libraries!':[ '-lcrypto', '-lssl', '-lz', '-lhttp_parser', '-luv', '-lnghttp2', '-lcares' ],
'dependencies': [ 'icutools' ],
'sources': [
'<@(icu_src_genccode)',

View file

@ -0,0 +1,158 @@
--- a/tools/v8_gypfiles/v8.gyp
+++ b/tools/v8_gypfiles/v8.gyp
@@ -73,6 +73,7 @@
],
'hard_dependency': 1,
'direct_dependent_settings': {
+ 'include_dirs!': [ '<!@(echo "$STAGING_DIR"/usr/include)' ],
'include_dirs': [
'<(SHARED_INTERMEDIATE_DIR)',
],
@@ -194,6 +195,7 @@
'<@(torque_outputs_cc)',
'<@(torque_outputs_inc)',
],
+ 'include_dirs!': [ '<!@(echo "$STAGING_DIR"/usr/include)' ],
'include_dirs': [
'<(SHARED_INTERMEDIATE_DIR)',
],
@@ -215,6 +217,7 @@
'sources': [
'<(generate_bytecode_builtins_list_output)',
],
+ 'include_dirs!': [ '<!@(echo "$STAGING_DIR"/usr/include)' ],
'include_dirs': [
'<(generate_bytecode_output_root)',
'<(SHARED_INTERMEDIATE_DIR)',
@@ -252,6 +255,7 @@
'sources': [
'<(V8_ROOT)/src/init/setup-isolate-full.cc',
],
+ 'include_dirs': [ '<!@(echo "$STAGING_DIR"/usr/../usr/include)' ],
}, # v8_init
{
'target_name': 'v8_initializers',
@@ -263,9 +267,11 @@
'v8_shared_internal_headers',
'v8_pch',
],
+ 'include_dirs!': [ '<!@(echo "$STAGING_DIR"/usr/include)' ],
'include_dirs': [
'<(SHARED_INTERMEDIATE_DIR)',
'<(generate_bytecode_output_root)',
+ '<!@(echo "$STAGING_DIR"/usr/../usr/include)',
],
'sources': [
'<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn" "\\"v8_initializers.*?sources = ")',
@@ -689,6 +695,7 @@
'toolsets': ['host', 'target'],
'direct_dependent_settings': {
'sources': ['<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn" "v8_compiler_sources = ")'],
+ 'include_dirs': [ '<!@(echo "$STAGING_DIR"/usr/../usr/include)' ],
'conditions': [
['v8_target_arch=="ia32"', {
'sources': [
@@ -797,6 +804,8 @@
'target_name': 'v8_turboshaft',
'type': 'static_library',
'toolsets': ['host', 'target'],
+ 'libraries!':[ '-lcrypto', '-lssl', '-lz', '-lhttp_parser', '-luv', '-lnghttp2', '-lcares' ],
+ 'include_dirs': [ '<!@(echo "$STAGING_DIR"/usr/../usr/include)' ],
'dependencies': [
'generate_bytecode_builtins_list',
'run_torque',
@@ -821,6 +830,7 @@
'run_torque',
'v8_maybe_icu',
],
+ 'include_dirs': [ '<!@(echo "$STAGING_DIR"/usr/../usr/include)' ],
'conditions': [
['(is_component_build and not v8_optimized_debug and v8_enable_fast_mksnapshot) or v8_enable_turbofan==0', {
'dependencies': [
@@ -861,6 +871,7 @@
],
'includes': ['inspector.gypi'],
'direct_dependent_settings': {
+ 'include_dirs!': [ '<!@(echo "$STAGING_DIR"/usr/include)' ],
'include_dirs': [
'<(generate_bytecode_output_root)',
'<(SHARED_INTERMEDIATE_DIR)',
@@ -1474,6 +1485,7 @@
}],
],
'direct_dependent_settings': {
+ 'include_dirs!': [ '<!@(echo "$STAGING_DIR"/usr/include)' ],
'include_dirs': [
'<(V8_ROOT)/include',
],
@@ -1494,6 +1506,7 @@
{
'target_name': 'bytecode_builtins_list_generator',
'type': 'executable',
+ 'libraries!':[ '-licui18n', '-licuuc', '-licudata', '-lcrypto', '-lssl', '-lz', '-lhttp_parser', '-luv', '-lnghttp2', '-lcares' ],
'conditions': [
['want_separate_host_toolset', {
'toolsets': ['host'],
@@ -1522,6 +1535,9 @@
{
'target_name': 'mksnapshot',
'type': 'executable',
+ 'libraries!':[ '-lcrypto', '-lssl', '-lz', '-lhttp_parser', '-luv', '-lnghttp2', '-lcares' ],
+ 'library_dirs':[ '../../../../staging_dir/hostpkg/share/icu/current/lib' ],
+ 'include_dirs': [ '<!@(echo "$STAGING_DIR"/usr/../usr/include)' ],
'dependencies': [
'v8_base_without_compiler',
'v8_compiler_for_mksnapshot',
@@ -1549,6 +1565,7 @@
{
'target_name': 'torque',
'type': 'executable',
+ 'libraries!':[ '-licui18n', '-licuuc', '-licudata', '-lcrypto', '-lssl', '-lz', '-lhttp_parser', '-luv', '-lnghttp2', '-lcares' ],
'dependencies': [
'torque_base',
# "build/win:default_exe_manifest",
@@ -1591,6 +1608,7 @@
{
'target_name': 'torque-language-server',
'type': 'executable',
+ 'libraries!':[ '-licui18n', '-licuuc', '-licudata', '-lcrypto', '-lssl', '-lz', '-lhttp_parser', '-luv', '-lnghttp2', '-lcares' ],
'conditions': [
['want_separate_host_toolset', {
'toolsets': ['host'],
@@ -1622,6 +1640,8 @@
{
'target_name': 'gen-regexp-special-case',
'type': 'executable',
+ 'libraries!':[ '-lcrypto', '-lssl', '-lz', '-lhttp_parser', '-luv', '-lnghttp2', '-lcares' ],
+ 'library_dirs':[ '../../../../staging_dir/hostpkg/share/icu/current/lib' ],
'dependencies': [
'v8_libbase',
# "build/win:default_exe_manifest",
@@ -1840,6 +1860,7 @@
}],
],
'direct_dependent_settings': {
+ 'include_dirs!': [ '<!@(echo "$STAGING_DIR"/usr/include)' ],
'include_dirs': [
'<(V8_ROOT)/include',
],
@@ -1961,15 +1982,19 @@
}],
],
'direct_dependent_settings': {
+ 'include_dirs!': [ '<!@(echo "$STAGING_DIR"/usr/include)' ],
'include_dirs': [
'<(V8_ROOT)/third_party/zlib',
'<(V8_ROOT)/third_party/zlib/google',
+ '<!@(echo "$STAGING_DIR"/usr/../usr/include)',
],
},
'defines': [ 'ZLIB_IMPLEMENTATION' ],
+ 'include_dirs!': [ '<!@(echo "$STAGING_DIR"/usr/include)' ],
'include_dirs': [
'<(V8_ROOT)/third_party/zlib',
'<(V8_ROOT)/third_party/zlib/google',
+ '<!@(echo "$STAGING_DIR"/usr/../usr/include)',
],
'sources': [
'<(V8_ROOT)/third_party/zlib/adler32.c',

View file

@ -1,78 +0,0 @@
--- a/tools/icu/icu-generic.gyp
+++ b/tools/icu/icu-generic.gyp
@@ -418,6 +418,7 @@
'target_name': 'genrb',
'type': 'executable',
'toolsets': [ 'host' ],
+ 'libraries!':[ '-lcrypto', '-lssl', '-lz', '-lhttp_parser', '-luv', '-lnghttp2', '-lcares' ],
'dependencies': [ 'icutools', 'icu_implementation' ],
'sources': [
'<@(icu_src_genrb)'
@@ -440,6 +441,7 @@
'target_name': 'iculslocs',
'toolsets': [ 'host' ],
'type': 'executable',
+ 'libraries!':[ '-lcrypto', '-lssl', '-lz', '-lhttp_parser', '-luv', '-lnghttp2', '-lcares' ],
'dependencies': [ 'icutools' ],
'sources': [
'iculslocs.cc',
@@ -458,6 +460,7 @@
'target_name': 'icupkg',
'toolsets': [ 'host' ],
'type': 'executable',
+ 'libraries!':[ '-lcrypto', '-lssl', '-lz', '-lhttp_parser', '-luv', '-lnghttp2', '-lcares' ],
'dependencies': [ 'icutools' ],
'sources': [
'<@(icu_src_icupkg)',
@@ -475,6 +478,7 @@
'target_name': 'genccode',
'toolsets': [ 'host' ],
'type': 'executable',
+ 'libraries!':[ '-lcrypto', '-lssl', '-lz', '-lhttp_parser', '-luv', '-lnghttp2', '-lcares' ],
'dependencies': [ 'icutools' ],
'sources': [
'<@(icu_src_genccode)',
--- a/tools/v8_gypfiles/v8.gyp
+++ b/tools/v8_gypfiles/v8.gyp
@@ -1397,6 +1397,7 @@
{
'target_name': 'bytecode_builtins_list_generator',
'type': 'executable',
+ 'libraries!':[ '-licui18n', '-licuuc', '-licudata', '-lcrypto', '-lssl', '-lz', '-lhttp_parser', '-luv', '-lnghttp2', '-lcares' ],
'conditions': [
['want_separate_host_toolset', {
'toolsets': ['host'],
@@ -1425,6 +1426,8 @@
{
'target_name': 'mksnapshot',
'type': 'executable',
+ 'libraries!':[ '-lcrypto', '-lssl', '-lz', '-lhttp_parser', '-luv', '-lnghttp2', '-lcares' ],
+ 'library_dirs':[ '../../../../staging_dir/hostpkg/share/icu/current/lib' ],
'dependencies': [
'v8_base_without_compiler',
'v8_compiler_for_mksnapshot',
@@ -1458,6 +1461,7 @@
{
'target_name': 'torque',
'type': 'executable',
+ 'libraries!':[ '-licui18n', '-licuuc', '-licudata', '-lcrypto', '-lssl', '-lz', '-lhttp_parser', '-luv', '-lnghttp2', '-lcares' ],
'dependencies': [
'torque_base',
# "build/win:default_exe_manifest",
@@ -1500,6 +1504,7 @@
{
'target_name': 'torque-language-server',
'type': 'executable',
+ 'libraries!':[ '-licui18n', '-licuuc', '-licudata', '-lcrypto', '-lssl', '-lz', '-lhttp_parser', '-luv', '-lnghttp2', '-lcares' ],
'conditions': [
['want_separate_host_toolset', {
'toolsets': ['host'],
@@ -1531,6 +1536,8 @@
{
'target_name': 'gen-regexp-special-case',
'type': 'executable',
+ 'libraries!':[ '-lcrypto', '-lssl', '-lz', '-lhttp_parser', '-luv', '-lnghttp2', '-lcares' ],
+ 'library_dirs':[ '../../../../staging_dir/hostpkg/share/icu/current/lib' ],
'dependencies': [
'v8_libbase',
# "build/win:default_exe_manifest",

View file

@ -1,92 +0,0 @@
--- a/deps/zlib/zlib.gyp
+++ b/deps/zlib/zlib.gyp
@@ -9,6 +9,7 @@
'arm_fpu%': '',
'llvm_version%': '0.0',
},
+ 'include_dirs!': [ '<!@(echo "$STAGING_DIR"/usr/include)' ],
'conditions': [
['use_system_zlib==0', {
'targets': [
--- a/tools/v8_gypfiles/v8.gyp
+++ b/tools/v8_gypfiles/v8.gyp
@@ -60,6 +60,7 @@
],
'hard_dependency': 1,
'direct_dependent_settings': {
+ 'include_dirs!': [ '<!@(echo "$STAGING_DIR"/usr/include)' ],
'include_dirs': [
'<(SHARED_INTERMEDIATE_DIR)',
],
@@ -181,6 +182,7 @@
'<@(torque_outputs_cc)',
'<@(torque_outputs_inc)',
],
+ 'include_dirs!': [ '<!@(echo "$STAGING_DIR"/usr/include)' ],
'include_dirs': [
'<(SHARED_INTERMEDIATE_DIR)',
],
@@ -202,6 +204,7 @@
'sources': [
'<(generate_bytecode_builtins_list_output)',
],
+ 'include_dirs!': [ '<!@(echo "$STAGING_DIR"/usr/include)' ],
'include_dirs': [
'<(generate_bytecode_output_root)',
'<(SHARED_INTERMEDIATE_DIR)',
@@ -249,9 +252,11 @@
'v8_base_without_compiler',
'v8_shared_internal_headers',
],
+ 'include_dirs!': [ '<!@(echo "$STAGING_DIR"/usr/include)' ],
'include_dirs': [
'<(SHARED_INTERMEDIATE_DIR)',
'<(generate_bytecode_output_root)',
+ '<!@(echo "$STAGING_DIR"/usr/../usr/include)',
],
'sources': [
'<!@pymod_do_main(GN-scraper "<(V8_ROOT)/BUILD.gn" "\\"v8_initializers.*?sources = ")',
@@ -769,6 +774,7 @@
],
'includes': ['inspector.gypi'],
'direct_dependent_settings': {
+ 'include_dirs!': [ '<!@(echo "$STAGING_DIR"/usr/include)' ],
'include_dirs': [
'<(generate_bytecode_output_root)',
'<(SHARED_INTERMEDIATE_DIR)',
@@ -1377,6 +1383,7 @@
}],
],
'direct_dependent_settings': {
+ 'include_dirs!': [ '<!@(echo "$STAGING_DIR"/usr/include)' ],
'include_dirs': [
'<(V8_ROOT)/include',
],
@@ -1761,6 +1768,7 @@
}],
],
'direct_dependent_settings': {
+ 'include_dirs!': [ '<!@(echo "$STAGING_DIR"/usr/include)' ],
'include_dirs': [
'<(V8_ROOT)/include',
],
@@ -1941,15 +1949,19 @@
}],
],
'direct_dependent_settings': {
+ 'include_dirs!': [ '<!@(echo "$STAGING_DIR"/usr/include)' ],
'include_dirs': [
'<(V8_ROOT)/third_party/zlib',
'<(V8_ROOT)/third_party/zlib/google',
+ '<!@(echo "$STAGING_DIR"/usr/../usr/include)',
],
},
'defines': [ 'ZLIB_IMPLEMENTATION' ],
+ 'include_dirs!': [ '<!@(echo "$STAGING_DIR"/usr/include)' ],
'include_dirs': [
'<(V8_ROOT)/third_party/zlib',
'<(V8_ROOT)/third_party/zlib/google',
+ '<!@(echo "$STAGING_DIR"/usr/../usr/include)',
],
'sources': [
'<(V8_ROOT)/third_party/zlib/adler32.c',

View file

@ -1,26 +0,0 @@
--- a/tools/v8_gypfiles/v8.gyp
+++ b/tools/v8_gypfiles/v8.gyp
@@ -242,6 +242,7 @@
'sources': [
'<(V8_ROOT)/src/init/setup-isolate-full.cc',
],
+ 'include_dirs': [ '<!@(echo "$STAGING_DIR"/usr/../usr/include)' ],
}, # v8_init
{
'target_name': 'v8_initializers',
@@ -714,6 +715,7 @@
'v8_shared_internal_headers',
],
'sources': ['<@(v8_compiler_sources)'],
+ 'include_dirs': [ '<!@(echo "$STAGING_DIR"/usr/../usr/include)' ],
'conditions': [
['OS=="win"', {
'msvs_precompiled_header': '<(V8_ROOT)/../../tools/msvs/pch/v8_pch.h',
@@ -1435,6 +1437,7 @@
'type': 'executable',
'libraries!':[ '-lcrypto', '-lssl', '-lz', '-lhttp_parser', '-luv', '-lnghttp2', '-lcares' ],
'library_dirs':[ '../../../../staging_dir/hostpkg/share/icu/current/lib' ],
+ 'include_dirs': [ '<!@(echo "$STAGING_DIR"/usr/../usr/include)' ],
'dependencies': [
'v8_base_without_compiler',
'v8_compiler_for_mksnapshot',

View file

@ -1,11 +0,0 @@
--- a/deps/v8/src/compiler/backend/mips/code-generator-mips.cc
+++ b/deps/v8/src/compiler/backend/mips/code-generator-mips.cc
@@ -4101,7 +4101,7 @@ void CodeGenerator::AssembleReturn(Instr
} else if (FLAG_debug_code) {
__ Assert(eq, AbortReason::kUnexpectedAdditionalPopValue,
g.ToRegister(additional_pop_count),
- Operand(static_cast<int64_t>(0)));
+ Operand(static_cast<int32_t>(0)));
}
}
// Functions with JS linkage have at least one parameter (the receiver).

View file

@ -13,7 +13,7 @@ Forwarded: https://github.com/nodejs/node/issues/33816
//
// Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and associated documentation files (the
@@ -1321,13 +1322,6 @@ function lookupAndConnect(self, options)
@@ -1330,13 +1331,6 @@ function lookupAndConnect(self, options)
hints: options.hints || 0,
};

View file

@ -1,6 +1,6 @@
--- a/configure.py
+++ b/configure.py
@@ -1291,7 +1291,6 @@ def configure_node(o):
@@ -1270,7 +1270,6 @@ def configure_node(o):
# Enable branch protection for arm64
if target_arch == 'arm64':

View file

@ -24,7 +24,6 @@ PKG_BUILD_DEPENDS:=python3/host
PKG_BUILD_PARALLEL:=1
# keep in sync with micropython
MP_VERSION:=1.20.0
MP_MPY_FILE_VERSION:=6
include $(INCLUDE_DIR)/package.mk
@ -88,7 +87,7 @@ This contains source files for packages specific to the MicroPython Unix
port.
endef
MP_INSTALLDEV_PATH:=$(STAGING_DIR)/host/lib/micropython-$(MP_VERSION)
MP_INSTALLDEV_PATH:=$(STAGING_DIR)/host/lib/micropython
define MicroPythonLib/Compile
cd "$(PKG_BUILD_DIR)" && python3 tools/build.py \

View file

@ -8,12 +8,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=micropython
PKG_VERSION:=1.20.0
PKG_VERSION:=1.21.0
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://github.com/micropython/micropython/releases/download/v$(PKG_VERSION)
PKG_HASH:=098ef8e40abdc62551b5460d0ffe9489074240c0cb5589ca3c3a425551beb9bf
PKG_HASH:=abd2152613559d3f44728668346e78be9d93458133a03b700baf222c322fd4d5
PKG_MAINTAINER:=Jeffery To <jeffery.to@gmail.com>
PKG_LICENSE:=MIT
@ -70,14 +70,20 @@ $(call Package/micropython/Default/description)
This version is built without TLS and mip.
endef
MAKE_FLAGS += BUILD_VERBOSE=1
MAKE_FLAGS += BUILD_VERBOSE=1 STRIP=
ifneq ($(CONFIG_DEBUG),)
MAKE_FLAGS += DEBUG=1
endif
ifeq ($(BUILD_VARIANT),nossl)
MAKE_FLAGS += MICROPY_PY_USSL=0 FROZEN_MANIFEST=variants/standard/manifest-nossl.py
MAKE_FLAGS += MICROPY_PY_SSL=0 FROZEN_MANIFEST=variants/standard/manifest-nossl.py
endif
# Work around "variable might be clobbered" warning leading to build error
# https://github.com/micropython/micropython/issues/12838
ifeq ($(ARCH),riscv64)
MAKE_FLAGS += CFLAGS_EXTRA=-Wno-error=clobbered
endif
MAKE_PATH = ports/unix
@ -89,20 +95,20 @@ define Build/Configure
endef
define Build/InstallDev
$(INSTALL_DIR) $(2)/lib/micropython-$(PKG_VERSION)/mpy-cross
$(INSTALL_DIR) $(2)/lib/micropython/mpy-cross
$(CP) \
$(PKG_BUILD_DIR)/mpy-cross/mpy_cross \
$(2)/lib/micropython-$(PKG_VERSION)/mpy-cross/
$(2)/lib/micropython/mpy-cross/
$(INSTALL_DIR) $(2)/lib/micropython-$(PKG_VERSION)/mpy-cross/build
$(INSTALL_DIR) $(2)/lib/micropython/mpy-cross/build
$(INSTALL_BIN) \
$(PKG_BUILD_DIR)/mpy-cross/build/mpy-cross \
$(2)/lib/micropython-$(PKG_VERSION)/mpy-cross/build/
$(2)/lib/micropython/mpy-cross/build/
$(INSTALL_DIR) $(2)/lib/micropython-$(PKG_VERSION)/tools
$(INSTALL_DIR) $(2)/lib/micropython/tools
$(INSTALL_DATA) \
$(PKG_BUILD_DIR)/tools/manifestfile.py \
$(2)/lib/micropython-$(PKG_VERSION)/tools/
$(2)/lib/micropython/tools/
endef
define Package/micropython/Default/install

View file

@ -1,7 +1,7 @@
--- a/ports/unix/Makefile
+++ b/ports/unix/Makefile
@@ -31,7 +31,7 @@ QSTR_DEFS = qstrdefsport.h
QSTR_GLOBAL_DEPENDENCIES = $(VARIANT_DIR)/mpconfigvariant.h
@@ -31,7 +31,7 @@ QSTR_DEFS += qstrdefsport.h
QSTR_GLOBAL_DEPENDENCIES += $(VARIANT_DIR)/mpconfigvariant.h
# OS name, for simple autoconfig
-UNAME_S := $(shell uname -s)

View file

@ -9,7 +9,7 @@ Subject: [PATCH 06/10] extmod: Use system mbedtls
--- a/extmod/extmod.mk
+++ b/extmod/extmod.mk
@@ -131,84 +131,8 @@ SRC_THIRDPARTY_C += $(addprefix $(AXTLS_
@@ -131,85 +131,8 @@ SRC_THIRDPARTY_C += $(addprefix $(AXTLS_
crypto/sha1.c \
)
else ifeq ($(MICROPY_SSL_MBEDTLS),1)
@ -54,7 +54,6 @@ Subject: [PATCH 06/10] extmod: Use system mbedtls
- md4.c \
- md5.c \
- md.c \
- md_wrap.c \
- oid.c \
- padlock.c \
- pem.c \
@ -79,9 +78,11 @@ Subject: [PATCH 06/10] extmod: Use system mbedtls
- ssl_cli.c \
- ssl_cookie.c \
- ssl_srv.c \
- ssl_msg.c \
- ssl_ticket.c \
- ssl_tls.c \
- timing.c \
- constant_time.c \
- x509.c \
- x509_create.c \
- x509_crl.c \

View file

@ -1,31 +0,0 @@
From f1c6cb7725960487195daa5c5c196fd8d3563811 Mon Sep 17 00:00:00 2001
From: Damien George <damien@micropython.org>
Date: Wed, 3 May 2023 15:23:24 +1000
Subject: [PATCH] py/stackctrl: Add gcc pragmas to ignore dangling-pointer
warning.
This warning became apparent in gcc 13.
Signed-off-by: Damien George <damien@micropython.org>
---
py/stackctrl.c | 7 +++++++
1 file changed, 7 insertions(+)
--- a/py/stackctrl.c
+++ b/py/stackctrl.c
@@ -28,8 +28,15 @@
#include "py/stackctrl.h"
void mp_stack_ctrl_init(void) {
+ #if __GNUC__ >= 13
+ #pragma GCC diagnostic push
+ #pragma GCC diagnostic ignored "-Wdangling-pointer"
+ #endif
volatile int stack_dummy;
MP_STATE_THREAD(stack_top) = (char *)&stack_dummy;
+ #if __GNUC__ >= 13
+ #pragma GCC diagnostic pop
+ #endif
}
void mp_stack_set_top(void *top) {

View file

@ -1 +1 @@
include("$(MPY_DIR)/extmod/uasyncio")
include("$(MPY_DIR)/extmod/asyncio")

View file

@ -0,0 +1,6 @@
#!/bin/sh
nl="
"
micropython -c "import sys${nl}print(sys.version)" | grep -F " MicroPython v${PKG_VERSION} "

View file

@ -1,5 +1,5 @@
#
# Copyright (C) 2018 OpenWrt.org
# Copyright (C) 2018, 2023 Jeffery To
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
@ -8,16 +8,18 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=python-constantly
PKG_VERSION:=15.1.0
PKG_RELEASE:=2
PKG_VERSION:=23.10.4
PKG_RELEASE:=1
PYPI_NAME:=constantly
PKG_HASH:=586372eb92059873e29eba4f9dec8381541b4d3834660707faf8ba59146dfc35
PKG_HASH:=aa92b70a33e2ac0bb33cd745eb61776594dc48764b06c35e0efd050b7f1c7cbd
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=LICENSE
PKG_MAINTAINER:=Jeffery To <jeffery.to@gmail.com>
PKG_BUILD_DEPENDS:=python-versioneer/host
include ../pypi.mk
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk

View file

@ -0,0 +1,9 @@
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,5 +1,5 @@
[build-system]
-requires = ["setuptools>=68.2", "versioneer[toml]==0.29"]
+requires = ["setuptools", "versioneer[toml]==0.29"]
build-backend = "setuptools.build_meta"
[project]

View file

@ -0,0 +1,27 @@
#!/bin/sh
[ "$1" = python3-constantly ] || exit 0
python3 - << 'EOF'
from constantly import NamedConstant, Names
class Letters(Names):
a = NamedConstant()
b = NamedConstant()
c = NamedConstant()
assert Letters.lookupByName('a') is Letters.a
assert Letters.a < Letters.b
assert Letters.b < Letters.c
assert Letters.a < Letters.c
from constantly import ValueConstant, Values
class STATUS(Values):
OK = ValueConstant('200')
FOUND = ValueConstant('302')
NOT_FOUND = ValueConstant('404')
assert STATUS.OK.value == '200'
assert STATUS.lookupByValue('404') == STATUS.NOT_FOUND
EOF

View file

@ -8,15 +8,16 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=python-cryptography
PKG_VERSION:=41.0.4
PKG_VERSION:=41.0.5
PKG_RELEASE:=1
PYPI_NAME:=cryptography
PKG_HASH:=7febc3094125fc126a7f6fb1f420d0da639f3f32cb15c8ff0dc3997c4549f51a
PKG_HASH:=392cb88b597247177172e02da6b7a63deeff1937fa6fec3bbf902ebd75d97ec7
PKG_LICENSE:=Apache-2.0 BSD-3-Clause
PKG_LICENSE_FILES:=LICENSE.APACHE LICENSE.BSD
PKG_MAINTAINER:=Jeffery To <jeffery.to@gmail.com>
PKG_CPE_ID:=cpe:/a:cryptography_project:cryptography
PKG_BUILD_DEPENDS:=libffi/host python-cffi/host python-setuptools-rust/host

View file

@ -2,11 +2,13 @@
[ "$1" = python3-cryptography ] || exit 0
python3 - << EOF
import sys
python3 - << 'EOF'
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)
msg = b"my deep dark secret"
token = f.encrypt(msg)
assert f.decrypt(token) == msg
EOF

View file

@ -4,17 +4,18 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=pyodbc
PKG_VERSION:=4.0.39
PKG_NAME:=python-pyodbc
PKG_VERSION:=5.0.1
PKG_RELEASE:=1
PYPI_NAME:=$(PKG_NAME)
PKG_HASH:=e528bb70dd6d6299ee429868925df0866e3e919c772b9eff79c8e17920d8f116
PYPI_NAME:=pyodbc
PKG_HASH:=03d7d0b04d5a9156099ce8d03e92f3956783746fa9234eb6f5b5cfc12b645011
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=LICENSE.txt
PKG_MAINTAINER:=Jeffery To <jeffery.to@gmail.com>
# for odbc_config
PKG_BUILD_DEPENDS:=unixodbc/host
include ../pypi.mk
@ -25,17 +26,17 @@ define Package/python3-pyodbc
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
TITLE:=python3-pyodbc
TITLE:=DB API module for ODBC
URL:=https://github.com/mkleehammer/pyodbc
DEPENDS:=+unixodbc +python3-light +libstdcpp
DEPENDS:=+python3-light +python3-decimal +python3-uuid +libodbc +libstdcpp
endef
define Package/python3-pyodbc/description
DB API Module for ODBC
A Python DB API 2 module for ODBC. This project provides an up-to-date,
convenient interface to ODBC using native data types like datetime and decimal.
pyodbc is an open source Python module that makes accessing ODBC
databases simple. It implements the DB API 2.0 specification but is
packed with even more Pythonic convenience.
endef
$(eval $(call Py3Package,python3-pyodbc))
$(eval $(call BuildPackage,python3-pyodbc))
# no src package - the module does not contain any Python code

View file

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

View file

@ -8,11 +8,11 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=python-setuptools-rust
PKG_VERSION:=1.7.0
PKG_RELEASE:=2
PKG_VERSION:=1.8.1
PKG_RELEASE:=1
PYPI_NAME:=setuptools-rust
PKG_HASH:=c7100999948235a38ae7e555fe199aa66c253dc384b125f5d85473bf81eae3a3
PKG_HASH:=94b1dd5d5308b3138d5b933c3a2b55e6d6927d1a22632e509fcea9ddd0f7e486
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=LICENSE
@ -26,7 +26,6 @@ HOST_BUILD_DEPENDS:= \
python-wheel/host \
python-setuptools-scm/host \
python-semantic-version/host \
python-typing-extensions/host \
rust/host
include ../pypi.mk
@ -46,7 +45,6 @@ define Package/python3-setuptools-rust
+python3-logging \
+python3-semantic-version \
+python3-setuptools \
+python3-typing-extensions \
+rust
BUILDONLY:=1
endef

View file

@ -1,48 +0,0 @@
From b10cab4efeb80abb5a236d651c9ff9355e470527 Mon Sep 17 00:00:00 2001
From: Jeffery To <jeffery.to@gmail.com>
Date: Mon, 2 Oct 2023 16:13:51 +0800
Subject: [PATCH] Allow profile to be set by SETUPTOOLS_RUST_CARGO_PROFILE env
variable
This allows the profile to be set dynamically, without having to edit
pyproject.toml/setup.py.
---
setuptools_rust/build.py | 20 ++++++++++++++++----
1 file changed, 16 insertions(+), 4 deletions(-)
--- a/setuptools_rust/build.py
+++ b/setuptools_rust/build.py
@@ -528,10 +528,10 @@ class build_rust(RustCommand):
if target_triple is not None:
args.extend(["--target", target_triple])
- if release:
- profile = ext.get_cargo_profile()
- if not profile:
- args.append("--release")
+ ext_profile = ext.get_cargo_profile()
+ env_profile = os.getenv("SETUPTOOLS_RUST_CARGO_PROFILE")
+ if release and not ext_profile and not env_profile:
+ args.append("--release")
if quiet:
args.append("-q")
@@ -552,6 +552,18 @@ class build_rust(RustCommand):
if ext.args is not None:
args.extend(ext.args)
+ if env_profile:
+ if ext_profile:
+ args = [p for p in args if not p.startswith("--profile=")]
+ while True:
+ try:
+ index = args.index("--profile")
+ del args[index:index + 2]
+ except ValueError:
+ break
+
+ args.extend(["--profile", env_profile])
+
if ext.cargo_manifest_args is not None:
args.extend(ext.cargo_manifest_args)

View file

@ -0,0 +1,51 @@
#
# 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-versioneer
PKG_VERSION:=0.29
PKG_RELEASE:=1
PYPI_NAME:=versioneer
PKG_HASH:=5ab283b9857211d61b53318b7c792cf68e798e765ee17c27ade9f6c924235731
PKG_LICENSE:=Unlicense
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-versioneer
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
TITLE:=Easy VCS-based management of project version strings
URL:=https://github.com/python-versioneer/python-versioneer
DEPENDS:=+python3-light
BUILDONLY:=1
endef
define Package/python3-versioneer/description
This is a tool for managing a recorded version number in
setuptools-based python projects. The goal is to remove the tedious and
error-prone "update the embedded version string" step from your release
process. Making a new release should be as easy as recording a new tag
in your version-control system, and maybe making new tarballs.
endef
$(eval $(call Py3Package,python3-versioneer))
$(eval $(call BuildPackage,python3-versioneer))
$(eval $(call BuildPackage,python3-versioneer-src))
$(eval $(call HostBuild))

View file

@ -8,12 +8,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=libndpi
PKG_VERSION:=4.6
PKG_VERSION:=4.8
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/ntop/nDPI/tar.gz/$(PKG_VERSION)?
PKG_HASH:=6f307e23ab11b2b9e84a696120810e27a854072576a49783ff84fd37a1d7411b
PKG_HASH:=8f6235ba672d4ac8e4cbebb5611bc712a74587d9d53a649f483e4bcca5b80e58
PKG_BUILD_DIR:=$(BUILD_DIR)/nDPI-$(PKG_VERSION)
PKG_MAINTAINER:=Banglang Huang <banglang.huang@foxmail.com>, Toni Uhlig <matzeton@googlemail.com>
@ -36,7 +36,7 @@ CONFIGURE_ARGS += --with-local-libgcrypt
endif
ifneq ($(CONFIG_LIBNDPI_PCRE),)
CONFIGURE_ARGS += --with-pcre
CONFIGURE_ARGS += --with-pcre2
endif
ifneq ($(CONFIG_LIBNDPI_MAXMINDDB),)
@ -48,7 +48,7 @@ define Package/libndpi
CATEGORY:=Libraries
TITLE:=Library for deep-packet inspection
URL:=https://github.com/ntop/nDPI
DEPENDS:=+LIBNDPI_GCRYPT:libgcrypt +LIBNDPI_PCRE:libpcre +LIBNDPI_MAXMINDDB:libmaxminddb +LIBNDPI_NDPIREADER:libpcap
DEPENDS:=+LIBNDPI_GCRYPT:libgcrypt +LIBNDPI_PCRE:libpcre2 +LIBNDPI_MAXMINDDB:libmaxminddb +LIBNDPI_NDPIREADER:libpcap
endef
define Package/libndpi/description

View file

@ -0,0 +1,197 @@
From 8fed2be3d5b83949fabb2bdf39d6de4f24d2e68f Mon Sep 17 00:00:00 2001
From: Christian Marangi <ansuelsmth@gmail.com>
Date: Mon, 30 Oct 2023 18:10:51 +0100
Subject: [PATCH] Move from PCRE to PCRE2
Move from PCRE to PCRE2. PCRE is EOL and won't receive any security
updates anymore. Convert to PCRE2 by converting any function PCRE2 new
API.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
---
configure.ac | 18 ++++----
src/lib/ndpi_utils.c | 46 ++++++++++-----------
src/lib/third_party/include/rce_injection.h | 6 +--
tests/do.sh.in | 4 +-
4 files changed, 37 insertions(+), 37 deletions(-)
--- a/configure.ac
+++ b/configure.ac
@@ -359,14 +359,14 @@ AS_IF([test "${with_local_libgcrypt+set}
AC_DEFINE_UNQUOTED(USE_HOST_LIBGCRYPT, 1, [Use locally installed libgcrypt instead of builtin gcrypt-light])
])
-dnl> PCRE
-PCRE_ENABLED=0
-AC_ARG_WITH(pcre, AS_HELP_STRING([--with-pcre], [Enable nDPI build with libpcre]))
-if test "${with_pcre+set}" = set; then :
- AC_CHECK_LIB(pcre, pcre_compile, AC_DEFINE_UNQUOTED(HAVE_PCRE, 1, [libpcre(-dev) is present]))
- if test "x$ac_cv_lib_pcre_pcre_compile" = xyes; then :
- ADDITIONAL_LIBS="${ADDITIONAL_LIBS} -lpcre"
- PCRE_ENABLED=1
+dnl> PCRE2
+PCRE2_ENABLED=0
+AC_ARG_WITH(pcre2, AS_HELP_STRING([--with-pcre2], [Enable nDPI build with libpcre2]))
+if test "${with_pcre2+set}" = set; then :
+ AC_CHECK_LIB(pcre2-8, pcre2_compile_8, AC_DEFINE_UNQUOTED(HAVE_PCRE2, 1, [libpcre2(-dev) is present]))
+ if test "x$ac_cv_lib_pcre2_8_pcre2_compile_8" = xyes; then :
+ ADDITIONAL_LIBS="${ADDITIONAL_LIBS} -lpcre2-8"
+ PCRE2_ENABLED=1
fi
fi
@@ -420,7 +420,7 @@ AC_SUBST(GPROF_CFLAGS)
AC_SUBST(GPROF_LIBS)
AC_SUBST(GPROF_ENABLED)
AC_SUBST(USE_HOST_LIBGCRYPT)
-AC_SUBST(PCRE_ENABLED)
+AC_SUBST(PCRE2_ENABLED)
AC_SUBST(NBPF_ENABLED)
AC_SUBST(HANDLE_TLS_SIGS)
AC_SUBST(DISABLE_NPCAP)
--- a/src/lib/ndpi_utils.c
+++ b/src/lib/ndpi_utils.c
@@ -62,12 +62,12 @@
// #define DEBUG_REASSEMBLY
-#ifdef HAVE_PCRE
-#include <pcre.h>
+#ifdef HAVE_PCRE2
+#define PCRE2_CODE_UNIT_WIDTH 8
+#include <pcre2.h>
-struct pcre_struct {
- pcre *compiled;
- pcre_extra *optimized;
+struct pcre2_struct {
+ pcre2_code *compiled;
};
#endif
@@ -1712,18 +1712,19 @@ static int ndpi_is_xss_injection(char* q
/* ********************************** */
-#ifdef HAVE_PCRE
+#ifdef HAVE_PCRE2
static void ndpi_compile_rce_regex() {
- const char *pcreErrorStr = NULL;
- int pcreErrorOffset;
+ PCRE2_UCHAR pcreErrorStr[128];
+ PCRE2_SIZE pcreErrorOffset;
+ int pcreErrorCode;
for(int i = 0; i < N_RCE_REGEX; i++) {
- comp_rx[i] = (struct pcre_struct*)ndpi_malloc(sizeof(struct pcre_struct));
+ comp_rx[i] = (struct pcre2_struct*)ndpi_malloc(sizeof(struct pcre2_struct));
- comp_rx[i]->compiled = pcre_compile(rce_regex[i], 0, &pcreErrorStr,
+ comp_rx[i]->compiled = pcre2_compile((PCRE2_SPTR)rce_regex[i], PCRE2_ZERO_TERMINATED, 0, &pcreErrorCode,
&pcreErrorOffset, NULL);
-
+ pcre2_get_error_message(pcreErrorCode, pcreErrorStr, 128);
if(comp_rx[i]->compiled == NULL) {
#ifdef DEBUG
NDPI_LOG_ERR(ndpi_str, "ERROR: Could not compile '%s': %s\n", rce_regex[i],
@@ -1733,17 +1734,16 @@ static void ndpi_compile_rce_regex() {
continue;
}
- comp_rx[i]->optimized = pcre_study(comp_rx[i]->compiled, 0, &pcreErrorStr);
+ pcreErrorCode = pcre2_jit_compile(comp_rx[i]->compiled, PCRE2_JIT_COMPLETE);
#ifdef DEBUG
- if(pcreErrorStr != NULL) {
- NDPI_LOG_ERR(ndpi_str, "ERROR: Could not study '%s': %s\n", rce_regex[i],
+ if(pcreErrorCode < 0) {
+ pcre2_get_error_message(pcreErrorCode, pcreErrorStr, 128);
+ NDPI_LOG_ERR(ndpi_str, "ERROR: Could not jit compile '%s': %s\n", rce_regex[i],
pcreErrorStr);
}
#endif
}
-
- ndpi_free((void *)pcreErrorStr);
}
static int ndpi_is_rce_injection(char* query) {
@@ -1752,17 +1752,17 @@ static int ndpi_is_rce_injection(char* q
initialized_comp_rx = 1;
}
+ pcre2_match_data *pcreMatchData;
int pcreExecRet;
- int subStrVec[30];
for(int i = 0; i < N_RCE_REGEX; i++) {
unsigned int length = strlen(query);
- pcreExecRet = pcre_exec(comp_rx[i]->compiled,
- comp_rx[i]->optimized,
- query, length, 0, 0, subStrVec, 30);
-
- if(pcreExecRet >= 0) {
+ pcreMatchData = pcre2_match_data_create_from_pattern(comp_rx[i]->compiled, NULL);
+ pcreExecRet = pcre2_match(comp_rx[i]->compiled,
+ (PCRE2_SPTR)query, length, 0, 0, pcreMatchData, NULL);
+ pcre2_match_data_free(pcreMatchData);
+ if(pcreExecRet > 0) {
return 1;
}
#ifdef DEBUG
@@ -1852,7 +1852,7 @@ ndpi_risk_enum ndpi_validate_url(char *u
rc = NDPI_URL_POSSIBLE_XSS;
else if(ndpi_is_sql_injection(decoded))
rc = NDPI_URL_POSSIBLE_SQL_INJECTION;
-#ifdef HAVE_PCRE
+#ifdef HAVE_PCRE2
else if(ndpi_is_rce_injection(decoded))
rc = NDPI_URL_POSSIBLE_RCE_INJECTION;
#endif
--- a/src/lib/third_party/include/rce_injection.h
+++ b/src/lib/third_party/include/rce_injection.h
@@ -1,4 +1,4 @@
-#ifdef HAVE_PCRE
+#ifdef HAVE_PCRE2
#ifndef NDPI_RCE_H
#define NDPI_RCE_H
@@ -8,7 +8,7 @@
#define N_RCE_REGEX 7
/* Compiled regex */
-static struct pcre_struct *comp_rx[N_RCE_REGEX];
+static struct pcre2_struct *comp_rx[N_RCE_REGEX];
static unsigned int initialized_comp_rx = 0;
@@ -615,4 +615,4 @@ static const char *pwsh_commands[] = {
"-PSConsoleFile"
};
-#endif //HAVE_PCRE
\ No newline at end of file
+#endif //HAVE_PCRE2
\ No newline at end of file
--- a/tests/do.sh.in
+++ b/tests/do.sh.in
@@ -26,7 +26,7 @@ CMD_COLORDIFF="$(which colordiff)"
EXE_SUFFIX=@EXE_SUFFIX@
GPROF_ENABLED=@GPROF_ENABLED@
-PCRE_ENABLED=@PCRE_ENABLED@
+PCRE2_ENABLED=@PCRE2_ENABLED@
PCRE_PCAPS="WebattackRCE.pcap"
NBPF_ENABLED=@NBPF_ENABLED@
NBPF_PCAPS="h323-overflow.pcap"
@@ -84,7 +84,7 @@ check_results() {
[ $SKIP_PCAP = 1 ] && continue
fi
SKIP_PCAP=0
- if [ $PCRE_ENABLED -eq 0 ]; then
+ if [ $PCRE2_ENABLED -eq 0 ]; then
for p in $PCRE_PCAPS; do
if [ $f = $p ]; then
SKIP_PCAP=1

View file

@ -10,12 +10,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=newt
PKG_VERSION:=0.52.23
PKG_VERSION:=0.52.24
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://releases.pagure.org/newt
PKG_HASH:=caa372907b14ececfe298f0d512a62f41d33b290610244a58aed07bbc5ada12a
PKG_HASH:=5ded7e221f85f642521c49b1826c8de19845aa372baf5d630a51774b544fbdbb
PKG_MAINTAINER:=Jeffery To <jeffery.to@gmail.com>
PKG_LICENSE:=LGPL-2.0-only

13
libs/newt/test.sh Normal file
View file

@ -0,0 +1,13 @@
#!/bin/sh
case "$1" in
python3-newt)
python3 -c 'import snack'
;;
whiptail)
whiptail --version | grep -Fx "whiptail (newt): $PKG_VERSION"
;;
esac

View file

@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=crowdsec-firewall-bouncer
PKG_VERSION:=0.0.28
PKG_RELEASE:=1
PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/crowdsecurity/cs-firewall-bouncer/tar.gz/v$(PKG_VERSION)?

View file

@ -210,6 +210,13 @@ run_bouncer() {
procd_set_param command "$PROG" -c "$VARCONFIG"
procd_set_param stdout 1
procd_set_param stderr 1
procd_set_param nice 10
if [ -x "/sbin/ujail" ]; then
procd_add_jail cs-bouncer log
procd_add_jail_mount $VARCONFIG
procd_add_jail_mount_rw /var/log/
procd_set_param no_new_privs 1
fi
procd_close_instance
fi
}

View file

@ -11,7 +11,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=haproxy
PKG_VERSION:=2.8.3
PKG_RELEASE:=1
PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://www.haproxy.org/download/2.8/src
@ -46,7 +46,7 @@ endef
define Package/haproxy
$(call Package/haproxy/Default)
TITLE+=with SSL support
DEPENDS+= +libpcre +libltdl +zlib +libpthread +liblua5.3 +libopenssl +libncurses +libreadline +libatomic
DEPENDS+= +libpcre2 +libltdl +zlib +libpthread +liblua5.3 +libopenssl +libncurses +libreadline +libatomic
VARIANT:=ssl
endef
@ -59,7 +59,7 @@ define Package/haproxy-nossl
$(call Package/haproxy/Default)
TITLE+=without SSL support
VARIANT:=nossl
DEPENDS+= +libpcre +libltdl +zlib +libpthread +liblua5.3 +libatomic
DEPENDS+= +libpcre2 +libltdl +zlib +libpthread +liblua5.3 +libatomic
CONFLICTS:=haproxy
endef
@ -92,7 +92,7 @@ define Build/Compile
PCREDIR="$(STAGING_DIR)/usr/" \
USE_LUA=1 LUA_LIB_NAME="lua5.3" LUA_INC="$(STAGING_DIR)/usr/include/lua5.3" LUA_LIB="$(STAGING_DIR)/usr/lib" \
SMALL_OPTS="-DBUFSIZE=16384 -DMAXREWRITE=1030 -DSYSTEM_MAXCONN=165530" \
USE_ZLIB=1 USE_PCRE=1 USE_PCRE_JIT=1 USE_PTHREAD_PSHARED=1 USE_LIBATOMIC=1 USE_PROMEX=1 \
USE_ZLIB=1 USE_PCRE2=1 USE_PCRE2_JIT=1 USE_PTHREAD_PSHARED=1 USE_LIBATOMIC=1 USE_PROMEX=1 \
VERSION="$(PKG_VERSION)" SUBVERS="-$(PKG_RELEASE)" \
VERDATE="$(shell date -d @$(SOURCE_DATE_EPOCH) '+%Y/%m/%d')" IGNOREGIT=1 \
$(ADDON) \

View file

@ -1,12 +1,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=speedtestcpp
PKG_VERSION:=1.20.2
PKG_VERSION:=1.20.3
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/oskarirauta/speedtestcpp/tar.gz/v$(PKG_VERSION)?
PKG_HASH:=7d5c85f1d9a46f7d8a3ac4261ef1f92e53c511430bae096f7ec6f12a33d38904
PKG_HASH:=8154e2161c56c0ac1275e57c34f448aaf98fb49937ff824ce975d95984395025
PKG_MAINTAINER:=Oskari Rauta <oskari.rauta@gmail.com>
PKG_LICENSE:=MIT

View file

@ -8,12 +8,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=wavemon
PKG_VERSION:=0.9.3
PKG_VERSION:=0.9.5
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/uoaerg/wavemon/tar.gz/v$(PKG_VERSION)?
PKG_HASH:=ddbeb6ec8ed7d94fa895e5d57ecfe338495df3991f6facc7cf40aa121bf7ff60
PKG_HASH:=f84c55a40b470f2b98908d20cd0b38ffef6f587daed23b50281c9592df3331c6
PKG_MAINTAINER:=Jonathan McCrohan <jmccrohan@gmail.com>
PKG_LICENSE:=GPL-2.0-or-later
@ -28,7 +28,7 @@ define Package/wavemon
SECTION:=net
CATEGORY:=Network
TITLE:=N-curses based wireless network devices monitor
DEPENDS:=+libncurses +libpthread +libnl-genl
DEPENDS:=+libncurses +libpthread +libnl-genl +libnl-cli
SUBMENU:=Wireless
URL:=https://github.com/uoaerg/wavemon/releases
endef

View file

@ -8,12 +8,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=owntone
PKG_VERSION:=28.5
PKG_VERSION:=28.8
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://github.com/owntone/owntone-server/releases/download/$(PKG_VERSION)/
PKG_HASH:=c9ee0152dc488f782a25a68e72d24c109882bef3dd2914315fe499c8415fd898
PKG_HASH:=ebaee52ae617f08c41859522ba0a839d1865dcac7d6c0eb9e3fee81caf8fd47c
PKG_FIXUP:=autoreconf
PKG_BUILD_FLAGS:=no-mips16
@ -32,7 +32,7 @@ CATEGORY:=Sound
TITLE:=iTunes (DAAP) server for Apple Remote and AirPlay
URL:=https://github.com/owntone/owntone-server
DEPENDS:=+libgpg-error +libgcrypt +libgdbm +zlib +libexpat +libunistring \
+libevent2 +libdaemon +confuse +alsa-lib +libffmpeg-full \
+libevent2 +libevent2-pthreads +libdaemon +confuse +alsa-lib +libffmpeg-full \
+mxml +libavahi-client +sqlite3-cli +libplist +libcurl +libjson-c \
+libprotobuf-c +libgnutls +libsodium +libwebsockets +libuuid $(ICONV_DEPENDS)
endef
@ -54,8 +54,7 @@ CONFIGURE_ARGS += \
--disable-install_conf_file \
--disable-install_user \
--with-alsa \
--without-pulseaudio \
--without-libevent_pthreads
--without-pulseaudio
TARGET_CFLAGS += $(FPIC)

View file

@ -7,12 +7,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=micropython-mpremote
PKG_VERSION:=1.20.0
PKG_NAME:=mpremote
PKG_VERSION:=1.21.0
PKG_RELEASE:=1
PYPI_NAME:=mpremote
PKG_HASH:=5c342762a04791309dd49bce63c70a075aa7c548b1c0076262b96f9ccc398ca2
PKG_HASH:=65bc94511f6ff499e901ab59462a5f0744ff7e2cf71d8c75700d14a89c54ed61
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=LICENSE
@ -20,25 +20,24 @@ PKG_MAINTAINER:=Jeffery To <jeffery.to@gmail.com>
PKG_BUILD_DEPENDS:=python-hatchling/host python-hatch-requirements-txt/host python-hatch-vcs/host
include ../pypi.mk
include ../../lang/python/pypi.mk
include $(INCLUDE_DIR)/package.mk
include ../python3-package.mk
include ../../lang/python/python3-package.mk
define Package/micropython-mpremote
SECTION:=lang
CATEGORY:=Languages
SUBMENU:=Python
define Package/mpremote
SECTION:=utils
CATEGORY:=Utilities
TITLE:=Interacting remotely with MicroPython devices
URL:=https://github.com/micropython/micropython
DEPENDS:=+python3-light +python3-urllib +python3-pyserial
endef
define Package/micropython-mpremote/description
define Package/mpremote/description
This CLI tool provides an integrated set of utilities to remotely
interact with and automate a MicroPython device over a serial
connection.
endef
$(eval $(call Py3Package,micropython-mpremote))
$(eval $(call BuildPackage,micropython-mpremote))
$(eval $(call BuildPackage,micropython-mpremote-src))
$(eval $(call Py3Package,mpremote))
$(eval $(call BuildPackage,mpremote))
$(eval $(call BuildPackage,mpremote-src))

5
utils/mpremote/test.sh Normal file
View file

@ -0,0 +1,5 @@
#!/bin/sh
[ "$1" = mpremote ] || exit 0
mpremote version | grep -Fx "mpremote $PKG_VERSION"