include $(TOPDIR)/rules.mk
GO_VERSION_MAJOR_MINOR:=1.21
-GO_VERSION_PATCH:=4
+GO_VERSION_PATCH:=5
PKG_NAME:=golang
PKG_VERSION:=$(GO_VERSION_MAJOR_MINOR)$(if $(GO_VERSION_PATCH),.$(GO_VERSION_PATCH))
PKG_SOURCE:=go$(PKG_VERSION).src.tar.gz
PKG_SOURCE_URL:=$(GO_SOURCE_URLS)
-PKG_HASH:=47b26a83d2b65a3c1c1bcace273b69bee49a7a7b5168a7604ded3d26a37bd787
+PKG_HASH:=285cbbdf4b6e6e62ed58f370f3f6d8c30825d6e56c5853c66d3c23bcdb09db19
PKG_MAINTAINER:=Jeffery To <jeffery.to@gmail.com>
PKG_LICENSE:=BSD-3-Clause
include $(TOPDIR)/rules.mk
PKG_NAME:=pipx
-PKG_VERSION:=1.3.2
+PKG_VERSION:=1.3.3
PKG_RELEASE:=1
PYPI_NAME:=pipx
-PKG_HASH:=704d01d04c67c2dd0c776c5bf5ed35c7b249055b0174568b8507f07d72ed7a7f
+PKG_HASH:=6d5474e71e78c28d83570443e5418c56599aa8319a950ccf5984c5cb0a35f0a7
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=LICENSE
CATEGORY:=Languages
SUBMENU:=Python
TITLE:=Install/Run Python Applications in Isolated Environments
- URL:=https://github.com/pypa/pipx
+ URL:=https://pipx.pypa.io/
DEPENDS:= \
+python3-light \
+python3-logging \
include $(TOPDIR)/rules.mk
PKG_NAME:=python-argcomplete
-PKG_VERSION:=3.1.6
+PKG_VERSION:=3.2.1
PKG_RELEASE:=1
PYPI_NAME:=argcomplete
-PKG_HASH:=3b1f07d133332547a53c79437527c00be48cca3807b1d4ca5cab1b26313386a6
+PKG_HASH:=437f67fb9b058da5a090df505ef9be0297c4883993f3f56cb186ff087778cfb4
PKG_LICENSE:=Apache-2.0
PKG_LICENSE_FILES:=LICENSE.rst
include $(TOPDIR)/rules.mk
PKG_NAME:=python-jsonschema-specifications
-PKG_VERSION:=2023.7.1
+PKG_VERSION:=2023.11.2
PKG_RELEASE:=1
PYPI_NAME:=jsonschema-specifications
PYPI_SOURCE_NAME:=jsonschema_specifications
-PKG_HASH:=c91a50404e88a1f6ba40636778e2ee08f6e24c5613fe4c53ac24578a5a7f72bb
+PKG_HASH:=9472fc4fea474cd74bea4a2b190daeccb5a9e4db2ea80efcf7a1b582fc9a81b8
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=COPYING
include $(TOPDIR)/rules.mk
PKG_NAME:=python-pathspec
-PKG_VERSION:=0.11.2
+PKG_VERSION:=0.12.1
PKG_RELEASE:=1
PYPI_NAME:=pathspec
-PKG_HASH:=e0d8d0ac2f12da61956eb2306b69f9469b42f4deb0f3cb6ed47b9cce9996ced3
+PKG_HASH:=a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712
PKG_LICENSE:=MPL-2.0
PKG_LICENSE_FILES:=LICENSE
include $(TOPDIR)/rules.mk
PKG_NAME:=python-platformdirs
-PKG_VERSION:=4.0.0
+PKG_VERSION:=4.1.0
PKG_RELEASE:=1
PYPI_NAME:=platformdirs
-PKG_HASH:=cb633b2bcf10c51af60beb0ab06d2f1d69064b43abf4c185ca6b28865f3f9731
+PKG_HASH:=906d548203468492d432bcb294d4bc2fff751bf84971fbb2c10918cc206ee420
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=LICENSE
include $(TOPDIR)/rules.mk
PKG_NAME:=python-referencing
-PKG_VERSION:=0.31.1
+PKG_VERSION:=0.32.0
PKG_RELEASE:=1
PYPI_NAME:=referencing
-PKG_HASH:=81a1471c68c9d5e3831c30ad1dd9815c45b558e596653db751a2bfdd17b3b9ec
+PKG_HASH:=689e64fe121843dcfd57b71933318ef1f91188ffb45367332700a86ac8fd6161
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=COPYING
include $(TOPDIR)/rules.mk
PKG_NAME:=python-typing-extensions
-PKG_VERSION:=4.8.0
+PKG_VERSION:=4.9.0
PKG_RELEASE:=1
PYPI_NAME:=typing-extensions
PYPI_SOURCE_NAME:=typing_extensions
-PKG_HASH:=df8e4339e9cb77357558cbdbceca33c303714cf861d1eef15e1070055ae8b7ef
+PKG_HASH:=23478f88c37f27d76ac8aee6c905017a143b0b1b886c3c9f66bc2fd94f9f5783
PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec1@gmail.com>, Jeffery To <jeffery.to@gmail.com>
PKG_LICENSE:=Python-2.0.1 0BSD
# Note: keep in sync with setuptools & pip
PYTHON3_VERSION_MAJOR:=3
PYTHON3_VERSION_MINOR:=11
-PYTHON3_VERSION_MICRO:=6
+PYTHON3_VERSION_MICRO:=7
PYTHON3_VERSION:=$(PYTHON3_VERSION_MAJOR).$(PYTHON3_VERSION_MINOR)
PKG_SOURCE:=Python-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://www.python.org/ftp/python/$(PKG_VERSION)
-PKG_HASH:=0fab78fa7f133f4f38210c6260d90d7c0d5c7198446419ce057ec7ac2e6f5f38
+PKG_HASH:=18e1aa7e66ff3a58423d59ed22815a6954e53342122c45df20c96877c062b9b7
PKG_MAINTAINER:=Jeffery To <jeffery.to@gmail.com>
PKG_LICENSE:=Python-2.0.1 0BSD
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
-@@ -2128,6 +2128,7 @@ libinstall: all $(srcdir)/Modules/xxmodu
+@@ -2133,6 +2133,7 @@ libinstall: all $(srcdir)/Modules/xxmodu
$(INSTALL_DATA) $(srcdir)/Modules/xxmodule.c \
$(DESTDIR)$(LIBDEST)/distutils/tests ; \
fi
-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
$(PYTHON_FOR_BUILD) -Wi $(DESTDIR)$(LIBDEST)/compileall.py \
-j0 -d $(LIBDEST) -f \
-@@ -2155,6 +2156,7 @@ libinstall: all $(srcdir)/Modules/xxmodu
+@@ -2160,6 +2161,7 @@ libinstall: all $(srcdir)/Modules/xxmodu
$(PYTHON_FOR_BUILD) -Wi -OO $(DESTDIR)$(LIBDEST)/compileall.py \
-j0 -d $(LIBDEST)/site-packages -f \
-x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
-@@ -2173,7 +2173,7 @@ python-config: $(srcdir)/Misc/python-con
+@@ -2178,7 +2178,7 @@ python-config: $(srcdir)/Misc/python-con
@ # On Darwin, always use the python version of the script, the shell
@ # version doesn't use the compiler customizations that are provided
@ # in python (_osx_support.py).
+#endif
--- a/configure.ac
+++ b/configure.ac
-@@ -917,180 +917,14 @@ fi
+@@ -925,180 +925,14 @@ fi
AC_MSG_CHECKING([for the platform triplet based on compiler characteristics])
PKG_NAME:=cyrus-sasl
PKG_VERSION:=2.1.28
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org>
TITLE+= (sasldb libraries)
endef
+define Package/libsasl2-utils
+ $(call Package/libsasl2/Default)
+ DEPENDS:=+libsasl2 +libdb47
+ TITLE+= (sasldb utilities)
+endef
+
TARGET_CFLAGS += $(FPIC)
CONFIGURE_ARGS += \
--enable-shared \
$(CP) $(PKG_INSTALL_DIR)/usr/lib/sasl2/libsasldb.so* $(1)/usr/lib/sasl2/
endef
+define Package/libsasl2-utils/install
+ $(INSTALL_DIR) $(1)/usr/sbin/
+ $(CP) $(PKG_INSTALL_DIR)/usr/sbin/{pluginviewer,sasldblistusers2,saslpasswd2} $(1)/usr/sbin/
+endef
+
$(eval $(call BuildPackage,libsasl2))
$(eval $(call BuildPackage,libsasl2-sasldb))
+$(eval $(call BuildPackage,libsasl2-utils))
--- /dev/null
+#
+# Copyright (C) 2023 TDT AG <development@tdt.de>
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See https://www.gnu.org/licenses/gpl-2.0.txt for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=davici
+PKG_VERSION:=1.4
+PKG_RELEASE=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://codeload.github.com/strongswan/davici/tar.gz/v$(PKG_VERSION)?
+PKG_HASH:=b03c5a1aad905e962271d70246d6af6c337ffd00449d990082ea02161327bde8
+
+PKG_MAINTAINER:=Lukas Voegl <lvoegl@tdt.de>
+PKG_LICENSE:=LGPL-2.1-or-later
+PKG_LICENSE_FILES:=COPYING
+
+PKG_FIXUP:=autoreconf
+PKG_BUILD_PARALLEL:=1
+PKG_INSTALL:=1
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/davici
+ SECTION:=libs
+ CATEGORY:=Libraries
+ TITLE:=Decoupled Asynchronous VICI
+ URL:=https://github.com/strongswan/davici
+endef
+
+define Package/davici/description
+ The davici library provides a client implementation of the
+ strongSwan VICI protocol for integration into external applications.
+endef
+
+define Build/InstallDev
+ $(INSTALL_DIR) $(1)/usr/include
+ $(CP) $(PKG_INSTALL_DIR)/usr/include/*.h $(1)/usr/include/
+
+ $(INSTALL_DIR) $(1)/usr/lib
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/libdavici.so* $(1)/usr/lib/
+endef
+
+define Package/davici/install
+ $(INSTALL_DIR) $(1)/usr/lib
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/libdavici.so* $(1)/usr/lib/
+endef
+
+$(eval $(call BuildPackage,davici))
include $(TOPDIR)/rules.mk
PKG_NAME:=libxslt
-PKG_VERSION:=1.1.37
+PKG_VERSION:=1.1.39
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@GNOME/libxslt/$(basename $(PKG_VERSION))
-PKG_HASH:=3a4b27dc8027ccd6146725950336f1ec520928f320f144eb5fa7990ae6123ab4
+PKG_HASH:=2a20ad621148339b0759c4d4e96719362dee64c9a096dbba625ba053846349f0
PKG_MAINTAINER:=Jiri Slachta <jiri@slachta.eu>
PKG_LICENSE:=MIT
PKG_NAME:=adblock-fast
PKG_VERSION:=1.1.0
-PKG_RELEASE:=3
+PKG_RELEASE:=7
PKG_MAINTAINER:=Stan Grishin <stangri@melmac.ca>
PKG_LICENSE:=GPL-3.0-or-later
readonly unboundCache="/var/run/${packageName}/unbound.cache"
readonly unboundGzip="${packageName}.unbound.gz"
readonly unboundFilter='s|^|local-zone: "|;s|$|" static|'
-readonly A_TMP="/var/${packageName}.hosts.a.tmp"
-readonly B_TMP="/var/${packageName}.hosts.b.tmp"
+readonly A_TMP="/var/${packageName}.a.tmp"
+readonly B_TMP="/var/${packageName}.b.tmp"
+readonly SED_TMP="/var/${packageName}.sed.tmp"
readonly jsonFile="/dev/shm/$packageName-status.json"
readonly sharedMemoryError="/dev/shm/$packageName-error"
readonly hostsFilter='/localhost/d;/^#/d;/^[^0-9]/d;s/^0\.0\.0\.0.//;s/^127\.0\.0\.1.//;s/[[:space:]]*#.*$//;s/[[:cntrl:]]$//;s/[[:space:]]//g;/[`~!@#\$%\^&\*()=+;:"'\'',<>?/\|[{}]/d;/]/d;/\./!d;/^$/d;/[^[:alnum:]_.-]/d;'
[ -n "$url" ] || return 0
is_present 'curl' || return 0
size_command='curl --silent --insecure --fail --head --request GET'
- size="$($size_command "$url" | grep -Po '^[cC]ontent-[lL]ength: \K\w+')"
+# size="$($size_command "$url" | grep -Po '^[cC]ontent-[lL]ength: \K\w+')"
+ size="$($size_command "$url" | grep -Eo '^[cC]ontent-[lL]ength: (.*)' | awk '{print $2}')"
# shellcheck disable=SC3037
echo -en "$size"
}
local PACKAGE="$1"
local CONFIG="$2"
local OPTION="$3"
- if [ -s "${UCI_CONFIG_DIR:-'/etc/config'}${PACKAGE}" ]; then
+ if [ -s "${UCI_CONFIG_DIR:-/etc/config/}${PACKAGE}" ]; then
/sbin/uci ${UCI_CONFIG_DIR:+-c $UCI_CONFIG_DIR} changes "$PACKAGE${CONFIG:+.$CONFIG}${OPTION:+.$OPTION}"
fi
}
resolver() {
_dnsmasq_instance_config() {
local cfg="$1" param="$2"
+ [ -s "/etc/config/dhcp" ] || return 0
case "$param" in
dnsmasq.addnhosts)
if [ "$(uci_get 'dhcp' "$cfg" 'serversfile')" = "$dnsmasqServersFile" ]; then
esac
}
_smartdns_instance_config() {
+ [ -s "/etc/config/smartdns" ] || return 0
local cfg="$1" param="$2"
case "$param" in
cleanup)
rm -f "$smartdnsIpsetFile" "$smartdnsIpsetCache" "${compressed_cache_dir}/${smartdnsIpsetGzip}" "$smartdnsIpsetConfig"
rm -f "$smartdnsNftsetFile" "$smartdnsNftsetCache" "${compressed_cache_dir}/${smartdnsNftsetGzip}" "$smartdnsNftsetConfig"
rm -f "$unboundFile" "$unboundCache" "$unboundGzip"
- config_load 'dhcp'
- config_foreach _dnsmasq_instance_config 'dnsmasq' 'cleanup'
- uci_commit 'dhcp'
- config_load 'smartdns'
- config_foreach _smartdns_instance_config 'smartdns' 'cleanup'
- uci_commit 'smartdns'
+ if [ -s "/etc/config/dhcp" ]; then
+ config_load 'dhcp'
+ config_foreach _dnsmasq_instance_config 'dnsmasq' 'cleanup'
+ [ -n "$(uci_changes 'dhcp')" ] && uci_commit 'dhcp'
+ fi
+ if [ -s "/etc/config/smartdns" ]; then
+ config_load 'smartdns'
+ config_foreach _smartdns_instance_config 'smartdns' 'cleanup'
+ [ -n "$(uci_changes 'smartdns')" ] && uci_commit 'smartdns'
+ fi
;;
on_start)
if [ ! -s "$outputFile" ]; then
;;
smartdns.*)
chmod 660 "$outputFile" "$outputConfig"
- chown root:smartdns "$outputFile" "$outputConfig"
+ chown root:root "$outputFile" "$outputConfig"
param='smartdns_restart'
output_text='Restarting SmartDNS'
;;
}
download_dnsmasq_file() {
- local hf allow_filter j=0 R_TMP
-
json set message "$(get_text 'statusDownloading')..."
json set status 'statusDownloading'
- rm -f "$A_TMP" "$B_TMP" "$outputFile" "$outputCache" "$outputGzip"
+ rm -f "$A_TMP" "$B_TMP" "$SED_TMP" "$outputFile" "$outputCache" "$outputGzip"
if [ "$(get_ram_free)" -lt 32 ]; then
output 3 'Low free memory, restarting resolver '
if resolver 'quiet_restart'; then
output_failn
fi
fi
- touch $A_TMP; touch $B_TMP;
+ touch "$A_TMP" "$B_TMP" "$SED_TMP"
output 1 'Downloading dnsmasq file '
rm -f "$sharedMemoryError"
process_file_url '' "$dnsmasq_config_file_url" 'file'
return 0
fi
}
- local hf allow_filter j=0 R_TMP
+ local hf j=0 R_TMP
_ram_check || return 1
json set message "$(get_text 'statusDownloading')..."
json set status 'statusDownloading'
- rm -f "$A_TMP" "$B_TMP" "$outputFile" "$outputCache" "$outputGzip"
+ rm -f "$A_TMP" "$B_TMP" "$SED_TMP" "$outputFile" "$outputCache" "$outputGzip"
if [ "$(get_ram_total)" -lt 33554432 ]; then
output 3 'Low free memory, restarting resolver '
if resolver 'quiet_restart'; then
output_failn
fi
fi
- touch $A_TMP; touch $B_TMP;
+ touch "$A_TMP" "$B_TMP" "$SED_TMP"
output 1 'Downloading lists '
rm -f "$sharedMemoryError"
config_load "$packageName"
printf "%s\n" "$(echo "$hf" | sed "$domainsFilter")" >> "$B_TMP"
done
allowed_domain="${allowed_domain}
-$(cat $A_TMP)"
- for hf in ${allowed_domain}; do hf="$(echo "$hf" | sed 's/\./\\./g')"; allow_filter="$allow_filter/(^|\.)${hf}$/d;"; done
+$(sed '/^[[:space:]]*$/d' "$A_TMP")"
+ for hf in ${allowed_domain}; do
+ hf="$(echo "$hf" | sed 's/\./\\./g')"
+ echo "/(^|\.)${hf}$/d;" >> "$SED_TMP"
+ done
+ sed -i '/^[[:space:]]*$/d' "$B_TMP"
[ ! -s "$B_TMP" ] && return 1
output 1 'Processing downloads '
mv "$A_TMP" "$B_TMP"
fi
- if [ -n "$allow_filter" ]; then
+ if [ -s "$SED_TMP" ]; then
output 2 'Allowing domains '
json set message "$(get_text 'statusProcessing'): allowing domains"
- if sed -i -E "$allow_filter" "$B_TMP"; then
+ if sed -i -E -f "$SED_TMP" "$B_TMP"; then
output_ok
else
output_failn
fi
output 2 'Removing temporary files '
json set message "$(get_text 'statusProcessing'): removing temporary files"
- rm -f "/tmp/${packageName}_tmp.*" "$A_TMP" "$B_TMP" "$outputCache" || j=1
+ rm -f "/tmp/${packageName}_tmp.*" "$A_TMP" "$B_TMP" "$SED_TMP" "$outputCache" || j=1
if [ $j -eq 0 ]; then
output_ok
else
include $(TOPDIR)/rules.mk
PKG_NAME:=adguardhome
-PKG_VERSION:=0.107.36
+PKG_VERSION:=0.107.42
PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git
PKG_SOURCE_VERSION:=v$(PKG_VERSION)
PKG_SOURCE_URL:=https://github.com/AdguardTeam/AdGuardHome
-PKG_MIRROR_HASH:=6f32717df3654432d0c50ee730f0eef3ec806a966508f5cd82899077f1e086c8
+PKG_MIRROR_HASH:=a3ab5470960b2ba8645d6889f5b4d229e6b21201503e61e2c485666540b33806
PKG_LICENSE:=GPL-3.0-only
PKG_LICENSE_FILES:=LICENSE.txt
+++ /dev/null
-From 61c2e12116147fab716221009b3a14fa5792a72d Mon Sep 17 00:00:00 2001
-From: Dobroslaw Kijowski <dobo90@gmail.com>
-Date: Mon, 21 Aug 2023 10:22:27 +0200
-Subject: [PATCH] go get github.com/quic-go/quic-go@v0.37.6
-
----
- go.mod | 4 ++--
- go.sum | 4 ++++
- 2 files changed, 6 insertions(+), 2 deletions(-)
-
---- a/go.mod
-+++ b/go.mod
-@@ -28,7 +28,7 @@ require (
- github.com/mdlayher/raw v0.1.0
- github.com/miekg/dns v1.1.55
- // TODO(a.garipov): Update to ≥ v0.37.0 once we update to Go 1.20.
-- github.com/quic-go/quic-go v0.36.2
-+ github.com/quic-go/quic-go v0.37.6
- github.com/stretchr/testify v1.8.4
- github.com/ti-mo/netfilter v0.5.0
- go.etcd.io/bbolt v1.3.7
-@@ -60,7 +60,7 @@ require (
- github.com/pmezard/go-difflib v1.0.0 // indirect
- github.com/quic-go/qpack v0.4.0 // indirect
- github.com/quic-go/qtls-go1-19 v0.3.2 // indirect
-- github.com/quic-go/qtls-go1-20 v0.2.2 // indirect
-+ github.com/quic-go/qtls-go1-20 v0.3.1 // indirect
- github.com/u-root/uio v0.0.0-20230305220412-3e8cd9d6bf63 // indirect
- golang.org/x/mod v0.12.0 // indirect
- golang.org/x/sync v0.3.0 // indirect
---- a/go.sum
-+++ b/go.sum
-@@ -108,8 +108,12 @@ github.com/quic-go/qtls-go1-19 v0.3.2 h1
- github.com/quic-go/qtls-go1-19 v0.3.2/go.mod h1:ySOI96ew8lnoKPtSqx2BlI5wCpUVPT05RMAlajtnyOI=
- github.com/quic-go/qtls-go1-20 v0.2.2 h1:WLOPx6OY/hxtTxKV1Zrq20FtXtDEkeY00CGQm8GEa3E=
- github.com/quic-go/qtls-go1-20 v0.2.2/go.mod h1:JKtK6mjbAVcUTN/9jZpvLbGxvdWIKS8uT7EiStoU1SM=
-+github.com/quic-go/qtls-go1-20 v0.3.1 h1:O4BLOM3hwfVF3AcktIylQXyl7Yi2iBNVy5QsV+ySxbg=
-+github.com/quic-go/qtls-go1-20 v0.3.1/go.mod h1:X9Nh97ZL80Z+bX/gUXMbipO6OxdiDi58b/fMC9mAL+k=
- github.com/quic-go/quic-go v0.36.2 h1:ZX/UNQ4gvpCv2RmwdbA6lrRjF6EBm5yZ7TMoT4NQVrA=
- github.com/quic-go/quic-go v0.36.2/go.mod h1:zPetvwDlILVxt15n3hr3Gf/I3mDf7LpLKPhR4Ez0AZQ=
-+github.com/quic-go/quic-go v0.37.6 h1:2IIUmQzT5YNxAiaPGjs++Z4hGOtIR0q79uS5qE9ccfY=
-+github.com/quic-go/quic-go v0.37.6/go.mod h1:YsbH1r4mSHPJcLF4k4zruUkLBqctEMBDR6VPvcYjIsU=
- github.com/shirou/gopsutil/v3 v3.21.8 h1:nKct+uP0TV8DjjNiHanKf8SAuub+GNsbrOtM9Nl9biA=
- github.com/shirou/gopsutil/v3 v3.21.8/go.mod h1:YWp/H8Qs5fVmf17v7JNZzA0mPJ+mS2e9JdiUF9LlKzQ=
- github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
include $(TOPDIR)/rules.mk
PKG_NAME:=banip
-PKG_VERSION:=0.9.2
-PKG_RELEASE:=4
+PKG_VERSION:=0.9.3
+PKG_RELEASE:=1
PKG_LICENSE:=GPL-3.0-or-later
PKG_MAINTAINER:=Dirk Brenken <dev@brenken.org>
$(INSTALL_CONF) ./files/banip.countries $(1)/etc/banip
$(INSTALL_CONF) ./files/banip.feeds $(1)/etc/banip
$(INSTALL_CONF) ./files/banip.custom.feeds $(1)/etc/banip
+
+ $(INSTALL_DIR) $(1)/www/cgi-bin
+ $(INSTALL_BIN) ./files/banip.cgi $(1)/www/cgi-bin/banip
endef
$(eval $(call BuildPackage,banip))
* Add new or edit existing banIP feeds on your own with the LuCI integrated custom feed editor
* Supports external allowlist URLs to reference additional IPv4/IPv6 feeds
* Supports allowing / blocking of certain VLAN forwards
+* Provides an option to transfer logging events on remote servers via cgi interface
## Prerequisites
* **[OpenWrt](https://openwrt.org)**, latest stable release or a snapshot with nft/firewall 4 support
| ban_filelimit | option | 1024 | ulimit max open/number of files (range 1024-4096) |
| ban_loglimit | option | 100 | scan only the last n log entries permanently. A value of '0' disables the monitor |
| ban_logcount | option | 1 | how many times the IP must appear in the log to be considered as suspicious |
-| ban_logterm | list | regex | various regex for logfile parsing (default: dropbear, sshd, luci, nginx, asterisk) |
+| ban_logterm | list | regex | various regex for logfile parsing (default: dropbear, sshd, luci, nginx, asterisk and cgi-remote events) |
| ban_logreadfile | option | /var/log/messages | alternative location for parsing the log file, e.g. via syslog-ng, to deactivate the standard parsing via logread |
| ban_autodetect | option | 1 | auto-detect wan interfaces, devices and subnets |
| ban_debug | option | 0 | enable banIP related debug logging |
| ban_mailnotification | option | 0 | receive E-Mail notifications with every banIP run |
| ban_reportelements | option | 1 | count Set elements in the report, disable this option to speed up the report significantly |
| ban_resolver | option | - | external resolver used for DNS lookups |
+| ban_remotelog | option | 0 | enable the cgi interface to receive remote logging events |
+| ban_remotetoken | option | - | unique token to communicate with the cgi interface |
## Examples
**banIP report information**
list ban_logterm 'error: maximum authentication attempts exceeded'
list ban_logterm 'sshd.*Connection closed by.*\[preauth\]'
list ban_logterm 'SecurityEvent=\"InvalidAccountID\".*RemoteAddress='
+list ban_logterm 'received a suspicious remote IP '\''.*'\'''
```
**allow-/blocklist handling**
C8:C2:9B:F7:80:12 192.168.1.10 => this will be populated to v4MAC-Set with the certain IP
C8:C2:9B:F7:80:12 => this will be populated to v6MAC-Set with the IP-wildcard ::/0
```
+**enable the cgi interface to receive remote logging events**
+banIP ships a basic cgi interface in '/www/cgi-bin/banip' to receive remote logging events (disabled by default). The cgi interface evaluates logging events via GET or POST request (see examples below). To enable the cgi interface set the following options:
+
+ * set 'ban_remotelog' to '1' to enbale the cgi interface
+ * set 'ban_remotetoken' to a secret transfer token, allowed token characters consist of '[A-Za-z]', '[0-9]', '.' and ':'
+
+ Examples to transfer remote logging events from an internal server to banIP via cgi interface:
+
+ * POST request: curl --insecure --data "<ban_remotetoken>=<suspicious IP>" https://192.168.1.1/cgi-bin/banip
+ * GET request: wget --no-check-certificate https://192.168.1.1/cgi-bin/banip?<ban_remotetoken>=<suspicious IP>
+
+Please note: for security reasons use this cgi interface only internally and only encrypted via https transfer protocol.
**redirect Asterisk security logs to lodg/logread**
banIP only supports logfile scanning via logread, so to monitor attacks on Asterisk, its security log must be available via logread. To do this, edit '/etc/asterisk/logger.conf' and add the line 'syslog.local0 = security', then run 'asterisk -rx reload logger' to update the running Asterisk configuration.
ban_mailprofile="ban_notify"
ban_mailnotification="0"
ban_reportelements="1"
+ban_remotelog="0"
+ban_remotetoken=""
ban_nftloglevel="warn"
ban_nftpriority="-200"
ban_nftpolicy="memory"
ip="${ip##* }"
[ -n "${ip}" ] && proto="v6"
fi
- if [ -n "${proto}" ] && ! "${ban_nftcmd}" get element inet banIP blocklist"${proto}" "{ ${ip} }" >/dev/null 2>&1 && ! "${ban_grepcmd}" -q "^${ip}" "${ban_allowlist}"; then
+ if [ -n "${proto}" ] && ! "${ban_nftcmd}" get element inet banIP allowlist"${proto}" "{ ${ip} }" >/dev/null 2>&1 && ! "${ban_nftcmd}" get element inet banIP blocklist"${proto}" "{ ${ip} }" >/dev/null 2>&1; then
f_log "info" "suspicious IP '${ip}'"
log_raw="$(eval ${loglimit_cmd})"
log_count="$(printf "%s\n" "${log_raw}" | "${ban_grepcmd}" -c "suspicious IP '${ip}'")"
--- /dev/null
+#!/bin/sh
+# banIP cgi remote logging script - ban incoming and outgoing IPs via named nftables Sets
+# Copyright (c) 2018-2023 Dirk Brenken (dev@brenken.org)
+# This is free software, licensed under the GNU General Public License v3.
+
+# (s)hellcheck exceptions
+# shellcheck disable=all
+
+# handle post/get requests
+#
+post_string="$(cat)"
+request="${post_string//[^[:alnum:]=\.\:]/}"
+[ -z "${request}" ] && request="${QUERY_STRING//[^[:alnum:]=\.\:]/}"
+
+request_decode() {
+ local key value token
+
+ key="${request%=*}"
+ value="${request#*=}"
+ token="$(uci -q get banip.global.ban_remotetoken)"
+
+ if [ -n "${key}" ] && [ -n "${value}" ] && [ "${key}" = "${token}" ] && /etc/init.d/banip running; then
+ [ -r "/usr/lib/banip-functions.sh" ] && { . "/usr/lib/banip-functions.sh"; f_conf; }
+ if [ "${ban_remotelog}" = "1" ] && [ -x "${ban_logreadcmd}" ] && [ -n "${ban_logterm%%??}" ] && [ "${ban_loglimit}" != "0" ]; then
+ f_log "info" "received a suspicious remote IP '${value}'"
+ fi
+ fi
+}
+
+cat <<EOF
+Status: 202 Accepted
+Content-Type: text/plain; charset=UTF-8
+
+EOF
+
+request_decode
list ban_logterm 'error: maximum authentication attempts exceeded'
list ban_logterm 'sshd.*Connection closed by.*\[preauth\]'
list ban_logterm 'SecurityEvent=\"InvalidAccountID\".*RemoteAddress='
+ list ban_logterm 'received a suspicious remote IP '\''.*'\'''
include $(INCLUDE_DIR)/nls.mk
PKG_NAME:=curl
-PKG_VERSION:=8.4.0
-PKG_RELEASE:=2
+PKG_VERSION:=8.5.0
+PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=https://github.com/curl/curl/releases/download/curl-$(subst .,_,$(PKG_VERSION))/ \
https://dl.uxnr.de/mirror/curl/ \
https://curl.askapache.com/download/ \
https://curl.se/download/
-PKG_HASH:=e5250581a9c032b1b6ed3cf2f9c114c811fc41881069e9892d115cc73f9e88c6
+PKG_HASH:=ce4b6a6655431147624aaf582632a36fe1ade262d5fab385c60f78942dd8d87b
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=COPYING
--- a/Makefile.am
+++ b/Makefile.am
-@@ -159,7 +159,7 @@ CLEANFILES = $(VC10_LIBVCXPROJ) $(VC10_S
+@@ -134,7 +134,7 @@ CLEANFILES = $(VC14_LIBVCXPROJ) \
bin_SCRIPTS = curl-config
SUBDIRS = lib src
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = libcurl.pc
-@@ -273,8 +273,6 @@ cygwinbin:
+@@ -248,8 +248,6 @@ cygwinbin:
# We extend the standard install with a custom hook:
install-data-hook:
(cd include && $(MAKE) install)
include $(TOPDIR)/rules.mk
PKG_NAME:=dnsproxy
-PKG_VERSION:=0.59.1
+PKG_VERSION:=0.60.1
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/AdguardTeam/dnsproxy/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=151616e2562b9bc8de85725293b264e7769d84fe1cd462e74be6fdc8505b0cbb
+PKG_HASH:=4af8d4b0fd5522c41b9370bd2fe102af8fcaa2b48bd6664d1252b55a6d2fe8d4
PKG_MAINTAINER:=Tianling Shen <cnsztl@immortalwrt.org>
PKG_LICENSE:=Apache-2.0
PKG_NAME:=https-dns-proxy
PKG_VERSION:=2023-10-25
-PKG_RELEASE:=4
+PKG_RELEASE:=5
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/aarond10/https_dns_proxy/
on_boot_trigger=
dnsmasq_restart() { [ -x /etc/init.d/dnsmasq ] || return 1; /etc/init.d/dnsmasq restart >/dev/null 2>&1; }
+is_fw4_restart_needed() { [ "$(uci_get "$packageName" 'config' 'force_dns' '1')" = '1' ]; }
is_mac_address() { expr "$1" : '[0-9A-F][0-9A-F]:[0-9A-F][0-9A-F]:[0-9A-F][0-9A-F]:[0-9A-F][0-9A-F]:[0-9A-F][0-9A-F]:[0-9A-F][0-9A-F]$' >/dev/null; }
is_ipv4() { expr "$1" : '[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*$' >/dev/null; }
is_ipv6() { ! is_mac_address "$1" && str_contains "$1" ":"; }
json_add_object mdns
procd_add_mdns_service "$packageName" 'udp' "$port" "DNS over HTTPS proxy"
json_close_object
- if [ "$force_dns" -ne 0 ]; then
+ if [ "$force_dns" -ne '0' ]; then
json_add_array firewall
for iface in $procd_fw_src_interfaces; do
for p in $force_dns_port; do
fi
output_ok
port="$((port+1))"
- force_dns=0
+ force_dns='0'
else
output_fail
fi
procd_add_config_trigger "config.change" "$packageName" "/etc/init.d/${packageName}" reload 'on_config_change'
}
-service_started() { procd_set_config_changed firewall; }
-service_stopped() { procd_set_config_changed firewall; }
+service_started() { is_fw4_restart_needed && procd_set_config_changed firewall; }
+service_stopped() { is_fw4_restart_needed && procd_set_config_changed firewall; }
restart() { procd_send_signal "$packageName"; rc_procd start_service "$*"; }
dnsmasq_doh_server() {
uci_add_list_if_new 'dhcp' "$cfg" 'doh_server' "${address}#${port}"
;;
remove)
- for i in $(uci -q get "dhcp.$cfg.doh_server"); do
+ for i in $(uci_get 'dhcp' "$cfg" 'doh_server'); do
uci_remove_list 'dhcp' "$cfg" 'server' "$i"
uci_remove_list 'dhcp' "$cfg" 'doh_server' "$i"
done
return SW_VERSION;
#else
- return "2023.10.10-atLeast"; // update date sometimes, like 1-2 times a year
-+ return "2023-10-25-4"; // update date sometimes, like 1-2 times a year
++ return "2023-10-25-5"; // update date sometimes, like 1-2 times a year
#endif
}
include $(TOPDIR)/rules.mk
PKG_NAME:=nebula
-PKG_VERSION:=1.7.2
+PKG_VERSION:=1.8.0
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:=c4771ce6eb3e142f88f5f4c12443cfca140bf96b2746c74f9536bd1a362f3f88
+PKG_HASH:=678ad2bda47258cce8c2d14b3fa56d17c0ba4f894d75b75afab8937d64e12da7
PKG_MAINTAINER:=Stan Grishin <stangri@melmac.ca>
PKG_LICENSE:=MIT
TITLE:=nebula-proto
URL:=https://docs.openwrt.melmac.net/nebula/
DEPENDS:=nebula
+ DEPENDS+=+!BUSYBOX_DEFAULT_AWK:gawk
+ DEPENDS+=+!BUSYBOX_DEFAULT_GREP:grep
+ DEPENDS+=+!BUSYBOX_DEFAULT_SED:sed
PKGARCH:=all
endef
TITLE:=nebula-service
URL:=https://docs.openwrt.melmac.net/nebula/
DEPENDS:=nebula
+ DEPENDS+=+!BUSYBOX_DEFAULT_AWK:gawk
+ DEPENDS+=+!BUSYBOX_DEFAULT_SED:sed
CONFLICTS:=nebula-proto
PKGARCH:=all
endef
endef
define Package/nebula/description
- Nebula is a scalable overlay networking tool with a focus on performance, simplicity
- and security. It lets you seamlessly connect computers anywhere in the world.
- This package contains only nebula binary. Unless you want to start nebula manually,
- you may want to also install *either* 'nebula-service' *or* 'nebula-proto' package.
+Nebula is a scalable overlay networking tool with a focus on performance, simplicity
+and security. It lets you seamlessly connect computers anywhere in the world.
+This package contains only nebula binary. Unless you want to start nebula manually,
+you may want to also install *either* 'nebula-service' *or* 'nebula-proto' package.
endef
define Package/nebula-cert/description
- Nebula is a scalable overlay networking tool with a focus on performance, simplicity
- and security. It lets you seamlessly connect computers anywhere in the world.
- This package contains only nebula-cert binary.
+Nebula is a scalable overlay networking tool with a focus on performance, simplicity
+and security. It lets you seamlessly connect computers anywhere in the world.
+This package contains only nebula-cert binary.
endef
define Package/nebula-proto/description
- Nebula is a scalable overlay networking tool with a focus on performance, simplicity
- and security. It lets you seamlessly connect computers anywhere in the world.
- This package contains only OpenWrt protocol/interface support for nebula.
+Nebula is a scalable overlay networking tool with a focus on performance, simplicity
+and security. It lets you seamlessly connect computers anywhere in the world.
+This package contains only OpenWrt protocol/interface support for nebula.
endef
define Package/nebula-service/description
- Nebula is a scalable overlay networking tool with a focus on performance, simplicity
- and security. It lets you seamlessly connect computers anywhere in the world.
- This package contains only OpenWrt-specific init.d script for nebula.
+Nebula is a scalable overlay networking tool with a focus on performance, simplicity
+and security. It lets you seamlessly connect computers anywhere in the world.
+This package contains only OpenWrt-specific init.d script for nebula.
endef
define Package/nebula/install
[ -s "$config_file" ] || { log "Config file not found or empty!"; return 1; }
eval "$(yaml_parse "$config_file" "yaml_")"
+ yaml_tun_dev="${yaml_tun_dev%"${yaml_tun_dev##*[![:space:]]}"}"
[ "$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")."
json_close_array
proto_close_data
addresses="$(ip -4 a list dev "$interface" 2>/dev/null | grep inet | awk '{print $2}' | awk -F "/" '{print $1}')"
- log "Running ${interface} from $(basename "$config_file") with addresses: ${addresses}."
+ log "Running ${interface} from $(basename "$config_file")${addresses+: with addresses: $addresses}."
for address in ${addresses}; do
case "${address}" in
*:*/*)
include $(TOPDIR)/rules.mk
PKG_NAME:=sing-box
-PKG_VERSION:=1.6.6
+PKG_VERSION:=1.7.4
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/SagerNet/sing-box/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=88c8825f6e8af2e46a16e8a85ceb5e1c7c0795b59cad93c8327288ec7b8249e0
+PKG_HASH:=483c7188f054dffc37211a4c6d50edc7473f9cbbe57c5687bb3551aba3919e52
PKG_LICENSE:=GPL-3.0-or-later
PKG_LICENSE_FILES:=LICENSE
include $(TOPDIR)/rules.mk
PKG_NAME:=snort3
-PKG_VERSION:=3.1.75.0
-PKG_RELEASE:=3
+PKG_VERSION:=3.1.76.0
+PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://github.com/snort3/snort3/archive/refs/tags/
-PKG_HASH:=c1a1b7d00df5ab45df968f0fb0125eba95bad27c181018b8d68a41e1bb6fc111
+PKG_HASH:=5586199be8b7a7c6a1b73e0af2e2e004db8417b8282668b10583071e35c9c7a9
-PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org>
+PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org>, John Audia <therealgraysky@proton.me>
PKG_LICENSE:=GPL-2.0-only
PKG_LICENSE_FILES:=COPYING
PKG_CPE_ID:=cpe:/a:snort:snort
include $(TOPDIR)/rules.mk
PKG_NAME:=snowflake
-PKG_VERSION:=2.7.0
+PKG_VERSION:=2.8.0
PKG_RELEASE:=1
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL=https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake.git
PKG_SOURCE_VERSION:=v$(PKG_VERSION)
-PKG_MIRROR_HASH:=3156dbeffaea82761372c7e64322cf9c24a05894c54ccb0d80eaed61b54e08c6
+PKG_MIRROR_HASH:=20ff3c292be6d91f535b009b95578d708daeb8b88cc2290e69feade7b844bf60
PKG_LICENSE:=BSD-3-Clause
PKG_LICENSE_FILES:=LICENSE
include $(TOPDIR)/rules.mk
PKG_NAME:=tgt
-PKG_VERSION:=1.0.87
+PKG_VERSION:=1.0.89
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/fujita/tgt/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=975bb23b4762f2e2a8e787b79afa7fb44442c5afabaea0e469fca0169826077a
+PKG_HASH:=cd09daffacc00a6641a7b95d31c43441656ce0b01af8d512359bc91bac3c6d99
PKG_MAINTAINER:=Maxim Storchak <m.storchak@gmail.com>
PKG_LICENSE:=GPL-2.0-only
include $(TOPDIR)/rules.mk
PKG_NAME:=v2ray-core
-PKG_VERSION:=5.12.1
+PKG_VERSION:=5.13.0
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/v2fly/v2ray-core/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=fa1845d42b46c6b5046a8f95d49cc7a9175e40efc5c13b95174b4c556567aca1
+PKG_HASH:=6b2eb6286c99da010db5c5f629f950e753fc4addeed189d3d898c1ef56d5a785
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=LICENSE
include $(INCLUDE_DIR)/package.mk
-GEOIP_VER:=202311160040
+GEOIP_VER:=202312071808
GEOIP_FILE:=geoip.dat.$(GEOIP_VER)
define Download/geoip
URL:=https://github.com/v2fly/geoip/releases/download/$(GEOIP_VER)/
URL_FILE:=geoip.dat
FILE:=$(GEOIP_FILE)
- HASH:=fe44648629b12e4818eae1a9f703e83f02261e7dcc91b06edf531f343bf16170
+ HASH:=1c8d8bd5e8966a115d2ba16739660ef8ea1ebbb812fec4f87c699df479721652
endef
-GEOSITE_VER:=20231118232758
+GEOSITE_VER:=20231212122459
GEOSITE_FILE:=dlc.dat.$(GEOSITE_VER)
define Download/geosite
URL:=https://github.com/v2fly/domain-list-community/releases/download/$(GEOSITE_VER)/
URL_FILE:=dlc.dat
FILE:=$(GEOSITE_FILE)
- HASH:=91844afa5918b0465b2ffaaf9ee35d09bffd0a2b47b669afdf77ff576262b048
+ HASH:=954adf9b4e999839073715566ab5df3f2177ad97741ce78dcea9b0795ef30614
endef
-GEOSITE_IRAN_VER:=202311130025
+GEOSITE_IRAN_VER:=202312110026
GEOSITE_IRAN_FILE:=iran.dat.$(GEOSITE_IRAN_VER)
define Download/geosite-ir
URL:=https://github.com/bootmortis/iran-hosted-domains/releases/download/$(GEOSITE_IRAN_VER)/
URL_FILE:=iran.dat
FILE:=$(GEOSITE_IRAN_FILE)
- HASH:=286b48d780010349ce759daba30a05e550ea7e3f45082026d2e5f53803223f90
+ HASH:=0f5a1c31c0b905d6619d5b917a1031defb17f5a556e604327d9bc49ee3de962f
endef
define Package/v2ray-geodata/template
PKG_NAME:=cligen
PKG_VERSION:=6.5.0
-PKG_RELEASE:=1
-PKG_MAINTAINER:=Olof Hagsand <olof@hagsand.se>, Philip Prindeville <philipp@redfish-solutions.com>
+PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/clicon/$(PKG_NAME)/tar.gz/$(PKG_VERSION)?
PKG_HASH:=8b3943430f7aa9eea6a5f7cf1ace5b68eb382380cf68f41ae3ef5e032e08816f
+PKG_MAINTAINER:=Olof Hagsand <olof@hagsand.se>, Philip Prindeville <philipp@redfish-solutions.com>
PKG_LICENSE:=Apache-2.0
PKG_LICENSE_FILES:=LICENSE.md
endef
define Package/cligen/description
- CLIgen is a Command-Line Interface generator
+ CLIgen provides dynamic CLI interpretation from grammar files
+ handled at run-time.
endef
CONFIGURE_ARGS+= \
PKG_NAME:=irqbalance
PKG_VERSION:=1.9.3
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/Irqbalance/irqbalance.git
Subject: [PATCH] add meson
Signed-off-by: Rosen Penev <rosenp@gmail.com>
+
+[update version string to 1.9.3]
+
---
meson.build | 43 +++++++++++++++++++++++++++++++++++++++++++
meson_options.txt | 11 +++++++++++
+++ b/meson.build
@@ -0,0 +1,43 @@
+project('irqbalance', 'c',
-+ version : '1.9.0',
++ version : '1.9.3',
+ default_options : ['warning_level=1']
+)
+
--- /dev/null
+--- a/activate.c
++++ b/activate.c
+@@ -98,11 +98,11 @@ error:
+ case ENOSPC: /* Specified CPU APIC is full. */
+ case EAGAIN: /* Interrupted by signal. */
+ case EBUSY: /* Affinity change already in progress. */
+- case EINVAL: /* IRQ would be bound to no CPU. */
+ case ERANGE: /* CPU in mask is offline. */
+ case ENOMEM: /* Kernel cannot allocate CPU mask. */
+ /* Do not blacklist the IRQ on transient errors. */
+ break;
++ case EINVAL: /* IRQ would be bound to no CPU. */
+ default:
+ /* Any other error is considered permanent. */
+ info->flags |= IRQ_FLAG_AFFINITY_UNMANAGED;
#
-# Copyright (C) 2007-2015 OpenWrt.org
-#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(INCLUDE_DIR)/kernel.mk
PKG_NAME:=lsof
-PKG_VERSION:=4.94.0
+PKG_VERSION:=4.99.0
PKG_RELEASE:=1
-PKG_SOURCE:=$(PKG_NAME)_$(PKG_VERSION).linux.tar.bz2
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://github.com/lsof-org/lsof/releases/download/$(PKG_VERSION)
-PKG_HASH:=c41709c2543ecf9de1e950795790a9786a2f225e51c3cc53d6a9a256f872472b
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)_$(PKG_VERSION).linux
+PKG_HASH:=180e6284aff184d94d273e34f7264edc2af849c07b1c5d6a4183d4d402734245
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_MAINTAINER:=Maxim Storchak <m.storchak@gmail.com>
PKG_LICENSE:=Unique
-PKG_LICENSE_FILES:=00README
+PKG_LICENSE_FILES:=COPYING
include $(INCLUDE_DIR)/package.mk
URL:=http://people.freebsd.org/~abe/
endef
-ifneq ($(CONFIG_IPV6),n)
- LINUX_CLIB_IPV6=-DHASIPv6
-else
- LINUX_CLIB_IPV6=
-endif
-
-TARGET_CFLAGS += -I$(STAGING_DIR)/usr/include/tirpc
-TARGET_LDFLAGS += -ltirpc
-
-define Build/Configure
- $(SED) 's/rpc\/rpc/\/tirpc\/rpc\/rpc/g' $(PKG_BUILD_DIR)/Configure
- cd $(PKG_BUILD_DIR); \
- LINUX_CLIB="-DGLIBCV=2 $(LINUX_CLIB_IPV6)" \
- LSOF_CC="$(TARGET_CC)" \
- LSOF_VSTR="$(LINUX_VERSION)" \
- LSOF_CFGF="$(TARGET_CFLAGS)" \
- LSOF_CFGL="$(TARGET_LDFLAGS)" \
- LSOF_AR="$(TARGET_CROSS)ar cr" \
- LSOF_RANLIB="$(TARGET_CROSS)ranlib" \
- LSOF_INCLUDE="$(STAGING_DIR)/usr/include" \
- ./Configure -n linux
-endef
-
-define Build/Compile
- LSOF_HOST="none" \
- LSOF_LOGNAME="none" \
- LSOF_SYSINFO="none" \
- LSOF_USER="none" \
- $(MAKE) -C $(PKG_BUILD_DIR)
-endef
+CONFIGURE_ARGS += --without-selinux
define Package/lsof/install
$(INSTALL_DIR) $(1)/usr/bin
--- /dev/null
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -208,13 +208,8 @@ EXTRA_DIST += 00.README.FIRST 00CREDITS
+ # Testing
+ EXTRA_DIST += tests/00README tests/TestDB tests/CkTestDB tests/Makefile tests/LsofTest.h check.bash
+
+-# Manpages
+-lsof.man: Lsof.8 version 00DIALECTS
+- soelim < Lsof.8 > $@
+-man8_MANS = lsof.man
+-EXTRA_DIST += Lsof.8
+ # Fix distcheck error
+ clean-local:
+ rm -rf lsof.man
+ distclean-local:
+- rm -rf lockf_owner.h lockf.h
+\ No newline at end of file
++ rm -rf lockf_owner.h lockf.h
+++ /dev/null
---- a/lib/Makefile.skel
-+++ b/lib/Makefile.skel
-@@ -21,8 +21,8 @@ OBJ= ckkv.o cvfs.o dvch.o fino.o isfn.o
- all: ${LIB}
-
- ${LIB}: ${OBJ}
-- ${AR}
-- ${RANLIB}
-+ ${AR} ${LIB} ${OBJ}
-+ ${RANLIB} ${LIB}
-
- clean: FRC
- rm -f ${LIB} ${OBJ} errs Makefile.bak a.out core
+++ /dev/null
---- a/print.c
-+++ b/print.c
-@@ -160,6 +160,7 @@ endnm(sz)
- static void
- fill_portmap()
- {
-+#if !defined __UCLIBC__ || (defined __UCLIBC__ && defined __UCLIBC_HAS_RPC__)
- char buf[128], *cp, *nm;
- CLIENT *c;
- int h, port, pr;
-@@ -278,6 +279,7 @@ fill_portmap()
- Pth[pr][h] = pt;
- }
- clnt_destroy(c);
-+#endif
- }
- #endif /* !defined(HASNORPC_H) */
-
+++ /dev/null
---- a/Configure
-+++ b/Configure
-@@ -2991,7 +2991,7 @@ return(0); }
- LSOF_TMP1=1
- fi # }
- fi # }
-- if test $LSOF_TMP1 -eq 1 # {
-+ if test 0 -eq 1 # {
- then
- LSOF_CFGF="$LSOF_CFGF -DHASSELINUX"
- LSOF_CFGL="$LSOF_CFGL -lselinux"
+++ /dev/null
---- a/Configure
-+++ b/Configure
-@@ -2850,6 +2850,9 @@ LOCKF_OWNER4
- if test "X$LSOF_CC" = "X" # {
- then
- LSOF_CC=cc
-+ fi # }
-+ if test "X$LSOF_CCV" = "X" # {
-+ then
- LSOF_CCV=`$LSOF_CC -v 2>&1 | sed -n 's/.*version \(.*\)/\1/p'`
- fi # }
- if test "X$LINUX_CONF_CC" = "X" # {
--- /dev/null
+#
+# Copyright (C) 2023 TDT AG <development@tdt.de>
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See https://www.gnu.org/licenses/gpl-2.0.txt for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=swanmon
+PKG_VERSION:=0.1
+PKG_RELEASE:=1
+
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_URL:=https://github.com/TDT-AG/swanmon
+PKG_SOURCE_VERSION:=296096e172005cae855c316f859265aba8b2e472
+PKG_MIRROR_HASH:=96b9c988cae8e2c34dc8b483e32b3c619fd3a027be33ece80c93972ab437e10a
+
+PKG_MAINTAINER:=Lukas Voegl <lvoegl@tdt.de>
+PKG_LICENSE:=LGPL-2.1-or-later
+PKG_LICENSE_FILES:=LICENSE
+
+PKG_BUILD_PARALLEL:=1
+
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/cmake.mk
+
+define Package/swanmon
+ SECTION:=utils
+ CATEGORY:=Utilities
+ TITLE:=strongSwan monitoring tool
+ DEPENDS:=+davici +glib2 +libjson-c
+endef
+
+define Package/swanmon/description
+ A command-line utility for serializing the strongSwan VICI output to JSON.
+endef
+
+define Package/swanmon/install
+ $(INSTALL_DIR) $(1)/usr/sbin
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/swanmon $(1)/usr/sbin/
+endef
+
+$(eval $(call BuildPackage,swanmon))
--- /dev/null
+#!/bin/sh
+
+swanmon help
PKG_NAME:=syncthing
PKG_VERSION:=1.24.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE:=syncthing-source-v$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://github.com/syncthing/syncthing/releases/download/v$(PKG_VERSION)
local option="$1"
local value="$2"
case $option in
- enabled|macprocs|nice|user|logfile)
+ enabled|gui_address|home|logfile|macprocs|nice|user)
eval $option=$value
;;
debug)
include $(TOPDIR)/rules.mk
PKG_NAME:=yq
-PKG_VERSION:=4.40.4
+PKG_VERSION:=4.40.5
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/mikefarah/yq/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=ac89c7e33ad6c62985d9c695251f66143562be10a07a2b70d14334aa3b94f764
+PKG_HASH:=6ab08e0332697cf6a95383a38fd70c5162d00c0e28ea4b2311e9646b664aabe3
PKG_MAINTAINER:=Tianling Shen <cnsztl@immortalwrt.org>
PKG_LICENSE:=MIT