From d42a6758b945a5397ecf8e3df52d4a4e24c2f739 Mon Sep 17 00:00:00 2001 From: Martin Schiller Date: Thu, 14 Sep 2023 09:48:00 +0200 Subject: [PATCH 01/21] ovpn-dco: fix package dependencies We have to add an "IPV6:" in front of the kmod-udptunnel6 to fix redundant dependencies with the openvpn-* packages. Signed-off-by: Martin Schiller --- kernel/ovpn-dco/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/ovpn-dco/Makefile b/kernel/ovpn-dco/Makefile index 53ab890ae..892f3a601 100644 --- a/kernel/ovpn-dco/Makefile +++ b/kernel/ovpn-dco/Makefile @@ -25,7 +25,7 @@ include $(INCLUDE_DIR)/package.mk define KernelPackage/ovpn-dco-v2 SUBMENU:=Network Support TITLE:=OpenVPN data channel offload - DEPENDS:=+kmod-crypto-aead +kmod-udptunnel4 +kmod-udptunnel6 + DEPENDS:=+kmod-crypto-aead +kmod-udptunnel4 +IPV6:kmod-udptunnel6 FILES:=$(PKG_BUILD_DIR)/drivers/net/ovpn-dco/ovpn-dco-v2.ko AUTOLOAD:=$(call AutoLoad,30,ovpn-dco-v2) endef From 07c0a5eab8fe073fabcba999e6176fec93bd696b Mon Sep 17 00:00:00 2001 From: Josef Schlehofer Date: Fri, 15 Sep 2023 10:11:51 +0200 Subject: [PATCH 02/21] curl: update to version 8.3.0 Release notes: https://curl.se/changes.html#8_3_0 Fixes: CVE-2023-38039 [1] [1] https://curl.se/docs/CVE-2023-38039.html Signed-off-by: Josef Schlehofer --- net/curl/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net/curl/Makefile b/net/curl/Makefile index d2ad55905..b1d69930a 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.2.1 +PKG_VERSION:=8.3.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:=dd322f6bd0a20e6cebdfd388f69e98c3d183bed792cf4713c8a7ef498cba4894 +PKG_HASH:=376d627767d6c4f05105ab6d497b0d9aba7111770dd9d995225478209c37ea63 PKG_LICENSE:=MIT PKG_LICENSE_FILES:=COPYING From bb4c3b5a20807e6fdf23e0c66a6d13a6e368db92 Mon Sep 17 00:00:00 2001 From: Josef Schlehofer Date: Sun, 3 Sep 2023 13:08:25 +0200 Subject: [PATCH 03/21] bandwidthd: drop this package This package is not maintained by upstream anymore as they replace it by Ntopng 3. [1] Upstream repository is archived and read only since February 2022 [2] [1] https://community.nethserver.org/t/bandwidthd-for-nethserver-7/4071/18 [2] https://github.com/NethServer/bandwidthd Signed-off-by: Josef Schlehofer --- utils/bandwidthd/Makefile | 225 --------- .../bandwidthd/files/bandwidthd-pgsql.config | 13 - utils/bandwidthd/files/bandwidthd-php.config | 7 - utils/bandwidthd/files/bandwidthd-php.init | 75 --- .../bandwidthd/files/bandwidthd-sqlite.config | 13 - utils/bandwidthd/files/bandwidthd-sqlite.init | 133 ----- utils/bandwidthd/files/bandwidthd.config | 11 - utils/bandwidthd/files/bandwidthd.init | 106 ---- utils/bandwidthd/files/logo-openwrt.gif | Bin 9431 -> 0 bytes .../files/phphtdocs-sqlite/details.php | 104 ---- .../files/phphtdocs-sqlite/footer.php | 3 - .../files/phphtdocs-sqlite/graph.php | 455 ------------------ .../files/phphtdocs-sqlite/include.php | 69 --- .../files/phphtdocs-sqlite/index.php | 190 -------- utils/bandwidthd/files/phphtdocs/details.php | 102 ---- utils/bandwidthd/files/phphtdocs/footer.php | 3 - utils/bandwidthd/files/phphtdocs/graph.php | 454 ----------------- utils/bandwidthd/files/phphtdocs/include.php | 54 --- utils/bandwidthd/files/phphtdocs/index.php | 197 -------- ...010-dont-add-host-paths-in-config.in.patch | 24 - .../patches/020-change-p2p-to-smtp.patch | 20 - utils/bandwidthd/patches/030-gcc10.patch | 20 - .../bandwidthd/patches/040-64bit-time-t.patch | 114 ----- 23 files changed, 2392 deletions(-) delete mode 100644 utils/bandwidthd/Makefile delete mode 100644 utils/bandwidthd/files/bandwidthd-pgsql.config delete mode 100644 utils/bandwidthd/files/bandwidthd-php.config delete mode 100755 utils/bandwidthd/files/bandwidthd-php.init delete mode 100644 utils/bandwidthd/files/bandwidthd-sqlite.config delete mode 100755 utils/bandwidthd/files/bandwidthd-sqlite.init delete mode 100644 utils/bandwidthd/files/bandwidthd.config delete mode 100755 utils/bandwidthd/files/bandwidthd.init delete mode 100644 utils/bandwidthd/files/logo-openwrt.gif delete mode 100644 utils/bandwidthd/files/phphtdocs-sqlite/details.php delete mode 100644 utils/bandwidthd/files/phphtdocs-sqlite/footer.php delete mode 100644 utils/bandwidthd/files/phphtdocs-sqlite/graph.php delete mode 100644 utils/bandwidthd/files/phphtdocs-sqlite/include.php delete mode 100644 utils/bandwidthd/files/phphtdocs-sqlite/index.php delete mode 100644 utils/bandwidthd/files/phphtdocs/details.php delete mode 100644 utils/bandwidthd/files/phphtdocs/footer.php delete mode 100644 utils/bandwidthd/files/phphtdocs/graph.php delete mode 100644 utils/bandwidthd/files/phphtdocs/include.php delete mode 100644 utils/bandwidthd/files/phphtdocs/index.php delete mode 100644 utils/bandwidthd/patches/010-dont-add-host-paths-in-config.in.patch delete mode 100644 utils/bandwidthd/patches/020-change-p2p-to-smtp.patch delete mode 100644 utils/bandwidthd/patches/030-gcc10.patch delete mode 100644 utils/bandwidthd/patches/040-64bit-time-t.patch diff --git a/utils/bandwidthd/Makefile b/utils/bandwidthd/Makefile deleted file mode 100644 index d0bb13000..000000000 --- a/utils/bandwidthd/Makefile +++ /dev/null @@ -1,225 +0,0 @@ -# -# Copyright (C) 2006-2020 OpenWrt.org -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# - -include $(TOPDIR)/rules.mk - -PKG_NAME:=bandwidthd -PKG_VERSION:=2.0.1-35 -PKG_RELEASE:=7 - -PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz -PKG_SOURCE_URL:=https://codeload.github.com/NethServer/bandwidthd/tar.gz/$(PKG_VERSION)? -PKG_HASH:=75f526d9e81c5a543accbb9e197b6b582c293aa20d6cdfc8be5cef43046981c5 - -PKG_MAINTAINER:=Jean-Michel Lacroix -PKG_LICENSE:=GPL-2.0-or-later - -PKG_FIXUP:=autoreconf -PKG_BUILD_PARALLEL:=0 - -include $(INCLUDE_DIR)/package.mk - -define Package/bandwidthd/Default - SECTION:=utils - CATEGORY:=Utilities - TITLE:=Bandwidthd - URL:=http://bandwidthd.sourceforge.net/ -endef - -define Package/bandwidthd -$(call Package/bandwidthd/Default) - TITLE += (without database) - VARIANT:=no-db - DEPENDS:=+libgd +libpcap -endef - -define Package/bandwidthd-pgsql -$(call Package/bandwidthd/Default) - TITLE += (with postgresql enabled) - VARIANT:=pgsql - DEPENDS:=+libgd +libpcap +libpq -endef - -define Package/bandwidthd-sqlite -$(call Package/bandwidthd/Default) - TITLE += (with sqlite enabled) - VARIANT:=sqlite - DEPENDS:=+libgd +libpcap +libsqlite3 +php8 +php8-cgi +php8-mod-gd +php8-mod-pdo +php8-mod-pdo-sqlite -endef - -define Package/bandwidthd-php -$(call Package/bandwidthd/Default) - TITLE = PHP files to graph bandwidthd data from postgresql - VARIANT:=php - DEPENDS:=+libpcre +libxml2 +php8 +php8-cgi +php8-mod-pgsql +php8-mod-gd -endef - -define Package/bandwidthd/description - A bandwidthd tracking utility. -endef - -define Package/bandwidthd-pgsql/description -$(call Package/bandwidthd/description) -With the ability to store in a postgresql database. -endef - -define Package/bandwidthd-sqlite/description -$(call Package/bandwidthd/description) -With the ability to store in a sqlite database. -endef - -define Package/bandwidthd-php/description - PHP files to graph bandwidthd data from pgsql. -endef - -define Package/bandwidthd/daemon - This package contains bandwidthd, a bandwidth tracking utility. -endef - -define Package/bandwidthd-pgsql/daemon - This package contains bandwidthd, a bandwidth tracking utility. -endef - -define Package/bandwidthd-sqlite/daemon - This package contains bandwidthd, a bandwidth tracking utility. -endef - -define Package/bandwidthd-php/daemon - This package contains the PHP files to graph the data from a pgsql database. -endef - -ifeq ($(BUILD_VARIANT),no-db) -CONFIGURE_ARGS += \ - ac_cv_file__sw_lib=no \ - ac_cv_file__sw_include=no \ - ac_cv_file__usr_pkg_lib=no \ - ac_cv_file__usr_pkg_include=no \ - ac_cv_file__usr_local_pgsql_lib=no \ - ac_cv_file__usr_local_pgsql_include=no \ - ac_cv_lib_pq_PQconnectdb=no \ - ac_cv_lib_sqlite3_sqlite3_open=no -endif - -ifeq ($(BUILD_VARIANT),pgsql) -CONFIGURE_ARGS += \ - ac_cv_file__sw_lib=no \ - ac_cv_file__sw_include=no \ - ac_cv_file__usr_pkg_lib=no \ - ac_cv_file__usr_pkg_include=no \ - ac_cv_file__usr_local_pgsql_lib=no \ - ac_cv_file__usr_local_pgsql_include=no \ - ac_cv_lib_sqlite3_sqlite3_open=no -endif - -ifeq ($(BUILD_VARIANT),sqlite) -CONFIGURE_ARGS += \ - ac_cv_file__sw_lib=no \ - ac_cv_file__sw_include=no \ - ac_cv_file__usr_pkg_lib=no \ - ac_cv_file__usr_pkg_include=no \ - ac_cv_file__usr_local_pgsql_lib=no \ - ac_cv_file__usr_local_pgsql_include=no \ - ac_cv_lib_pq_PQconnectdb=no -endif - -ifeq ($(BUILD_VARIANT),php) -CONFIGURE_ARGS += \ - ac_cv_file__sw_lib=no \ - ac_cv_file__sw_include=no \ - ac_cv_file__usr_pkg_lib=no \ - ac_cv_file__usr_pkg_include=no \ - ac_cv_file__usr_local_pgsql_lib=no \ - ac_cv_file__usr_local_pgsql_include=no \ - ac_cv_lib_pq_PQconnectdb=no \ - ac_cv_lib_sqlite3_sqlite3_open=no -endif - -EXTRA_CFLAGS+= $(TARGET_CPPFLAGS) -fgnu89-inline -EXTRA_LDFLAGS+= $(TARGET_LDFLAGS) - -define Package/bandwidthd/install - $(INSTALL_DIR) $(1)/usr/sbin - $(INSTALL_BIN) $(PKG_BUILD_DIR)/bandwidthd $(1)/usr/sbin/ - $(INSTALL_DIR) $(1)/etc/config - $(INSTALL_DATA) ./files/bandwidthd.config $(1)/etc/config/bandwidthd - $(INSTALL_DIR) $(1)/etc/init.d - $(INSTALL_BIN) ./files/bandwidthd.init $(1)/etc/init.d/bandwidthd - $(INSTALL_DIR) $(1)/www - $(INSTALL_DATA) $(PKG_BUILD_DIR)/phphtdocs/legend.gif $(1)/www/ - $(INSTALL_DATA) ./files/logo-openwrt.gif $(1)/www/logo.gif -endef - -define Package/bandwidthd-pgsql/install - $(INSTALL_DIR) $(1)/usr/sbin - $(INSTALL_BIN) $(PKG_BUILD_DIR)/bandwidthd $(1)/usr/sbin/ - $(INSTALL_DIR) $(1)/etc/config - $(INSTALL_DATA) ./files/bandwidthd-pgsql.config $(1)/etc/config/bandwidthd - $(INSTALL_DIR) $(1)/etc/init.d - $(INSTALL_BIN) ./files/bandwidthd.init $(1)/etc/init.d/bandwidthd - $(INSTALL_DIR) $(1)/www - $(INSTALL_DATA) $(PKG_BUILD_DIR)/phphtdocs/legend.gif $(1)/www/ - $(INSTALL_DATA) ./files/logo-openwrt.gif $(1)/www/logo.gif - $(INSTALL_DIR) $(1)/usr/share/postgresql - $(INSTALL_BIN) $(PKG_BUILD_DIR)/phphtdocs/bd_pgsql_purge.sh $(1)/usr/share/postgresql -endef - -define Package/bandwidthd-sqlite/install - $(INSTALL_DIR) $(1)/usr/sbin - $(INSTALL_BIN) $(PKG_BUILD_DIR)/bandwidthd $(1)/usr/sbin/ - $(INSTALL_DIR) $(1)/etc/config - $(INSTALL_DATA) ./files/bandwidthd-sqlite.config $(1)/etc/config/bandwidthd - $(INSTALL_DIR) $(1)/etc/init.d - $(INSTALL_BIN) ./files/bandwidthd-sqlite.init $(1)/etc/init.d/bandwidthd - $(INSTALL_DIR) $(1)/www/phphtdocs - $(INSTALL_DATA) $(PKG_BUILD_DIR)/phphtdocs/legend.gif $(1)/www/phphtdocs/ - $(INSTALL_DATA) ./files/phphtdocs-sqlite/details.php $(1)/www/phphtdocs/ - $(INSTALL_DATA) ./files/phphtdocs-sqlite/footer.php $(1)/www/phphtdocs/ - $(INSTALL_DATA) ./files/phphtdocs-sqlite/graph.php $(1)/www/phphtdocs/ - $(INSTALL_DATA) ./files/phphtdocs-sqlite/include.php $(1)/www/phphtdocs/ - $(INSTALL_DATA) ./files/phphtdocs-sqlite/index.php $(1)/www/phphtdocs/ - $(INSTALL_DATA) ./files/logo-openwrt.gif $(1)/www/phphtdocs/logo.gif - ln -s /var/etc/bandwidthd-php.conf $(1)/www/phphtdocs/config.conf.php - $(INSTALL_DATA) $(PKG_BUILD_DIR)/phphtdocs/legend.gif $(1)/www/ - $(INSTALL_DATA) ./files/logo-openwrt.gif $(1)/www/logo.gif -endef - -define Package/bandwidthd-php/install - $(INSTALL_DIR) $(1)/www/phphtdocs - $(INSTALL_DATA) $(PKG_BUILD_DIR)/phphtdocs/legend.gif $(1)/www/phphtdocs/ - $(INSTALL_DATA) ./files/phphtdocs/details.php $(1)/www/phphtdocs/ - $(INSTALL_DATA) ./files/phphtdocs/footer.php $(1)/www/phphtdocs/ - $(INSTALL_DATA) ./files/phphtdocs/graph.php $(1)/www/phphtdocs/ - $(INSTALL_DATA) ./files/phphtdocs/include.php $(1)/www/phphtdocs/ - $(INSTALL_DATA) ./files/phphtdocs/index.php $(1)/www/phphtdocs/ - $(INSTALL_DATA) ./files/logo-openwrt.gif $(1)/www/phphtdocs/logo.gif - ln -s /var/etc/bandwidthd-php.conf $(1)/www/phphtdocs/config.conf - $(INSTALL_DIR) $(1)//etc/config - $(INSTALL_CONF) ./files/bandwidthd-php.config $(1)/etc/config/bandwidthd-php - $(INSTALL_DIR) $(1)/etc/init.d - $(INSTALL_BIN) ./files/bandwidthd-php.init $(1)/etc/init.d/bandwidthd-php -endef - -define Package/bandwidthd/conffiles -/etc/config/bandwidthd -endef - -define Package/bandwidthd-pgsql/conffiles -/etc/config/bandwidthd -endef - -define Package/bandwidthd-sqlite/conffiles -/etc/config/bandwidthd -endef - -define Package/bandwidthd-php/conffiles -/etc/config/bandwidthd-php -endef - -$(eval $(call BuildPackage,bandwidthd)) -$(eval $(call BuildPackage,bandwidthd-pgsql)) -$(eval $(call BuildPackage,bandwidthd-sqlite)) -$(eval $(call BuildPackage,bandwidthd-php)) diff --git a/utils/bandwidthd/files/bandwidthd-pgsql.config b/utils/bandwidthd/files/bandwidthd-pgsql.config deleted file mode 100644 index f94c737a5..000000000 --- a/utils/bandwidthd/files/bandwidthd-pgsql.config +++ /dev/null @@ -1,13 +0,0 @@ -config bandwidthd - option dev br-lan - option subnets "192.168.1.0/24" - option skip_intervals 0 - option graph_cutoff 1024 - option promiscuous true - option output_cdf false - option recover_cdf false - option filter ip - option graph true - option meta_refresh 150 - option pgsql_connect_string "user = postgres dbname = bandwidthd host = 192.168.1.1" - option sensor_id "openwrt" diff --git a/utils/bandwidthd/files/bandwidthd-php.config b/utils/bandwidthd/files/bandwidthd-php.config deleted file mode 100644 index 3bad49446..000000000 --- a/utils/bandwidthd/files/bandwidthd-php.config +++ /dev/null @@ -1,7 +0,0 @@ -config bandwidthd-php - option dflt_width '900' - option dflt_height '256' - option dflt_interval 'INT_DAILY' - option host '127.0.0.1' - option user 'postgres' - option dbname 'bandwidthd' diff --git a/utils/bandwidthd/files/bandwidthd-php.init b/utils/bandwidthd/files/bandwidthd-php.init deleted file mode 100755 index b7b6434f0..000000000 --- a/utils/bandwidthd/files/bandwidthd-php.init +++ /dev/null @@ -1,75 +0,0 @@ -#!/bin/sh /etc/rc.common -# Copyright (C) 2006-2017 OpenWrt.org - -START=99 - -USE_PROCD=1 - -CONFIGNAME="bandwidthd-php" -CONFIGFILE="/var/etc/bandwidthd-php.conf" - -config_cb() { - local cfg_type="$1" - local cfg_name="$2" - case "$cfg_type" in - $CONFIGNAME) - append cfgs "$cfg_name" - ;; - esac -} - -export_number() { - local option="$1" - local section="$2" - local _loctmp - paramstr="" - config_get _loctmp "$section" "$option" - if [ -n "$_loctmp" ]; then - paramstr="${_loctmp}" - fi -} - -export_string() { - local option="$1" - local section="$2" - local _loctmp - paramstr="" - config_get _loctmp "$section" "$option" - if [ -n "$_loctmp" ]; then - paramstr="${_loctmp}" - fi -} - -service_triggers() -{ - procd_add_reload_trigger $CONFIGNAME -} - - -start_service() { - local conffile="" - [ -n "$conffile" ] && echo -e "$conffile" >>$CONFIGFILE - done -} diff --git a/utils/bandwidthd/files/bandwidthd-sqlite.config b/utils/bandwidthd/files/bandwidthd-sqlite.config deleted file mode 100644 index bc4154af2..000000000 --- a/utils/bandwidthd/files/bandwidthd-sqlite.config +++ /dev/null @@ -1,13 +0,0 @@ -config bandwidthd - option dev br-lan - option subnets "192.168.1.0/24" - option skip_intervals 0 - option graph_cutoff 1024 - option promiscuous true - option output_cdf false - option recover_cdf false - option filter ip - option graph true - option meta_refresh 150 - option sqlite_filename "/www/bandwidthd/stats.db" - option sensor_id "default" diff --git a/utils/bandwidthd/files/bandwidthd-sqlite.init b/utils/bandwidthd/files/bandwidthd-sqlite.init deleted file mode 100755 index c456974ab..000000000 --- a/utils/bandwidthd/files/bandwidthd-sqlite.init +++ /dev/null @@ -1,133 +0,0 @@ -#!/bin/sh /etc/rc.common -# Copyright (C) 2008-2017 OpenWrt.org - -START=99 - -USE_PROCD=1 - -CONFIGNAME="bandwidthd" -CONFIGPHPNAME="bandwidthd-php" -CONFIGFILE="/tmp/etc/bandwidthd.conf" -CONFIGPHPFILE="/tmp/etc/bandwidthd-php.conf" - -config_cb() { - local cfg_type="$1" - local cfg_name="$2" - - case "$cfg_type" in - bandwidthd) - append cfgs "$cfg_name" - ;; - esac -} - -export_bool() { - local option="$1" - local section="$2" - local _loctmp - config_get_bool _loctmp "$section" "$option" - if [ -n "$_loctmp" ]; then - conffile="${conffile}$option " - if [ 1 -eq "$_loctmp" ]; then - conffile="${conffile}true" - else - conffile="${conffile}false" - fi - conffile="${conffile}\n" - fi -} - -export_number() { - local option="$1" - local section="$2" - local _loctmp - config_get _loctmp "$section" "$option" - if [ -n "$_loctmp" ]; then - conffile="${conffile}$option ${_loctmp}\n" - fi -} - -export_string() { - local option="$1" - local section="$2" - local _loctmp - config_get _loctmp "$section" "$option" - if [ -n "$_loctmp" ]; then - conffile="${conffile}$option \"${_loctmp}\"\n" - fi -} - -set_conf_file() { - local subnet conffile="# auto-generated config file from /etc/config/${CONFIGNAME}\n" - - [ -d /tmp/bandwidthd ] || mkdir -p /tmp/bandwidthd && cp /www/legend.gif /www/logo.gif /tmp/bandwidthd/ - [ -e /htdocs ] || ln -s /tmp/bandwidthd /htdocs - [ -e /www/bandwidthd ] || ln -s /tmp/bandwidthd /www/bandwidthd - rm -f $CONFIGFILE - touch $CONFIGFILE - [ -e /etc/bandwidthd.conf ] || ln -s $CONFIGFILE /etc/bandwidthd.conf - - config_load $CONFIGNAME - for cfg in $cfgs; do - config_get subnets $cfg subnets - for subnet in $subnets; do - conffile="${conffile}subnet ${subnet}\n" - done - export_string dev $cfg - export_number skip_intervals $cfg - export_number graph_cutoff $cfg - export_bool promiscuous $cfg - export_bool output_cdf $cfg - export_bool recover_cdf $cfg - export_string filter $cfg - export_bool graph $cfg - export_number meta_refresh $cfg - export_string pgsql_connect_string $cfg - export_string sqlite_filename $cfg - export_string sensor_id $cfg - [ -n "$conffile" ] && echo -e "$conffile" >>$CONFIGFILE - unset conffile - done - cd / -} - -set_php_conf_file() { - local subnet conffile="" - [ -n "$conffile" ] && echo -e "$conffile" >>$CONFIGPHPFILE - done - cd / -} - -service_triggers() { - procd_add_reload_trigger $CONFIGNAME - procd_add_reload_trigger $CONFIGPHPNAME -} - -start_service() { - set_conf_file - set_php_conf_file - procd_open_instance - procd_set_param command /usr/sbin/bandwidthd - procd_close_instance -} - -stop_service() { - service_stop /usr/sbin/bandwidthd -} diff --git a/utils/bandwidthd/files/bandwidthd.config b/utils/bandwidthd/files/bandwidthd.config deleted file mode 100644 index ac1669ef4..000000000 --- a/utils/bandwidthd/files/bandwidthd.config +++ /dev/null @@ -1,11 +0,0 @@ -config bandwidthd - option dev br-lan - option subnets "192.168.1.0/24" - option skip_intervals 0 - option graph_cutoff 1024 - option promiscuous true - option output_cdf false - option recover_cdf false - option filter ip - option graph true - option meta_refresh 150 diff --git a/utils/bandwidthd/files/bandwidthd.init b/utils/bandwidthd/files/bandwidthd.init deleted file mode 100755 index ac9d01dc4..000000000 --- a/utils/bandwidthd/files/bandwidthd.init +++ /dev/null @@ -1,106 +0,0 @@ -#!/bin/sh /etc/rc.common -# Copyright (C) 2008-2017 OpenWrt.org - -START=99 - -USE_PROCD=1 - -CONFIGNAME="bandwidthd" -CONFIGFILE="/tmp/etc/bandwidthd.conf" - -config_cb() { - local cfg_type="$1" - local cfg_name="$2" - - case "$cfg_type" in - bandwidthd) - append cfgs "$cfg_name" - ;; - esac -} - -export_bool() { - local option="$1" - local section="$2" - local _loctmp - config_get_bool _loctmp "$section" "$option" - if [ -n "$_loctmp" ]; then - conffile="${conffile}$option " - if [ 1 -eq "$_loctmp" ]; then - conffile="${conffile}true" - else - conffile="${conffile}false" - fi - conffile="${conffile}\n" - fi -} - -export_number() { - local option="$1" - local section="$2" - local _loctmp - config_get _loctmp "$section" "$option" - if [ -n "$_loctmp" ]; then - conffile="${conffile}$option ${_loctmp}\n" - fi -} - -export_string() { - local option="$1" - local section="$2" - local _loctmp - config_get _loctmp "$section" "$option" - if [ -n "$_loctmp" ]; then - conffile="${conffile}$option \"${_loctmp}\"\n" - fi -} - -set_conf_file() { - local subnet conffile - - [ -d /tmp/bandwidthd ] || mkdir -p /tmp/bandwidthd && cp /www/legend.gif /www/logo.gif /tmp/bandwidthd/ - [ -e /htdocs ] || ln -s /tmp/bandwidthd /htdocs - [ -e /www/bandwidthd ] || ln -s /tmp/bandwidthd /www/bandwidthd - rm -f $CONFIGFILE - touch $CONFIGFILE - [ -e /etc/bandwidthd.conf ] || ln -s $CONFIGFILE /etc/bandwidthd.conf - - config_load $CONFIGNAME - for cfg in $cfgs; do - config_get subnets $cfg subnets - for subnet in $subnets; do - conffile="${conffile}subnet ${subnet}\n" - done - export_string dev $cfg - export_number skip_intervals $cfg - export_number graph_cutoff $cfg - export_bool promiscuous $cfg - export_bool output_cdf $cfg - export_bool recover_cdf $cfg - export_string filter $cfg - export_bool graph $cfg - export_number meta_refresh $cfg - export_string pgsql_connect_string $cfg - export_string sqlite_filename $cfg - export_string sensor_id $cfg - [ -n "$conffile" ] && echo -e "$conffile" >>$CONFIGFILE - unset conffile - done - cd / -} - -service_triggers() -{ - procd_add_reload_trigger $CONFIGNAME -} - -start_service() { - set_conf_file - procd_open_instance - procd_set_param command /usr/sbin/bandwidthd - procd_close_instance -} - -stop_service() { - service_stop /usr/sbin/bandwidthd -} diff --git a/utils/bandwidthd/files/logo-openwrt.gif b/utils/bandwidthd/files/logo-openwrt.gif deleted file mode 100644 index 2ffec5605b72c48f49d8ee3dc069e80baccd6aa7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9431 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 - -
- -Please provide a sensor_name"; - exit(1); - } - -if (isset($_GET['ip'])) - $ip = $_GET['ip']; -else - { - echo "
Please provide an ip address"; - exit(1); - } - -echo "

"; -if (strpos($ip, "/") === FALSE) - echo "$ip - ".gethostbyaddr($ip)."

"; -else - echo "Total - $ip"; - -$db = ConnectDb(); - -if ($ip == "0.0.0.0/0") - { - $rxtable = "bd_rx_total_log"; - $txtable = "bd_tx_total_log"; - } -else - { - $rxtable = "bd_rx_log"; - $txtable = "bd_tx_log"; - } - -$sql = "select rx.scale as rxscale, tx.scale as txscale, tx.total+rx.total as total, tx.total as sent, -rx.total as received, tx.tcp+rx.tcp as tcp, tx.udp+rx.udp as udp, -tx.icmp+rx.icmp as icmp, tx.http+rx.http as http, -tx.p2p+rx.p2p as p2p, tx.ftp+rx.ftp as ftp -from - -(SELECT ip, max(total/sample_duration)*8 as scale, sum(total) as total, sum(tcp) as tcp, sum(udp) as udp, sum(icmp) as icmp, -sum(http) as http, sum(p2p) as p2p, sum(ftp) as ftp -from sensors, $txtable -where sensor_name = '$sensor_name' -and sensors.sensor_id = ".$txtable.".sensor_id -$sql_subnet -group by ip) as tx, - -(SELECT ip, max(total/sample_duration)*8 as scale, sum(total) as total, sum(tcp) as tcp, sum(udp) as udp, sum(icmp) as icmp, -sum(http) as http, sum(p2p) as p2p, sum(ftp) as ftp -from sensors, $rxtable -where sensor_name = '$sensor_name' -and sensors.sensor_id = ".$rxtable.".sensor_id -$sql_subnet -group by ip) as rx - -where tx.ip = rx.ip;"; -//error_log($sql); printf('
%s
', $sql); -$db = ConnectDb(); -$result = $db->query($sql); -echo "
IpNameTotalSentReceivedtcpudpicmphttpsmtpftp"; -$r = $result->fetch(); -$db = NULL; -echo "
"; -if (strpos($ip, "/") === FALSE) - echo "$ip".gethostbyaddr($ip); -else - echo "Total$ip"; -echo fmtb($r['total']).fmtb($r['sent']).fmtb($r['received']). - fmtb($r['tcp']).fmtb($r['udp']).fmtb($r['icmp']).fmtb($r['http']). - fmtb($r['p2p']).fmtb($r['ftp']); -echo "
"; - -echo "

Daily

"; -echo "Send:

"; -echo "
"; -echo "Receive:

"; -echo "
"; - -echo "

Weekly

"; -echo "Send:

"; -echo "
"; -echo "Receive:

"; -echo "
"; - -echo "

Monthly

"; -echo "Send:

"; -echo "
"; -echo "Receive:

"; -echo "
"; - -echo "

Yearly

"; -echo "Send:

"; -echo "
"; -echo "Receive:

"; -echo "
"; diff --git a/utils/bandwidthd/files/phphtdocs-sqlite/footer.php b/utils/bandwidthd/files/phphtdocs-sqlite/footer.php deleted file mode 100644 index b3428250d..000000000 --- a/utils/bandwidthd/files/phphtdocs-sqlite/footer.php +++ /dev/null @@ -1,3 +0,0 @@ - diff --git a/utils/bandwidthd/files/phphtdocs-sqlite/graph.php b/utils/bandwidthd/files/phphtdocs-sqlite/graph.php deleted file mode 100644 index 82df317fb..000000000 --- a/utils/bandwidthd/files/phphtdocs-sqlite/graph.php +++ /dev/null @@ -1,455 +0,0 @@ - $number) - { - $total[$key] /= $number; - $icmp[$key] /= $number; - $udp[$key] /= $number; - $tcp[$key] /= $number; - $ftp[$key] /= $number; - $http[$key] /= $number; - $p2p[$key] /= $number; - } - - foreach ($Count as $key => $number) - { - $a_total[$key] += $total[$key]; - $a_icmp[$key] += $icmp[$key]; - $a_udp[$key] += $udp[$key]; - $a_tcp[$key] += $tcp[$key]; - $a_ftp[$key] += $ftp[$key]; - $a_http[$key] += $http[$key]; - $a_p2p[$key] += $p2p[$key]; - - if ($a_total[$key] > $YMax) - $YMax = $a_total[$key]; - } - - unset($GLOBALS['total'], $GLOBALS['icmp'], $GLOBALS['udp'], $GLOBALS['tcp'], $GLOBALS['ftp'], $GLOBALS['http'], $GLOBALS['p2p'], $GLOBALS['Count']); - - $total = array(); - $icmp = array(); - $udp = array(); - $tcp = array(); - $ftp = array(); - $http = array(); - $p2p = array(); - $Count = array(); - } - -$db = ConnectDb(); - -// Get parameters - -if (isset($_GET['width'])) - $width = $_GET['width']; -else - $width = DFLT_WIDTH; - -if (isset($_GET['height'])) - $height = $_GET['height']; -else - $height = DFLT_HEIGHT; - -if (isset($_GET['interval'])) - $interval = $_GET['interval']; -else - $interval = DFLT_INTERVAL; - -if (isset($_GET['ip'])) - $ip = $_GET['ip']; -else - exit(1); - -if (isset($_GET['sensor_name'])) - $sensor_name = $_GET['sensor_name']; -else - exit(1); - -if (isset($_GET['timestamp'])) - $timestamp = $_GET['timestamp']; -else - $timestamp = time() - $interval + (0.05*$interval); - -if (isset($_GET['table'])) - $table = $_GET['table']; -else - $table = "bd_rx_log"; - -if (isset($_GET['yscale'])) - $yscale = $_GET['yscale']; - -$total = array(); -$icmp = array(); -$udp = array(); -$tcp = array(); -$ftp = array(); -$http = array(); -$p2p = array(); -$Count = array(); - -// Accumulator -$a_total = array(); -$a_icmp = array(); -$a_udp = array(); -$a_tcp = array(); -$a_ftp = array(); -$a_http = array(); -$a_p2p = array(); - -$sql_subnet = prepare_sql_subnet($ip); -$sql = "select *, timestamp as ts from sensors, $table where sensors.sensor_id = ".$table.".sensor_id $sql_subnet and sensor_name = '$sensor_name' and timestamp > $timestamp and timestamp < ".($timestamp+$interval)." order by ip;"; -//error_log($sql); -$result = $db->query($sql); - -// The SQL statement pulls the data out of the database ordered by IP address, that way we can average each -// datapoint for each IP address to provide smoothing and then toss the smoothed value into the accumulator -// to provide accurate total traffic rate. - -while ($row = $result->fetch()) - { - if ($row['ip'] != $last_ip) - { - AverageAndAccumulate(); - $last_ip = $row['ip']; - } - - $x = ($row['ts']-$timestamp)*(($width-XOFFSET)/$interval)+XOFFSET; - $xint = (int) $x; - - //echo "xint: ".$xint."
"; - $Count[$xint]++; - - if ($row['total']/$row['sample_duration'] > $SentPeak) - $SentPeak = $row['total']/$row['sample_duration']; - $TotalSent += $row['total']; - $total[$xint] += $row['total']/$row['sample_duration']; - $icmp[$xint] += $row['icmp']/$row['sample_duration']; - $udp[$xint] += $row['udp']/$row['sample_duration']; - $tcp[$xint] += $row['tcp']/$row['sample_duration']; - $ftp[$xint] += $row['ftp']/$row['sample_duration']; - $http[$xint] += $row['http']/$row['sample_duration']; - $p2p[$xint] += $row['p2p']/$row['sample_duration']; - } - -// One more time for the last IP -AverageAndAccumulate(); - -// Pull the data out of Accumulator -$total = $a_total; -$icmp = $a_icmp; -$udp = $a_udp; -$tcp = $a_tcp; -$ftp = $a_ftp; -$http = $a_http; -$p2p = $a_p2p; - -$YMax += $YMax*0.05; // Add an extra 5% - -// if a y scale was specified override YMax -if (isset($yscale)&& $yscale > 0) - $YMax = $yscale/8; - -// Plot the data - -header("Content-type: image/png"); - -$im = imagecreate($width, $height); -$white = imagecolorallocate($im, 255, 255, 255); -$purple = ImageColorAllocate($im, 255, 0, 255); -$green = ImageColorAllocate($im, 0, 255, 0); -$blue = ImageColorAllocate($im, 0, 0, 255); -$lblue = ImageColorAllocate($im, 128, 128, 255); -$brown = ImageColorAllocate($im, 128, 0, 0); -$red = ImageColorAllocate($im, 255, 0, 0); -$black = ImageColorAllocate($im, 0, 0, 0); - -for($Counter=XOFFSET+1; $Counter < $width; $Counter++) - { - if (isset($total[$Counter])) - { - // Convert the bytes/sec to y coords - $total[$Counter] = ($total[$Counter]*($height-YOFFSET))/$YMax; - $tcp[$Counter] = ($tcp[$Counter]*($height-YOFFSET))/$YMax; - $ftp[$Counter] = ($ftp[$Counter]*($height-YOFFSET))/$YMax; - $http[$Counter] = ($http[$Counter]*($height-YOFFSET))/$YMax; - $p2p[$Counter] = ($p2p[$Counter]*($height-YOFFSET))/$YMax; - $udp[$Counter] = ($udp[$Counter]*($height-YOFFSET))/$YMax; - $icmp[$Counter] = ($icmp[$Counter]*($height-YOFFSET))/$YMax; - - // Stack 'em up! - // Total is stacked from the bottom - // Icmp is on the bottom too - // Udp is stacked on top of icmp - $udp[$Counter] += $icmp[$Counter]; - // TCP and p2p are stacked on top of Udp - $tcp[$Counter] += $udp[$Counter]; - $p2p[$Counter] += $udp[$Counter]; - // Http is stacked on top of p2p - $http[$Counter] += $p2p[$Counter]; - // Ftp is stacked on top of http - $ftp[$Counter] += $http[$Counter]; - - // Plot them! - //echo "$Counter:".$Counter." (h-y)-t:".($height-YOFFSET) - $total[$Counter]." h-YO-1:".$height-YOFFSET-1; - ImageLine($im, $Counter, ($height-YOFFSET) - $icmp[$Counter], $Counter, $height-YOFFSET-1, $red); - ImageLine($im, $Counter, ($height-YOFFSET) - $udp[$Counter], $Counter, ($height-YOFFSET) - $icmp[$Counter] - 1, $brown); - ImageLine($im, $Counter, ($height-YOFFSET) - $tcp[$Counter], $Counter, ($height-YOFFSET) - $udp[$Counter] - 1, $green); - ImageLine($im, $Counter, ($height-YOFFSET) - $p2p[$Counter], $Counter, ($height-YOFFSET) - $udp[$Counter] - 1, $purple); - ImageLine($im, $Counter, ($height-YOFFSET) - $http[$Counter], $Counter, ($height-YOFFSET) - $p2p[$Counter] - 1, $blue); - ImageLine($im, $Counter, ($height-YOFFSET) - $ftp[$Counter], $Counter, ($height-YOFFSET) - $http[$Counter] - 1, $lblue); - } -// else -// echo $Counter." not set
"; - } - -// Margin Text -if ($SentPeak < 1024/8) - $txtPeakSendRate = sprintf("Peak Send Rate: %.1f KBits/sec", $SentPeak*8); -else if ($SentPeak < (1024*1024)/8) - $txtPeakSendRate = sprintf("Peak Send Rate: %.1f MBits/sec", ($SentPeak*8.0)/1024.0); -else - $txtPeakSendRate = sprintf("Peak Send Rate: %.1f GBits/sec", ($SentPeak*8.0)/(1024.0*1024.0)); - -if ($TotalSent < 1024) - $txtTotalSent = sprintf("Sent %.1f KBytes", $TotalSent); -else if ($TotalSent < 1024*1024) - $txtTotalSent = sprintf("Sent %.1f MBytes", $TotalSent/1024.0); -else - $txtTotalSent = sprintf("Sent %.1f GBytes", $TotalSent/(1024.0*1024.0)); - -ImageString($im, 2, XOFFSET+5, $height-20, $txtTotalSent, $black); -ImageString($im, 2, $width/2+XOFFSET/2, $height-20, $txtPeakSendRate, $black); - -// Draw X Axis - -ImageLine($im, 0, $height-YOFFSET, $width, $height-YOFFSET, $black); - -// Day/Month Seperator bars - -if ((24*60*60*($width-XOFFSET))/$interval > ($width-XOFFSET)/10) - { - $ts = getdate($timestamp); - $MarkTime = mktime(0, 0, 0, $ts['mon'], $ts['mday'], $ts['year']); - - $x = ts2x($MarkTime); - while ($x < XOFFSET) - { - $MarkTime += (24*60*60); - $x = ts2x($MarkTime); - } - - while ($x < ($width-10)) - { - // Day Lines - ImageLine($im, $x, 0, $x, $height-YOFFSET, $black); - ImageLine($im, $x+1, 0, $x+1, $height-YOFFSET, $black); - - $txtDate = strftime("%a, %b %d", $MarkTime); - ImageString($im, 2, $x-30, $height-YOFFSET+10, $txtDate, $black); - - // Calculate Next x - $MarkTime += (24*60*60); - $x = ts2x($MarkTime); - } - } -else if ((24*60*60*30*($width-XOFFSET))/$interval > ($width-XOFFSET)/10) - { - // Monthly Bars - $ts = getdate($timestamp); - $month = $ts['mon']; - $MarkTime = mktime(0, 0, 0, $month, 1, $ts['year']); - - $x = ts2x($MarkTime); - while ($x < XOFFSET) - { - $month++; - $MarkTime = mktime(0, 0, 0, $month, 1, $ts['year']); - $x = ts2x($MarkTime); - } - - while ($x < ($width-10)) - { - // Day Lines - ImageLine($im, $x, 0, $x, $height-YOFFSET, $black); - ImageLine($im, $x+1, 0, $x+1, $height-YOFFSET, $black); - - $txtDate = strftime("%b, %Y", $MarkTime); - ImageString($im, 2, $x-25, $height-YOFFSET+10, $txtDate, $black); - - // Calculate Next x - $month++; - $MarkTime = mktime(0, 0, 0, $month, 1, $ts['year']); - $x = ts2x($MarkTime); - } - } -else - { - // Year Bars - $ts = getdate($timestamp); - $year = $ts['year']; - $MarkTime = mktime(0, 0, 0, 1, 1, $year); - - $x = ts2x($MarkTime); - while ($x < XOFFSET) - { - $year++; - $MarkTime = mktime(0, 0, 0, 1, 1, $year); - $x = ts2x($MarkTime); - } - - while ($x < ($width-10)) - { - // Day Lines - ImageLine($im, $x, 0, $x, $height-YOFFSET, $black); - ImageLine($im, $x+1, 0, $x+1, $height-YOFFSET, $black); - - $txtDate = strftime("%b, %Y", $MarkTime); - ImageString($im, 2, $x-25, $height-YOFFSET+10, $txtDate, $black); - - // Calculate Next x - $year++; - $MarkTime = mktime(0, 0, 0, 1, 1, $year); - $x = ts2x($MarkTime); - } - } - -// Draw Major Tick Marks -if ((6*60*60*($width-XOFFSET))/$interval > 10) // pixels per 6 hours is more than 2 - $MarkTimeStep = 6*60*60; // Major ticks are 6 hours -else if ((24*60*60*($width-XOFFSET))/$interval > 10) - $MarkTimeStep = 24*60*60; // Major ticks are 24 hours; -else if ((24*60*60*30*($width-XOFFSET))/$interval > 10) - { - // Major tick marks are months - $MarkTimeStep = 0; // Skip the standard way of drawing major tick marks below - - $ts = getdate($timestamp); - $month = $ts['mon']; - $MarkTime = mktime(0, 0, 0, $month, 1, $ts['year']); - - $x = ts2x($MarkTime); - while ($x < XOFFSET) - { - $month++; - $MarkTime = mktime(0, 0, 0, $month, 1, $ts['year']); - $x = ts2x($MarkTime); - } - - while ($x < ($width-10)) - { - // Day Lines - $date = getdate($MarkTime); - if ($date['mon'] != 1) - { - ImageLine($im, $x, $height-YOFFSET-5, $x, $height-YOFFSET+5, $black); - $txtDate = strftime("%b", $MarkTime); - ImageString($im, 2, $x-5, $height-YOFFSET+10, $txtDate, $black); - } - - // Calculate Next x - $month++; - $MarkTime = mktime(0, 0, 0, $month, 1, $ts['year']); - $x = ts2x($MarkTime); - } - } -else - $MarkTimeStep = 0; // Skip Major Tick Marks - -if ($MarkTimeStep) - { - $ts = getdate($timestamp); - $MarkTime = mktime(0, 0, 0, $ts['mon'], $ts['mday'], $ts['year']); - $x = ts2x($MarkTime); - - while ($x < ($width-10)) - { - if ($x > XOFFSET) - { - ImageLine($im, $x, $height-YOFFSET-5, $x, $height-YOFFSET+5, $black); - } - $MarkTime += $MarkTimeStep; - $x = ts2x($MarkTime); - } - } - -// Draw Minor Tick marks -if ((60*60*($width-XOFFSET))/$interval > 4) // pixels per hour is more than 2 - $MarkTimeStep = 60*60; // Minor ticks are 1 hour -else if ((6*60*60*($width-XOFFSET))/$interval > 4) - $MarkTimeStep = 6*60*60; // Minor ticks are 6 hours -else if ((24*60*60*($width-XOFFSET))/$interval > 4) - $MarkTimeStep = 24*60*60; -else - $MarkTimeStep = 0; // Skip minor tick marks - -if ($MarkTimeStep) - { - $ts = getdate($timestamp); - $MarkTime = mktime(0, 0, 0, $ts['mon'], $ts['mday'], $ts['year']); - $x = ts2x($MarkTime); - - while ($x < ($width-10)) - { - if ($x > XOFFSET) - { - ImageLine($im, $x, $height-YOFFSET, $x, $height-YOFFSET+5, $black); - } - $MarkTime += $MarkTimeStep; - $x = ts2x($MarkTime); - } - } - -// Draw Y Axis -ImageLine($im, XOFFSET, 0, XOFFSET, $height, $black); - -$YLegend = 'k'; -$Divisor = 1; -if ($YMax*8 > 1024*2) - { - $Divisor = 1024; // Display in m - $YLegend = 'm'; - } - -if ($YMax*8 > 1024*1024*2) - { - $Divisor = 1024*1024; // Display in g - $YLegend = 'g'; - } - -if ($YMax*8 > 1024*1024*1024*2) - { - $Divisor = 1024*1024*1024; // Display in t - $YLegend = 't'; - } - -$YStep = $YMax/10; -if ($YStep < 1) - $YStep=1; -$YTic=$YStep; - -while ($YTic <= ($YMax - $YMax/10)) - { - $y = ($height-YOFFSET)-(($YTic*($height-YOFFSET))/$YMax); - ImageLine($im, XOFFSET, $y, $width, $y, $black); - $txtYLegend = sprintf("%4.1f %sbits/s", (8.0*$YTic)/$Divisor, $YLegend); - ImageString($im, 2, 3, $y-7, $txtYLegend, $black); - $YTic += $YStep; - } - -imagepng($im); -imagedestroy($im); diff --git a/utils/bandwidthd/files/phphtdocs-sqlite/include.php b/utils/bandwidthd/files/phphtdocs-sqlite/include.php deleted file mode 100644 index 51950980d..000000000 --- a/utils/bandwidthd/files/phphtdocs-sqlite/include.php +++ /dev/null @@ -1,69 +0,0 @@ -getMessage()); - } - return $db; -} - -function fmtb($kbytes) - { - $Max = 1024; - $Output = $kbytes; - $Suffix = 'K'; - - if ($Output > $Max) - { - $Output /= 1024; - $Suffix = 'M'; - } - - if ($Output > $Max) - { - $Output /= 1024; - $Suffix = 'G'; - } - - if ($Output > $Max) - { - $Output /= 1024; - $Suffix = 'T'; - } - - return(sprintf("%.1f%s", $Output, $Suffix)); - } - -function ip2s32($ip) { - $i = ip2long($ip); - return ($i & 0x80000000 ? '-' . ((~$i & 0x7fffffff)+1) : ''. ($i & 0x7fffffff)); -} - -function prepare_sql_subnet($subnet) { - list($snet, $smask) = explode('/', $subnet); - $inet = ip2s32($snet); - if($smask > 0 && $smask < 32) { - $mask = -1 << (32 - (int)$smask); - return "and (ip & $mask = $inet)"; - } elseif ($inet) { - return "and ip = " . $inet; - } - return ""; -} - -$starttime = time(); -set_time_limit(300); -?> diff --git a/utils/bandwidthd/files/phphtdocs-sqlite/index.php b/utils/bandwidthd/files/phphtdocs-sqlite/index.php deleted file mode 100644 index c8b8598d1..000000000 --- a/utils/bandwidthd/files/phphtdocs-sqlite/index.php +++ /dev/null @@ -1,190 +0,0 @@ - - -
- - -
- - -
- - - -Subnet Filter:"> - -
-
-Top $limit - $sensor_name"; -else - echo "

All Records - $sensor_name

"; - -// Sqlize the incomming variables -if (isset($subnet)) { - $sql_subnet = prepare_sql_subnet($subnet); -} - -// Sql Statement -$sql = "select tx.ip, rx.scale as rxscale, tx.scale as txscale, tx.total+rx.total as total, tx.total as sent, -rx.total as received, tx.tcp+rx.tcp as tcp, tx.udp+rx.udp as udp, -tx.icmp+rx.icmp as icmp, tx.http+rx.http as http, -tx.p2p+rx.p2p as p2p, tx.ftp+rx.ftp as ftp -from - -(SELECT ip, max(total/sample_duration)*8 as scale, sum(total) as total, sum(tcp) as tcp, sum(udp) as udp, sum(icmp) as icmp, -sum(http) as http, sum(p2p) as p2p, sum(ftp) as ftp -from sensors, bd_tx_log -where sensor_name = '$sensor_name' -and sensors.sensor_id = bd_tx_log.sensor_id -$sql_subnet -and timestamp > $timestamp and timestamp < ".($timestamp+$interval)." -group by ip) as tx, - -(SELECT ip, max(total/sample_duration)*8 as scale, sum(total) as total, sum(tcp) as tcp, sum(udp) as udp, sum(icmp) as icmp, -sum(http) as http, sum(p2p) as p2p, sum(ftp) as ftp -from sensors, bd_rx_log -where sensor_name = '$sensor_name' -and sensors.sensor_id = bd_rx_log.sensor_id -$sql_subnet -and timestamp > $timestamp and timestamp < ".($timestamp+$interval)." -group by ip) as rx - -where tx.ip = rx.ip -order by total desc;"; - -//echo "
$sql
"; error_log($sql); -$pdoResult = $db->query($sql); -$result = $pdoResult->fetchAll(); -$db = NULL; -$num_rows = count($result); -if ($limit == "all") - $limit = $num_rows; - -echo "
IpNameTotalSentReceivedtcpudpicmphttpsmtpftp"; - -if (!isset($subnet)) // Set this now for total graphs - $subnet = "0.0.0.0/0"; - -// Output Total Line -echo "
Total$subnet"; -foreach (array("total", "sent", "received", "tcp", "udp", "icmp", "http", "p2p", "ftp") as $key) - { - for($Counter=0, $Total = 0; $Counter < $num_rows; $Counter++) - { - $r = $result[$Counter]; - $Total += $r[$key]; - } - echo fmtb($Total); - } -echo "\n"; - -// Output Other Lines -for($Counter=0; $Counter < $num_rows && $Counter < $limit; $Counter++) - { - $r = $result[$Counter]; - $r['ip'] = long2ip($r['ip']); - echo "
"; - echo $r['ip']."".gethostbyaddr($r['ip']); - echo ""; - echo fmtb($r['total']).fmtb($r['sent']).fmtb($r['received']). - fmtb($r['tcp']).fmtb($r['udp']).fmtb($r['icmp']).fmtb($r['http']). - fmtb($r['p2p']).fmtb($r['ftp'])."\n"; - } -echo "
"; - -// Output Total Graph -for($Counter=0, $Total = 0; $Counter < $num_rows; $Counter++) - { - $r = $result[$Counter]; - $scale = max($r['txscale'], $scale); - $scale = max($r['rxscale'], $scale); - } - -if ($subnet == "0.0.0.0/0") - $total_table = "bd_tx_total_log"; -else - $total_table = "bd_tx_log"; -echo "

"; -echo "Total - Total of $subnet

"; -echo ""; -echo "Send:

"; -echo "
\n"; -if ($subnet == "0.0.0.0/0") - $total_table = "bd_rx_total_log"; -else - $total_table = "bd_rx_log"; -echo "Receive:

"; -echo "
\n"; - - -// Output Other Graphs -for($Counter=0; $Counter < $num_rows && $Counter < $limit; $Counter++) - { - $r = $result[$Counter]; - $r['ip'] = long2ip($r['ip']); - echo "

"; - if ($r['ip'] == "0.0.0.0") - echo "Total - Total of all subnets

"; - else - echo $r['ip']." - ".gethostbyaddr($r['ip']).""; - echo ""; - echo "Send:

"; - echo "
\n"; - echo "Receive:

"; - echo "
\n"; - } - -include('footer.php'); diff --git a/utils/bandwidthd/files/phphtdocs/details.php b/utils/bandwidthd/files/phphtdocs/details.php deleted file mode 100644 index cb52f4327..000000000 --- a/utils/bandwidthd/files/phphtdocs/details.php +++ /dev/null @@ -1,102 +0,0 @@ - - -
- -Please provide a sensor_name"; - exit(1); - } - -if (isset($_GET['ip'])) - $ip = $_GET['ip']; -else - { - echo "
Please provide an ip address"; - exit(1); - } - -echo "

"; -if (strpos($ip, "/") === FALSE) - echo "$ip - ".gethostbyaddr($ip)."

"; -else - echo "Total - $ip"; - -$db = ConnectDb(); - -if ($ip == "0.0.0.0/0") - { - $rxtable = "bd_rx_total_log"; - $txtable = "bd_tx_total_log"; - } -else - { - $rxtable = "bd_rx_log"; - $txtable = "bd_tx_log"; - } - -$sql = "select rx.scale as rxscale, tx.scale as txscale, tx.total+rx.total as total, tx.total as sent, -rx.total as received, tx.tcp+rx.tcp as tcp, tx.udp+rx.udp as udp, -tx.icmp+rx.icmp as icmp, tx.http+rx.http as http, -tx.p2p+rx.p2p as p2p, tx.ftp+rx.ftp as ftp -from - -(SELECT ip, max(total/sample_duration)*8 as scale, sum(total) as total, sum(tcp) as tcp, sum(udp) as udp, sum(icmp) as icmp, -sum(http) as http, sum(p2p) as p2p, sum(ftp) as ftp -from sensors, $txtable -where sensor_name = '$sensor_name' -and sensors.sensor_id = ".$txtable.".sensor_id -and ip <<= '$ip' -group by ip) as tx, - -(SELECT ip, max(total/sample_duration)*8 as scale, sum(total) as total, sum(tcp) as tcp, sum(udp) as udp, sum(icmp) as icmp, -sum(http) as http, sum(p2p) as p2p, sum(ftp) as ftp -from sensors, $rxtable -where sensor_name = '$sensor_name' -and sensors.sensor_id = ".$rxtable.".sensor_id -and ip <<= '$ip' -group by ip) as rx - -where tx.ip = rx.ip;"; -//echo "
$sql
";exit(0); -$result = pg_query($sql); -echo "
IpNameTotalSentReceivedtcpudpicmphttpsmtpftp"; -$r = pg_fetch_array($result); -echo "
"; -if (strpos($ip, "/") === FALSE) - echo "$ip".gethostbyaddr($ip); -else - echo "Total$ip"; -echo fmtb($r['total']).fmtb($r['sent']).fmtb($r['received']). - fmtb($r['tcp']).fmtb($r['udp']).fmtb($r['icmp']).fmtb($r['http']). - fmtb($r['p2p']).fmtb($r['ftp']); -echo "
"; - -echo "

Daily

"; -echo "Send:

"; -echo "
"; -echo "Receive:

"; -echo "
"; - -echo "

Weekly

"; -echo "Send:

"; -echo "
"; -echo "Receive:

"; -echo "
"; - -echo "

Monthly

"; -echo "Send:

"; -echo "
"; -echo "Receive:

"; -echo "
"; - -echo "

Yearly

"; -echo "Send:

"; -echo "
"; -echo "Receive:

"; -echo "
"; diff --git a/utils/bandwidthd/files/phphtdocs/footer.php b/utils/bandwidthd/files/phphtdocs/footer.php deleted file mode 100644 index b3428250d..000000000 --- a/utils/bandwidthd/files/phphtdocs/footer.php +++ /dev/null @@ -1,3 +0,0 @@ - diff --git a/utils/bandwidthd/files/phphtdocs/graph.php b/utils/bandwidthd/files/phphtdocs/graph.php deleted file mode 100644 index 323d659ed..000000000 --- a/utils/bandwidthd/files/phphtdocs/graph.php +++ /dev/null @@ -1,454 +0,0 @@ - $number) - { - $total[$key] /= $number; - $icmp[$key] /= $number; - $udp[$key] /= $number; - $tcp[$key] /= $number; - $ftp[$key] /= $number; - $http[$key] /= $number; - $p2p[$key] /= $number; - } - - foreach ($Count as $key => $number) - { - $a_total[$key] += $total[$key]; - $a_icmp[$key] += $icmp[$key]; - $a_udp[$key] += $udp[$key]; - $a_tcp[$key] += $tcp[$key]; - $a_ftp[$key] += $ftp[$key]; - $a_http[$key] += $http[$key]; - $a_p2p[$key] += $p2p[$key]; - - if ($a_total[$key] > $YMax) - $YMax = $a_total[$key]; - } - - unset($GLOBALS['total'], $GLOBALS['icmp'], $GLOBALS['udp'], $GLOBALS['tcp'], $GLOBALS['ftp'], $GLOBALS['http'], $GLOBALS['p2p'], $GLOBALS['Count']); - - $total = array(); - $icmp = array(); - $udp = array(); - $tcp = array(); - $ftp = array(); - $http = array(); - $p2p = array(); - $Count = array(); - } - -$db = ConnectDb(); - -// Get parameters - -if (isset($_GET['width'])) - $width = $_GET['width']; -else - $width = DFLT_WIDTH; - -if (isset($_GET['height'])) - $height = $_GET['height']; -else - $height = DFLT_HEIGHT; - -if (isset($_GET['interval'])) - $interval = $_GET['interval']; -else - $interval = DFLT_INTERVAL; - -if (isset($_GET['ip'])) - $ip = $_GET['ip']; -else - exit(1); - -if (isset($_GET['sensor_name'])) - $sensor_name = $_GET['sensor_name']; -else - exit(1); - -if (isset($_GET['timestamp'])) - $timestamp = $_GET['timestamp']; -else - $timestamp = time() - $interval + (0.05*$interval); - -if (isset($_GET['table'])) - $table = $_GET['table']; -else - $table = "bd_rx_log"; - -if (isset($_GET['yscale'])) - $yscale = $_GET['yscale']; - -$total = array(); -$icmp = array(); -$udp = array(); -$tcp = array(); -$ftp = array(); -$http = array(); -$p2p = array(); -$Count = array(); - -// Accumulator -$a_total = array(); -$a_icmp = array(); -$a_udp = array(); -$a_tcp = array(); -$a_ftp = array(); -$a_http = array(); -$a_p2p = array(); - -$sql = "select *, extract(epoch from timestamp) as ts from sensors, $table where sensors.sensor_id = ".$table.".sensor_id and ip <<= '$ip' and sensor_name = '$sensor_name' and timestamp > $timestamp::abstime and timestamp < ".($timestamp+$interval)."::abstime order by ip;"; -//echo $sql."
"; exit(1); -$result = pg_query($sql); - -// The SQL statement pulls the data out of the database ordered by IP address, that way we can average each -// datapoint for each IP address to provide smoothing and then toss the smoothed value into the accumulator -// to provide accurate total traffic rate. - -while ($row = pg_fetch_array($result)) - { - if ($row['ip'] != $last_ip) - { - AverageAndAccumulate(); - $last_ip = $row['ip']; - } - - $x = ($row['ts']-$timestamp)*(($width-XOFFSET)/$interval)+XOFFSET; - $xint = (int) $x; - - //echo "xint: ".$xint."
"; - $Count[$xint]++; - - if ($row['total']/$row['sample_duration'] > $SentPeak) - $SentPeak = $row['total']/$row['sample_duration']; - $TotalSent += $row['total']; - $total[$xint] += $row['total']/$row['sample_duration']; - $icmp[$xint] += $row['icmp']/$row['sample_duration']; - $udp[$xint] += $row['udp']/$row['sample_duration']; - $tcp[$xint] += $row['tcp']/$row['sample_duration']; - $ftp[$xint] += $row['ftp']/$row['sample_duration']; - $http[$xint] += $row['http']/$row['sample_duration']; - $p2p[$xint] += $row['p2p']/$row['sample_duration']; - } - -// One more time for the last IP -AverageAndAccumulate(); - -// Pull the data out of Accumulator -$total = $a_total; -$icmp = $a_icmp; -$udp = $a_udp; -$tcp = $a_tcp; -$ftp = $a_ftp; -$http = $a_http; -$p2p = $a_p2p; - -$YMax += $YMax*0.05; // Add an extra 5% - -// if a y scale was specified override YMax -if (isset($yscale)) - $YMax = $yscale/8; - -// Plot the data - -header("Content-type: image/png"); - -$im = imagecreate($width, $height); -$white = imagecolorallocate($im, 255, 255, 255); -$purple = ImageColorAllocate($im, 255, 0, 255); -$green = ImageColorAllocate($im, 0, 255, 0); -$blue = ImageColorAllocate($im, 0, 0, 255); -$lblue = ImageColorAllocate($im, 128, 128, 255); -$brown = ImageColorAllocate($im, 128, 0, 0); -$red = ImageColorAllocate($im, 255, 0, 0); -$black = ImageColorAllocate($im, 0, 0, 0); - -for($Counter=XOFFSET+1; $Counter < $width; $Counter++) - { - if (isset($total[$Counter])) - { - // Convert the bytes/sec to y coords - $total[$Counter] = ($total[$Counter]*($height-YOFFSET))/$YMax; - $tcp[$Counter] = ($tcp[$Counter]*($height-YOFFSET))/$YMax; - $ftp[$Counter] = ($ftp[$Counter]*($height-YOFFSET))/$YMax; - $http[$Counter] = ($http[$Counter]*($height-YOFFSET))/$YMax; - $p2p[$Counter] = ($p2p[$Counter]*($height-YOFFSET))/$YMax; - $udp[$Counter] = ($udp[$Counter]*($height-YOFFSET))/$YMax; - $icmp[$Counter] = ($icmp[$Counter]*($height-YOFFSET))/$YMax; - - // Stack 'em up! - // Total is stacked from the bottom - // Icmp is on the bottom too - // Udp is stacked on top of icmp - $udp[$Counter] += $icmp[$Counter]; - // TCP and p2p are stacked on top of Udp - $tcp[$Counter] += $udp[$Counter]; - $p2p[$Counter] += $udp[$Counter]; - // Http is stacked on top of p2p - $http[$Counter] += $p2p[$Counter]; - // Ftp is stacked on top of http - $ftp[$Counter] += $http[$Counter]; - - // Plot them! - //echo "$Counter:".$Counter." (h-y)-t:".($height-YOFFSET) - $total[$Counter]." h-YO-1:".$height-YOFFSET-1; - ImageLine($im, $Counter, ($height-YOFFSET) - $icmp[$Counter], $Counter, $height-YOFFSET-1, $red); - ImageLine($im, $Counter, ($height-YOFFSET) - $udp[$Counter], $Counter, ($height-YOFFSET) - $icmp[$Counter] - 1, $brown); - ImageLine($im, $Counter, ($height-YOFFSET) - $tcp[$Counter], $Counter, ($height-YOFFSET) - $udp[$Counter] - 1, $green); - ImageLine($im, $Counter, ($height-YOFFSET) - $p2p[$Counter], $Counter, ($height-YOFFSET) - $udp[$Counter] - 1, $purple); - ImageLine($im, $Counter, ($height-YOFFSET) - $http[$Counter], $Counter, ($height-YOFFSET) - $p2p[$Counter] - 1, $blue); - ImageLine($im, $Counter, ($height-YOFFSET) - $ftp[$Counter], $Counter, ($height-YOFFSET) - $http[$Counter] - 1, $lblue); - } -// else -// echo $Counter." not set
"; - } - -// Margin Text -if ($SentPeak < 1024/8) - $txtPeakSendRate = sprintf("Peak Send Rate: %.1f KBits/sec", $SentPeak*8); -else if ($SentPeak < (1024*1024)/8) - $txtPeakSendRate = sprintf("Peak Send Rate: %.1f MBits/sec", ($SentPeak*8.0)/1024.0); -else - $txtPeakSendRate = sprintf("Peak Send Rate: %.1f GBits/sec", ($SentPeak*8.0)/(1024.0*1024.0)); - -if ($TotalSent < 1024) - $txtTotalSent = sprintf("Sent %.1f KBytes", $TotalSent); -else if ($TotalSent < 1024*1024) - $txtTotalSent = sprintf("Sent %.1f MBytes", $TotalSent/1024.0); -else - $txtTotalSent = sprintf("Sent %.1f GBytes", $TotalSent/(1024.0*1024.0)); - -ImageString($im, 2, XOFFSET+5, $height-20, $txtTotalSent, $black); -ImageString($im, 2, $width/2+XOFFSET/2, $height-20, $txtPeakSendRate, $black); - -// Draw X Axis - -ImageLine($im, 0, $height-YOFFSET, $width, $height-YOFFSET, $black); - -// Day/Month Seperator bars - -if ((24*60*60*($width-XOFFSET))/$interval > ($width-XOFFSET)/10) - { - $ts = getdate($timestamp); - $MarkTime = mktime(0, 0, 0, $ts['mon'], $ts['mday'], $ts['year']); - - $x = ts2x($MarkTime); - while ($x < XOFFSET) - { - $MarkTime += (24*60*60); - $x = ts2x($MarkTime); - } - - while ($x < ($width-10)) - { - // Day Lines - ImageLine($im, $x, 0, $x, $height-YOFFSET, $black); - ImageLine($im, $x+1, 0, $x+1, $height-YOFFSET, $black); - - $txtDate = strftime("%a, %b %d", $MarkTime); - ImageString($im, 2, $x-30, $height-YOFFSET+10, $txtDate, $black); - - // Calculate Next x - $MarkTime += (24*60*60); - $x = ts2x($MarkTime); - } - } -else if ((24*60*60*30*($width-XOFFSET))/$interval > ($width-XOFFSET)/10) - { - // Monthly Bars - $ts = getdate($timestamp); - $month = $ts['mon']; - $MarkTime = mktime(0, 0, 0, $month, 1, $ts['year']); - - $x = ts2x($MarkTime); - while ($x < XOFFSET) - { - $month++; - $MarkTime = mktime(0, 0, 0, $month, 1, $ts['year']); - $x = ts2x($MarkTime); - } - - while ($x < ($width-10)) - { - // Day Lines - ImageLine($im, $x, 0, $x, $height-YOFFSET, $black); - ImageLine($im, $x+1, 0, $x+1, $height-YOFFSET, $black); - - $txtDate = strftime("%b, %Y", $MarkTime); - ImageString($im, 2, $x-25, $height-YOFFSET+10, $txtDate, $black); - - // Calculate Next x - $month++; - $MarkTime = mktime(0, 0, 0, $month, 1, $ts['year']); - $x = ts2x($MarkTime); - } - } -else - { - // Year Bars - $ts = getdate($timestamp); - $year = $ts['year']; - $MarkTime = mktime(0, 0, 0, 1, 1, $year); - - $x = ts2x($MarkTime); - while ($x < XOFFSET) - { - $year++; - $MarkTime = mktime(0, 0, 0, 1, 1, $year); - $x = ts2x($MarkTime); - } - - while ($x < ($width-10)) - { - // Day Lines - ImageLine($im, $x, 0, $x, $height-YOFFSET, $black); - ImageLine($im, $x+1, 0, $x+1, $height-YOFFSET, $black); - - $txtDate = strftime("%b, %Y", $MarkTime); - ImageString($im, 2, $x-25, $height-YOFFSET+10, $txtDate, $black); - - // Calculate Next x - $year++; - $MarkTime = mktime(0, 0, 0, 1, 1, $year); - $x = ts2x($MarkTime); - } - } - -// Draw Major Tick Marks -if ((6*60*60*($width-XOFFSET))/$interval > 10) // pixels per 6 hours is more than 2 - $MarkTimeStep = 6*60*60; // Major ticks are 6 hours -else if ((24*60*60*($width-XOFFSET))/$interval > 10) - $MarkTimeStep = 24*60*60; // Major ticks are 24 hours; -else if ((24*60*60*30*($width-XOFFSET))/$interval > 10) - { - // Major tick marks are months - $MarkTimeStep = 0; // Skip the standard way of drawing major tick marks below - - $ts = getdate($timestamp); - $month = $ts['mon']; - $MarkTime = mktime(0, 0, 0, $month, 1, $ts['year']); - - $x = ts2x($MarkTime); - while ($x < XOFFSET) - { - $month++; - $MarkTime = mktime(0, 0, 0, $month, 1, $ts['year']); - $x = ts2x($MarkTime); - } - - while ($x < ($width-10)) - { - // Day Lines - $date = getdate($MarkTime); - if ($date['mon'] != 1) - { - ImageLine($im, $x, $height-YOFFSET-5, $x, $height-YOFFSET+5, $black); - $txtDate = strftime("%b", $MarkTime); - ImageString($im, 2, $x-5, $height-YOFFSET+10, $txtDate, $black); - } - - // Calculate Next x - $month++; - $MarkTime = mktime(0, 0, 0, $month, 1, $ts['year']); - $x = ts2x($MarkTime); - } - } -else - $MarkTimeStep = 0; // Skip Major Tick Marks - -if ($MarkTimeStep) - { - $ts = getdate($timestamp); - $MarkTime = mktime(0, 0, 0, $ts['mon'], $ts['mday'], $ts['year']); - $x = ts2x($MarkTime); - - while ($x < ($width-10)) - { - if ($x > XOFFSET) - { - ImageLine($im, $x, $height-YOFFSET-5, $x, $height-YOFFSET+5, $black); - } - $MarkTime += $MarkTimeStep; - $x = ts2x($MarkTime); - } - } - -// Draw Minor Tick marks -if ((60*60*($width-XOFFSET))/$interval > 4) // pixels per hour is more than 2 - $MarkTimeStep = 60*60; // Minor ticks are 1 hour -else if ((6*60*60*($width-XOFFSET))/$interval > 4) - $MarkTimeStep = 6*60*60; // Minor ticks are 6 hours -else if ((24*60*60*($width-XOFFSET))/$interval > 4) - $MarkTimeStep = 24*60*60; -else - $MarkTimeStep = 0; // Skip minor tick marks - -if ($MarkTimeStep) - { - $ts = getdate($timestamp); - $MarkTime = mktime(0, 0, 0, $ts['mon'], $ts['mday'], $ts['year']); - $x = ts2x($MarkTime); - - while ($x < ($width-10)) - { - if ($x > XOFFSET) - { - ImageLine($im, $x, $height-YOFFSET, $x, $height-YOFFSET+5, $black); - } - $MarkTime += $MarkTimeStep; - $x = ts2x($MarkTime); - } - } - -// Draw Y Axis -ImageLine($im, XOFFSET, 0, XOFFSET, $height, $black); - -$YLegend = 'k'; -$Divisor = 1; -if ($YMax*8 > 1024*2) - { - $Divisor = 1024; // Display in m - $YLegend = 'm'; - } - -if ($YMax*8 > 1024*1024*2) - { - $Divisor = 1024*1024; // Display in g - $YLegend = 'g'; - } - -if ($YMax*8 > 1024*1024*1024*2) - { - $Divisor = 1024*1024*1024; // Display in t - $YLegend = 't'; - } - -$YStep = $YMax/10; -if ($YStep < 1) - $YStep=1; -$YTic=$YStep; - -while ($YTic <= ($YMax - $YMax/10)) - { - $y = ($height-YOFFSET)-(($YTic*($height-YOFFSET))/$YMax); - ImageLine($im, XOFFSET, $y, $width, $y, $black); - $txtYLegend = sprintf("%4.1f %sbits/s", (8.0*$YTic)/$Divisor, $YLegend); - ImageString($im, 2, 3, $y-7, $txtYLegend, $black); - $YTic += $YStep; - } - -imagepng($im); -imagedestroy($im); diff --git a/utils/bandwidthd/files/phphtdocs/include.php b/utils/bandwidthd/files/phphtdocs/include.php deleted file mode 100644 index 6b435d1b9..000000000 --- a/utils/bandwidthd/files/phphtdocs/include.php +++ /dev/null @@ -1,54 +0,0 @@ - $Max) - { - $Output /= 1024; - $Suffix = 'M'; - } - - if ($Output > $Max) - { - $Output /= 1024; - $Suffix = 'G'; - } - - if ($Output > $Max) - { - $Output /= 1024; - $Suffix = 'T'; - } - - return(sprintf("%.1f%s", $Output, $Suffix)); - } - -$starttime = time(); -set_time_limit(300); -?> diff --git a/utils/bandwidthd/files/phphtdocs/index.php b/utils/bandwidthd/files/phphtdocs/index.php deleted file mode 100644 index b3602afde..000000000 --- a/utils/bandwidthd/files/phphtdocs/index.php +++ /dev/null @@ -1,197 +0,0 @@ - - -
- - -
> - - -
- - - - -Subnet Filter:"> - -
-
-Top $limit - $sensor_name"; -else - echo "

All Records - $sensor_name

"; - -// Sqlize the incomming variables -if (isset($subnet)) - $sql_subnet = "and ip <<= '$subnet'"; - -// Sql Statement -$sql = "select tx.ip, rx.scale as rxscale, tx.scale as txscale, tx.total+rx.total as total, tx.total as sent, -rx.total as received, tx.tcp+rx.tcp as tcp, tx.udp+rx.udp as udp, -tx.icmp+rx.icmp as icmp, tx.http+rx.http as http, -tx.p2p+rx.p2p as p2p, tx.ftp+rx.ftp as ftp -from - -(SELECT ip, max(total/sample_duration)*8 as scale, sum(total) as total, sum(tcp) as tcp, sum(udp) as udp, sum(icmp) as icmp, -sum(http) as http, sum(p2p) as p2p, sum(ftp) as ftp -from sensors, bd_tx_log -where sensor_name = '$sensor_name' -and sensors.sensor_id = bd_tx_log.sensor_id -$sql_subnet -and timestamp > $timestamp::abstime and timestamp < ".($timestamp+$interval)."::abstime -group by ip) as tx, - -(SELECT ip, max(total/sample_duration)*8 as scale, sum(total) as total, sum(tcp) as tcp, sum(udp) as udp, sum(icmp) as icmp, -sum(http) as http, sum(p2p) as p2p, sum(ftp) as ftp -from sensors, bd_rx_log -where sensor_name = '$sensor_name' -and sensors.sensor_id = bd_rx_log.sensor_id -$sql_subnet -and timestamp > $timestamp::abstime and timestamp < ".($timestamp+$interval)."::abstime -group by ip) as rx - -where tx.ip = rx.ip -order by total desc;"; - -//echo "
$sql
"; exit(0); -pg_query("SET sort_mem TO 30000;"); -$result = pg_query($sql); -pg_query("set sort_mem to default;"); - -if ($limit == "all") - $limit = pg_num_rows($result); - -echo "
IpNameTotalSentReceivedtcpudpicmphttpsmtpftp"; - -if (!isset($subnet)) // Set this now for total graphs - $subnet = "0.0.0.0/0"; - -// Output Total Line -echo "
Total$subnet"; -foreach (array("total", "sent", "received", "tcp", "udp", "icmp", "http", "p2p", "ftp") as $key) - { - for($Counter=0, $Total = 0; $Counter < pg_num_rows($result); $Counter++) - { - $r = pg_fetch_array($result, $Counter); - $Total += $r[$key]; - } - echo fmtb($Total); - } -echo "\n"; - -// Output Other Lines -for($Counter=0; $Counter < pg_num_rows($result) && $Counter < $limit; $Counter++) - { - $r = pg_fetch_array($result, $Counter); - echo "
"; - echo $r['ip']."".gethostbyaddr($r['ip']); - echo ""; - echo fmtb($r['total']).fmtb($r['sent']).fmtb($r['received']). - fmtb($r['tcp']).fmtb($r['udp']).fmtb($r['icmp']).fmtb($r['http']). - fmtb($r['p2p']).fmtb($r['ftp'])."\n"; - } -echo "
"; - -// Output Total Graph -for($Counter=0, $Total = 0; $Counter < pg_num_rows($result); $Counter++) - { - $r = pg_fetch_array($result, $Counter); - $scale = max($r['txscale'], $scale); - $scale = max($r['rxscale'], $scale); - } - -if ($subnet == "0.0.0.0/0") - $total_table = "bd_tx_total_log"; -else - $total_table = "bd_tx_log"; -echo "

"; -echo "Total - Total of $subnet

"; -echo ""; -echo "Send:

"; -echo "
\n"; -if ($subnet == "0.0.0.0/0") - $total_table = "bd_rx_total_log"; -else - $total_table = "bd_rx_log"; -echo "Receive:

"; -echo "
\n"; - - -// Output Other Graphs -for($Counter=0; $Counter < pg_num_rows($result) && $Counter < $limit; $Counter++) - { - $r = pg_fetch_array($result, $Counter); - echo "

"; - if ($r['ip'] == "0.0.0.0") - echo "Total - Total of all subnets

"; - else - echo $r['ip']." - ".gethostbyaddr($r['ip']).""; - echo ""; - echo "Send:

"; - echo "
\n"; - echo "Receive:

"; - echo "
\n"; - } - -include('footer.php'); diff --git a/utils/bandwidthd/patches/010-dont-add-host-paths-in-config.in.patch b/utils/bandwidthd/patches/010-dont-add-host-paths-in-config.in.patch deleted file mode 100644 index cfaba70bd..000000000 --- a/utils/bandwidthd/patches/010-dont-add-host-paths-in-config.in.patch +++ /dev/null @@ -1,24 +0,0 @@ ---- a/configure.in -+++ b/configure.in -@@ -24,11 +24,6 @@ if test -n "$x_libraries" && test "x$x_l - LDFLAGS="$LDFLAGS -L$x_libraries" - fi - --# May be equired for BSD --LDFLAGS="$LDFLAGS -L/usr/local/lib" -- --CPPFLAGS="$CPPFLAGS -I/usr/local/include" -- - #Check for Darwin sw directory - AC_CHECK_FILE(/sw/lib, LDFLAGS="$LDFLAGS -L/sw/lib") - AC_CHECK_FILE(/sw/include, CPPFLAGS="$CPPFLAGS -I/sw/include") -@@ -55,8 +50,7 @@ AC_CHECK_LIB(pcap, pcap_open_live, , - [AC_CHECK_LIB(wpcap, pcap_open_live, ,[AC_MSG_ERROR([Bandwidthd requires but cannot find libpcap])])]) - - # Optional Library --AC_CHECK_FILE(/usr/lib, LDFLAGS="$LDFLAGS -L/usr/lib") --AC_CHECK_FILE(/usr/include/pgsql, CPPFLAGS="$CPPFLAGS -I/usr/include/pgsql") -+AC_CHECK_FILE(/usr/local/pgsql/include, CPPFLAGS="$CPPFLAGS -I/usr/local/pgsql/include") - AC_CHECK_LIB(pq, PQconnectdb, - [AC_CHECK_LIB(pq,PQexecParams, ,AC_MSG_WARN([libpq exists but is too old... bandwidthd requires support for PQexecParams]))]) - AC_CHECK_LIB(sqlite3, sqlite3_open, ,AC_MSG_WARN([sqlite3 is recommended for storage of data but cannot be found])) diff --git a/utils/bandwidthd/patches/020-change-p2p-to-smtp.patch b/utils/bandwidthd/patches/020-change-p2p-to-smtp.patch deleted file mode 100644 index d0e614476..000000000 --- a/utils/bandwidthd/patches/020-change-p2p-to-smtp.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- a/graph.c -+++ b/graph.c -@@ -274,7 +274,7 @@ void MakeIndexPages(int NumIps, struct S - - // PASS 1: Write out the table - -- fprintf(file, "Ip and NameTotalTotal SentTotal ReceivedFTPHTTPP2PTCPUDPICMP\n"); -+ fprintf(file, "Ip and NameTotalTotal SentTotal ReceivedFTPHTTPSMTPTCPUDPICMP\n"); - for (Counter=0; Counter < 21 && Counter < NumIps; Counter++) - PrintTableLine(file, SummaryData[Counter], Counter); - -@@ -341,7 +341,7 @@ void MakeIndexPages(int NumIps, struct S - - // PASS 1: Write out the table - -- fprintf(file, "Ip and NameTotalTotal SentTotal ReceivedFTPHTTPP2PTCPUDPICMP\n"); -+ fprintf(file, "Ip and NameTotalTotal SentTotal ReceivedFTPHTTPSMTPTCPUDPICMP\n"); - for (tCounter=0, Counter=0; Counter < NumIps; Counter++) - { - if (SubnetTable[SubnetCounter].ip == (SummaryData[Counter]->IP & SubnetTable[SubnetCounter].mask)) diff --git a/utils/bandwidthd/patches/030-gcc10.patch b/utils/bandwidthd/patches/030-gcc10.patch deleted file mode 100644 index 04d3ce0e9..000000000 --- a/utils/bandwidthd/patches/030-gcc10.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- a/bandwidthd.h -+++ b/bandwidthd.h -@@ -120,7 +120,7 @@ struct config - char *sensor_id; - }; - --struct SubnetData -+extern struct SubnetData - { - uint32_t ip; - uint32_t mask; -@@ -139,7 +139,7 @@ struct Statistics - unsigned long long p2p; - }; - --struct IPData -+extern struct IPData - { - time_t timestamp; - uint32_t ip; // Host byte order diff --git a/utils/bandwidthd/patches/040-64bit-time-t.patch b/utils/bandwidthd/patches/040-64bit-time-t.patch deleted file mode 100644 index f0ddd586e..000000000 --- a/utils/bandwidthd/patches/040-64bit-time-t.patch +++ /dev/null @@ -1,114 +0,0 @@ ---- a/bandwidthd.c -+++ b/bandwidthd.c -@@ -103,7 +103,7 @@ void bd_CollectingData(char *filename) - } - } - --int WriteOutWebpages(long int timestamp) -+int WriteOutWebpages(time_t timestamp) - { - struct IPDataStore *DataStore = IPDataStore; - struct SummaryData **SummaryData; -@@ -893,7 +893,7 @@ void StoreIPDataInCDF(struct IPData IncD - { - IPData = &IncData[counter]; - HostIp2CharIp(IPData->ip, IPBuffer); -- fprintf(cdf, "%s,%lu,", IPBuffer, IPData->timestamp); -+ fprintf(cdf, "%s,%" PRId64 ",", IPBuffer, IPData->timestamp); - Stats = &(IPData->Send); - fprintf(cdf, "%llu,%llu,%llu,%llu,%llu,%llu,%llu,", Stats->total, Stats->icmp, Stats->udp, Stats->tcp, Stats->ftp, Stats->http, Stats->p2p); - Stats = &(IPData->Receive); -@@ -1089,7 +1089,7 @@ int RCDF_Test(char *filename) - if (fseek(cdf, -2, SEEK_CUR) == -1) - break; - } -- if(fscanf(cdf, " %15[0-9.],%lu,", ipaddrBuffer, ×tamp) != 2) -+ if(fscanf(cdf, " %15[0-9.],%" PRId64 ",", ipaddrBuffer, ×tamp) != 2) - { - syslog(LOG_ERR, "%s is corrupted, skipping", filename); - return FALSE; -@@ -1122,7 +1122,7 @@ void RCDF_PositionStream(FILE *cdf) - } - while (fgetc(cdf) != '\n' && !feof(cdf)); // Read to next line - ungetc('\n', cdf); // Just so the fscanf mask stays identical -- if(fscanf(cdf, " %15[0-9.],%lu,", ipaddrBuffer, ×tamp) != 2) -+ if(fscanf(cdf, " %15[0-9.],%" PRId64 ",", ipaddrBuffer, ×tamp) != 2) - { - syslog(LOG_ERR, "Unknown error while scanning for beginning of data...\n"); - return; -@@ -1144,7 +1144,7 @@ void RCDF_Load(FILE *cdf) - - for(Counter = 0; !feof(cdf) && !ferror(cdf); Counter++) - { -- if(fscanf(cdf, " %15[0-9.],%lu,", ipaddrBuffer, ×tamp) != 2) -+ if(fscanf(cdf, " %15[0-9.],%" PRId64 ",", ipaddrBuffer, ×tamp) != 2) - goto End_RecoverDataFromCdf; - - if (!timestamp) // First run through loop ---- a/graph.c -+++ b/graph.c -@@ -767,8 +767,8 @@ void PrepareXAxis(gdImagePtr im, time_t - int black, red; - time_t sample_begin, sample_end; - struct tm *timestruct; -- long int MarkTime; -- long int MarkTimeStep; -+ time_t MarkTime; -+ time_t MarkTimeStep; - double x; - - sample_begin=timestamp-config.range; -@@ -786,7 +786,7 @@ void PrepareXAxis(gdImagePtr im, time_t - if ((24*60*60*(XWIDTH-XOFFSET))/config.range > (XWIDTH-XOFFSET)/10) - { - // Day bars -- timestruct = localtime((time_t *)&sample_begin); -+ timestruct = localtime(&sample_begin); - timestruct->tm_sec = 0; - timestruct->tm_min = 0; - timestruct->tm_hour = 0; -@@ -805,7 +805,7 @@ void PrepareXAxis(gdImagePtr im, time_t - gdImageLine(im, x, 0, x, YHEIGHT-YOFFSET, red); - gdImageLine(im, x+1, 0, x+1, YHEIGHT-YOFFSET, red); - -- timestruct = localtime((time_t *)&MarkTime); -+ timestruct = localtime(&MarkTime); - strftime(buffer, 100, "%a, %b %d", timestruct); - gdImageString(im, gdFontSmall, x-30, YHEIGHT-YOFFSET+10, buffer, black); - -@@ -817,7 +817,7 @@ void PrepareXAxis(gdImagePtr im, time_t - else - { - // Month Bars -- timestruct = localtime((time_t *)&sample_begin); -+ timestruct = localtime(&sample_begin); - timestruct->tm_sec = 0; - timestruct->tm_min = 0; - timestruct->tm_hour = 0; -@@ -839,7 +839,7 @@ void PrepareXAxis(gdImagePtr im, time_t - gdImageLine(im, x, 0, x, YHEIGHT-YOFFSET, red); - gdImageLine(im, x+1, 0, x+1, YHEIGHT-YOFFSET, red); - -- timestruct = localtime((time_t *)&MarkTime); -+ timestruct = localtime(&MarkTime); - strftime(buffer, 100, "%b", timestruct); - gdImageString(im, gdFontSmall, x-6, YHEIGHT-YOFFSET+10, buffer, black); - -@@ -854,7 +854,7 @@ void PrepareXAxis(gdImagePtr im, time_t - // **** Write the tic marks - // ******************************************************************** - -- timestruct = localtime((time_t *)&sample_begin); -+ timestruct = localtime(&sample_begin); - timestruct->tm_sec = 0; - timestruct->tm_min = 0; - timestruct->tm_hour = 0; -@@ -884,7 +884,7 @@ void PrepareXAxis(gdImagePtr im, time_t - x = (MarkTime-sample_begin)*((XWIDTH-XOFFSET)/config.range) + XOFFSET; - } - -- timestruct = localtime((time_t *)&sample_begin); -+ timestruct = localtime(&sample_begin); - timestruct->tm_sec = 0; - timestruct->tm_min = 0; - timestruct->tm_hour = 0; From bce310bfcd41a20b85fbe85fdcdf47ab1d5032bf Mon Sep 17 00:00:00 2001 From: Stan Grishin Date: Sat, 16 Sep 2023 13:11:58 +0000 Subject: [PATCH 04/21] adblock-fast: bugfix: remove domains on allow * fix sed command to properly remove allowed domains from block-file Signed-off-by: Stan Grishin --- net/adblock-fast/Makefile | 2 +- net/adblock-fast/files/etc/init.d/adblock-fast | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/net/adblock-fast/Makefile b/net/adblock-fast/Makefile index 422b95c1e..317a3d1aa 100644 --- a/net/adblock-fast/Makefile +++ b/net/adblock-fast/Makefile @@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=adblock-fast PKG_VERSION:=1.0.0 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_MAINTAINER:=Stan Grishin PKG_LICENSE:=GPL-3.0-or-later diff --git a/net/adblock-fast/files/etc/init.d/adblock-fast b/net/adblock-fast/files/etc/init.d/adblock-fast index f7fb5b3d2..2a75e6938 100755 --- a/net/adblock-fast/files/etc/init.d/adblock-fast +++ b/net/adblock-fast/files/etc/init.d/adblock-fast @@ -1124,7 +1124,7 @@ adb_allow() { for c in $string; do output 2 " $c " hf="$(echo "$c" | sed 's/\./\\./g')" - if sed -i "/(^|\.)${hf}$/d;" "$outputFile" && \ + if sed -i "/\(^\|\.\)${hf}$/d;" "$outputFile" && \ uci_add_list_if_new "${packageName}" 'config' 'allowed_domain' "$c"; then output_ok else From 3d88d18ee2918840b9b05fb27e50587fc9f62b64 Mon Sep 17 00:00:00 2001 From: Oskari Rauta Date: Sat, 16 Sep 2023 10:36:37 +0300 Subject: [PATCH 05/21] conmon: update to 2.1.8 Bug fixes: - stdio: ignore EIO for terminals - ensure console socket buffers are properly sized - conmon: drop return after pexit() - ctrl: make accept4 failures fatal - logging: avoid opening /dev/null for each write - oom: restore old OOM score - Use default umask 0022 Misc changes: - cli: log parsing errors to stderr - Changes to build conmon for riscv64 - Changes to build conmon for ppc64le - Fix close_other_fds on FreeBSD Signed-off-by: Oskari Rauta --- utils/conmon/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/utils/conmon/Makefile b/utils/conmon/Makefile index 48a149a48..1694843ee 100644 --- a/utils/conmon/Makefile +++ b/utils/conmon/Makefile @@ -1,12 +1,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=conmon -PKG_VERSION:=2.1.7 +PKG_VERSION:=2.1.8 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://github.com/containers/$(PKG_NAME)/archive/v$(PKG_VERSION) -PKG_HASH:=7d0f9a2f7cb8a76c51990128ac837aaf0cc89950b6ef9972e94417aa9cf901fe +PKG_HASH:=e72c090210a03ca3b43a0fad53f15bca90bbee65105c412468009cf3a5988325 PKG_MAINTAINER:=Oskari Rauta PKG_LICENSE:=Apache-2.0 From 7728e1eb396c38ed97e7edf390529c89f69e898b Mon Sep 17 00:00:00 2001 From: Oskari Rauta Date: Sat, 16 Sep 2023 10:48:46 +0300 Subject: [PATCH 06/21] crun: update to 1.9 Changes: - support arbitrary idmapped mounts. Now it is possible to specify a mapping for any type of mount, not only bind mounts. - add support for "ridmap" mount option to support recursive idmapped mounts. - fix check for oom_score_adj. Write the oom_score_adj file even when the new value is 0. - features: Support mountExtensions. - correctly handle unknown signal string when it doesn't start with a digit. - do not attempt to join again already joined namespace. - wasmer: use latest wasix API. - refresh libocispec Signed-off-by: Oskari Rauta --- utils/crun/Makefile | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/utils/crun/Makefile b/utils/crun/Makefile index d97edb1f2..6a29b1799 100644 --- a/utils/crun/Makefile +++ b/utils/crun/Makefile @@ -1,12 +1,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=crun -PKG_VERSION:=1.8.5 +PKG_VERSION:=1.9 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/containers/crun/tar.gz/$(PKG_VERSION)? -PKG_HASH:=14e3d4b35767e02f2da97342e703a284738f2f0f86b4dbfb467f2b8b294ef391 +PKG_HASH:=dfe15045953f6876fde273518ac2cafbabda7c0eebd3dcdba34c4e5dc8b46661 PKG_BUILD_DEPENDS:=argp-standalone PKG_BUILD_PARALLEL:=1 @@ -31,13 +31,13 @@ define Package/crun/description A fast and low-memory footprint OCI Container Runtime fully written in C. endef -LIBOCISPEC_COMMIT:=19c05670c37a42c217caa7b141bcaada7867cc15 +LIBOCISPEC_COMMIT:=3d168261f250477061fe0eb3648bf998c70c6519 define Download/libocispec PROTO:=git URL:=https://github.com/containers/libocispec.git VERSION:=$(LIBOCISPEC_COMMIT) - MIRROR_HASH:=eacd0096e4acdcdb7f5062897e336934844b45d3b1d8a306801eb39ea9fae5c0 + MIRROR_HASH:=4e308ff6a40e38aee184abef9156fa92b1ea9f978e277be2ed7b12f9e06f717f FILE:=libocispec-$(LIBOCISPEC_COMMIT).tar.xz SUBDIR:=libocispec endef @@ -53,7 +53,7 @@ CONFIGURE_ARGS+= \ define Build/Prepare $(call Build/Prepare/Default) - $(SED) '/#include /d' $(PKG_BUILD_DIR)/src/crun.c + $(SED) '/#include /d' $(PKG_BUILD_DIR)/src/{crun.c,libcrun/container.c} xzcat $(DL_DIR)/libocispec-$(LIBOCISPEC_COMMIT).tar.xz | $(HOST_TAR) -C $(PKG_BUILD_DIR) $(TAR_OPTIONS) endef From 56930920a441cf8a2ef40371e76d1786b49997fc Mon Sep 17 00:00:00 2001 From: Oskari Rauta Date: Sat, 16 Sep 2023 11:05:42 +0300 Subject: [PATCH 07/21] podman: update to 4.6.2 patch refreshed. Changelog: - Fixed a performance issue when calculating diff sizes in overlay. The podman system df command should see a significant performance improvement. - Fixed a bug where containers in a pod would use the pod restart policy over the set container restart policy. - Fixed a bug in the Compat Build endpoint where the pull query parameter did not parse 0/1 as a boolean. - Updated the containers/storage library to v1.48.1 Signed-off-by: Oskari Rauta --- utils/podman/Makefile | 5 +++-- utils/podman/patches/010-do-not-build-docs.patch | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/utils/podman/Makefile b/utils/podman/Makefile index c221ad71f..015ee46f9 100644 --- a/utils/podman/Makefile +++ b/utils/podman/Makefile @@ -1,12 +1,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=podman -PKG_VERSION:=4.5.1 +PKG_VERSION:=4.6.2 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://github.com/containers/podman/archive/v$(PKG_VERSION) -PKG_HASH:=ee2c8b02b7fe301057f0382637b995a9c6c74e8d530692d6918e4c509ade6e39 +PKG_HASH:=2d8e04f0c3819c3f0ed1ca5d01da87e6d911571b96ae690448f7f75df41f2ad1 PKG_LICENSE:=Apache-2.0 PKG_LICENSE_FILES:=LICENSE @@ -115,6 +115,7 @@ define Package/podman/install $(INSTALL_DIR) $(1)/usr/bin $(1)/usr/lib/podman $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/{podman,podman-remote} $(1)/usr/bin/ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/podman/{rootlessport,quadlet} $(1)/usr/lib/podman/ + $(LN) podman $(1)/usr/bin/podmansh $(INSTALL_DIR) $(1)/etc/containers $(INSTALL_DATA) $(DL_DIR)/default-policy.json-362f70b056 $(1)/etc/containers/policy.json $(INSTALL_DATA) $(DL_DIR)/registries.fedora-da9a9c8778 $(1)/etc/containers/registries.conf diff --git a/utils/podman/patches/010-do-not-build-docs.patch b/utils/podman/patches/010-do-not-build-docs.patch index e67810052..a56e35384 100644 --- a/utils/podman/patches/010-do-not-build-docs.patch +++ b/utils/podman/patches/010-do-not-build-docs.patch @@ -1,6 +1,6 @@ --- a/Makefile +++ b/Makefile -@@ -209,7 +209,7 @@ GV_SHA=aab0ac9367fc5142f5857c36ac2352bcb +@@ -211,7 +211,7 @@ GV_SHA=407efb5dcdb0f4445935f7360535800b6 default: all .PHONY: all @@ -9,7 +9,7 @@ .PHONY: binaries ifeq ($(shell uname -s),FreeBSD) -@@ -790,7 +790,7 @@ package-install: package ## Install rpm +@@ -798,7 +798,7 @@ rpm-install: package ## Install rpm pac /usr/bin/podman info # will catch a broken conmon .PHONY: install From efb06993d722057165fbf62d2eeddd61485217f3 Mon Sep 17 00:00:00 2001 From: Oskari Rauta Date: Sat, 16 Sep 2023 11:16:17 +0300 Subject: [PATCH 08/21] netavark: update to 1.7.0 Changelog: https://github.com/containers/netavark/compare/v1.6.0...v1.7.0 Signed-off-by: Oskari Rauta --- net/netavark/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net/netavark/Makefile b/net/netavark/Makefile index 542290c0b..9a6cb1629 100644 --- a/net/netavark/Makefile +++ b/net/netavark/Makefile @@ -1,12 +1,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=netavark -PKG_VERSION:=1.6.0 +PKG_VERSION:=1.7.0 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/containers/netavark/tar.gz/v$(PKG_VERSION)? -PKG_HASH:=3bec9e9b0f3f8f857370900010fb2125ead462d43998ad8f43e4387a5b06f9d6 +PKG_HASH:=b0ed7d80fd96ef2af88e7a001d91024919125e5842d9772de94648044630e116 PKG_MAINTAINER:=Oskari Rauta PKG_LICENSE:=Apache-2.0 From 75064f1bf7fb139084b5a8bde805b02c311b58e9 Mon Sep 17 00:00:00 2001 From: Oskari Rauta Date: Sat, 16 Sep 2023 11:26:11 +0300 Subject: [PATCH 09/21] aardvark-dns: update to 1.7.0 Changelog: https://github.com/containers/aardvark-dns/compare/v1.6.0...v1.7.0 Signed-off-by: Oskari Rauta --- net/aardvark-dns/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net/aardvark-dns/Makefile b/net/aardvark-dns/Makefile index 16e1b1d14..e8c60ae97 100644 --- a/net/aardvark-dns/Makefile +++ b/net/aardvark-dns/Makefile @@ -1,12 +1,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=aardvark-dns -PKG_VERSION:=1.6.0 +PKG_VERSION:=1.7.0 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/containers/aardvark-dns/tar.gz/v$(PKG_VERSION)? -PKG_HASH:=f3a2ff2d7baf07d8bf2785b6f1c9618db8aa188bd738b7f5cf1b0a31848232f5 +PKG_HASH:=6ee7dfa8bab8040b917959a2f57f25496ad036a2d933c6225114e2c1e68bab0b PKG_MAINTAINER:=Oskari Rauta PKG_LICENSE:=Apache-2.0 From 22d21e28a79a5246e4f6068cbc0be59e5226c486 Mon Sep 17 00:00:00 2001 From: Stan Grishin Date: Sat, 16 Sep 2023 23:44:31 +0000 Subject: [PATCH 10/21] https-dns-proxy: improve boot up startup Signed-off-by: Stan Grishin --- net/https-dns-proxy/Makefile | 6 +++--- .../files/etc/hotplug.d/iface/90-https-dns-proxy | 14 ++++++++++++++ .../files/etc/hotplug.d/online/30-https-dns-proxy | 2 -- 3 files changed, 17 insertions(+), 5 deletions(-) create mode 100644 net/https-dns-proxy/files/etc/hotplug.d/iface/90-https-dns-proxy delete mode 100644 net/https-dns-proxy/files/etc/hotplug.d/online/30-https-dns-proxy diff --git a/net/https-dns-proxy/Makefile b/net/https-dns-proxy/Makefile index 3319cbfe5..88b757749 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:=4 +PKG_RELEASE:=5 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/aarond10/https_dns_proxy/ @@ -45,8 +45,8 @@ define Package/https-dns-proxy/install $(SED) "s|^\(readonly PKG_VERSION\).*|\1='$(PKG_VERSION)-$(PKG_RELEASE)'|" $(1)/etc/init.d/https-dns-proxy $(INSTALL_DIR) $(1)/etc/config $(INSTALL_CONF) ./files/etc/config/https-dns-proxy $(1)/etc/config/https-dns-proxy - $(INSTALL_DIR) $(1)/etc/hotplug.d/online - $(INSTALL_DATA) ./files/etc/hotplug.d/online/30-https-dns-proxy $(1)/etc/hotplug.d/online/30-https-dns-proxy + $(INSTALL_DIR) $(1)/etc/hotplug.d/iface + $(INSTALL_DATA) ./files/etc/hotplug.d/iface/90-https-dns-proxy $(1)/etc/hotplug.d/iface/90-https-dns-proxy $(INSTALL_DIR) $(1)/etc/uci-defaults/ $(INSTALL_BIN) ./files/etc/uci-defaults/50-https-dns-proxy-migrate-options.sh $(1)/etc/uci-defaults/50-https-dns-proxy-migrate-options.sh endef diff --git a/net/https-dns-proxy/files/etc/hotplug.d/iface/90-https-dns-proxy b/net/https-dns-proxy/files/etc/hotplug.d/iface/90-https-dns-proxy new file mode 100644 index 000000000..5acf7b7d0 --- /dev/null +++ b/net/https-dns-proxy/files/etc/hotplug.d/iface/90-https-dns-proxy @@ -0,0 +1,14 @@ +#!/bin/sh +# Copied from https://openwrt.org/docs/guide-user/advanced/hotplug_extras +# shellcheck disable=SC1091 +. /lib/functions/network.sh +network_flush_cache +network_find_wan NET_IF +network_find_wan6 NET_IF6 +[ "$INTERFACE" != "$NET_IF" ] && [ "$INTERFACE" != "$NET_IF6" ] && exit 0 +[ "$ACTION" != "ifup" ] && [ "$ACTION" != "ifupdate" ] && exit 0 +[ "$ACTION" = "ifupdate" ] && [ -z "$IFUPDATE_ADDRESSES" ] && \ +[ -z "$IFUPDATE_DATA" ] && exit 0 + +sleep 10 +/etc/init.d/https-dns-proxy start 'on_hotplug' diff --git a/net/https-dns-proxy/files/etc/hotplug.d/online/30-https-dns-proxy b/net/https-dns-proxy/files/etc/hotplug.d/online/30-https-dns-proxy deleted file mode 100644 index 0ff3ca28f..000000000 --- a/net/https-dns-proxy/files/etc/hotplug.d/online/30-https-dns-proxy +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -/etc/init.d/https-dns-proxy start 'on_hotplug' From 500e484f61c3b1ac47ab7aad67c1c06bd19ad7db Mon Sep 17 00:00:00 2001 From: Oskari Rauta Date: Sun, 17 Sep 2023 06:55:22 +0300 Subject: [PATCH 11/21] podman: depend on catatonit podman still seems to use catatonit with rootless containers. It seems that it is possible to use alternatives, such as tini, but maybe go the same way they went on mainstream. This PR just adds catatonit to depends. Signed-off-by: Oskari Rauta --- utils/podman/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/utils/podman/Makefile b/utils/podman/Makefile index 015ee46f9..9b957ff67 100644 --- a/utils/podman/Makefile +++ b/utils/podman/Makefile @@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=podman PKG_VERSION:=4.6.2 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://github.com/containers/podman/archive/v$(PKG_VERSION) @@ -39,7 +39,7 @@ define Package/podman CATEGORY:=Utilities TITLE:=Podman URL:=https://podman.io - DEPENDS:=$(GO_ARCH_DEPENDS) +conmon +libgpgme +libseccomp +nsenter +zoneinfo-simple +kmod-veth +slirp4netns +netavark +aardvark-dns +PODMAN_SELINUX_SUPPORT:libselinux + DEPENDS:=$(GO_ARCH_DEPENDS) +conmon +libgpgme +libseccomp +nsenter +zoneinfo-simple +kmod-veth +slirp4netns +netavark +aardvark-dns +catatonit +PODMAN_SELINUX_SUPPORT:libselinux endef define Package/podman/description From 8a223d4724d996db13bc8077035b27562b5e8fbd Mon Sep 17 00:00:00 2001 From: Leo Douglas Date: Fri, 15 Sep 2023 10:32:57 +0800 Subject: [PATCH 12/21] iperf3: update to 3.15 see changelog: https://github.com/esnet/iperf/releases/tag/3.15. Signed-off-by: Leo Douglas --- net/iperf3/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net/iperf3/Makefile b/net/iperf3/Makefile index 136e29f0f..dbe09c1e0 100644 --- a/net/iperf3/Makefile +++ b/net/iperf3/Makefile @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=iperf -PKG_VERSION:=3.14 +PKG_VERSION:=3.15 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://downloads.es.net/pub/iperf -PKG_HASH:=723fcc430a027bc6952628fa2a3ac77584a1d0bd328275e573fc9b206c155004 +PKG_HASH:=bdb77c11f72bce90214883159577fa24412013e62b2083cf5f54391d79b1d8ff PKG_MAINTAINER:=Felix Fietkau PKG_LICENSE:=BSD-3-Clause From 87b2a2bb57c42b3c91393a387cd02367e59910f5 Mon Sep 17 00:00:00 2001 From: Josef Schlehofer Date: Sat, 16 Sep 2023 12:36:17 +0200 Subject: [PATCH 13/21] ffmpeg: update to version 5.1.3 Fixes CVEs: CVE-2022-3964 [1] CVE-2022-3965 [2] [1] https://nvd.nist.gov/vuln/detail/CVE-2022-3964 [2] https://nvd.nist.gov/vuln/detail/CVE-2022-3965 Signed-off-by: Josef Schlehofer --- multimedia/ffmpeg/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/multimedia/ffmpeg/Makefile b/multimedia/ffmpeg/Makefile index 41f412109..9ba3bc888 100644 --- a/multimedia/ffmpeg/Makefile +++ b/multimedia/ffmpeg/Makefile @@ -9,12 +9,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=ffmpeg -PKG_VERSION:=5.1.2 +PKG_VERSION:=5.1.3 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=https://ffmpeg.org/releases/ -PKG_HASH:=619e706d662c8420859832ddc259cd4d4096a48a2ce1eefd052db9e440eef3dc +PKG_HASH:=1b113593ff907293be7aed95acdda5e785dd73616d7d4ec90a0f6adbc5a0312e PKG_MAINTAINER:=Ted Hess , \ Ian Leonard From 9596937de38e747914663bad2a0ad0ca9b15b724 Mon Sep 17 00:00:00 2001 From: Oskari Rauta Date: Sun, 17 Sep 2023 16:36:27 +0300 Subject: [PATCH 14/21] dockerd: busybox compatibility build hosts with busybox fail with long options on rm command. Short versions are supported by all, so this makes it script compatible with busybox hosts as well. Signed-off-by: Oskari Rauta --- utils/dockerd/Makefile | 2 +- utils/dockerd/git-short-commit.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/utils/dockerd/Makefile b/utils/dockerd/Makefile index fb0929903..d5b455c79 100644 --- a/utils/dockerd/Makefile +++ b/utils/dockerd/Makefile @@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=dockerd PKG_VERSION:=24.0.5 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_LICENSE:=Apache-2.0 PKG_LICENSE_FILES:=LICENSE diff --git a/utils/dockerd/git-short-commit.sh b/utils/dockerd/git-short-commit.sh index ea8611ba5..650ab8c82 100755 --- a/utils/dockerd/git-short-commit.sh +++ b/utils/dockerd/git-short-commit.sh @@ -26,7 +26,7 @@ if [ -z "${GIT_DIR}" ]; then fi clean_up() { - rm --force --recursive "${GIT_DIR}" + rm -rf "${GIT_DIR}" } trap clean_up EXIT From f459125b977b34d7719386687d7f60fdaf243900 Mon Sep 17 00:00:00 2001 From: Philip Prindeville Date: Sun, 17 Sep 2023 13:43:54 -0600 Subject: [PATCH 15/21] perl-cgi: Update to 4.57 Signed-off-by: Philip Prindeville --- lang/perl-cgi/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lang/perl-cgi/Makefile b/lang/perl-cgi/Makefile index 04dade2f5..c6481f3bd 100644 --- a/lang/perl-cgi/Makefile +++ b/lang/perl-cgi/Makefile @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=perl-cgi -PKG_VERSION:=4.56 +PKG_VERSION:=4.57 PKG_RELEASE:=1 PKG_SOURCE_URL:=https://www.cpan.org/authors/id/L/LE/LEEJO PKG_SOURCE:=CGI-$(PKG_VERSION).tar.gz -PKG_HASH:=2d36d930b89ecdfbcc7d6d4740821bd466a0218abf1bd413568640b2f43799b7 +PKG_HASH:=4e6ca634fe0d5621bb55b0fce5c1d08e6f643c65eecdfffbb4b344fd51b963ac PKG_BUILD_DIR:=$(BUILD_DIR)/perl/CGI-$(PKG_VERSION) PKG_MAINTAINER:=Marcel Denia , \ From 606e7b9f464954a203f3059487651243fa822dbe Mon Sep 17 00:00:00 2001 From: Philip Prindeville Date: Sun, 17 Sep 2023 13:51:59 -0600 Subject: [PATCH 16/21] perl-text-csv_xs: Update to 1.51 Signed-off-by: Philip Prindeville --- lang/perl-text-csv_xs/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lang/perl-text-csv_xs/Makefile b/lang/perl-text-csv_xs/Makefile index cdaa17152..1ada02fdd 100644 --- a/lang/perl-text-csv_xs/Makefile +++ b/lang/perl-text-csv_xs/Makefile @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=perl-text-csv_xs -PKG_VERSION:=1.50 +PKG_VERSION:=1.51 PKG_RELEASE:=1 PKG_SOURCE:=Text-CSV_XS-$(PKG_VERSION).tgz PKG_SOURCE_URL:=https://cpan.metacpan.org/authors/id/H/HM/HMBRAND -PKG_HASH:=85b5e1bed7e11dc0413d4e920cee25d980de47376c0048029041cf461eac96b1 +PKG_HASH:=b1831d4d5f90ec6ad7f111a2e4bc5ca6dce7d17d7e57f17ace42b0f3ca140372 PKG_BUILD_DIR:=$(BUILD_DIR)/perl/Text-CSV_XS-$(PKG_VERSION) PKG_MAINTAINER:=Philip Prindeville From 4590decf5bba9c591954c260d0201993aefaf4cd Mon Sep 17 00:00:00 2001 From: Philip Prindeville Date: Mon, 11 Sep 2023 13:12:39 -0600 Subject: [PATCH 17/21] isc-dhcpd: Generate correct delimiter in hex strings Signed-off-by: Philip Prindeville --- net/isc-dhcp/Makefile | 2 +- net/isc-dhcp/files/dhcpd.init | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/net/isc-dhcp/Makefile b/net/isc-dhcp/Makefile index 8d3be4c91..d7c4a1566 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:=5 +PKG_RELEASE:=6 PKG_LICENSE:=BSD-3-Clause PKG_LICENSE_FILES:=LICENSE diff --git a/net/isc-dhcp/files/dhcpd.init b/net/isc-dhcp/files/dhcpd.init index 382594484..b0bf809a5 100755 --- a/net/isc-dhcp/files/dhcpd.init +++ b/net/isc-dhcp/files/dhcpd.init @@ -294,17 +294,17 @@ static_host_add() { for option in $force_send; do case "$option" in hostname) - extra_options="$extra_options${extra_options:+ }0c" ;; + extra_options="$extra_options${extra_options:+,}0c" ;; domain-name) - extra_options="$extra_options${extra_options:+ }0f" ;; + extra_options="$extra_options${extra_options:+,}0f" ;; renewal-time) - extra_options="$extra_options${extra_options:+ }3a" ;; + extra_options="$extra_options${extra_options:+,}3a" ;; rebinding-time) - extra_options="$extra_options${extra_options:+ }3b" ;; + extra_options="$extra_options${extra_options:+,}3b" ;; fqdn) - extra_options="$extra_options${extra_options:+ }51" ;; + extra_options="$extra_options${extra_options:+,}51" ;; routes) - extra_options="$extra_options${extra_options:+ }79" ;; + extra_options="$extra_options${extra_options:+,}79" ;; *) echo "unknown option: $option" >&2 ;; esac From 2faa29c550ee28dea0ac1abf2f8621ccf3cf962f Mon Sep 17 00:00:00 2001 From: Philip Prindeville Date: Mon, 11 Sep 2023 13:59:30 -0600 Subject: [PATCH 18/21] isc-dhcp: Allow per-subnet domain names Signed-off-by: Philip Prindeville --- net/isc-dhcp/files/dhcpd.init | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/net/isc-dhcp/files/dhcpd.init b/net/isc-dhcp/files/dhcpd.init index b0bf809a5..967ba83da 100755 --- a/net/isc-dhcp/files/dhcpd.init +++ b/net/isc-dhcp/files/dhcpd.init @@ -393,6 +393,8 @@ gen_dhcp_subnet() { fi echo " option domain-name-servers $DNS;" + [ -n "$domain" ] && echo " option domain-name \"$domain\";" + local routes= config_list_foreach "$cfg" "routes" append_routes [ -n "$routes" ] && echo " option classless-ipv4-route $routes;" @@ -405,7 +407,7 @@ dhcpd_add() { local cfg="$1" synthesize="$2" local dhcp6range="::" local dynamicdhcp defaultroute end gateway ifname ignore leasetime limit net netmask - local proto networkid start subnet + local proto networkid start subnet domain local IP NETMASK BROADCAST NETWORK PREFIX DNS START END config_get_bool ignore "$cfg" "ignore" 0 @@ -462,6 +464,8 @@ dhcpd_add() { gateway="$IP" fi + config_get domain "$cfg" "domain" + gen_dhcp_subnet "$cfg" } From 87a9305ddd5a61602c5f283996352e1122afaf1e Mon Sep 17 00:00:00 2001 From: Hannu Nyman Date: Mon, 18 Sep 2023 20:16:14 +0300 Subject: [PATCH 19/21] collectd: remove target dependency from cpufreq plugin We currently have more package architectures supporting CPU frequency scaling than earlier, and the package architecture vs. CPU target SDK matching does not fully reflect that. (E.g. aarch64_cortex-a53 is currently using bcm27xx/bcm2710) Simplify things by removing the target dependency and let the plugin be built for all architectures. Signed-off-by: Hannu Nyman --- utils/collectd/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/utils/collectd/Makefile b/utils/collectd/Makefile index 875307c17..0119c88aa 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:=48 +PKG_RELEASE:=49 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:=https://collectd.org/files/ \ @@ -463,7 +463,7 @@ $(eval $(call BuildPlugin,chrony,chrony status input,chrony,)) $(eval $(call BuildPlugin,conntrack,connection tracking table size input,conntrack,)) $(eval $(call BuildPlugin,contextswitch,context switch input,contextswitch,)) $(eval $(call BuildPlugin,cpu,CPU input,cpu,)) -$(eval $(call BuildPlugin,cpufreq,CPU Freq input,cpufreq,@(TARGET_x86||TARGET_x86_64||TARGET_mvebu||TARGET_ipq806x||TARGET_armsr||TARGET_ipq40xx||TARGET_bcm27xx_bcm2709||TARGET_rockchip||TARGET_mediatek||TARGET_qualcommax))) # Only enable on targets with CPUs supporting frequency scaling +$(eval $(call BuildPlugin,cpufreq,CPU Freq input,cpufreq,)) $(eval $(call BuildPlugin,csv,CSV output,csv,)) $(eval $(call BuildPlugin,curl,cURL input,curl,+PACKAGE_collectd-mod-curl:libcurl)) #$(eval $(call BuildPlugin,dbi,relational database input,dbi,+PACKAGE_collectd-mod-dbi:libdbi)) From 1b75de7e5ca20280ba9e0b4672506abd1a7e2823 Mon Sep 17 00:00:00 2001 From: Tianling Shen Date: Tue, 19 Sep 2023 09:58:18 +0800 Subject: [PATCH 20/21] rclone: Update to 1.64.0 Signed-off-by: Tianling Shen --- net/rclone/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net/rclone/Makefile b/net/rclone/Makefile index 8f5f7b617..01d253a9a 100644 --- a/net/rclone/Makefile +++ b/net/rclone/Makefile @@ -6,12 +6,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=rclone -PKG_VERSION:=1.63.1 +PKG_VERSION:=1.64.0 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:=84b2b2206abc3cb56056c0b76cceefecef0b5f6ad86b208ca458675632f0edf6 +PKG_HASH:=3297838fdcf611a5ad605835f41c0e51031ce9f220c77a4ad0af6283b7805329 PKG_LICENSE:=MIT PKG_LICENSE_FILES:=LICENSE From 2a6dc24882721b6c93623c8d55175de04c76852c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20H=C3=A1k?= Date: Tue, 19 Sep 2023 10:51:30 +0200 Subject: [PATCH 21/21] knot: update to version 3.3.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Jan Hák --- net/knot/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net/knot/Makefile b/net/knot/Makefile index 5216dc0b2..b40a2b28a 100644 --- a/net/knot/Makefile +++ b/net/knot/Makefile @@ -8,12 +8,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=knot -PKG_VERSION:=3.3.0 +PKG_VERSION:=3.3.1 PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=https://secure.nic.cz/files/knot-dns/ -PKG_HASH:=cf12ab736c512eb719a221cd3f65bb94f93ff2b477803d9474d1334af73c1533 +PKG_HASH:=f3f4b1d49ec9b81113b14a38354b823bd4a470356ed7e8e555595b6fd1ac80c9 PKG_MAINTAINER:=Daniel Salzman PKG_LICENSE:=GPL-3.0 LGPL-2.0 0BSD BSD-3-Clause OLDAP-2.8