diff --git a/kernel/ovpn-dco/Makefile b/kernel/ovpn-dco/Makefile index e278a0eb3..53ab890ae 100644 --- a/kernel/ovpn-dco/Makefile +++ b/kernel/ovpn-dco/Makefile @@ -9,13 +9,12 @@ include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=ovpn-dco -PKG_SOURCE_DATE:=2022-10-23 -PKG_RELEASE:=3 +PKG_VERSION:=0.2.20230426 +PKG_RELEASE:=1 -PKG_SOURCE_PROTO:=git -PKG_SOURCE_URL=https://github.com/OpenVPN/ovpn-dco.git -PKG_SOURCE_VERSION:=d1d53564e17d807aed2b945ea3d4ec35bdd9f09b -PKG_MIRROR_HASH:=d3152623383676d314cb6e4861cadeebfe75b0cf9b2607c86cce1f3953d906ed +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL=https://codeload.github.com/OpenVPN/ovpn-dco/tar.gz/v$(PKG_VERSION)? +PKG_HASH:=f8ba335026d7d0d73e9ee121fd1a3b4b6f5e8ad5b604d4cc16f943ae46784a85 PKG_MAINTAINER:=Jianhui Zhao PKG_LICENSE:=GPL-2.0-only @@ -23,15 +22,15 @@ PKG_LICENSE:=GPL-2.0-only include $(INCLUDE_DIR)/package.mk -define KernelPackage/ovpn-dco +define KernelPackage/ovpn-dco-v2 SUBMENU:=Network Support TITLE:=OpenVPN data channel offload DEPENDS:=+kmod-crypto-aead +kmod-udptunnel4 +kmod-udptunnel6 - FILES:=$(PKG_BUILD_DIR)/drivers/net/ovpn-dco/ovpn-dco.ko - AUTOLOAD:=$(call AutoLoad,30,ovpn-dco) + FILES:=$(PKG_BUILD_DIR)/drivers/net/ovpn-dco/ovpn-dco-v2.ko + AUTOLOAD:=$(call AutoLoad,30,ovpn-dco-v2) endef -define KernelPackage/ovpn-dco/description +define KernelPackage/ovpn-dco-v2/description This module enhances the performance of the OpenVPN userspace software by offloading the data channel processing to kernelspace. endef @@ -42,7 +41,7 @@ NOSTDINC_FLAGS += \ -include $(PKG_BUILD_DIR)/linux-compat.h EXTRA_KCONFIG:= \ - CONFIG_OVPN_DCO=m + CONFIG_OVPN_DCO_V2=m PKG_EXTMOD_SUBDIRS = drivers/net/ovpn-dco @@ -58,4 +57,4 @@ define Build/Compile modules endef -$(eval $(call KernelPackage,ovpn-dco)) +$(eval $(call KernelPackage,ovpn-dco-v2)) diff --git a/lang/node/Makefile b/lang/node/Makefile index f924d1c78..3fb74241b 100644 --- a/lang/node/Makefile +++ b/lang/node/Makefile @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=node -PKG_VERSION:=v18.16.1 +PKG_VERSION:=v18.17.0 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=https://nodejs.org/dist/$(PKG_VERSION) -PKG_HASH:=e8404f8c8d89fdfdf7e95bbbc6066bd0e571acba58f54492599b615fbeefe272 +PKG_HASH:=80c0faadf5ea39c213ccb9aa5c2432977a0f1b5a0b766852abd0de06f2770406 PKG_MAINTAINER:=Hirokazu MORIKAWA , Adrian Panella PKG_LICENSE:=MIT diff --git a/lang/node/patches/990-delete_unnecessary_libraries_for_host_execute.patch b/lang/node/patches/990-delete_unnecessary_libraries_for_host_execute.patch index d9b5b6889..c8004f463 100644 --- a/lang/node/patches/990-delete_unnecessary_libraries_for_host_execute.patch +++ b/lang/node/patches/990-delete_unnecessary_libraries_for_host_execute.patch @@ -8,7 +8,7 @@ 'dependencies': [ 'icutools', 'icu_implementation' ], 'sources': [ '<@(icu_src_genrb)' -@@ -434,6 +435,7 @@ +@@ -440,6 +441,7 @@ 'target_name': 'iculslocs', 'toolsets': [ 'host' ], 'type': 'executable', @@ -16,7 +16,7 @@ 'dependencies': [ 'icutools' ], 'sources': [ 'iculslocs.cc', -@@ -446,6 +448,7 @@ +@@ -458,6 +460,7 @@ 'target_name': 'icupkg', 'toolsets': [ 'host' ], 'type': 'executable', @@ -24,7 +24,7 @@ 'dependencies': [ 'icutools' ], 'sources': [ '<@(icu_src_icupkg)', -@@ -457,6 +460,7 @@ +@@ -475,6 +478,7 @@ 'target_name': 'genccode', 'toolsets': [ 'host' ], 'type': 'executable', @@ -42,7 +42,7 @@ 'conditions': [ ['want_separate_host_toolset', { 'toolsets': ['host'], -@@ -1421,6 +1422,8 @@ +@@ -1425,6 +1426,8 @@ { 'target_name': 'mksnapshot', 'type': 'executable', @@ -51,7 +51,7 @@ 'dependencies': [ 'v8_base_without_compiler', 'v8_compiler_for_mksnapshot', -@@ -1450,6 +1453,7 @@ +@@ -1458,6 +1461,7 @@ { 'target_name': 'torque', 'type': 'executable', @@ -59,7 +59,7 @@ 'dependencies': [ 'torque_base', # "build/win:default_exe_manifest", -@@ -1488,6 +1492,7 @@ +@@ -1500,6 +1504,7 @@ { 'target_name': 'torque-language-server', 'type': 'executable', @@ -67,7 +67,7 @@ 'conditions': [ ['want_separate_host_toolset', { 'toolsets': ['host'], -@@ -1515,6 +1520,8 @@ +@@ -1531,6 +1536,8 @@ { 'target_name': 'gen-regexp-special-case', 'type': 'executable', diff --git a/lang/node/patches/991-v8_zlib_support.patch b/lang/node/patches/991-v8_zlib_support.patch index cc400a36e..2f298ba9c 100644 --- a/lang/node/patches/991-v8_zlib_support.patch +++ b/lang/node/patches/991-v8_zlib_support.patch @@ -62,7 +62,7 @@ 'include_dirs': [ '<(V8_ROOT)/include', ], -@@ -1737,6 +1744,7 @@ +@@ -1761,6 +1768,7 @@ }], ], 'direct_dependent_settings': { @@ -70,7 +70,7 @@ 'include_dirs': [ '<(V8_ROOT)/include', ], -@@ -1917,15 +1925,19 @@ +@@ -1941,15 +1949,19 @@ }], ], 'direct_dependent_settings': { diff --git a/lang/node/patches/992-v8_add_include_dirs.patch b/lang/node/patches/992-v8_add_include_dirs.patch index 8588621d2..fba1aed60 100644 --- a/lang/node/patches/992-v8_add_include_dirs.patch +++ b/lang/node/patches/992-v8_add_include_dirs.patch @@ -16,7 +16,7 @@ 'conditions': [ ['OS=="win"', { 'msvs_precompiled_header': '<(V8_ROOT)/../../tools/msvs/pch/v8_pch.h', -@@ -1431,6 +1433,7 @@ +@@ -1435,6 +1437,7 @@ 'type': 'executable', 'libraries!':[ '-lcrypto', '-lssl', '-lz', '-lhttp_parser', '-luv', '-lnghttp2', '-lcares' ], 'library_dirs':[ '../../../../staging_dir/hostpkg/share/icu/current/lib' ], diff --git a/lang/node/patches/999-localhost-no-addrconfig.patch b/lang/node/patches/999-localhost-no-addrconfig.patch index a11ce086c..54b1a3a00 100644 --- a/lang/node/patches/999-localhost-no-addrconfig.patch +++ b/lang/node/patches/999-localhost-no-addrconfig.patch @@ -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 -@@ -1265,13 +1266,6 @@ function lookupAndConnect(self, options) +@@ -1266,13 +1267,6 @@ function lookupAndConnect(self, options) hints: options.hints || 0, }; diff --git a/lang/node/patches/999-revert_enable_pointer_authentication_on_arm64.patch b/lang/node/patches/999-revert_enable_pointer_authentication_on_arm64.patch index 2d2035618..44fc715fe 100644 --- a/lang/node/patches/999-revert_enable_pointer_authentication_on_arm64.patch +++ b/lang/node/patches/999-revert_enable_pointer_authentication_on_arm64.patch @@ -1,6 +1,6 @@ --- a/configure.py +++ b/configure.py -@@ -1296,7 +1296,6 @@ def configure_node(o): +@@ -1291,7 +1291,6 @@ def configure_node(o): # Enable branch protection for arm64 if target_arch == 'arm64': diff --git a/lang/python/django/Makefile b/lang/python/django/Makefile index c936a9a89..b518cf12d 100644 --- a/lang/python/django/Makefile +++ b/lang/python/django/Makefile @@ -8,11 +8,11 @@ include $(TOPDIR)/rules.mk PKG_NAME:=django -PKG_VERSION:=4.2.1 +PKG_VERSION:=4.2.3 PKG_RELEASE:=1 PYPI_NAME:=Django -PKG_HASH:=7efa6b1f781a6119a10ac94b4794ded90db8accbe7802281cd26f8664ffed59c +PKG_HASH:=45a747e1c5b3d6df1b141b1481e193b033fd1fdbda3ff52677dc81afdaacbaed PKG_MAINTAINER:=Alexandru Ardelean , Peter Stadler PKG_LICENSE:=BSD-3-Clause diff --git a/lang/python/numpy/Makefile b/lang/python/numpy/Makefile index bb5b898d1..54bbc4255 100644 --- a/lang/python/numpy/Makefile +++ b/lang/python/numpy/Makefile @@ -6,11 +6,11 @@ include $(TOPDIR)/rules.mk PKG_NAME:=numpy -PKG_VERSION:=1.24.3 +PKG_VERSION:=1.25.1 PKG_RELEASE:=1 PYPI_NAME:=$(PKG_NAME) -PKG_HASH:=ab344f1bf21f140adab8e47fdbc7c35a477dc01408791f8ba00d018dd0bc5155 +PKG_HASH:=9a3a9f3a61480cc086117b426a8bd86869c213fc4072e606f01c4e4b66eb92bf PKG_MAINTAINER:=Alexandru Ardelean @@ -37,7 +37,7 @@ define Package/python3-numpy CATEGORY:=Languages TITLE:=The fundamental package for scientific computing with Python URL:=https://www.numpy.org/ - DEPENDS:=@!SOFT_FLOAT +INSTALL_GFORTRAN:libgfortran +python3 \ + DEPENDS:=@!SOFT_FLOAT +INSTALL_GFORTRAN:libgfortran +python3 +libstdcpp \ +NUMPY_OPENBLAS_SUPPORT:openblas endef diff --git a/lang/python/numpy/patches/001-unpin-build-dependencies.patch b/lang/python/numpy/patches/001-unpin-build-dependencies.patch index 1606762b0..dbfaea505 100644 --- a/lang/python/numpy/patches/001-unpin-build-dependencies.patch +++ b/lang/python/numpy/patches/001-unpin-build-dependencies.patch @@ -1,13 +1,16 @@ --- a/pyproject.toml +++ b/pyproject.toml -@@ -1,8 +1,8 @@ - [build-system] - # Minimum requirements for the build system to execute. +@@ -4,11 +4,11 @@ + #build-backend = "mesonpy" requires = [ + # setuptools, wheel and Cython are needed for the setup.py based build - "setuptools==59.2.0", -- "wheel==0.37.0", + "setuptools>=59.2.0", -+ "wheel>=0.37.0", - "Cython>=0.29.30,<3.0", + # `wheel` is needed for non-isolated builds, given that `meson-python` + # doesn't list it as a runtime requirement (at least in 0.11.0) - it's + # likely to be removed as a dependency in meson-python 0.12.0. +- "wheel==0.38.1", ++ "wheel>=0.38.1", + "Cython>=0.29.34,<3.0", + # "meson-python>=0.10.0", ] - diff --git a/lang/python/numpy/patches/002-avoid-build-user-config-files.patch b/lang/python/numpy/patches/002-avoid-build-user-config-files.patch index 15c76e3dc..cf7faf4ed 100644 --- a/lang/python/numpy/patches/002-avoid-build-user-config-files.patch +++ b/lang/python/numpy/patches/002-avoid-build-user-config-files.patch @@ -1,6 +1,6 @@ --- a/numpy/distutils/system_info.py +++ b/numpy/distutils/system_info.py -@@ -400,7 +400,7 @@ def get_standard_file(fname): +@@ -403,7 +403,7 @@ def get_standard_file(fname): pass else: user_file = os.path.join(f, fname) diff --git a/lang/python/python-aiohttp/Makefile b/lang/python/python-aiohttp/Makefile index 007f41b20..e5246d2b4 100644 --- a/lang/python/python-aiohttp/Makefile +++ b/lang/python/python-aiohttp/Makefile @@ -7,16 +7,16 @@ include $(TOPDIR)/rules.mk -PKG_NAME:=aiohttp -PKG_VERSION:=3.7.4.post0 +PKG_NAME:=python-aiohttp +PKG_VERSION:=3.8.5 PKG_RELEASE:=1 -PYPI_NAME:=$(PKG_NAME) -PKG_HASH:=493d3299ebe5f5a7c66b9819eacdcfbbaaf1a8e84911ddffcdc48888497afecf +PYPI_NAME:=aiohttp +PKG_HASH:=b9552ec52cc147dbf1944ac7ac98af7602e51ea2dcd076ed194ca3c0d1c7d0bc PKG_MAINTAINER:=Josef Schlehofer PKG_LICENSE:=Apache-2.0 -PKG_LICENSE_FILES:=LICENSE +PKG_LICENSE_FILES:=LICENSE.txt PKG_CPE_ID:=cpe:/a:aio-libs_project:aiohttp include ../pypi.mk @@ -30,17 +30,14 @@ define Package/python3-aiohttp TITLE:=Async http client/server framework (asyncio) URL:=https://github.com/aio-libs/aiohttp DEPENDS:= \ - +python3-light \ - +python3-attrs \ - +python3-chardet \ - +python3-multidict \ + +python3 \ + +python3-aiosignal \ +python3-async-timeout \ - +python3-yarl \ - +python3-logging \ - +python3-codecs \ - +python3-cgi \ - +python3-openssl \ - +python3-typing-extensions + +python3-attrs \ + +python3-charset-normalizer \ + +python3-frozenlist \ + +python3-multidict \ + +python3-yarl endef define Package/python3-aiohttp/description diff --git a/lang/python/python-aiosignal/Makefile b/lang/python/python-aiosignal/Makefile new file mode 100644 index 000000000..bb433812b --- /dev/null +++ b/lang/python/python-aiosignal/Makefile @@ -0,0 +1,40 @@ +# +# 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-aiosignal +PKG_VERSION:=1.3.1 +PKG_RELEASE:=1 + +PYPI_NAME:=aiosignal +PKG_HASH:=54cd96e15e1649b75d6c87526a6ff0b6c1b0dd3459f43d9ca11d48c339b68cfc + +PKG_LICENSE:=Apache-2.0 +PKG_LICENSE_FILES:=LICENSE +PKG_MAINTAINER:=Jeffery To + +include ../pypi.mk +include $(INCLUDE_DIR)/package.mk +include ../python3-package.mk + +define Package/python3-aiosignal + SECTION:=lang + CATEGORY:=Languages + SUBMENU:=Python + TITLE:=List of registered asynchronous callbacks + URL:=https://github.com/aio-libs/aiosignal + DEPENDS:=+python3-light +python3-frozenlist +endef + +define Package/python3-aiosignal/description +A project to manage callbacks in asyncio projects. +endef + +$(eval $(call Py3Package,python3-aiosignal)) +$(eval $(call BuildPackage,python3-aiosignal)) +$(eval $(call BuildPackage,python3-aiosignal-src)) diff --git a/lang/python/python-apipkg/Makefile b/lang/python/python-apipkg/Makefile index b33781831..233ce3efe 100644 --- a/lang/python/python-apipkg/Makefile +++ b/lang/python/python-apipkg/Makefile @@ -8,17 +8,17 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-apipkg -PKG_VERSION:=1.5 -PKG_RELEASE:=3 +PKG_VERSION:=3.0.1 +PKG_RELEASE:=1 PYPI_NAME:=apipkg -PKG_HASH:=37228cda29411948b422fae072f57e31d3396d2ee1c9783775980ee9c9990af6 +PKG_HASH:=f8c021adafc9132ac2fba9fd3c5768365d0a8c10aa375fb15e329f1fce8a5f01 PKG_MAINTAINER:=Jan Pavlinec PKG_LICENSE:=MIT PKG_LICENSE_FILES:=LICENSE -PKG_BUILD_DEPENDS:=python-setuptools-scm/host +PKG_BUILD_DEPENDS:=python-hatchling/host python-hatch-vcs/host include ../pypi.mk include $(INCLUDE_DIR)/package.mk @@ -28,14 +28,14 @@ define Package/python3-apipkg SUBMENU:=Python SECTION:=lang CATEGORY:=Languages - TITLE:= Controler for exported namespace of a Python package a + TITLE:=Namespace control and lazy-import mechanism URL:=https://github.com/pytest-dev/apipkg - DEPENDS:= +python3-light + DEPENDS:=+python3-light endef define Package/python3-apipkg/description - apipkg is used to control the exported namespace of a Python package and greatly reduce - the number of imports for users. +apipkg is used to control the exported namespace of a Python package and +greatly reduce the number of imports for users. endef $(eval $(call Py3Package,python3-apipkg)) diff --git a/lang/python/python-async-timeout/Makefile b/lang/python/python-async-timeout/Makefile index cb66dd01f..f6d0a4c89 100644 --- a/lang/python/python-async-timeout/Makefile +++ b/lang/python/python-async-timeout/Makefile @@ -7,13 +7,12 @@ include $(TOPDIR)/rules.mk -PKG_NAME:=async-timeout -PKG_VERSION:=3.0.1 -PKG_RELEASE:=2 +PKG_NAME:=python-async-timeout +PKG_VERSION:=4.0.2 +PKG_RELEASE:=1 -PYPI_NAME:=async_timeout -PYPI_SOURCE_NAME:=async-timeout -PKG_HASH:=0c3c816a028d47f659d6ff5c745cb2acf1f966da1fe5c19c77a70282b25f4c5f +PYPI_NAME:=async-timeout +PKG_HASH:=2163e1640ddb52b7a8c80d0a67a08587e5d245cc9c553a74a847056bc2976b15 PKG_MAINTAINER:=Josef Schlehofer PKG_LICENSE:=Apache-2.0 diff --git a/lang/python/python-atomicwrites/Makefile b/lang/python/python-atomicwrites/Makefile index 0a9481a40..efa0803b4 100644 --- a/lang/python/python-atomicwrites/Makefile +++ b/lang/python/python-atomicwrites/Makefile @@ -8,11 +8,11 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-atomicwrites -PKG_VERSION:=1.4.0 +PKG_VERSION:=1.4.1 PKG_RELEASE:=1 PYPI_NAME:=atomicwrites -PKG_HASH:=ae70396ad1a434f9c7046fd2dd196fc04b12f9e91ffb859164193be8b6168a7a +PKG_HASH:=81b2c9071a49367a7f770170e5eec8cb66567cfbbc8c73d20ce5ca4a8d71cf11 PKG_MAINTAINER:=Jan Pavlinec PKG_LICENSE:=MIT diff --git a/lang/python/python-awesomeversion/Makefile b/lang/python/python-awesomeversion/Makefile index 0a7dd9de7..ef60418e4 100644 --- a/lang/python/python-awesomeversion/Makefile +++ b/lang/python/python-awesomeversion/Makefile @@ -8,16 +8,18 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-awesomeversion -PKG_VERSION:=21.8.1 +PKG_VERSION:=23.5.0 PKG_RELEASE:=1 PYPI_NAME:=awesomeversion -PKG_HASH:=a72f3fff12df257e30f5e25a8550fc4da62e7591d5fdb70714f5c96827c37645 +PKG_HASH:=a505558316010d2d10d487226f79c1157204af00fa462fdcf948e347011dd491 PKG_MAINTAINER:=Josef Schlehofer PKG_LICENSE:=MIT PKG_LICENSE_FILES:=LICENCE.md +PKG_BUILD_DEPENDS:=python-poetry-core/host + include ../pypi.mk include $(INCLUDE_DIR)/package.mk include ../python3-package.mk @@ -26,15 +28,14 @@ define Package/python3-awesomeversion SECTION:=lang CATEGORY:=Languages SUBMENU:=Python - TITLE:=AwesomeVersion + TITLE:=Make anything a version object URL:=https://github.com/ludeeus/awesomeversion - DEPENDS:= \ - +python3-light \ - +python3-logging + DEPENDS:=+python3-light endef define Package/python3-awesomeversion/description - Make anything a version object, and compare against a vast selection of other version formats. +Make anything a version object, and compare against a vast selection of +other version formats. endef $(eval $(call Py3Package,python3-awesomeversion)) diff --git a/lang/python/python-awscli/Makefile b/lang/python/python-awscli/Makefile index c4818c20b..e255b1169 100644 --- a/lang/python/python-awscli/Makefile +++ b/lang/python/python-awscli/Makefile @@ -1,14 +1,15 @@ include $(TOPDIR)/rules.mk -PKG_NAME:=awscli -PKG_VERSION:=1.16.75 -PKG_RELEASE:=2 +PKG_NAME:=python-awscli +PKG_VERSION:=1.29.7 +PKG_RELEASE:=1 -PYPI_NAME:=$(PKG_NAME) -PKG_HASH:=8d96ec0de325ea8271cc6aa95b7392bbf548ec4aabd3ffbcdc0619b64edd4a45 +PYPI_NAME:=awscli +PKG_HASH:=b3a7076cb317a21410a2d41734ba338add80f0480804cf9d68cbc52b1d39612a PKG_MAINTAINER:=Daniel Danzberger -PKG_LICENSE:=MIT +PKG_LICENSE:=Apache-2.0 +PKG_LICENSE_FILES:=LICENSE.txt include ../pypi.mk include $(INCLUDE_DIR)/package.mk @@ -18,20 +19,20 @@ define Package/python3-awscli SUBMENU:=Python SECTION:=lang CATEGORY:=Languages - TITLE:=awscli + TITLE:=Universal Command Line Environment for AWS URL:=https://github.com/aws/aws-cli DEPENDS:=+python3 \ - +python3-yaml \ - +python3-pyasn1 \ +python3-botocore \ - +python3-rsa \ +python3-colorama \ +python3-docutils \ - +python3-s3transfer + +python3-rsa \ + +python3-s3transfer \ + +python3-yaml endef define Package/python3-awscli/description -This package provides a unified command line interface to Amazon Web Services. +This package provides a unified command line interface to Amazon Web +Services. endef $(eval $(call Py3Package,python3-awscli)) diff --git a/lang/python/python-boto3/Makefile b/lang/python/python-boto3/Makefile index 27f69b3c9..ebc38ecd7 100644 --- a/lang/python/python-boto3/Makefile +++ b/lang/python/python-boto3/Makefile @@ -1,11 +1,11 @@ include $(TOPDIR)/rules.mk -PKG_NAME:=boto3 -PKG_VERSION:=1.9.135 -PKG_RELEASE:=2 +PKG_NAME:=python-boto3 +PKG_VERSION:=1.28.7 +PKG_RELEASE:=1 -PYPI_NAME:=$(PKG_NAME) -PKG_HASH:=5e5805992e873e5687b5ef3b4c56c386ccb4df1c3364f8b8601d289e2f275be1 +PYPI_NAME:=boto3 +PKG_HASH:=ef6a465d3b25b89bcd00ff69675b33917166145e544735dcb9978091f5b0b752 PKG_MAINTAINER:=Daniel Danzberger PKG_LICENSE:=Apache-2.0 @@ -19,17 +19,21 @@ define Package/python3-boto3 SUBMENU:=Python SECTION:=lang CATEGORY:=Languages - TITLE:=AWS SDK for Python (Boto3) - URL:=https://aws.amazon.com/sdk-for-python/ - DEPENDS:=+python3 \ - +python3-jmespath \ + TITLE:=AWS SDK + URL:=https://github.com/boto/boto3 + DEPENDS:= \ + +python3-light \ + +python3-decimal \ + +python3-logging \ +python3-botocore \ + +python3-jmespath \ +python3-s3transfer endef define Package/python3-boto3/description -Boto3 is the Amazon Web Services (AWS) Software Development Kit (SDK) for Python, -which allows Python developers to write software that makes use of services like Amazon S3 and Amazon EC2. +Boto3 is the Amazon Web Services (AWS) Software Development Kit (SDK) +for Python, which allows Python developers to write software that makes +use of services like Amazon S3 and Amazon EC2. endef $(eval $(call Py3Package,python3-boto3)) diff --git a/lang/python/python-botocore/Makefile b/lang/python/python-botocore/Makefile index 739be1126..cf47f9ad9 100644 --- a/lang/python/python-botocore/Makefile +++ b/lang/python/python-botocore/Makefile @@ -1,14 +1,15 @@ include $(TOPDIR)/rules.mk -PKG_NAME:=botocore -PKG_VERSION:=1.12.66 -PKG_RELEASE:=2 +PKG_NAME:=python-botocore +PKG_VERSION:=1.31.7 +PKG_RELEASE:=1 -PYPI_NAME:=$(PKG_NAME) -PKG_HASH:=25c39ecc71356287cf79d66981ec77deca374e28043b19b2f818d48aa34272a1 +PYPI_NAME:=botocore +PKG_HASH:=f4473f66c153c262b8262404d737f4249366daf00fb068b495577a24b830ebcb PKG_MAINTAINER:=Daniel Danzberger -PKG_LICENSE:=MIT +PKG_LICENSE:=Apache-2.0 +PKG_LICENSE_FILES:=LICENSE.txt include ../pypi.mk include $(INCLUDE_DIR)/package.mk @@ -18,19 +19,17 @@ define Package/python3-botocore SUBMENU:=Python SECTION:=lang CATEGORY:=Languages - TITLE:=botocore + TITLE:=Low-level, data-driven core of boto 3 URL:=https://github.com/boto/botocore DEPENDS:=+python3 \ - +python3-urllib3 \ - +python3-docutils \ +python3-dateutil \ +python3-jmespath \ - +python3-requests + +python3-urllib3 endef define Package/python3-botocore/description -A low-level interface to a growing number of Amazon Web Services. -The botocore package is the foundation for the AWS CLI as well as boto3. +A low-level interface to a growing number of Amazon Web Services. The +botocore package is the foundation for the AWS CLI as well as boto3. endef $(eval $(call Py3Package,python3-botocore)) diff --git a/lang/python/python-certifi/test.sh b/lang/python/python-certifi/test.sh new file mode 100644 index 000000000..b2802165b --- /dev/null +++ b/lang/python/python-certifi/test.sh @@ -0,0 +1,18 @@ +#!/bin/sh + +case "$1" in + *-src) + ;; + python3-certifi) + BUNDLE=$(python3 -m certifi) || { + echo "Failed to run the certfi module script. Exit status=$?." >&2 + echo "Output='$BUNDLE'" >&2 + exit 1 + } + ls -l "$BUNDLE" + ;; + *) + echo "Unexpected package '$1'" >&2 + exit 1 + ;; +esac diff --git a/lang/python/python-charset-normalizer/Makefile b/lang/python/python-charset-normalizer/Makefile new file mode 100644 index 000000000..7a2e4ee07 --- /dev/null +++ b/lang/python/python-charset-normalizer/Makefile @@ -0,0 +1,43 @@ +# +# 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-charset-normalizer +PKG_VERSION:=3.2.0 +PKG_RELEASE:=1 + +PYPI_NAME:=charset-normalizer +PKG_HASH:=3bb3d25a8e6c0aedd251753a79ae98a093c7e7b471faa3aa9a93a81431987ace + +PKG_LICENSE:=MIT +PKG_LICENSE_FILES:=LICENSE +PKG_MAINTAINER:=Jeffery To + +include ../pypi.mk +include $(INCLUDE_DIR)/package.mk +include ../python3-package.mk + +define Package/python3-charset-normalizer + SECTION:=lang + CATEGORY:=Languages + SUBMENU:=Python + TITLE:=Real First Universal Charset Detector + URL:=https://github.com/Ousret/charset_normalizer + DEPENDS:=+python3-light +python3-codecs +python3-logging +endef + +define Package/python3-charset-normalizer/description +A library that helps you read text from an unknown charset encoding. +Motivated by chardet, I'm trying to resolve the issue by taking a new +approach. All IANA character set names for which the Python core library +provides codecs are supported. +endef + +$(eval $(call Py3Package,python3-charset-normalizer)) +$(eval $(call BuildPackage,python3-charset-normalizer)) +$(eval $(call BuildPackage,python3-charset-normalizer-src)) diff --git a/lang/python/python-execnet/Makefile b/lang/python/python-execnet/Makefile index b82b4fd9f..2df014091 100644 --- a/lang/python/python-execnet/Makefile +++ b/lang/python/python-execnet/Makefile @@ -8,17 +8,17 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-execnet -PKG_VERSION:=1.8.0 -PKG_RELEASE:=2 +PKG_VERSION:=2.0.2 +PKG_RELEASE:=1 PYPI_NAME:=execnet -PKG_HASH:=b73c5565e517f24b62dea8a5ceac178c661c4309d3aa0c3e420856c072c411b4 +PKG_HASH:=cc59bc4423742fd71ad227122eb0dd44db51efb3dc4095b45ac9a08c770096af PKG_MAINTAINER:=Jan Pavlinec PKG_LICENSE:=MIT PKG_LICENSE_FILES:=LICENSE -PKG_BUILD_DEPENDS:=python-setuptools-scm/host +PKG_BUILD_DEPENDS:=python-hatchling/host python-hatch-vcs/host include ../pypi.mk include $(INCLUDE_DIR)/package.mk @@ -28,15 +28,14 @@ define Package/python3-execnet SUBMENU:=Python SECTION:=lang CATEGORY:=Languages - TITLE:=Library for distributed interact mechanism + TITLE:=Rapid multi-Python deployment URL:=https://execnet.readthedocs.io - DEPENDS:= +python3-light +python3-apipkg + DEPENDS:=+python3-light endef define Package/python3-execnet/description - The execnet provides a share-nothing model with channel-send/receive communication for - distributing execution across many Python interpreters across version, platform and network - barriers.complex functional testing for applications and libraries. +execnet provides carefully tested means to ad-hoc interact with Python +interpreters across version, platform and network barriers. endef $(eval $(call Py3Package,python3-execnet)) diff --git a/lang/python/python-frozenlist/Makefile b/lang/python/python-frozenlist/Makefile new file mode 100644 index 000000000..0c9df1703 --- /dev/null +++ b/lang/python/python-frozenlist/Makefile @@ -0,0 +1,43 @@ +# +# 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-frozenlist +PKG_VERSION:=1.4.0 +PKG_RELEASE:=1 + +PYPI_NAME:=frozenlist +PKG_HASH:=09163bdf0b2907454042edb19f887c6d33806adc71fbd54afc14908bfdc22251 + +PKG_LICENSE:=Apache-2.0 +PKG_LICENSE_FILES:=LICENSE +PKG_MAINTAINER:=Jeffery To + +include ../pypi.mk +include $(INCLUDE_DIR)/package.mk +include ../python3-package.mk + +define Package/python3-frozenlist + SECTION:=lang + CATEGORY:=Languages + SUBMENU:=Python + TITLE:=List-like structure + URL:=https://github.com/aio-libs/frozenlist + DEPENDS:=+python3-light +endef + +define Package/python3-frozenlist/description +frozenlist.FrozenList is a list-like structure which implements +collections.abc.MutableSequence. The list is mutable until +FrozenList.freeze is called, after which list modifications raise +RuntimeError. +endef + +$(eval $(call Py3Package,python3-frozenlist)) +$(eval $(call BuildPackage,python3-frozenlist)) +$(eval $(call BuildPackage,python3-frozenlist-src)) diff --git a/lang/python/python-gnupg/Makefile b/lang/python/python-gnupg/Makefile index 898a4048f..98192ac8e 100644 --- a/lang/python/python-gnupg/Makefile +++ b/lang/python/python-gnupg/Makefile @@ -5,11 +5,11 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-gnupg -PKG_VERSION:=0.5.0 +PKG_VERSION:=0.5.1 PKG_RELEASE:=1 PYPI_NAME:=python-gnupg -PKG_HASH:=70758e387fc0e0c4badbcb394f61acbe68b34970a8fed7e0f7c89469fe17912a +PKG_HASH:=5674bad4e93876c0b0d3197e314d7f942d39018bf31e2b833f6788a6813c3fb8 PKG_LICENSE:=BSD-3-Clause PKG_LICENSE_FILES:=LICENSE.txt diff --git a/lang/python/python-lxml/Makefile b/lang/python/python-lxml/Makefile index 628150e27..ae067b422 100644 --- a/lang/python/python-lxml/Makefile +++ b/lang/python/python-lxml/Makefile @@ -8,11 +8,11 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-lxml -PKG_VERSION:=4.9.2 +PKG_VERSION:=4.9.3 PKG_RELEASE:=1 PYPI_NAME:=lxml -PKG_HASH:=2455cfaeb7ac70338b3257f41e21f0724f4b5b0c0e7702da67ee6c3640835b67 +PKG_HASH:=48628bd53a426c9eb9bc066a923acaa0878d1e86129fd5359aee99285f4eed9c PKG_LICENSE:=BSD-3-Clause PKG_LICENSE_FILES:=LICENSES.txt diff --git a/lang/python/python3-maxminddb/Makefile b/lang/python/python-maxminddb/Makefile similarity index 82% rename from lang/python/python3-maxminddb/Makefile rename to lang/python/python-maxminddb/Makefile index 8310f4a24..6a6367dbf 100644 --- a/lang/python/python3-maxminddb/Makefile +++ b/lang/python/python-maxminddb/Makefile @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk -PKG_NAME:=maxminddb -PKG_VERSION:=2.0.3 +PKG_NAME:=python-maxminddb +PKG_VERSION:=2.4.0 PKG_RELEASE:=1 -PYPI_NAME:=$(PKG_NAME) -PKG_HASH:=47e86a084dd814fac88c99ea34ba3278a74bc9de5a25f4b815b608798747c7dc +PYPI_NAME:=maxminddb +PKG_HASH:=81e54e53408bd502650e5969ccba16780af659ec1db1c44b2c997e4330a5ed96 PKG_MAINTAINER:=Jan Pavlinec PKG_LICENSE:=Apache-2.0 @@ -28,7 +28,7 @@ define Package/python3-maxminddb CATEGORY:=Languages SUBMENU:=Python TITLE:=Reader for the MaxMind DB format - URL:=https://dev.maxmind.com/ + URL:=https://www.maxmind.com/ DEPENDS:=+python3-light +libmaxminddb endef diff --git a/lang/python/python3-netifaces/Makefile b/lang/python/python-netifaces/Makefile similarity index 86% rename from lang/python/python3-netifaces/Makefile rename to lang/python/python-netifaces/Makefile index 02fc5c2b0..351752a50 100644 --- a/lang/python/python3-netifaces/Makefile +++ b/lang/python/python-netifaces/Makefile @@ -7,12 +7,12 @@ include $(TOPDIR)/rules.mk -PKG_NAME:=python3-netifaces -PKG_VERSION:=0.10.9 -PKG_RELEASE:=2 +PKG_NAME:=python-netifaces +PKG_VERSION:=0.11.0 +PKG_RELEASE:=1 PYPI_NAME:=netifaces -PKG_HASH:=2dee9ffdd16292878336a58d04a20f0ffe95555465fee7c9bd23b3490ef2abf3 +PKG_HASH:=043a79146eb2907edf439899f262b3dfe41717d34124298ed281139a8b93ca32 PKG_MAINTAINER:=Josef Schlehofer PKG_LICENSE:=MIT diff --git a/lang/python/python-pip/Makefile b/lang/python/python-pip/Makefile index 7dee1f965..c21d2bdff 100644 --- a/lang/python/python-pip/Makefile +++ b/lang/python/python-pip/Makefile @@ -8,11 +8,11 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-pip -PKG_VERSION:=23.2 +PKG_VERSION:=23.2.1 PKG_RELEASE:=1 PYPI_NAME:=pip -PKG_HASH:=a160a170f3331d9ca1a0247eb1cd79c758879f1f81158f9cd05bbb5df80bea5c +PKG_HASH:=fb0bd5435b3200c602b5bf61d2d43c2f13c02e29c1707567ae7fbc514eb9faf2 PKG_LICENSE:=MIT PKG_LICENSE_FILES:=LICENSE.txt diff --git a/lang/python/python3-pyroute2/Makefile b/lang/python/python-pyroute2/Makefile similarity index 73% rename from lang/python/python3-pyroute2/Makefile rename to lang/python/python-pyroute2/Makefile index e6edfd847..45996ca1f 100644 --- a/lang/python/python3-pyroute2/Makefile +++ b/lang/python/python-pyroute2/Makefile @@ -7,16 +7,16 @@ include $(TOPDIR)/rules.mk -PKG_NAME:=python3-pyroute2 -PKG_VERSION:=0.5.16 -PKG_RELEASE:=2 +PKG_NAME:=python-pyroute2 +PKG_VERSION:=0.7.9 +PKG_RELEASE:=1 PYPI_NAME:=pyroute2 -PKG_HASH:=fe681a2d008cac815b9f287250d69a333fbfc2b2d89c37d58798104057149989 +PKG_HASH:=b69d82f140b0774317d7ba40f6c5fa1d755098ba3f3eb619982d16e750dc631a PKG_MAINTAINER:=Martin Matějek PKG_LICENSE:=GPL-2.0-or-later Apache-2.0 -PKG_LICENSE_FILES:=LICENSE.GPL.v2 LICENSE.Apache.v2 +PKG_LICENSE_FILES:=LICENSE.GPL-2.0-or-later LICENSE.Apache-2.0 include ../pypi.mk include $(INCLUDE_DIR)/package.mk @@ -28,13 +28,7 @@ define Package/python3-pyroute2 CATEGORY:=Languages TITLE:=Python netlink library URL:=https://github.com/svinota/pyroute2 - DEPENDS:= \ - +python3-light \ - +python3-distutils \ - +python3-logging \ - +python3-multiprocessing \ - +python3-sqlite3 \ - +python3-ctypes + DEPENDS:=+python3 endef define Package/python3-pyroute2/description diff --git a/lang/python/python-s3transfer/Makefile b/lang/python/python-s3transfer/Makefile index a6e04f9f1..39aa803ef 100644 --- a/lang/python/python-s3transfer/Makefile +++ b/lang/python/python-s3transfer/Makefile @@ -1,14 +1,15 @@ include $(TOPDIR)/rules.mk -PKG_NAME:=s3transfer -PKG_VERSION:=0.2.0 -PKG_RELEASE:=2 +PKG_NAME:=python-s3transfer +PKG_VERSION:=0.6.1 +PKG_RELEASE:=1 -PYPI_NAME:=$(PKG_NAME) -PKG_HASH:=f23d5cb7d862b104401d9021fc82e5fa0e0cf57b7660a1331425aab0c691d021 +PYPI_NAME:=s3transfer +PKG_HASH:=640bb492711f4c0c0905e1f62b6aaeb771881935ad27884852411f8e9cacbca9 PKG_MAINTAINER:=Daniel Danzberger -PKG_LICENSE:=MIT +PKG_LICENSE:=Apache-2.0 +PKG_LICENSE_FILES:=LICENSE.txt include ../pypi.mk include $(INCLUDE_DIR)/package.mk @@ -18,10 +19,12 @@ define Package/python3-s3transfer SECTION:=lang CATEGORY:=Languages SUBMENU:=Python - TITLE:=s3transfer + TITLE:=Amazon S3 Transfer Manager URL:=https://github.com/boto/s3transfer DEPENDS:= \ - +python3 \ + +python3-light \ + +python3-logging \ + +python3-multiprocessing \ +python3-botocore endef diff --git a/lang/python/python3-sqlparse/Makefile b/lang/python/python-sqlparse/Makefile similarity index 58% rename from lang/python/python3-sqlparse/Makefile rename to lang/python/python-sqlparse/Makefile index 1b003f95a..4f4e8b227 100644 --- a/lang/python/python3-sqlparse/Makefile +++ b/lang/python/python-sqlparse/Makefile @@ -1,16 +1,18 @@ include $(TOPDIR)/rules.mk PKG_NAME:=sqlparse -PKG_VERSION:=0.4.2 -PKG_RELEASE:=2 +PKG_VERSION:=0.4.4 +PKG_RELEASE:=1 PYPI_NAME:=sqlparse -PKG_HASH:=0c00730c74263a94e5a9919ade150dfc3b19c574389985446148402998287dae +PKG_HASH:=d446183e84b8349fa3061f0fe7f06ca94ba65b426946ffebe6e3e8295332420c PKG_MAINTAINER:=Peter Stadler PKG_LICENSE:=BSD-3-Clause PKG_LICENSE_FILES:=LICENSE +PKG_BUILD_DEPENDS:=python-flit-core/host + include ../pypi.mk include $(INCLUDE_DIR)/package.mk include ../python3-package.mk @@ -19,19 +21,14 @@ define Package/python3-sqlparse SUBMENU:=Python SECTION:=lang CATEGORY:=Languages - TITLE:=Non-validating SQL parser module. + TITLE:=Non-validating SQL parser URL:=https://github.com/andialbrecht/sqlparse DEPENDS:=+python3-light endef define Package/python3-sqlparse/description - A non-validating SQL parser module. It provides support for parsing, splitting and formatting SQL statements. -endef - -define Py3Package/python3-sqlparse/install - $(INSTALL_DIR) $(1)/usr/bin - $(INSTALL_BIN) $(PKG_INSTALL_DIR)/$(PYTHON3_PKG_DIR)/sqlparse/__main__.py \ - $(1)/usr/bin/sqlformat +sqlparse is a non-validating SQL parser for Python. It provides support +for parsing, splitting and formatting SQL statements. endef $(eval $(call Py3Package,python3-sqlparse)) diff --git a/lang/python/python3-unidecode/Makefile b/lang/python/python-unidecode/Makefile similarity index 86% rename from lang/python/python3-unidecode/Makefile rename to lang/python/python-unidecode/Makefile index 30265718c..d8c150ac2 100644 --- a/lang/python/python3-unidecode/Makefile +++ b/lang/python/python-unidecode/Makefile @@ -7,12 +7,12 @@ include $(TOPDIR)/rules.mk -PKG_NAME:=python3-unidecode -PKG_VERSION:=1.1.1 -PKG_RELEASE:=2 +PKG_NAME:=python-unidecode +PKG_VERSION:=1.3.6 +PKG_RELEASE:=1 PYPI_NAME:=Unidecode -PKG_HASH:=2b6aab710c2a1647e928e36d69c21e76b453cd455f4e2621000e54b2a9b8cce8 +PKG_HASH:=fed09cf0be8cf415b391642c2a5addfc72194407caee4f98719e40ec2a72b830 PKG_MAINTAINER:=Josef Schlehofer PKG_LICENSE:=GPL-2.0-or-later diff --git a/lang/python/python-wheel/Makefile b/lang/python/python-wheel/Makefile index abf604a9d..d0c0e3791 100644 --- a/lang/python/python-wheel/Makefile +++ b/lang/python/python-wheel/Makefile @@ -8,11 +8,11 @@ include $(TOPDIR)/rules.mk PKG_NAME:=python-wheel -PKG_VERSION:=0.40.0 +PKG_VERSION:=0.41.0 PKG_RELEASE:=1 PYPI_NAME:=wheel -PKG_HASH:=cd1196f3faee2b31968d626e1731c94f99cbdb67cf5a46e4f5656cbee7738873 +PKG_HASH:=55a0f0a5a84869bce5ba775abfd9c462e3a6b1b7b7ec69d72c0b83d673a5114d PKG_LICENSE:=MIT PKG_LICENSE_FILES:=LICENSE.txt diff --git a/lang/rust/Makefile b/lang/rust/Makefile index f77bbc780..461915951 100644 --- a/lang/rust/Makefile +++ b/lang/rust/Makefile @@ -12,7 +12,7 @@ PKG_RELEASE:=1 PKG_SOURCE:=rustc-$(PKG_VERSION)-src.tar.gz PKG_SOURCE_URL:=https://static.rust-lang.org/dist/ PKG_HASH:=a667e4abdc5588ebfea35c381e319d840ffbf8d2dbfb79771730573642034c96 -HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/rust-$(RUSTC_TARGET_ARCH)/rustc-$(PKG_VERSION)-src +HOST_BUILD_DIR:=$(BUILD_DIR)/host/rust-$(RUSTC_TARGET_ARCH)/rustc-$(PKG_VERSION)-src PKG_MAINTAINER:=Luca Barbato PKG_LICENSE:=Apache-2.0 MIT diff --git a/libs/easyloggingpp/Makefile b/libs/easyloggingpp/Makefile new file mode 100644 index 000000000..f8644cb7f --- /dev/null +++ b/libs/easyloggingpp/Makefile @@ -0,0 +1,34 @@ +include $(TOPDIR)/rules.mk + +PKG_NAME:=easyloggingpp +PKG_VERSION:=9.97.1 +PKG_RELEASE:=1 + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=https://codeload.github.com/abumq/easyloggingpp/tar.gz/v$(PKG_VERSION)? +PKG_HASH:=ebe473e17b13f1d1f16d0009689576625796947a711e14aec29530f39560c7c2 + +PKG_MAINTAINER:=Volker Christian +PKG_LICENSE:=MIT +PKG_LICENSE_FILES:=LICENSE + +CMAKE_INSTALL:=1 + +include $(INCLUDE_DIR)/package.mk +include $(INCLUDE_DIR)/cmake.mk + +define Package/easyloggingpp + SECTION:=lib + CATEGORY:=Libraries + TITLE:=A single header C++ Logging Library + URL:=https://github.com/abumq/easyloggingpp + BUILDONLY:=1 +endef + +define Package/easyloggingpp/description + Easylogging++ is single header efficient logging library for C++ + applications. It is extremely powerful, highly extendable and + configurable to user's requirements. +endef + +$(eval $(call BuildPackage,easyloggingpp)) diff --git a/multimedia/v4l2camera/Makefile b/multimedia/v4l2camera/Makefile new file mode 100644 index 000000000..30fdf4a09 --- /dev/null +++ b/multimedia/v4l2camera/Makefile @@ -0,0 +1,88 @@ +# This software is in the public domain, furnished "as is", without technical +# support, and with no warranty, express or implied, as to its usefulness for +# any purpose. + +include $(TOPDIR)/rules.mk + +PKG_NAME:=v4l2camera +PKG_VERSION:=0.1.8 +PKG_RELEASE:=1 + +PKG_SOURCE_PROTO:=git +PKG_SOURCE_URL:=https://github.com/mpromonet/v4l2camera +PKG_SOURCE_VERSION:=v$(PKG_VERSION) +PKG_MIRROR_HASH:=3e10898db18d8b36ab41ebc9fa5cb37928e5bb4043a5a8bb1257724ee71f41ff + +UI_FILE:=v4l2camera-ui-$(PKG_VERSION).tgz +UI_HASH:=9a03905fde298abe028e01ba575006a5bff5182ed3d45da01eace045cfef2f82 + +LIVE555_VERSION:=2023.01.19 +LIVE555_HASH:=a7c64913f7f7007c5fdc29ea811e3ca781f262271b3e42afdd4bc1041d86fa99 +LIVE555_FILE:=live.$(LIVE555_VERSION).tar.gz + +PKG_MAINTAINER:=Michel Promonet +PKG_LICENSE:=Unlicense +PKG_LICENSE_FILES:=LICENCE + +include $(INCLUDE_DIR)/package.mk +include $(INCLUDE_DIR)/cmake.mk + +RSTRIP:=: + +define Package/v4l2camera + SECTION:=multimedia + CATEGORY:=Multimedia + TITLE:=v4l2camera + DEPENDS:=+libstdcpp + URL:=https://github.com/mpromonet/v4l2camera +endef + +define Package/v4l2camera/conffiles +/etc/config/v4l2camera +endef + +CMAKE_OPTIONS += \ + -DWITH_SSL=OFF \ + -DWITH_COMPRESS=OFF \ + -DBUILD_UI=OFF + +define Download/live555 + URL:=https://download.videolan.org/pub/contrib/live555/ + FILE:=$(LIVE555_FILE) + HASH:=$(LIVE555_HASH) +endef + +define Download/ui + URL:=https://registry.npmjs.org/v4l2camera-ui/-/ + FILE:=$(UI_FILE) + HASH:=$(UI_HASH) +endef + +define Build/Prepare + # download live555 + $(eval $(call Download,live555)) + mkdir -p $(PKG_BUILD_DIR)/live + $(TAR) -xf $(DL_DIR)/$(LIVE555_FILE) --strip=1 -C $(PKG_BUILD_DIR)/live + + # download ui + $(eval $(call Download,ui)) + mkdir -p $(PKG_BUILD_DIR)/vuejs + $(TAR) -xf $(DL_DIR)/$(UI_FILE) --strip=1 -C $(PKG_BUILD_DIR)/vuejs + + $(Build/Prepare/Default) +endef + +define Package/v4l2camera/install + $(INSTALL_DIR) $(1)/usr/bin + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/v4l2camera $(1)/usr/bin/ + + $(INSTALL_DIR) $(1)/usr/share/v4l2camera + $(CP) $(PKG_INSTALL_DIR)/usr/share/v4l2camera $(1)/usr/share/ + + $(INSTALL_DIR) $(1)/etc/init.d + $(INSTALL_BIN) files/v4l2camera.init $(1)/etc/init.d/v4l2camera + $(INSTALL_DIR) $(1)/etc/config + $(INSTALL_CONF) files/v4l2camera.config $(1)/etc/config/v4l2camera +endef + +$(eval $(call BuildPackage,v4l2camera)) diff --git a/multimedia/v4l2camera/files/v4l2camera.config b/multimedia/v4l2camera/files/v4l2camera.config new file mode 100644 index 000000000..918289440 --- /dev/null +++ b/multimedia/v4l2camera/files/v4l2camera.config @@ -0,0 +1,5 @@ +config v4l2camera 'core' + option enabled '0' + option device '/dev/video0' + option httpport '8080' + option rtspport '554' diff --git a/multimedia/v4l2camera/files/v4l2camera.init b/multimedia/v4l2camera/files/v4l2camera.init new file mode 100644 index 000000000..a376eb12e --- /dev/null +++ b/multimedia/v4l2camera/files/v4l2camera.init @@ -0,0 +1,63 @@ +#!/bin/sh /etc/rc.common + +START=90 +STOP=10 + +USE_PROCD=1 + +SERVICE=v4l2camera +PROG=/usr/bin/$SERVICE + +error() { + logger -t "$SERVICE" "$@" +} + +start_instance() { + local s="$1" + + config_get_bool enabled "$1" 'enabled' 0 + [ $enabled -eq 0 ] && return + + # validate device + config_get device "$s" 'device' + if [ ! -c "$device" ]; then + error "device '$device' does not exist" + return 1 + fi + + # get options + config_get rtspport "$s" 'rtspport' + config_get httpport "$s" 'httpport' + config_get mode "$s" 'mode' + config_get format "$s" 'format' + + # build args + local args="-p /usr/share/$SERVICE" + args="$args -R $rtspport" + args="$args -P $httpport" + if [ ! -z "$mode" ]; then + args="$args -G$mode" + fi + if [ ! -z "$format" ]; then + args="$args -f$format" + fi + cmd="$PROG $args $device" + + # procd stuff + procd_open_instance + procd_set_param file /etc/config/$SERVICE + procd_set_param command $cmd + procd_set_param stdout 1 + procd_set_param stderr 1 + procd_add_mdns "http" "tcp" "$httpport" "daemon=$SERVICE" "path=/" + procd_close_instance +} + +start_service() { + config_load "$SERVICE" + config_foreach start_instance "$SERVICE" +} + +service_triggers() { + procd_add_reload_trigger "$SERVICE" +} diff --git a/multimedia/v4l2camera/patches/001_live555_sprintf_format.patch b/multimedia/v4l2camera/patches/001_live555_sprintf_format.patch new file mode 100644 index 000000000..a79e4d55d --- /dev/null +++ b/multimedia/v4l2camera/patches/001_live555_sprintf_format.patch @@ -0,0 +1,25 @@ +From: Michel Promonet +Subject: [PATCH] Fix crash formating time_t as long (it is a long long) +Signed-off-by: Michel Promonet + +--- +--- a/live/liveMedia/ServerMediaSession.cpp ++++ b/live/liveMedia/ServerMediaSession.cpp +@@ -272,7 +272,7 @@ char* ServerMediaSession::generateSDPDes + + char const* const sdpPrefixFmt = + "v=0\r\n" +- "o=- %ld%06ld %d IN %s %s\r\n" ++ "o=- %lld%06lld %d IN %s %s\r\n" + "s=%s\r\n" + "i=%s\r\n" + "t=0 0\r\n" +@@ -300,7 +300,7 @@ char* ServerMediaSession::generateSDPDes + + // Generate the SDP prefix (session-level lines): + snprintf(sdp, sdpLength, sdpPrefixFmt, +- fCreationTime.tv_sec, fCreationTime.tv_usec, // o= ++ (long long)fCreationTime.tv_sec, (long long)fCreationTime.tv_usec, // o= + 1, // o= // (needs to change if params are modified) + addressFamily == AF_INET ? "IP4" : "IP6", // o=
+ ipAddressStr.val(), // o=
diff --git a/net/curl/Makefile b/net/curl/Makefile index 0e84a06b8..fece4362a 100644 --- a/net/curl/Makefile +++ b/net/curl/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/nls.mk PKG_NAME:=curl -PKG_VERSION:=8.1.2 +PKG_VERSION:=8.2.0 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz @@ -17,7 +17,7 @@ PKG_SOURCE_URL:=https://github.com/curl/curl/releases/download/curl-$(subst .,_, https://dl.uxnr.de/mirror/curl/ \ https://curl.askapache.com/download/ \ https://curl.se/download/ -PKG_HASH:=31b1118eb8bfd43cd95d9a3f146f814ff874f6ed3999b29d94f4d1e7dbac5ef6 +PKG_HASH:=2859ec79e2cd96e976a99493547359b8001af1d1e21f3a3a3b846544ef54500f PKG_LICENSE:=MIT PKG_LICENSE_FILES:=COPYING diff --git a/net/https-dns-proxy/Makefile b/net/https-dns-proxy/Makefile index ce7d70eeb..ddc43a892 100644 --- a/net/https-dns-proxy/Makefile +++ b/net/https-dns-proxy/Makefile @@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=https-dns-proxy PKG_VERSION:=2023-05-25 -PKG_RELEASE:=2 +PKG_RELEASE:=3 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/aarond10/https_dns_proxy/ diff --git a/net/https-dns-proxy/files/https-dns-proxy.init b/net/https-dns-proxy/files/https-dns-proxy.init index d63dad9c5..e403686a6 100755 --- a/net/https-dns-proxy/files/https-dns-proxy.init +++ b/net/https-dns-proxy/files/https-dns-proxy.init @@ -67,7 +67,7 @@ uci_changes() { /sbin/uci ${UCI_CONFIG_DIR:+-c $UCI_CONFIG_DIR} changes "$PACKAGE${CONFIG:+.$CONFIG}${OPTION:+.$OPTION}" } -dnsmasq_restart() { [ -x /etc/init.d/dnsmasq ] || return 0; /etc/init.d/dnsmasq restart >/dev/null 2>&1; } +dnsmasq_restart() { [ -x /etc/init.d/dnsmasq ] || return 1; /etc/init.d/dnsmasq restart >/dev/null 2>&1; } version() { echo "$PKG_VERSION"; } @@ -223,7 +223,7 @@ start_service() { local procd_fw_src_interfaces local port=5053 - output "Starting $serviceName " + output "Starting $serviceName instances " config_load "$packageName" config_get_bool canary_domains_icloud 'config' 'canary_domains_icloud' '1' config_get_bool canary_domains_mozilla 'config' 'canary_domains_mozilla' '1' @@ -240,11 +240,21 @@ start_service() { dhcp_backup 'create' config_load "$packageName" config_foreach start_instance "$packageName" - if [ -n "$(uci_changes dhcp)" ]; then - uci_commit 'dhcp' - dnsmasq_restart - fi output "\\n" + if [ -n "$(uci_changes dhcp)" ]; then + output "Updating dnsmasq config " + if uci_commit 'dhcp'; then + output_okn + else + output_failn + fi + output "Restarting dnsmasq " + if dnsmasq_restart; then + output_okn + else + output_failn + fi + fi } stop_service() { diff --git a/net/isc-dhcp/Makefile b/net/isc-dhcp/Makefile index d35609e38..906cae673 100644 --- a/net/isc-dhcp/Makefile +++ b/net/isc-dhcp/Makefile @@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=isc-dhcp UPSTREAM_NAME:=dhcp PKG_VERSION:=4.4.3-P1 -PKG_RELEASE:=3 +PKG_RELEASE:=4 PKG_LICENSE:=BSD-3-Clause PKG_LICENSE_FILES:=LICENSE diff --git a/net/isc-dhcp/files/dhclient.init b/net/isc-dhcp/files/dhclient.init index b5ffb411d..543cdf8cd 100644 --- a/net/isc-dhcp/files/dhclient.init +++ b/net/isc-dhcp/files/dhclient.init @@ -8,23 +8,23 @@ pid_file=/var/run/dhclient.pid script_file=/usr/sbin/dhclient-script start() { - /usr/sbin/dhclient -q -nw -cf $config_file -lf $lease_file -pf $pid_file -sf $script_file `/sbin/uci get network.wan.ifname` - - if [ $? -ne 0 ]; then - return 1 - fi + local ifname + + . /lib/functions/network.sh + + network_get_device ifname "wan" || return 1 + + /usr/sbin/dhclient -q -nw -cf $config_file -lf $lease_file -pf $pid_file -sf $script_file $ifname + + [ $? -eq 0 ] || return 1 } stop() { - if [ ! -e $pid_file ]; then - return 1 - fi + [ -e $pid_file ] || return 1 - kill -9 `cat $pid_file` + kill -9 $(cat $pid_file) - if [ $? -ne 0 ]; then - return 1 - fi + [ $? -eq 0 ] || return 1 rm $pid_file } diff --git a/net/isc-dhcp/files/dhclient6.init b/net/isc-dhcp/files/dhclient6.init index 630c3f25f..dd1a095b1 100644 --- a/net/isc-dhcp/files/dhclient6.init +++ b/net/isc-dhcp/files/dhclient6.init @@ -8,23 +8,23 @@ pid_file=/var/run/dhclient6.pid script_file=/usr/sbin/dhclient-script start() { - /usr/sbin/dhclient -q -nw -6 -cf $config_file -lf $lease_file -pf $pid_file -sf $script_file `/sbin/uci get network.wan.ifname` - - if [ $? -ne 0 ]; then - return 1 - fi + local ifname + + . /lib/functions/network.sh + + network_get_device ifname "wan" || return 1 + + /usr/sbin/dhclient -q -nw -6 -cf $config_file -lf $lease_file -pf $pid_file -sf $script_file $ifname + + [ $? -eq 0 ] || return 1 } stop() { - if [ ! -e $pid_file ]; then - return 1 - fi + [ -e $pid_file ] || return 1 - kill -9 `cat $pid_file` + kill -9 $(cat $pid_file) + + [ $? -eq 0 ] || return 1 - if [ $? -ne 0 ]; then - return 1 - fi - rm $pid_file } diff --git a/net/knxd/Makefile b/net/knxd/Makefile index e4b0bd79e..7873ac71f 100644 --- a/net/knxd/Makefile +++ b/net/knxd/Makefile @@ -11,12 +11,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=knxd -PKG_VERSION:=0.14.58 +PKG_VERSION:=0.14.59 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/knxd/knxd/tar.gz/$(PKG_VERSION)? -PKG_HASH:=4c58ca24c3b382649356b8d794453927f0722739eb5ca654a1bd8de0006b0404 +PKG_HASH:=8b8314ad4265cd48e9a257a1bcfd162b1084422f765082b45cceabdd70c0c164 PKG_MAINTAINER:=Othmar Truniger PKG_LICENSE:=GPL-2.0-or-later diff --git a/net/knxd/patches/0100-version.patch b/net/knxd/patches/0100-version.patch index 83806292c..f472ff9e9 100644 --- a/net/knxd/patches/0100-version.patch +++ b/net/knxd/patches/0100-version.patch @@ -7,4 +7,4 @@ -test -d .git || exit -# git describe --tags -git log --format=format:%D | perl -ne 'next unless s#.*tag: ##; s#,.*##; next if m#/#; print; exit;' -+echo -n "0.14.58" ++echo -n "0.14.59" diff --git a/net/modemmanager/Makefile b/net/modemmanager/Makefile index 3c021b44d..8a4958404 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:=3 +PKG_RELEASE:=8 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://gitlab.freedesktop.org/mobile-broadband/ModemManager.git diff --git a/net/modemmanager/README.md b/net/modemmanager/README.md index c9d880ea4..93a7f9b09 100644 --- a/net/modemmanager/README.md +++ b/net/modemmanager/README.md @@ -22,8 +22,10 @@ Once installed, you can configure the 2G/3G/4G modem connections directly in option password 'vodafone' option pincode '7423' option iptype 'ipv4' + option plmn '214001' option lowpower '1' option signalrate '30' + option allow_roaming '1' Only 'device' and 'proto' are mandatory options, the remaining ones are all optional. @@ -36,5 +38,7 @@ allowing all protocols. The 'iptype' option supports any of these values: 'ipv4', 'ipv6' or 'ipv4v6'. It will default to 'ipv4' if not given. +The 'plmn' option allows to set the network operator MCCMNC. + The 'signalrate' option set's the signal refresh rate (in seconds) for the device. You can call signal info with command: mmcli -m 0 --signal-get diff --git a/net/modemmanager/files/modemmanager.proto b/net/modemmanager/files/modemmanager.proto index 2a61f5178..b8ebce924 100755 --- a/net/modemmanager/files/modemmanager.proto +++ b/net/modemmanager/files/modemmanager.proto @@ -343,11 +343,22 @@ proto_modemmanager_init_config() { proto_config_add_string password proto_config_add_string pincode proto_config_add_string iptype + proto_config_add_string plmn proto_config_add_int signalrate proto_config_add_boolean lowpower + proto_config_add_boolean allow_roaming proto_config_add_defaults } +# Append param to the global 'connectargs' variable. +append_param() { + local param="$1" + + [ -z "$param" ] && return + [ -z "$connectargs" ] || connectargs="${connectargs}," + connectargs="${connectargs}${param}" +} + proto_modemmanager_setup() { local interface="$1" @@ -355,11 +366,11 @@ proto_modemmanager_setup() { local bearermethod_ipv4 bearermethod_ipv6 auth cliauth local operatorname operatorid registration accesstech signalquality - local device apn allowedauth username password pincode iptype metric signalrate + local device apn allowedauth username password pincode iptype plmn metric signalrate allow_roaming local address prefix gateway mtu dns1 dns2 - json_get_vars device apn allowedauth username password pincode iptype metric signalrate + json_get_vars device apn allowedauth username password pincode iptype plmn metric signalrate allow_roaming # validate sysfs path given in config [ -n "${device}" ] || { @@ -392,7 +403,24 @@ proto_modemmanager_setup() { echo "starting connection with apn '${apn}'..." proto_notify_error "${interface}" MM_CONNECT_IN_PROGRESS - connectargs="apn=${apn}${iptype:+,ip-type=${iptype}}${cliauth:+,allowed-auth=${cliauth}}${username:+,user=${username}}${password:+,password=${password}}${pincode:+,pin=${pincode}}" + # setup allow-roaming parameter + if [ -n "${allow_roaming}" ] && [ "${allow_roaming}" -eq 0 ];then + allow_roaming="no" + else + # allowed unless a user set the opposite + allow_roaming="yes" + fi + + # Append options to 'connectargs' variable + append_param "apn=${apn}" + append_param "allow-roaming=${allow_roaming}" + append_param "${iptype:+ip-type=${iptype}}" + append_param "${plmn:+operator-id=${plmn}}" + append_param "${cliauth:+allowed-auth=${cliauth}}" + append_param "${username:+user=${username}}" + append_param "${password:+password=${password}}" + append_param "${pincode:+pin=${pincode}}" + mmcli --modem="${device}" --timeout 120 --simple-connect="${connectargs}" || { proto_notify_error "${interface}" MM_CONNECT_FAILED proto_block_restart "${interface}" @@ -504,7 +532,6 @@ proto_modemmanager_teardown() { json_get_vars device lowpower iptype echo "stopping network" - proto_notify_error "${interface}" MM_TEARDOWN_IN_PROGRESS # load connected bearer information, just the first one should be ok modemstatus=$(mmcli --modem="${device}" --output-keyvalue) @@ -539,6 +566,9 @@ proto_modemmanager_teardown() { # low power, only if requested [ "${lowpower:-0}" -lt 1 ] || mmcli --modem="${device}" --set-power-state-low + + proto_init_update "*" 0 + proto_send_update "$interface" } [ -n "$INCLUDE_ONLY" ] || { diff --git a/net/nebula/Makefile b/net/nebula/Makefile index d9befd3f2..6d98fa238 100644 --- a/net/nebula/Makefile +++ b/net/nebula/Makefile @@ -1,15 +1,15 @@ -# Copyright 2021 Stan Grishin (stangri@melmac.ca) +# Copyright 2021-2023 Stan Grishin (stangri@melmac.ca) # This is free software, licensed under the MIT License. include $(TOPDIR)/rules.mk PKG_NAME:=nebula -PKG_VERSION:=1.6.1 +PKG_VERSION:=1.7.2 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/slackhq/nebula/tar.gz/v$(PKG_VERSION)? -PKG_HASH:=9c343d998d2eab9473c3bf73d434b8a382d90b1f73095dd1114ecaf2e1c0970f +PKG_HASH:=c4771ce6eb3e142f88f5f4c12443cfca140bf96b2746c74f9536bd1a362f3f88 PKG_MAINTAINER:=Stan Grishin PKG_LICENSE:=MIT diff --git a/net/nebula/files/nebula.init b/net/nebula/files/nebula.init index 0d87111d0..0fce06db6 100755 --- a/net/nebula/files/nebula.init +++ b/net/nebula/files/nebula.init @@ -1,5 +1,5 @@ #!/bin/sh /etc/rc.common -# Copyright 2021 Stan Grishin (stangri@melmac.ca) +# Copyright 2021-2023 Stan Grishin (stangri@melmac.ca) # shellcheck disable=SC3043,SC3060 # shellcheck disable=SC2034 @@ -10,7 +10,6 @@ USE_PROCD=1 readonly PKG_VERSION='dev-test' readonly packageName='nebula-service' readonly serviceName="$packageName $PKG_VERSION" -readonly sharedMemoryOutput="/dev/shm/$packageName-output" readonly PROG=/usr/sbin/nebula readonly _OK_='\033[0;32m\xe2\x9c\x93\033[0m' readonly _FAIL_='\033[0;31m\xe2\x9c\x97\033[0m' @@ -21,6 +20,7 @@ version() { echo "Version: $PKG_VERSION"; } output() { local msg memmsg logmsg + local sharedMemoryOutput="/dev/shm/$packageName-output" [ -t 1 ] && printf "%b" "$@" msg="${1//$serviceName /service }"; if [ "$(printf "%b" "$msg" | wc -l)" -gt 0 ]; then diff --git a/net/nebula/files/nebula.proto b/net/nebula/files/nebula.proto index 39bd68bfa..b77be1254 100644 --- a/net/nebula/files/nebula.proto +++ b/net/nebula/files/nebula.proto @@ -1,5 +1,5 @@ #!/bin/sh -# Copyright 2021 Stan Grishin (stangri@melmac.ca) +# Copyright 2021-2023 Stan Grishin (stangri@melmac.ca) # shellcheck disable=SC1091,SC2039,SC2034,SC3043 readonly PKG_VERSION='dev-test' readonly PROG=/usr/sbin/nebula @@ -17,7 +17,7 @@ readonly packageName='nebula-proto' log() { logger -t "$packageName" "$*"; } # https://gist.github.com/pkuczynski/8665367 # shellcheck disable=SC2086,SC2155 -parse_yaml() { +yaml_parse() { local prefix=$2 local s='[[:space:]]*' w='[a-zA-Z0-9_-]*' fs="$(echo @|tr @ '\034'|tr -d '\015')" sed -ne "s|^\($s\)\($w\)$s:$s\"\(.*\)\"$s\$|\1$fs\2$fs\3|p" \ @@ -48,11 +48,15 @@ proto_nebula_setup() { proto_init_update "${interface}" 1 [ -s "$config_file" ] || { log "Config file not found or empty!"; return 1; } - eval "$(parse_yaml "$config_file" "yaml_")" + eval "$(yaml_parse "$config_file" "yaml_")" [ "$yaml_tun_dev" = "$interface" ] || { log "Tunnel device in config file (${yaml_tun_dev}) doesn't match interface name (${interface})!"; return 1; } log "Setting up ${interface} from $(basename "$config_file")." proto_run_command "$interface" "$PROG" -config "$config_file" + # TODO: if lighthouse, open local port 4242 + # TODO: else get local subnet from local_range variable, if not, + # TODO: iterate over each lighthouse/hosts and append /24 + # TODO: ip route add "$yaml_local_range" "$yaml_tun_dev" proto_add_data json_add_array firewall json_add_object "" diff --git a/net/nebula/test.sh b/net/nebula/test.sh index 8acfa8346..565f7a9bf 100644 --- a/net/nebula/test.sh +++ b/net/nebula/test.sh @@ -3,6 +3,6 @@ case "$1" in nebula|nebula-cert) "/usr/sbin/${1}" -version 2>&1 | grep "$2"; return $?;; nebula-proto) grep 'readonly PKG_VERSION=' /lib/netifd/proto/nebula.sh 2>&1 | grep "$2"; return $?;; -# nebula-service) "/etc/init.d/nebula" version 2>&1 | grep "$2"; return $?;; +# nebula-service) /etc/init.d/nebula version 2>&1 | grep "$2"; return $?;; nebula-service) return 0;; esac diff --git a/net/openvpn/Config-mbedtls.in b/net/openvpn/Config-mbedtls.in index 3cf233b8f..edcfbdf9d 100644 --- a/net/openvpn/Config-mbedtls.in +++ b/net/openvpn/Config-mbedtls.in @@ -24,26 +24,22 @@ config OPENVPN_mbedtls_ENABLE_FRAGMENT bool "Enable internal fragmentation support (--fragment)" default y -config OPENVPN_mbedtls_ENABLE_MULTIHOME - bool "Enable multi-homed UDP server support (--multihome)" - default y - config OPENVPN_mbedtls_ENABLE_PORT_SHARE bool "Enable TCP server port-share support (--port-share)" default y -config OPENVPN_mbedtls_ENABLE_DEF_AUTH - bool "Enable deferred authentication" - default y - -config OPENVPN_mbedtls_ENABLE_PF - bool "Enable internal packet filter" - default y - config OPENVPN_mbedtls_ENABLE_IPROUTE2 bool "Enable support for iproute2" default n +config OPENVPN_mbedtls_ENABLE_DCO + depends on !OPENVPN_mbedtls_ENABLE_IPROUTE2 + bool "Enable support for data channel offload" + default n if OPENVPN_mbedtls_ENABLE_IPROUTE2 + help + enable data channel offload support + using the ovpn-dco-v2 kernel module + config OPENVPN_mbedtls_ENABLE_SMALL bool "Enable size optimization" default y diff --git a/net/openvpn/Config-openssl.in b/net/openvpn/Config-openssl.in index 7a7be74db..c09b45e10 100644 --- a/net/openvpn/Config-openssl.in +++ b/net/openvpn/Config-openssl.in @@ -28,26 +28,22 @@ config OPENVPN_openssl_ENABLE_FRAGMENT bool "Enable internal fragmentation support (--fragment)" default y -config OPENVPN_openssl_ENABLE_MULTIHOME - bool "Enable multi-homed UDP server support (--multihome)" - default y - config OPENVPN_openssl_ENABLE_PORT_SHARE bool "Enable TCP server port-share support (--port-share)" default y -config OPENVPN_openssl_ENABLE_DEF_AUTH - bool "Enable deferred authentication" - default y - -config OPENVPN_openssl_ENABLE_PF - bool "Enable internal packet filter" - default y - config OPENVPN_openssl_ENABLE_IPROUTE2 bool "Enable support for iproute2" default n +config OPENVPN_openssl_ENABLE_DCO + depends on !OPENVPN_openssl_ENABLE_IPROUTE2 + bool "Enable support for data channel offload" + default n if OPENVPN_openssl_ENABLE_IPROUTE2 + help + enable data channel offload support + using the ovpn-dco-v2 kernel module + config OPENVPN_openssl_ENABLE_SMALL bool "Enable size optimization" default y diff --git a/net/openvpn/Config-wolfssl.in b/net/openvpn/Config-wolfssl.in index ef8b9dcb3..bd076460a 100644 --- a/net/openvpn/Config-wolfssl.in +++ b/net/openvpn/Config-wolfssl.in @@ -33,26 +33,22 @@ config OPENVPN_wolfssl_ENABLE_FRAGMENT bool "Enable internal fragmentation support (--fragment)" default y -config OPENVPN_wolfssl_ENABLE_MULTIHOME - bool "Enable multi-homed UDP server support (--multihome)" - default y - config OPENVPN_wolfssl_ENABLE_PORT_SHARE bool "Enable TCP server port-share support (--port-share)" default y -config OPENVPN_wolfssl_ENABLE_DEF_AUTH - bool "Enable deferred authentication" - default y - -config OPENVPN_wolfssl_ENABLE_PF - bool "Enable internal packet filter" - default y - config OPENVPN_wolfssl_ENABLE_IPROUTE2 bool "Enable support for iproute2" default n +config OPENVPN_wolfssl_ENABLE_DCO + depends on !OPENVPN_wolfssl_ENABLE_IPROUTE2 + bool "Enable support for data channel offload" + default n if OPENVPN_openssl_ENABLE_IPROUTE2 + help + enable data channel offload support + using the ovpn-dco-v2 kernel module + config OPENVPN_wolfssl_ENABLE_SMALL bool "Enable size optimization" default y diff --git a/net/openvpn/Makefile b/net/openvpn/Makefile index ac76841b8..752d38535 100644 --- a/net/openvpn/Makefile +++ b/net/openvpn/Makefile @@ -9,14 +9,14 @@ include $(TOPDIR)/rules.mk PKG_NAME:=openvpn -PKG_VERSION:=2.5.8 -PKG_RELEASE:=3 +PKG_VERSION:=2.6.5 +PKG_RELEASE:=1 PKG_SOURCE_URL:=\ https://build.openvpn.net/downloads/releases/ \ https://swupdate.openvpn.net/community/releases/ -PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz -PKG_HASH:=2bbd0026469902037ee6499b68283d5ab36c74e36cae3112082cfdf6c77a0c57 +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_HASH:=e34efdb9a3789a760cfc91d57349dfb1e31da169c98c06cb490c6a8a015638e2 PKG_MAINTAINER:=Magnus Kroken @@ -36,14 +36,14 @@ define Package/openvpn/Default URL:=http://openvpn.net SUBMENU:=VPN MENU:=1 - DEPENDS:=+kmod-tun +OPENVPN_$(1)_ENABLE_LZO:liblzo +OPENVPN_$(1)_ENABLE_IPROUTE2:ip $(3) + DEPENDS:=+kmod-tun +libcap-ng +OPENVPN_$(1)_ENABLE_LZO:liblzo +OPENVPN_$(1)_ENABLE_LZ4:liblz4 +OPENVPN_$(1)_ENABLE_IPROUTE2:ip +OPENVPN_$(1)_ENABLE_DCO:libnl-genl $(3) VARIANT:=$(1) PROVIDES:=openvpn openvpn-crypto endef Package/openvpn-openssl=$(call Package/openvpn/Default,openssl,OpenSSL,+PACKAGE_openvpn-openssl:libopenssl) Package/openvpn-mbedtls=$(call Package/openvpn/Default,mbedtls,mbedTLS,+PACKAGE_openvpn-mbedtls:libmbedtls) -Package/openvpn-wolfssl=$(call Package/openvpn/Default,wolfssl,WolfSSL \(experimental\),+PACKAGE_openvpn-wolfssl:libwolfssl) +Package/openvpn-wolfssl=$(call Package/openvpn/Default,wolfssl,WolfSSL,+PACKAGE_openvpn-wolfssl:libwolfssl) define Package/openvpn/config/Default source "$(SOURCE)/Config-$(1).in" @@ -80,11 +80,9 @@ define Build/Configure $(if $(CONFIG_OPENVPN_$(BUILD_VARIANT)_ENABLE_X509_ALT_USERNAME),--enable,--disable)-x509-alt-username \ $(if $(CONFIG_OPENVPN_$(BUILD_VARIANT)_ENABLE_MANAGEMENT),--enable,--disable)-management \ $(if $(CONFIG_OPENVPN_$(BUILD_VARIANT)_ENABLE_FRAGMENT),--enable,--disable)-fragment \ - $(if $(CONFIG_OPENVPN_$(BUILD_VARIANT)_ENABLE_MULTIHOME),--enable,--disable)-multihome \ $(if $(CONFIG_OPENVPN_$(BUILD_VARIANT)_ENABLE_IPROUTE2),--enable,--disable)-iproute2 \ - $(if $(CONFIG_OPENVPN_$(BUILD_VARIANT)_ENABLE_DEF_AUTH),--enable,--disable)-def-auth \ - $(if $(CONFIG_OPENVPN_$(BUILD_VARIANT)_ENABLE_PF),--enable,--disable)-pf \ $(if $(CONFIG_OPENVPN_$(BUILD_VARIANT)_ENABLE_PORT_SHARE),--enable,--disable)-port-share \ + $(if $(CONFIG_OPENVPN_$(BUILD_VARIANT)_ENABLE_DCO),--enable,--disable)-dco \ $(if $(CONFIG_OPENVPN_OPENSSL),--with-crypto-library=openssl --with-openssl-engine=no) \ $(if $(CONFIG_OPENVPN_MBEDTLS),--with-crypto-library=mbedtls) \ $(if $(CONFIG_OPENVPN_WOLFSSL),--with-crypto-library=wolfssl) \ diff --git a/net/openvpn/files/openvpn.options b/net/openvpn/files/openvpn.options index 5a7c756f7..7e3aedb0d 100644 --- a/net/openvpn/files/openvpn.options +++ b/net/openvpn/files/openvpn.options @@ -54,7 +54,6 @@ iroute_ipv6 keepalive key key_direction -keysize learn_address link_mtu lladdr diff --git a/net/openvpn/patches/001-reproducible-remove_DATE.patch b/net/openvpn/patches/001-reproducible-remove_DATE.patch deleted file mode 100644 index e4e6d3941..000000000 --- a/net/openvpn/patches/001-reproducible-remove_DATE.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/src/openvpn/options.c -+++ b/src/openvpn/options.c -@@ -105,7 +105,6 @@ const char title_string[] = - #endif - #endif - " [AEAD]" -- " built on " __DATE__ - ; - - #ifndef ENABLE_SMALL diff --git a/net/openvpn/patches/002-add-wolfssl-support.patch b/net/openvpn/patches/002-add-wolfssl-support.patch deleted file mode 100644 index 7311a36eb..000000000 --- a/net/openvpn/patches/002-add-wolfssl-support.patch +++ /dev/null @@ -1,190 +0,0 @@ -From: Gert Doering - -Support for wolfSSL in OpenVPN - -This patch adds support for wolfSSL in OpenVPN. Support is added by using -wolfSSL's OpenSSL compatibility layer. Function calls are left unchanged -and instead the OpenSSL includes point to wolfSSL headers and OpenVPN is -linked against the wolfSSL library. The wolfSSL installation directory is -detected using pkg-config. - -As requested by OpenVPN maintainers, this patch does not include -wolfssl/options.h on its own. By defining the macro EXTERNAL_OPTS_OPENVPN -in the configure script wolfSSL will include wolfssl/options.h on its own -(change added in wolfSSL/wolfssl#2825). The patch -adds an option '--disable-wolfssl-options-h' in case the user would like -to supply their own settings file for wolfSSL. - -wolfSSL: -Support added in: wolfSSL/wolfssl#2503 - -git clone https://github.com/wolfSSL/wolfssl.git -cd wolfssl -./autogen.sh -./configure --enable-openvpn -make -sudo make install - -OpenVPN: - -autoreconf -i -v -f -./configure --with-crypto-library=wolfssl -make -make check -sudo make install - -Signed-off-by: Juliusz Sosinowicz -Acked-by: Arne Schwabe -Message-Id: <20210317181153.83716-1-juliusz@wolfssl.com> -URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg21686.html -Signed-off-by: Gert Doering ---- - configure.ac | 110 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- - src/openvpn/syshead.h | 3 ++- - 2 files changed, 110 insertions(+), 3 deletions(-) ---- a/configure.ac -+++ b/configure.ac -@@ -271,16 +271,23 @@ AC_ARG_WITH( - - AC_ARG_WITH( - [crypto-library], -- [AS_HELP_STRING([--with-crypto-library=library], [build with the given crypto library, TYPE=openssl|mbedtls @<:@default=openssl@:>@])], -+ [AS_HELP_STRING([--with-crypto-library=library], [build with the given crypto library, TYPE=openssl|mbedtls|wolfssl @<:@default=openssl@:>@])], - [ - case "${withval}" in -- openssl|mbedtls) ;; -+ openssl|mbedtls|wolfssl) ;; - *) AC_MSG_ERROR([bad value ${withval} for --with-crypto-library]) ;; - esac - ], - [with_crypto_library="openssl"] - ) - -+AC_ARG_ENABLE( -+ [wolfssl-options-h], -+ [AS_HELP_STRING([--disable-wolfssl-options-h], [Disable including options.h in wolfSSL @<:@default=yes@:>@])], -+ , -+ [enable_wolfssl_options_h="yes"] -+) -+ - AC_ARG_WITH( - [openssl-engine], - [AS_HELP_STRING([--with-openssl-engine], [enable engine support with OpenSSL. Default enabled for OpenSSL < 3.0, auto,yes,no @<:@default=auto@:>@])], -@@ -1054,6 +1061,105 @@ elif test "${with_crypto_library}" = "mb - AC_DEFINE([ENABLE_CRYPTO_MBEDTLS], [1], [Use mbed TLS library]) - CRYPTO_CFLAGS="${MBEDTLS_CFLAGS}" - CRYPTO_LIBS="${MBEDTLS_LIBS}" -+ -+elif test "${with_crypto_library}" = "wolfssl"; then -+ AC_ARG_VAR([WOLFSSL_CFLAGS], [C compiler flags for wolfssl. The include directory should -+ contain the regular wolfSSL header files but also the -+ wolfSSL OpenSSL header files. Ex: -I/usr/local/include -+ -I/usr/local/include/wolfssl]) -+ AC_ARG_VAR([WOLFSSL_LIBS], [linker flags for wolfssl]) -+ -+ saved_CFLAGS="${CFLAGS}" -+ saved_LIBS="${LIBS}" -+ -+ if test -z "${WOLFSSL_CFLAGS}" -a -z "${WOLFSSL_LIBS}"; then -+ # if the user did not explicitly specify flags, try to autodetect -+ PKG_CHECK_MODULES( -+ [WOLFSSL], -+ [wolfssl], -+ [], -+ [AC_MSG_ERROR([Could not find wolfSSL.])] -+ ) -+ PKG_CHECK_VAR( -+ [WOLFSSL_INCLUDEDIR], -+ [wolfssl], -+ [includedir], -+ [], -+ [AC_MSG_ERROR([Could not find wolfSSL includedir variable.])] -+ ) -+ WOLFSSL_CFLAGS="${WOLFSSL_CFLAGS} -I${WOLFSSL_INCLUDEDIR}/wolfssl" -+ fi -+ saved_CFLAGS="${CFLAGS}" -+ saved_LIBS="${LIBS}" -+ CFLAGS="${CFLAGS} ${WOLFSSL_CFLAGS}" -+ LIBS="${LIBS} ${WOLFSSL_LIBS}" -+ -+ AC_CHECK_LIB( -+ [wolfssl], -+ [wolfSSL_Init], -+ [], -+ [AC_MSG_ERROR([Could not link wolfSSL library.])] -+ ) -+ AC_CHECK_HEADER([wolfssl/options.h],,[AC_MSG_ERROR([wolfSSL header wolfssl/options.h not found!])]) -+ -+ # wolfSSL signal EKM support -+ have_export_keying_material="yes" -+ -+ AC_DEFINE([HAVE_HMAC_CTX_NEW], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros]) -+ AC_DEFINE([HAVE_HMAC_CTX_FREE], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros]) -+ AC_DEFINE([HAVE_HMAC_CTX_RESET], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros]) -+ AC_DEFINE([HAVE_EVP_MD_CTX_NEW], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros]) -+ AC_DEFINE([HAVE_EVP_MD_CTX_FREE], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros]) -+ AC_DEFINE([HAVE_EVP_MD_CTX_RESET], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros]) -+ AC_DEFINE([HAVE_EVP_CIPHER_CTX_RESET], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros]) -+ AC_DEFINE([HAVE_OPENSSL_VERSION], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros]) -+ AC_DEFINE([HAVE_SSL_CTX_GET_DEFAULT_PASSWD_CB], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros]) -+ AC_DEFINE([HAVE_SSL_CTX_GET_DEFAULT_PASSWD_CB_USERDATA], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros]) -+ AC_DEFINE([HAVE_SSL_CTX_SET_SECURITY_LEVEL], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros]) -+ AC_DEFINE([HAVE_X509_GET0_NOTBEFORE], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros]) -+ AC_DEFINE([HAVE_X509_GET0_NOTAFTER], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros]) -+ AC_DEFINE([HAVE_X509_GET0_PUBKEY], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros]) -+ AC_DEFINE([HAVE_X509_STORE_GET0_OBJECTS], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros]) -+ AC_DEFINE([HAVE_X509_OBJECT_FREE], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros]) -+ AC_DEFINE([HAVE_X509_OBJECT_GET_TYPE], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros]) -+ AC_DEFINE([HAVE_EVP_PKEY_ID], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros]) -+ AC_DEFINE([HAVE_EVP_PKEY_GET0_RSA], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros]) -+ AC_DEFINE([HAVE_EVP_PKEY_GET0_DSA], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros]) -+ AC_DEFINE([HAVE_EVP_PKEY_GET0_EC_KEY], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros]) -+ AC_DEFINE([HAVE_RSA_SET_FLAGS], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros]) -+ AC_DEFINE([HAVE_RSA_BITS], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros]) -+ AC_DEFINE([HAVE_RSA_GET0_KEY], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros]) -+ AC_DEFINE([HAVE_RSA_SET0_KEY], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros]) -+ AC_DEFINE([HAVE_DSA_GET0_PQG], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros]) -+ AC_DEFINE([HAVE_DSA_BITS], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros]) -+ AC_DEFINE([HAVE_RSA_METH_NEW], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros]) -+ AC_DEFINE([HAVE_RSA_METH_FREE], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros]) -+ AC_DEFINE([HAVE_RSA_METH_SET_PUB_ENC], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros]) -+ AC_DEFINE([HAVE_RSA_METH_SET_PUB_DEC], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros]) -+ AC_DEFINE([HAVE_RSA_METH_SET_PRIV_ENC], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros]) -+ AC_DEFINE([HAVE_RSA_METH_SET_PRIV_DEC], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros]) -+ AC_DEFINE([HAVE_RSA_METH_SET_INIT], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros]) -+ AC_DEFINE([HAVE_RSA_METH_SET_SIGN], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros]) -+ AC_DEFINE([HAVE_RSA_METH_SET_FINISH], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros]) -+ AC_DEFINE([HAVE_RSA_METH_SET0_APP_DATA], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros]) -+ AC_DEFINE([HAVE_RSA_METH_GET0_APP_DATA], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros]) -+ AC_DEFINE([HAVE_EC_GROUP_ORDER_BITS], [1], [Emulate AC_CHECK_FUNCS since these are defined as macros]) -+ -+ if test "${enable_wolfssl_options_h}" = "yes"; then -+ AC_DEFINE([EXTERNAL_OPTS_OPENVPN], [1], [Include options.h from wolfSSL library]) -+ else -+ AC_DEFINE([WOLFSSL_USER_SETTINGS], [1], [Use custom user_settings.h file for wolfSSL library]) -+ fi -+ -+ have_export_keying_material="yes" -+ -+ CFLAGS="${saved_CFLAGS}" -+ LIBS="${saved_LIBS}" -+ -+ AC_DEFINE([ENABLE_CRYPTO_WOLFSSL], [1], [Use wolfSSL crypto library]) -+ AC_DEFINE([ENABLE_CRYPTO_OPENSSL], [1], [Use wolfSSL openssl compatibility layer]) -+ CRYPTO_CFLAGS="${WOLFSSL_CFLAGS}" -+ CRYPTO_LIBS="${WOLFSSL_LIBS}" - else - AC_MSG_ERROR([Invalid crypto library: ${with_crypto_library}]) - fi ---- a/src/openvpn/syshead.h -+++ b/src/openvpn/syshead.h -@@ -582,7 +582,8 @@ socket_defined(const socket_descriptor_t - /* - * Do we have CryptoAPI capability? - */ --#if defined(_WIN32) && defined(ENABLE_CRYPTO_OPENSSL) -+#if defined(_WIN32) && defined(ENABLE_CRYPTO_OPENSSL) && \ -+ !defined(ENABLE_CRYPTO_WOLFSSL) - #define ENABLE_CRYPTOAPI - #endif - diff --git a/net/openvpn/patches/100-mbedtls-disable-runtime-version-check.patch b/net/openvpn/patches/100-mbedtls-disable-runtime-version-check.patch index 42665db87..c54277006 100644 --- a/net/openvpn/patches/100-mbedtls-disable-runtime-version-check.patch +++ b/net/openvpn/patches/100-mbedtls-disable-runtime-version-check.patch @@ -1,6 +1,6 @@ --- a/src/openvpn/ssl_mbedtls.c +++ b/src/openvpn/ssl_mbedtls.c -@@ -1539,7 +1539,7 @@ const char * +@@ -1535,7 +1535,7 @@ const char * get_ssl_library_version(void) { static char mbedtls_version[30]; diff --git a/net/openvpn/patches/101-Fix-EVP_PKEY_CTX_-compilation-with-wolfSSL.patch b/net/openvpn/patches/101-Fix-EVP_PKEY_CTX_-compilation-with-wolfSSL.patch new file mode 100644 index 000000000..81c09c1e8 --- /dev/null +++ b/net/openvpn/patches/101-Fix-EVP_PKEY_CTX_-compilation-with-wolfSSL.patch @@ -0,0 +1,20 @@ +--- a/src/openvpn/crypto_openssl.c ++++ b/src/openvpn/crypto_openssl.c +@@ -51,7 +51,7 @@ + #include + #include + +-#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined(LIBRESSL_VERSION_NUMBER) ++#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined(ENABLE_CRYPTO_WOLFSSL) && !defined(LIBRESSL_VERSION_NUMBER) + #include + #endif + #if OPENSSL_VERSION_NUMBER >= 0x30000000L +@@ -1419,7 +1419,7 @@ engine_load_key(const char *file, SSL_CT + #endif /* if HAVE_OPENSSL_ENGINE */ + } + +-#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined(LIBRESSL_VERSION_NUMBER) ++#if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined(ENABLE_CRYPTO_WOLFSSL) && !defined(LIBRESSL_VERSION_NUMBER) + bool + ssl_tls1_PRF(const uint8_t *seed, int seed_len, const uint8_t *secret, + int secret_len, uint8_t *output, int output_len) diff --git a/net/openvpn/patches/102-Disable-external-ec-key-support-when-building-with-wolfSSL.patch b/net/openvpn/patches/102-Disable-external-ec-key-support-when-building-with-wolfSSL.patch new file mode 100644 index 000000000..f0e7361f2 --- /dev/null +++ b/net/openvpn/patches/102-Disable-external-ec-key-support-when-building-with-wolfSSL.patch @@ -0,0 +1,20 @@ +--- a/src/openvpn/ssl_openssl.c ++++ b/src/openvpn/ssl_openssl.c +@@ -1351,7 +1351,7 @@ err: + return 0; + } + +-#if OPENSSL_VERSION_NUMBER > 0x10100000L && !defined(OPENSSL_NO_EC) ++#if OPENSSL_VERSION_NUMBER > 0x10100000L && !defined(OPENSSL_NO_EC) && !defined(ENABLE_CRYPTO_WOLFSSL) + + /* called when EC_KEY is destroyed */ + static void +@@ -1512,7 +1512,7 @@ tls_ctx_use_management_external_key(stru + goto cleanup; + } + } +-#if (OPENSSL_VERSION_NUMBER > 0x10100000L) && !defined(OPENSSL_NO_EC) ++#if (OPENSSL_VERSION_NUMBER > 0x10100000L) && !defined(OPENSSL_NO_EC) && !defined(ENABLE_CRYPTO_WOLFSSL) + #if OPENSSL_VERSION_NUMBER < 0x30000000L + else if (EVP_PKEY_id(pkey) == EVP_PKEY_EC) + #else /* OPENSSL_VERSION_NUMBER < 0x30000000L */ diff --git a/net/openvpn/patches/103-define-LN_serialNumber-for-wolfSSL.patch b/net/openvpn/patches/103-define-LN_serialNumber-for-wolfSSL.patch new file mode 100644 index 000000000..30e1822a1 --- /dev/null +++ b/net/openvpn/patches/103-define-LN_serialNumber-for-wolfSSL.patch @@ -0,0 +1,12 @@ +--- a/src/openvpn/ssl_verify_openssl.c ++++ b/src/openvpn/ssl_verify_openssl.c +@@ -269,6 +269,9 @@ backend_x509_get_username(char *common_n + return FAILURE; + } + } ++#if defined(ENABLE_CRYPTO_WOLFSSL) ++ #define LN_serialNumber "serialNumber" ++#endif + else if (strcmp(LN_serialNumber, x509_username_field) == 0) + { + ASN1_INTEGER *asn1_i = X509_get_serialNumber(peer_cert); diff --git a/net/openvpn/patches/210-build_always_use_internal_lz4.patch b/net/openvpn/patches/210-build_always_use_internal_lz4.patch deleted file mode 100644 index b5f675ade..000000000 --- a/net/openvpn/patches/210-build_always_use_internal_lz4.patch +++ /dev/null @@ -1,74 +0,0 @@ ---- a/configure.ac -+++ b/configure.ac -@@ -1211,68 +1211,15 @@ dnl - AC_ARG_VAR([LZ4_CFLAGS], [C compiler flags for lz4]) - AC_ARG_VAR([LZ4_LIBS], [linker flags for lz4]) - if test "$enable_lz4" = "yes" && test "$enable_comp_stub" = "no"; then -- if test -z "${LZ4_CFLAGS}" -a -z "${LZ4_LIBS}"; then -- # if the user did not explicitly specify flags, try to autodetect -- PKG_CHECK_MODULES([LZ4], -- [liblz4 >= 1.7.1 liblz4 < 100], -- [have_lz4="yes"], -- [LZ4_LIBS="-llz4"] # If this fails, we will do another test next. -- # We also add set LZ4_LIBS otherwise the -- # linker will not know about the lz4 library -- ) -- fi - - saved_CFLAGS="${CFLAGS}" - saved_LIBS="${LIBS}" - CFLAGS="${CFLAGS} ${LZ4_CFLAGS}" - LIBS="${LIBS} ${LZ4_LIBS}" - -- # If pkgconfig check failed or LZ4_CFLAGS/LZ4_LIBS env vars -- # are used, check the version directly in the LZ4 include file -- if test "${have_lz4}" != "yes"; then -- AC_CHECK_HEADERS([lz4.h], -- [have_lz4h="yes"], -- []) -- -- if test "${have_lz4h}" = "yes" ; then -- AC_MSG_CHECKING([additionally if system LZ4 version >= 1.7.1]) -- AC_COMPILE_IFELSE( -- [AC_LANG_PROGRAM([[ --#include -- ]], -- [[ --/* Version encoding: MMNNPP (Major miNor Patch) - see lz4.h for details */ --#if LZ4_VERSION_NUMBER < 10701L --#error LZ4 is too old --#endif -- ]] -- )], -- [ -- AC_MSG_RESULT([ok]) -- have_lz4="yes" -- ], -- [AC_MSG_RESULT([system LZ4 library is too old])] -- ) -- fi -- fi -- -- # Double check we have a few needed functions -- if test "${have_lz4}" = "yes" ; then -- AC_CHECK_LIB([lz4], -- [LZ4_compress_default], -- [], -- [have_lz4="no"]) -- AC_CHECK_LIB([lz4], -- [LZ4_decompress_safe], -- [], -- [have_lz4="no"]) -- fi -- -- if test "${have_lz4}" != "yes" ; then -- AC_MSG_RESULT([ usable LZ4 library or header not found, using version in src/compat/compat-lz4.*]) -- AC_DEFINE([NEED_COMPAT_LZ4], [1], [use copy of LZ4 source in compat/]) -- LZ4_LIBS="" -- fi -+ AC_MSG_RESULT([ usable LZ4 library or header not found, using version in src/compat/compat-lz4.*]) -+ AC_DEFINE([NEED_COMPAT_LZ4], [1], [use copy of LZ4 source in compat/]) -+ LZ4_LIBS="" - OPTIONAL_LZ4_CFLAGS="${LZ4_CFLAGS}" - OPTIONAL_LZ4_LIBS="${LZ4_LIBS}" - AC_DEFINE(ENABLE_LZ4, [1], [Enable LZ4 compression library]) diff --git a/net/openvpn/patches/220-disable_des.patch b/net/openvpn/patches/220-disable_des.patch deleted file mode 100644 index a49c463c4..000000000 --- a/net/openvpn/patches/220-disable_des.patch +++ /dev/null @@ -1,74 +0,0 @@ ---- a/src/openvpn/syshead.h -+++ b/src/openvpn/syshead.h -@@ -572,7 +572,7 @@ socket_defined(const socket_descriptor_t - /* - * Should we include NTLM proxy functionality - */ --#define NTLM 1 -+//#define NTLM 1 - - /* - * Should we include proxy digest auth functionality ---- a/src/openvpn/crypto_mbedtls.c -+++ b/src/openvpn/crypto_mbedtls.c -@@ -396,6 +396,7 @@ int - key_des_num_cblocks(const mbedtls_cipher_info_t *kt) - { - int ret = 0; -+#ifdef MBEDTLS_DES_C - if (kt->type == MBEDTLS_CIPHER_DES_CBC) - { - ret = 1; -@@ -408,6 +409,7 @@ key_des_num_cblocks(const mbedtls_cipher - { - ret = 3; - } -+#endif - - dmsg(D_CRYPTO_DEBUG, "CRYPTO INFO: n_DES_cblocks=%d", ret); - return ret; -@@ -416,6 +418,7 @@ key_des_num_cblocks(const mbedtls_cipher - bool - key_des_check(uint8_t *key, int key_len, int ndc) - { -+#ifdef MBEDTLS_DES_C - int i; - struct buffer b; - -@@ -444,11 +447,15 @@ key_des_check(uint8_t *key, int key_len, - - err: - return false; -+#else -+ return true; -+#endif - } - - void - key_des_fixup(uint8_t *key, int key_len, int ndc) - { -+#ifdef MBEDTLS_DES_C - int i; - struct buffer b; - -@@ -463,6 +470,7 @@ key_des_fixup(uint8_t *key, int key_len, - } - mbedtls_des_key_set_parity(key); - } -+#endif - } - - /* -@@ -783,10 +791,12 @@ cipher_des_encrypt_ecb(const unsigned ch - unsigned char *src, - unsigned char *dst) - { -+#ifdef MBEDTLS_DES_C - mbedtls_des_context ctx; - - ASSERT(mbed_ok(mbedtls_des_setkey_enc(&ctx, key))); - ASSERT(mbed_ok(mbedtls_des_crypt_ecb(&ctx, src, dst))); -+#endif - } - - diff --git a/net/rclone/Makefile b/net/rclone/Makefile index cd5e4d02c..8f5f7b617 100644 --- a/net/rclone/Makefile +++ b/net/rclone/Makefile @@ -6,12 +6,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=rclone -PKG_VERSION:=1.63.0 +PKG_VERSION:=1.63.1 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/rclone/rclone/tar.gz/v$(PKG_VERSION)? -PKG_HASH:=755af528052f946e8d41a3e96e5dbf8f03ecfe398f9d0fdeb7ca1a59208a75db +PKG_HASH:=84b2b2206abc3cb56056c0b76cceefecef0b5f6ad86b208ca458675632f0edf6 PKG_LICENSE:=MIT PKG_LICENSE_FILES:=LICENSE diff --git a/net/simple-adblock/Makefile b/net/simple-adblock/Makefile index db6e2bc5f..216a97e37 100644 --- a/net/simple-adblock/Makefile +++ b/net/simple-adblock/Makefile @@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=simple-adblock PKG_VERSION:=1.9.5 -PKG_RELEASE:=2 +PKG_RELEASE:=3 PKG_MAINTAINER:=Stan Grishin PKG_LICENSE:=GPL-3.0-or-later diff --git a/net/simple-adblock/files/simple-adblock.conf b/net/simple-adblock/files/simple-adblock.conf index a40c5a258..e16c66bb0 100644 --- a/net/simple-adblock/files/simple-adblock.conf +++ b/net/simple-adblock/files/simple-adblock.conf @@ -54,14 +54,14 @@ config simple-adblock 'config' # block-list may be too big for some routers list blocked_hosts_url 'https://someonewhocares.org/hosts/hosts' -# File size: 613.0K -# block-list may be too big for some routers - list blocked_domains_url 'https://cdn.jsdelivr.net/gh/AdguardTeam/cname-trackers@master/combined_disguised_trackers_justdomains.txt' - # File size: 624.0K # block-list too big for most routers # list blocked_hosts_url 'http://sysctl.org/cameleon/hosts' +# File size: 1.4M +# block-list too big for most routers +# list blocked_adblockplus_url 'https://small.oisd.nl/' + # File size: 1.6M # block-list too big for most routers # list blocked_hosts_url 'https://cdn.jsdelivr.net/gh/StevenBlack/hosts/hosts' @@ -78,9 +78,9 @@ config simple-adblock 'config' # enabling this will disable processing of any other block/allow-lists # option dnsmasq_config_file_url 'https://dnsmasq.oisd.nl/' -# File size: 1.4M -# block-list too big for most routers -# list blocked_adblockplus_url 'https://small.oisd.nl/' +# File size: 5.0M +# block-list may be too big for some routers +# list blocked_domains_url 'https://raw.githubusercontent.com/AdguardTeam/cname-trackers/master/data/combined_disguised_trackers_justdomains.txt' # File size: 6.2M # block-list too big for most routers diff --git a/net/simple-adblock/files/simple-adblock.conf.update b/net/simple-adblock/files/simple-adblock.conf.update index 3a3d7beac..dc2031734 100644 --- a/net/simple-adblock/files/simple-adblock.conf.update +++ b/net/simple-adblock/files/simple-adblock.conf.update @@ -21,3 +21,4 @@ s|list blocked_hosts_url 'https://hosts.oisd.nl/'|list blocked_adblockplus_url ' \|https://cdn.jsdelivr.net/gh/paulgb/BarbBlock/blacklists/domain-list.txt|d \|dnsmasq.oisd.nl|d \|dnsmasq2.oisd.nl|d +\|https://cdn.jsdelivr.net/gh/AdguardTeam/cname-trackers@master/combined_disguised_trackers_justdomains.txt|d diff --git a/net/simple-adblock/files/simple-adblock.init b/net/simple-adblock/files/simple-adblock.init index a08dc395d..c35d03c2a 100644 --- a/net/simple-adblock/files/simple-adblock.init +++ b/net/simple-adblock/files/simple-adblock.init @@ -13,15 +13,17 @@ if type extra_command 1>/dev/null 2>&1; then extra_command 'check' 'Checks if specified domain is found in current block-list' extra_command 'dl' 'Force-downloads all enabled block-list' extra_command 'killcache' 'Delete all cached files' + extra_command 'pause' 'Pauses AdBlocking for specified number of seconds (default: 60)' extra_command 'sizes' 'Displays the file-sizes of enabled block-lists' extra_command 'version' 'Show version information' else # shellcheck disable=SC2034 - EXTRA_COMMANDS='allow check dl killcache sizes status_service version' + EXTRA_COMMANDS='allow check dl killcache pause sizes status_service version' # shellcheck disable=SC2034 EXTRA_HELP=' allow Allows domain(s) in current block-list and config check Checks if specified domain is found in current block-list dl Force-downloads all enabled block-list + pause Pauses AdBlocking for specified number of seconds (default: 60) sizes Displays the file-sizes of enabled block-lists' fi @@ -528,10 +530,14 @@ dns() { case "$dns" in dnsmasq.addnhosts|dnsmasq.servers) + chmod 660 "$outputFile" + chown root:dnsmasq "$outputFile" param=dnsmasq_restart output_text='Reloading dnsmasq' ;; dnsmasq.conf|dnsmasq.ipset|dnsmasq.nftset) + chmod 660 "$outputFile" + chown root:dnsmasq "$outputFile" param=dnsmasq_restart output_text='Restarting dnsmasq' ;; @@ -686,7 +692,7 @@ cache() { local R_TMP case "$1" in create|backup) - [ -s "$outputFile" ] && { mv -f "$outputFile" "$outputCache"; true > "$outputFile"; } >/dev/null 2>/dev/null + [ -s "$outputFile" ] && { mv -f "$outputFile" "$outputCache"; } >/dev/null 2>/dev/null return $? ;; restore|use) @@ -1262,6 +1268,7 @@ adb_sizes() { done } +# shellcheck disable=SC2120 adb_start() { local action status error message stats c local param="$1" validation_result="$3" @@ -1274,13 +1281,13 @@ adb_start() { stats="$(json get stats)" action="$(json get triggers)" - if [ "$action" = 'on_boot' ] || [ "$1" = 'on_boot' ]; then + if [ "$action" = 'on_boot' ] || [ "$param" = 'on_boot' ]; then if cache 'test_gzip' || cache 'test'; then action='restore' else action='download' fi - elif [ "$action" = 'download' ] || [ "$1" = 'download' ] || [ -n "$error" ]; then + elif [ "$action" = 'download' ] || [ "$param" = 'download' ] || [ -n "$error" ]; then action='download' elif [ ! -s "$outputFile" ]; then if cache 'test_gzip' || cache 'test'; then @@ -1288,7 +1295,7 @@ adb_start() { else action='download' fi - elif [ "$action" = 'restart' ] || [ "$1" = 'restart' ]; then + elif [ "$action" = 'restart' ] || [ "$param" = 'restart' ]; then action='restart' elif [ -s "$outputFile" ] && [ "$status" = "statusSuccess" ] && [ -z "$error" ]; then status_service @@ -1497,6 +1504,7 @@ adb_status() { fi } +# shellcheck disable=SC2120 adb_stop() { local validation_result="$3" load_environment "$validation_result" 'quiet' || return 1 @@ -1521,6 +1529,19 @@ adb_stop() { fi } +adb_pause() { + local timeout="${1:-$pause_timeout}" + local validation_result="$3" + adb_stop 'on_pause' '' "$validation_result" + output "Sleeping for $timeout seconds... " + if sleep "$timeout"; then + output_okn + else + output_failn + fi + adb_start 'on_pause' '' "$validation_result" +} + allow() { load_validate_config 'config' adb_allow "'$*'"; } boot() { ubus -t 30 wait_for network.interface 2>/dev/null @@ -1579,6 +1600,7 @@ start_service() { } status_service() { load_validate_config 'config' adb_status "''"; } stop_service() { load_validate_config 'config' adb_stop "'$*'"; } +pause() { load_validate_config 'config' adb_pause "'$*'"; } version() { echo "$PKG_VERSION"; } load_validate_config() { @@ -1598,6 +1620,7 @@ load_validate_config() { local config_update_enabled local config_update_url local download_timeout + local pause_timeout local curl_additional_param local curl_max_file_size local curl_retry @@ -1629,6 +1652,7 @@ load_validate_config() { 'config_update_enabled:bool:0' \ 'config_update_url:string:https://cdn.jsdelivr.net/gh/openwrt/packages/net/simple-adblock/files/simple-adblock.conf.update' \ 'download_timeout:range(1,60):20' \ + 'pause_timeout:range(10,120):60' \ 'curl_additional_param:or("", string)' \ 'curl_max_file_size:or("", uinteger)' \ 'curl_retry:range(0,30):3' \ diff --git a/net/snort3/Makefile b/net/snort3/Makefile index b32b11591..c82070cec 100644 --- a/net/snort3/Makefile +++ b/net/snort3/Makefile @@ -6,12 +6,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=snort3 -PKG_VERSION:=3.1.65.0 +PKG_VERSION:=3.1.66.0 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://github.com/snort3/snort3/archive/refs/tags/ -PKG_HASH:=c798e34703e1e6710fa7eecc4684f2cac58e310f85ce5d5f832945a036e7f542 +PKG_HASH:=4481f882d767620e91fa6d97232ae9527cab06ba77087399c5dd91c72826e0bb PKG_MAINTAINER:=W. Michael Petullo PKG_LICENSE:=GPL-2.0-only diff --git a/net/softflowd/Makefile b/net/softflowd/Makefile index a8d1982d5..2a133b604 100644 --- a/net/softflowd/Makefile +++ b/net/softflowd/Makefile @@ -8,13 +8,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=softflowd -PKG_VERSION:=1.0.0 -PKG_RELEASE:=5 +PKG_VERSION:=1.1.0 +PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz -PKG_SOURCE_URL:=https://codeload.github.com/irino/softflowd/tar.gz/softflowd-$(PKG_VERSION)? -PKG_HASH:=98aa66026d730211b45fe89670cd6ce50959846d536880b82f5afbca6281e108 -PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-softflowd-$(PKG_VERSION) +PKG_SOURCE_URL:=https://codeload.github.com/irino/softflowd/tar.gz/softflowd-v$(PKG_VERSION)? +PKG_HASH:=68d36a21895d0b155b27c718c4b79cc304a4de92d591d73887ccfd74f90f4ffc +PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_NAME)-v$(PKG_VERSION) PKG_MAINTAINER:=Ross Vandegrift PKG_LICENSE:=BSD-3-Clause diff --git a/net/softflowd/patches/010-bzero.patch b/net/softflowd/patches/010-bzero.patch deleted file mode 100644 index a67f6f34e..000000000 --- a/net/softflowd/patches/010-bzero.patch +++ /dev/null @@ -1,134 +0,0 @@ ---- a/freelist.c -+++ b/freelist.c -@@ -46,7 +46,7 @@ freelist_init(struct freelist *fl, size_ - { - size_t sizeof_fl = sizeof(fl); - FLOGIT((LOG_DEBUG, "%s: %s(%p, %zu)", __func__, __func__, fl, allocsz)); -- bzero(fl, sizeof_fl); -+ memset(fl, 0, sizeof_fl); - fl->allocsz = roundup(allocsz, FREELIST_ALLOC_ALIGN); - fl->free_entries = NULL; - } ---- a/ipfix.c -+++ b/ipfix.c -@@ -388,7 +388,7 @@ ipfix_init_template_unity (struct FLOWTR - u_int8_t icmp_flag, u_int8_t bi_flag, - u_int16_t version) { - u_int index = 0, bi_index = 0, length = 0; -- bzero (template, sizeof (*template)); -+ memset (template, 0, sizeof (*template)); - template->h.c.set_id = htons (version == 10 ? - IPFIX_TEMPLATE_SET_ID : - NFLOW9_TEMPLATE_SET_ID); -@@ -510,7 +510,7 @@ nflow9_init_option (u_int16_t ifidx, str - NFLOW9_SOFTFLOWD_OPTION_TEMPLATE_NRECORDS * - sizeof (struct IPFIX_FIELD_SPECIFIER); - -- bzero (&option_template, sizeof (option_template)); -+ memset (&option_template, 0, sizeof (option_template)); - option_template.h.c.set_id = htons (NFLOW9_OPTION_TEMPLATE_SET_ID); - option_template.h.c.length = - htons (sizeof (option_template.h) + scope_len + opt_len); -@@ -524,7 +524,7 @@ nflow9_init_option (u_int16_t ifidx, str - ipfix_init_fields (option_template.r, &option_index, - field_nf9option, - NFLOW9_SOFTFLOWD_OPTION_TEMPLATE_NRECORDS); -- bzero (&nf9opt_data, sizeof (nf9opt_data)); -+ memset (&nf9opt_data, 0, sizeof (nf9opt_data)); - nf9opt_data.c.set_id = htons (IPFIX_SOFTFLOWD_OPTION_TEMPLATE_ID); - nf9opt_data.c.length = htons (sizeof (nf9opt_data)); - nf9opt_data.scope_ifidx = htonl (ifidx); -@@ -536,7 +536,7 @@ nflow9_init_option (u_int16_t ifidx, str - static void - ipfix_init_option (struct timeval *system_boot_time, struct OPTION *option) { - u_int scope_index = 0, option_index = 0; -- bzero (&option_template, sizeof (option_template)); -+ memset (&option_template, 0, sizeof (option_template)); - option_template.h.c.set_id = htons (IPFIX_OPTION_TEMPLATE_SET_ID); - option_template.h.c.length = htons (sizeof (option_template)); - option_template.h.u.i.r.template_id = -@@ -553,7 +553,7 @@ ipfix_init_option (struct timeval *syste - ipfix_init_fields (option_template.r, &option_index, field_option, - IPFIX_SOFTFLOWD_OPTION_TEMPLATE_NRECORDS); - -- bzero (&option_data, sizeof (option_data)); -+ memset (&option_data, 0, sizeof (option_data)); - option_data.c.set_id = htons (IPFIX_SOFTFLOWD_OPTION_TEMPLATE_ID); - option_data.c.length = htons (sizeof (option_data)); - option_data.scope_pid = htonl ((u_int32_t) option->meteringProcessId); -@@ -809,7 +809,7 @@ send_ipfix_common (struct FLOW **flows, - - last_valid = num_packets = 0; - for (j = 0; j < num_flows;) { -- bzero (packet, sizeof (packet)); -+ memset (packet, 0, sizeof (packet)); - if (version == 10) { - ipfix = (struct IPFIX_HEADER *) packet; - ipfix->version = htons (version); ---- a/netflow9.c -+++ b/netflow9.c -@@ -145,7 +145,7 @@ static int nf9_pkts_until_template = -1; - - static void - nf9_init_template (void) { -- bzero (&v4_template, sizeof (v4_template)); -+ memset (&v4_template, 0, sizeof (v4_template)); - v4_template.h.c.flowset_id = htons (NFLOW9_TEMPLATE_SET_ID); - v4_template.h.c.length = htons (sizeof (v4_template)); - v4_template.h.template_id = htons (NF9_SOFTFLOWD_V4_TEMPLATE_ID); -@@ -182,7 +182,7 @@ nf9_init_template (void) { - v4_template.r[14].length = htons (2); - v4_template.r[15].type = htons (NF9_SRC_VLAN); - v4_template.r[15].length = htons (2); -- bzero (&v6_template, sizeof (v6_template)); -+ memset (&v6_template, 0, sizeof (v6_template)); - v6_template.h.c.flowset_id = htons (NFLOW9_TEMPLATE_SET_ID); - v6_template.h.c.length = htons (sizeof (v6_template)); - v6_template.h.template_id = htons (NF9_SOFTFLOWD_V6_TEMPLATE_ID); -@@ -223,7 +223,7 @@ nf9_init_template (void) { - - static void - nf9_init_option (u_int16_t ifidx, struct OPTION *option) { -- bzero (&option_template, sizeof (option_template)); -+ memset (&option_template, 0, sizeof (option_template)); - option_template.h.c.flowset_id = htons (NFLOW9_OPTION_TEMPLATE_SET_ID); - option_template.h.c.length = htons (sizeof (option_template)); - option_template.h.template_id = htons (NF9_SOFTFLOWD_OPTION_TEMPLATE_ID); -@@ -238,7 +238,7 @@ nf9_init_option (u_int16_t ifidx, struct - option_template.r[1].length = - htons (sizeof (option_data.sampling_algorithm)); - -- bzero (&option_data, sizeof (option_data)); -+ memset (&option_data, 0, sizeof (option_data)); - option_data.c.flowset_id = htons (NF9_SOFTFLOWD_OPTION_TEMPLATE_ID); - option_data.c.length = htons (sizeof (option_data)); - option_data.scope_ifidx = htonl (ifidx); -@@ -257,7 +257,7 @@ nf_flow_to_flowset (const struct FLOW *f - struct NF9_SOFTFLOWD_DATA_COMMON *dc[2]; - u_int freclen, ret_len, nflows; - -- bzero (d, sizeof (d)); -+ memset (d, 0, sizeof (d)); - *len_used = nflows = ret_len = 0; - switch (flow->af) { - case AF_INET: -@@ -363,7 +363,7 @@ send_netflow_v9 (struct SENDPARAMETER sp - - last_valid = num_packets = 0; - for (j = 0; j < num_flows;) { -- bzero (packet, sizeof (packet)); -+ memset (packet, 0, sizeof (packet)); - nf9 = (struct NFLOW9_HEADER *) packet; - - nf9->version = htons (9); ---- a/psamp.c -+++ b/psamp.c -@@ -51,7 +51,7 @@ static int psamp_pkts_until_template = - - static void - psamp_init_template (struct PSAMP_SOFTFLOWD_TEMPLATE *template_p) { - u_int index = 0; -- bzero (template_p, sizeof (*template_p)); -+ memset (template_p, 0, sizeof (*template_p)); - template_p->h.c.set_id = htons (IPFIX_TEMPLATE_SET_ID); - template_p->h.c.length = htons (sizeof (struct PSAMP_SOFTFLOWD_TEMPLATE)); - template_p->h.r.template_id = htons (PSAMP_SOFTFLOWD_TEMPLATE_ID); diff --git a/net/softflowd/patches/020-uid.patch b/net/softflowd/patches/020-uid.patch deleted file mode 100644 index fe2ea7c1e..000000000 --- a/net/softflowd/patches/020-uid.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/common.h -+++ b/common.h -@@ -179,7 +179,7 @@ struct ip6_ext { - - /* following lines are copy from unistd.h in Linux for avoidance warnings in compilation */ - #if defined(HAVE_SETRESGID) && !defined(_GNU_SOURCE) --extern int setresgid (__uid_t __ruid, __uid_t __euid, __uid_t __suid); -+extern int setresgid (uid_t __ruid, uid_t __euid, uid_t __suid); - #endif - #if defined(HAVE_SETRESUID) && !defined(_GNU_SOURCE) - extern int setresuid (__uid_t __ruid, __uid_t __euid, __uid_t __suid); diff --git a/net/softflowd/patches/030-Use-lld-for-time_t-always.patch b/net/softflowd/patches/030-Use-lld-for-time_t-always.patch index cedccedfe..33d812e0b 100644 --- a/net/softflowd/patches/030-Use-lld-for-time_t-always.patch +++ b/net/softflowd/patches/030-Use-lld-for-time_t-always.patch @@ -83,7 +83,7 @@ Signed-off-by: Sebastian Kemper --- a/softflowd.c +++ b/softflowd.c -@@ -306,14 +306,14 @@ format_flow (struct FLOW *flow) { +@@ -316,14 +316,14 @@ format_flow (struct FLOW *flow) { snprintf (buf, sizeof (buf), "seq:%" PRIu64 " [%s]:%hu <> [%s]:%hu proto:%u " "octets>:%u packets>:%u octets<:%u packets<:%u " @@ -101,7 +101,7 @@ Signed-off-by: Sebastian Kemper flow->tcp_flags[1], flow->ip6_flowlabel[0], flow->ip6_flowlabel[1], flow->vlanid[0], flow->vlanid[1], format_ethermac (flow->ethermac[0]), -@@ -1170,8 +1170,8 @@ dump_flows (struct FLOWTRACK *ft, FILE * +@@ -1194,8 +1194,8 @@ dump_flows (struct FLOWTRACK *ft, FILE * expiry->expires_at == 0 ? " (FORCED)" : ""); } else { fprintf (out, diff --git a/net/transmission/Makefile b/net/transmission/Makefile index b5f378a6c..703b1db6e 100644 --- a/net/transmission/Makefile +++ b/net/transmission/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=transmission PKG_VERSION:=4.0.3 -PKG_RELEASE:=3 +PKG_RELEASE:=4 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=https://github.com/transmission/transmission/releases/download/$(PKG_VERSION)/ diff --git a/net/transmission/files/transmission-daemon.json b/net/transmission/files/transmission-daemon.json index 6d9fa1fac..d4125103d 100644 --- a/net/transmission/files/transmission-daemon.json +++ b/net/transmission/files/transmission-daemon.json @@ -14,6 +14,7 @@ "clone", "close", "connect", + "copy_file_range", "epoll_create1", "epoll_ctl", "epoll_pwait", diff --git a/utils/base16384/Makefile b/utils/base16384/Makefile index 90fe988d2..58007f0f3 100644 --- a/utils/base16384/Makefile +++ b/utils/base16384/Makefile @@ -1,16 +1,16 @@ # SPDX-Identifier-License: GPL-3.0-or-later # -# Copyright (C) 2022 源 文雨 +# Copyright (C) 2022-2023 源 文雨 include $(TOPDIR)/rules.mk PKG_NAME:=base16384 -PKG_VERSION:=2.2.2 +PKG_VERSION:=2.2.4 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/fumiama/base16384/tar.gz/v$(PKG_VERSION)? -PKG_HASH:=948da6d9eca3af64123a7df1aa0f71a81e38ab02815ab2218e71a7aface0035e +PKG_HASH:=5701519bd07a58019bc5204ca93194026f2869969cb8bc2563cbcb450f2e80bf PKG_MAINTAINER:=源 文雨 PKG_LICENSE:=GPL-3.0-or-later diff --git a/utils/base16384/test.sh b/utils/base16384/test.sh index fcc070dfb..8839bd512 100644 --- a/utils/base16384/test.sh +++ b/utils/base16384/test.sh @@ -2,10 +2,11 @@ case "$1" in "base16384") + opkg install coreutils-base64 i=1 - while [ $i -le 100 ]; do - s="$(head /dev/urandom | head -c $i)" - if [ "$(echo $s)" != "$(echo $s | base16384 -e - - | base16384 -d - -)" ]; then + while [ $i -le 256 ]; do + s="$(head /dev/urandom | head -c $i | base64 -w 0)" + if [ "$(echo $s)" != "$(echo $s | base64 -d | base16384 -e - - | base16384 -d - - | base64 -w 0)" ]; then exit $i fi i=$( expr $i + 1 ) diff --git a/utils/collectd/Makefile b/utils/collectd/Makefile index 1c8a04bc0..47c60a0b1 100644 --- a/utils/collectd/Makefile +++ b/utils/collectd/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=collectd PKG_VERSION:=5.12.0 -PKG_RELEASE:=43 +PKG_RELEASE:=44 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:=https://collectd.org/files/ \ diff --git a/utils/collectd/files/collectd.init b/utils/collectd/files/collectd.init index e372e70f2..2146a6686 100644 --- a/utils/collectd/files/collectd.init +++ b/utils/collectd/files/collectd.init @@ -124,6 +124,100 @@ process_write_http_node() { printf "\\t\n" >> "$COLLECTD_CONF" } +process_mqtt() { + printf "\n" >> "$COLLECTD_CONF" + config_foreach process_mqtt_block mqtt_block + printf "\n\n" >> "$COLLECTD_CONF" +} + +process_mqtt_block() { + local cfg="$1" + + local blocktype name Host Port User Password ClientId QoS Prefix Retain StoreRates CleanSession Topic + + config_get blocktype "$cfg" blocktype + [ -z "$blocktype" ] && { + $LOG notice "No blocktype option in config $cfg defined" + return 0 + } + config_get name "$cfg" name + [ -z "$name" ] && { + $LOG notice "No name option in config $cfg defined" + return 0 + } + config_get Host "$cfg" Host + [ -z "$Host" ] && { + $LOG notice "No Host option in config $cfg defined" + return 0 + } + config_get Port "$cfg" Port + config_get User "$cfg" User + config_get Password "$cfg" Password + config_get QoS "$cfg" QoS + config_get ClientId "$cfg" ClientId + config_get Prefix "$cfg" Prefix + [ -n "$Prefix" ] && [ "$blocktype" != "Publish" ] && { + $LOG notice "Prefix option in config $cfg defined under non Publish block" + return 0 + } + config_get Retain "$cfg" Retain + [ -n "$Retain" ] && [ "$blocktype" != "Publish" ] && { + $LOG notice "Retain option in config $cfg defined under non Publish block" + return 0 + } + config_get StoreRates "$cfg" StoreRates + [ -n "$StoreRates" ] && [ "$blocktype" != "Publish" ] && { + $LOG notice "StoreRates option in config $cfg defined under non Publish block" + return 0 + } + config_get CleanSession "$cfg" CleanSession + [ -n "$CleanSession" ] && [ "$blocktype" != "Subscribe" ] && { + $LOG notice "CleanSession option in config $cfg defined under non Subscribe block" + return 0 + } + config_get Topic "$cfg" Topic + [ -n "$Topic" ] && [ "$blocktype" != "Subscribe" ] && { + $LOG notice "Topic option in config $cfg defined under non Subscribe block" + return 0 + } + + printf "\\t<%s \"%s\">\n" "${blocktype}" "${name}" >> "$COLLECTD_CONF" + [ -z "$Host" ] || { + printf "\\t\\tHost \"%s\"\n" "${Host}" >> "$COLLECTD_CONF" + } + [ -z "$Port" ] || { + printf "\\t\\tPort \"%s\"\n" "${Port}" >> "$COLLECTD_CONF" + } + [ -z "$User" ] || { + printf "\\t\\tUser \"%s\"\n" "${User}" >> "$COLLECTD_CONF" + } + [ -z "$Password" ] || { + printf "\\t\\tPassword \"%s\"\n" "${Password}" >> "$COLLECTD_CONF" + } + [ -z "$QoS" ] || { + printf "\\t\\tQoS %s\n" "${QoS}" >> "$COLLECTD_CONF" + } + [ -z "$ClientId" ] || { + printf "\\t\\tClientId \"%s\"\n" "${ClientId}" >> "$COLLECTD_CONF" + } + [ -z "$Prefix" ] || { + printf "\\t\\tPrefix \"%s\"\n" "${Prefix}" >> "$COLLECTD_CONF" + } + [ -z "$Retain" ] || { + printf "\\t\\tRetain \"%s\"\n" "${Retain}" >> "$COLLECTD_CONF" + } + [ -z "$StoreRates" ] || { + printf "\\t\\tStoreRates \"%s\"\n" "${StoreRates}" >> "$COLLECTD_CONF" + } + [ -z "$CleanSession" ] || { + printf "\\t\\tCleanSession \"%s\"\n" "${CleanSession}" >> "$COLLECTD_CONF" + } + [ -z "$Topic" ] || { + printf "\\t\\tTopic \"%s\"\n" "${Topic}" >> "$COLLECTD_CONF" + } + printf "\\t\n" "${blocktype}" >> "$COLLECTD_CONF" +} + process_network() { local cfg="$1" @@ -407,6 +501,10 @@ process_plugins() { CONFIG_STRING="" process_write_http ;; + mqtt) + CONFIG_STRING="" + process_mqtt + ;; *) CONFIG_STRING="" process_generic "$cfg" "\\t" "/usr/share/collectd/plugin/$cfg.json" diff --git a/utils/collectd/files/collectd.uci b/utils/collectd/files/collectd.uci index 075788272..3b2088a83 100644 --- a/utils/collectd/files/collectd.uci +++ b/utils/collectd/files/collectd.uci @@ -221,3 +221,12 @@ config globals 'globals' #config write_http_node # option name 'foo' # option URL 'http://example.org/post-collectd' +# +#config plugin 'mqtt' +# option enable '1' +# +#config mqtt_block +# option name 'foo' +# option blocktype 'Subscribe' +# option Host 'localhost' +# option Topic 'collectd/#' diff --git a/utils/collectd/files/usr/share/collectd/plugin/mqtt.json b/utils/collectd/files/usr/share/collectd/plugin/mqtt.json new file mode 100644 index 000000000..2c63c0851 --- /dev/null +++ b/utils/collectd/files/usr/share/collectd/plugin/mqtt.json @@ -0,0 +1,2 @@ +{ +} diff --git a/utils/docker-compose/Makefile b/utils/docker-compose/Makefile index 8beaf9317..267272050 100644 --- a/utils/docker-compose/Makefile +++ b/utils/docker-compose/Makefile @@ -1,14 +1,14 @@ include $(TOPDIR)/rules.mk PKG_NAME:=compose -PKG_VERSION:=2.20.0 +PKG_VERSION:=2.20.2 PKG_RELEASE:=1 PKG_LICENSE:=Apache-2.0 PKG_LICENSE_FILES:=LICENSE PKG_SOURCE:=v$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/docker/compose/tar.gz/v${PKG_VERSION}? -PKG_HASH:=983b372bfedfa832699fa18b6b9dc559ea42b3f0a97eff5d5f4f3994954993fe +PKG_HASH:=f7aa0fd19fe457cb0310e3049f57253bddbf896a366824c3cd084a754967fb59 PKG_MAINTAINER:=Javier Marcet diff --git a/utils/mg/Makefile b/utils/mg/Makefile index ba6d9310c..d310acff8 100644 --- a/utils/mg/Makefile +++ b/utils/mg/Makefile @@ -5,12 +5,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=mg -PKG_VERSION:=7.0 +PKG_VERSION:=7.3 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/ibara/mg/tar.gz/$(PKG_NAME)-$(PKG_VERSION)? -PKG_HASH:=c9251d3313663568ac0a571018bc142ef8a533c079e9e9e29bf8088fc0a7d181 +PKG_HASH:=60d3de8e989d8827c81aadb6e161e2b8544778e4470149f4e48efef32a18afdc PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_NAME)-$(PKG_VERSION) PKG_MAINTAINER:=Hirokazu MORIKAWA diff --git a/utils/mg/patches/001-cross_compile_openwrt.patch b/utils/mg/patches/001-cross_compile_openwrt.patch index a32ce2e93..4216294a4 100644 --- a/utils/mg/patches/001-cross_compile_openwrt.patch +++ b/utils/mg/patches/001-cross_compile_openwrt.patch @@ -89,7 +89,7 @@ # Option variables if [ ! -z "$PREFIX" ] ; then prefix="$PREFIX" -@@ -327,80 +254,9 @@ if [ $static -ne 0 ] ; then +@@ -337,80 +264,9 @@ if [ $static -ne 0 ] ; then ldflags="${ldflags}-static" fi