Merge pull request #19419 from james-mcguire/master
authorDirk Brenken <dev@brenken.org>
Sun, 25 Sep 2022 06:55:45 +0000 (08:55 +0200)
committerGitHub <noreply@github.com>
Sun, 25 Sep 2022 06:55:45 +0000 (08:55 +0200)
adblock: add lightswitch05 source

58 files changed:
admin/openwisp-config/Makefile
admin/openwisp-monitoring/Makefile
kernel/mdio-netlink/Makefile
libs/glib2/Makefile
libs/glib2/patches/006-c99.patch [deleted file]
libs/glib2/patches/010-libintl.patch [deleted file]
libs/glib2/patches/010-pcre.patch [new file with mode: 0644]
libs/glib2/patches/020-locale.patch [new file with mode: 0644]
libs/libcli/Makefile [new file with mode: 0644]
libs/libmspack/Makefile [new file with mode: 0644]
libs/libowfat/Makefile
libs/libowfat/patches/030-pure.patch [new file with mode: 0644]
libs/libsoup3/Makefile [new file with mode: 0644]
net/bind/Makefile
net/dnslookup/Makefile
net/dnsproxy/Makefile
net/gatling/Makefile [new file with mode: 0644]
net/gatling/patches/010-decrease_optimisation.patch [new file with mode: 0644]
net/gatling/patches/020-configure_features.patch [new file with mode: 0644]
net/gatling/test.sh [new file with mode: 0644]
net/gg/Makefile
net/hping3/Makefile [new file with mode: 0644]
net/hping3/patches/011_buildsystem.patch [new file with mode: 0644]
net/hping3/patches/020_pcap_bpf.patch [new file with mode: 0644]
net/hping3/patches/040_spelling.patch [new file with mode: 0644]
net/hping3/patches/080_ip_id_field.patch [new file with mode: 0644]
net/hping3/patches/110_dontfrag_offbyone.patch [new file with mode: 0644]
net/hping3/patches/120_rtt_icmp_unreachable.patch [new file with mode: 0644]
net/hping3/patches/130_spelling_error_in_binary.patch [new file with mode: 0644]
net/hping3/patches/140_data_size_udp.patch [new file with mode: 0644]
net/hping3/patches/160_tcp_mss.patch [new file with mode: 0644]
net/hping3/patches/190_ip_optlen_conflicting_types.patch [new file with mode: 0644]
net/hping3/patches/191_fix_ftbfs_with_gcc10.patch [new file with mode: 0644]
net/hping3/patches/fix_icmp_ipid.patch [new file with mode: 0644]
net/hping3/patches/hping3-getifnamedebug.patch [new file with mode: 0644]
net/knot-resolver/Makefile
net/knot-resolver/patches/010-fix-lmdb.patch
net/knot-resolver/patches/030-fix-policy-hack.patch
net/lighttpd/Makefile
net/mdio-tools/Makefile
net/mdio-tools/patches/0001-mdio-bench-make-time_t-prints-portable.patch [deleted file]
net/netsniff-ng/Makefile
net/pdns-recursor/Makefile
net/snowflake/Makefile [new file with mode: 0644]
net/snowflake/files/snowflake-proxy.init [new file with mode: 0644]
net/wifi-presence/Makefile
utils/open-vm-tools/Makefile
utils/open-vm-tools/files/telinit [new file with mode: 0644]
utils/open-vm-tools/files/tools.conf
utils/opendoas/Makefile
utils/poemgr/Makefile
utils/realtek-poe/Makefile
utils/vim/Makefile
utils/vim/patches/001-support-defining-compilation-date-in-SOURCE_DATE_EPOCH.patch [deleted file]
utils/vim/patches/002-remove_helptags_generation.patch
utils/vim/patches/020-macos.patch [deleted file]
utils/xz/Makefile
utils/yq/Makefile

index d1419eee327c3fe0e0e8710df9dafc395e3b28f6..3e7a748a4e493b834b5316c5768b8d8d8eefdcb0 100644 (file)
@@ -1,14 +1,14 @@
-# openwisp.org
+# SPDX-Identifier-License: GPL-3.0-only
 #
-# This is free software, licensed under the GNU General Public License v3.
-# See /LICENSE for more information.
+# openwisp.org
+
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=openwisp-config
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_MAINTAINER:=Federico Capoano <f.capoano@openwisp.io>
-PKG_LICENSE:=GPL3.0-or-later
+PKG_LICENSE:=GPL-3.0-or-later
 
 PKG_SOURCE_URL:=https://github.com/openwisp/openwisp-config.git
 PKG_MIRROR_HASH:=7daa10a9d170e665f33a5555a246b4da2223c2d8d0e8a047edb01701c8886986
index fb8a0e8208c4b00da4511a16c00dc51c4178dba7..2d703339512321ee5cea5e65ea8ae6b0a0d3f4d8 100644 (file)
@@ -1,14 +1,14 @@
-# openwisp.org
+# SPDX-Identifier-License: GPL-3.0-only
 #
-# This is free software, licensed under the GNU General Public License v3.
-# See /LICENSE for more information.
+# openwisp.org
+
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=openwisp-monitoring
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_MAINTAINER:=Federico Capoano <support@openwisp.io>
-PKG_LICENSE:=GPL3.0-or-later
+PKG_LICENSE:=GPL-3.0-or-later
 PKG_LICENSE_FILES:=LICENSE
 
 PKG_SOURCE_URL:=https://github.com/openwisp/openwrt-openwisp-monitoring.git
index 65a7a0b63449abf89ab3a34c6305b954476273aa..f63e4c27892cc9c75141f7c708db643b6c6605d0 100644 (file)
@@ -6,8 +6,8 @@ PKG_RELEASE:=1
 
 PKG_SOURCE_URL:=https://github.com/wkz/mdio-tools
 PKG_SOURCE_PROTO:=git
-PKG_SOURCE_VERSION:=1.1.1
-PKG_MIRROR_HASH:=050d7386ed086b2ef3f028b3409ebabfdc51bd5a4c5a1d64afa29a0ceebf4771
+PKG_SOURCE_VERSION:=1.2.0
+PKG_MIRROR_HASH:=5dd21c47d12b5d81dd0783d874480172d00027c4a8902839fa9fc16718092c79
 
 PKG_LICENSE:=GPL-2.0-only
 PKG_LICENSE_FILES:=COPYING
index c19e3d70d3c5652fafefd753fdd11c0b772b9f35..5493e5e693a3edf12792490977b076f3a29f7f36 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=glib2
-PKG_VERSION:=2.70.5
+PKG_VERSION:=2.74.0
 PKG_RELEASE:=$(AUTORELEASE)
 
 PKG_SOURCE:=glib-$(PKG_VERSION).tar.xz
-PKG_SOURCE_URL:=@GNOME/glib/2.70
-PKG_HASH:=f70bf76ebcc84e0705722f038be8e2f9a58d17e1a700810c635fcc18b8974b7e
+PKG_SOURCE_URL:=@GNOME/glib/$(word 1,$(subst ., ,$(PKG_VERSION))).$(word 2,$(subst ., ,$(PKG_VERSION)))
+PKG_HASH:=3652c7f072d7b031a6b5edd623f77ebc5dcd2ae698598abcc89ff39ca75add30
 
 PKG_MAINTAINER:=Peter Wagner <tripolar@gmx.at>
 PKG_LICENSE:=LGPL-2.1-or-later
@@ -22,7 +22,6 @@ PKG_CPE_ID:=cpe:/a:gnome:glib
 
 PKG_BUILD_DIR:=$(BUILD_DIR)/glib-$(PKG_VERSION)
 HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/glib-$(PKG_VERSION)
-HOST_BUILD_DEPENDS:=libffi/host pcre/host
 PKG_CONFIG_DEPENDS:=CONFIG_BUILD_NLS
 PKG_FORTIFY_SOURCE:=0
 
@@ -34,7 +33,7 @@ include $(INCLUDE_DIR)/meson.mk
 define Package/glib2
   SECTION:=libs
   CATEGORY:=Libraries
-  DEPENDS:=$(ICONV_DEPENDS) $(INTL_DEPENDS) +zlib +libpthread +libffi +libattr +libpcre
+  DEPENDS:=$(ICONV_DEPENDS) $(INTL_DEPENDS) +zlib +libpthread +libffi +libattr +libpcre2
   TITLE:=glib 2.0
   URL:=http://www.gtk.org/
 endef
@@ -56,7 +55,6 @@ COMP_ARGS= \
        -Dgtk_doc=false \
        -Dbsymbolic_functions=true \
        -Dforce_posix_threads=true \
-       -Dfam=false \
        -Dtests=false \
        -Dinstalled_tests=false \
        -Doss_fuzz=disabled \
@@ -65,7 +63,7 @@ COMP_ARGS= \
        -Dglib_checks=true \
        -Dlibelf=disabled
 
-MESON_HOST_ARGS += $(COMP_ARGS) -Dxattr=false -Ddefault_library=static -Dnls=disabled
+MESON_HOST_ARGS += $(COMP_ARGS) -Dxattr=false -Ddefault_library=static -Dnls=disabled -Dwrap_mode=forcefallback
 MESON_ARGS += $(COMP_ARGS) -Dxattr=true -Db_lto=true -Ddefault_library=both -Dnls=$(if $(CONFIG_BUILD_NLS),en,dis)abled
 
 define Build/InstallDev
diff --git a/libs/glib2/patches/006-c99.patch b/libs/glib2/patches/006-c99.patch
deleted file mode 100644 (file)
index f2f168c..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/meson.build
-+++ b/meson.build
-@@ -948,7 +948,7 @@ if host_system == 'windows' and (cc.get_
-   glib_conf.set('HAVE_C99_SNPRINTF', false)
-   glib_conf.set('HAVE_C99_VSNPRINTF', false)
-   glib_conf.set('HAVE_UNIX98_PRINTF', false)
--elif not cc_can_run and host_system in ['ios', 'darwin']
-+elif true
-   # All these are true when compiling natively on macOS, so we should use good
-   # defaults when building for iOS and tvOS.
-   glib_conf.set('HAVE_C99_SNPRINTF', true)
diff --git a/libs/glib2/patches/010-libintl.patch b/libs/glib2/patches/010-libintl.patch
deleted file mode 100644 (file)
index 7e99b82..0000000
+++ /dev/null
@@ -1,144 +0,0 @@
-From 750687bf2824fcaf8976fb8b558d583f29acdfeb Mon Sep 17 00:00:00 2001
-From: Eli Schwartz <eschwartz@archlinux.org>
-Date: Tue, 7 Jun 2022 16:14:04 -0400
-Subject: [PATCH 1/2] meson: simplify iconv lookups using Meson's builtin
- dependency lookup
-
-iconv is complicated to look up. That complexity now resides in
-Meson, since 0.60.0, via a `dependency('iconv')` lookup, so use that
-instead.
-
-No effort is made to support the old option for which type of iconv to
-use. It was a false choice, because if only one was available, then
-that's the only one you can use, and if both are available, the external
-iconv shadows the builtin one and renders the builtin one unusable,
-so there is still only one you can use.
-
-This meant that when configuring glib with -Diconv=libc on systems that
-had an external iconv, the configure check would detect a valid libc
-iconv, try to use it, and then fail during the build because iconv.h
-belongs to the external iconv and generates machine code using the
-external iconv ABI, but fails to link to the iconv `find_library()`.
-Meson handles this transparently.
----
- meson.build       | 20 +-------------------
- meson_options.txt |  8 +-------
- 2 files changed, 2 insertions(+), 26 deletions(-)
-
---- a/meson.build
-+++ b/meson.build
-@@ -1958,28 +1958,10 @@ glibconfig_conf.set10('G_HAVE_GROWING_ST
- # We should never use the MinGW C library's iconv because it may not be
- # available in the actual runtime environment. On Windows, we always use
- # the built-in implementation
--iconv_opt = get_option('iconv')
- if host_system == 'windows'
-   libiconv = []
--  # We have a #include "win_iconv.c" in gconvert.c on Windows, so we don't need
--  # any external library for it
--  if iconv_opt != 'auto'
--    warning('-Diconv was set to @0@, which was ignored')
--  endif
- else
--  found_iconv = false
--  if ['auto', 'libc'].contains(iconv_opt) and cc.has_function('iconv_open')
--    libiconv = []
--    found_iconv = true
--  endif
--  if not found_iconv and ['auto', 'external'].contains(iconv_opt) and cc.has_header_symbol('iconv.h', 'iconv_open')
--    libiconv = [cc.find_library('iconv')]
--    found_iconv = true
--  endif
--
--  if not found_iconv
--    error('iconv implementation "@0@" not found'.format(iconv_opt))
--  endif
-+  libiconv = dependency('iconv')
- endif
- pcre = dependency('libpcre', version: '>= 8.31', required : false) # Should check for Unicode support, too. FIXME
-@@ -2046,42 +2028,37 @@ endif
- # FIXME: glib-gettext.m4 has much more checks to detect broken/uncompatible
- # implementations. This could be extended if issues are found in some platforms.
- libintl_deps = []
--if cc.has_function('ngettext', args : osx_ldflags)
--  have_bind_textdomain_codeset = cc.has_function('bind_textdomain_codeset')
--else
--  # First just find the bare library.
--  libintl = cc.find_library('intl', required : false)
--  # The bare library probably won't link without help if it's static.
--  if libintl.found() and not cc.has_function('ngettext', args : osx_ldflags, dependencies : libintl)
--     libintl_iconv = cc.find_library('iconv', required : false)
--     # libintl supports different threading APIs, which may not
--     # require additional flags, but it defaults to using pthreads if
--     # found. Meson's "threads" dependency does not allow you to
--     # prefer pthreads. We may not be using pthreads for glib itself
--     # either so just link the library to satisfy libintl rather than
--     # also defining the macros with the -pthread flag.
--     libintl_pthread = cc.find_library('pthread', required : false)
--     # Try linking with just libiconv.
--     if libintl_iconv.found() and cc.has_function('ngettext', args : osx_ldflags, dependencies : [libintl, libintl_iconv])
--       libintl_deps += [libintl_iconv]
--     # Then also try linking with pthreads.
--     elif libintl_iconv.found() and libintl_pthread.found() and cc.has_function('ngettext', args : osx_ldflags, dependencies : [libintl, libintl_iconv, libintl_pthread])
--       libintl_deps += [libintl_iconv, libintl_pthread]
--     else
--       libintl = disabler()
--     endif
--  endif
--  if not libintl.found()
--    libintl = subproject('proxy-libintl').get_variable('intl_dep')
--    libintl_deps = [libintl] + libintl_deps
--    have_bind_textdomain_codeset = true  # proxy-libintl supports it
-+libintl = dependency('intl', required: false)
-+if libintl.found()
-+  # libintl supports different threading APIs, which may not
-+  # require additional flags, but it defaults to using pthreads if
-+  # found. Meson's "threads" dependency does not allow you to
-+  # prefer pthreads. We may not be using pthreads for glib itself
-+  # either so just link the library to satisfy libintl rather than
-+  # also defining the macros with the -pthread flag.
-+  #
-+  # Meson's builtin dependency lookup as of 0.60.0 doesn't check for
-+  # pthread, so we do this manually here.
-+  if cc.has_function('ngettext', dependencies : libintl)
-+    libintl_deps += [libintl]
-   else
--    libintl_deps = [libintl] + libintl_deps
--    have_bind_textdomain_codeset = cc.has_function('bind_textdomain_codeset', args : osx_ldflags,
--                                                   dependencies : libintl_deps)
-+    libintl_pthread = cc.find_library('pthread', required : false)
-+    if libintl_pthread.found() and cc.has_function('ngettext', dependencies : [libintl, libintl_pthread])
-+      libintl_deps += [libintl, libintl_pthread]
-+    else
-+      libintl = disabler()
-+    endif
-   endif
- endif
-+if libintl.found()
-+  have_bind_textdomain_codeset = cc.has_function('bind_textdomain_codeset', dependencies: libintl_deps)
-+else
-+  libintl = subproject('proxy-libintl').get_variable('intl_dep')
-+  libintl_deps = [libintl]
-+  have_bind_textdomain_codeset = true  # proxy-libintl supports it
-+endif
-+
- glib_conf.set('HAVE_BIND_TEXTDOMAIN_CODESET', have_bind_textdomain_codeset)
- # We require gettext to always be present
---- a/meson_options.txt
-+++ b/meson_options.txt
-@@ -3,12 +3,6 @@ option('runtime_libdir',
-        value : '',
-        description : 'install runtime libraries relative to libdir')
--option('iconv',
--       type : 'combo',
--       choices : ['auto', 'libc', 'external'],
--       value : 'auto',
--       description : 'iconv implementation to use (\'libc\' = \'Part of the C library\'; \'external\' = \'External libiconv\'; \'auto\' = \'Auto-detect which iconv is available\')')
--
- option('charsetalias_dir',
-        type : 'string',
-        value : '',
diff --git a/libs/glib2/patches/010-pcre.patch b/libs/glib2/patches/010-pcre.patch
new file mode 100644 (file)
index 0000000..87b32e7
--- /dev/null
@@ -0,0 +1,10 @@
+--- a/glib/meson.build
++++ b/glib/meson.build
+@@ -365,6 +365,7 @@ pcre2_static_args = []
+ if use_pcre2_static_flag
+   pcre2_static_args = ['-DPCRE2_STATIC']
++  pcre2 = pcre2.as_link_whole()
+ endif
+ glib_c_args = ['-DG_LOG_DOMAIN="GLib"', '-DGLIB_COMPILATION'] + pcre2_static_args + glib_hidden_visibility_args
diff --git a/libs/glib2/patches/020-locale.patch b/libs/glib2/patches/020-locale.patch
new file mode 100644 (file)
index 0000000..e171d58
--- /dev/null
@@ -0,0 +1,24 @@
+From ebcc3c01db27b79af38b42c3c52a79d0225f744c Mon Sep 17 00:00:00 2001
+From: Seungha Yang <seungha@centricular.com>
+Date: Sun, 14 Aug 2022 04:56:20 +0900
+Subject: [PATCH] glib-mkenums: Specify output encoding as UTF-8 explicitly for
+ non-English locale
+
+Fixup regression introduced by
+https://gitlab.gnome.org/GNOME/glib/-/merge_requests/2797
+---
+ gobject/glib-mkenums.in | 3 +++
+ 1 file changed, 3 insertions(+)
+
+--- a/gobject/glib-mkenums.in
++++ b/gobject/glib-mkenums.in
+@@ -19,6 +19,9 @@ import errno
+ import codecs
+ import locale
++# Non-english locale systems might complain to unrecognized character
++sys.stdout = io.TextIOWrapper(sys.stdout.detach(), encoding='utf-8')
++
+ VERSION_STR = '''glib-mkenums version @VERSION@
+ glib-mkenums comes with ABSOLUTELY NO WARRANTY.
+ You may redistribute copies of glib-mkenums under the terms of
diff --git a/libs/libcli/Makefile b/libs/libcli/Makefile
new file mode 100644 (file)
index 0000000..145087d
--- /dev/null
@@ -0,0 +1,57 @@
+# Copyright (C) 2022 Martin Blumenstingl <martin.blumenstingl@googlemail.com>
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=libcli
+
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_URL=https://github.com/dparrish/libcli.git
+PKG_SOURCE_DATE:=2022-07-06
+PKG_SOURCE_VERSION:=V1.10.7
+PKG_MIRROR_HASH:=7698898364d91a1abf9e19c588a19c9587615106cf1caaf2a7e135f9ce1b1b45
+
+PKG_MAINTAINER:=Martin Blumenstingl <martin.blumenstingl@googlemail.com>
+PKG_LICENSE:=LGPL-2.1
+PKG_LICENSE_FILES:=COPYING
+
+PKG_BUILD_PARALLEL:=1
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/libcli
+  SECTION:=libs
+  CATEGORY:=Libraries
+  TITLE:=libcli
+  URL:=https://dparrish.com/link/libcli
+  DEPENDS:=+libc
+endef
+
+define Package/libcli/description
+  Libcli provides a shared library for including a Cisco-like
+  command-line interface into other software.
+endef
+
+define Build/Compile
+       $(MAKE) -C $(PKG_BUILD_DIR) \
+               CC="$(TARGET_CC)" \
+               LDFLAGS="$(TARGET_LDFLAGS)" \
+               DESTDIR="$(PKG_INSTALL_DIR)" \
+               TESTS=0 \
+               all install
+endef
+
+define Build/InstallDev
+       $(INSTALL_DIR) $(1)/usr/include
+       $(CP) $(PKG_INSTALL_DIR)/usr/local/include/libcli.h $(1)/usr/include/
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(CP) $(PKG_INSTALL_DIR)/usr/local/lib/libcli.so* $(1)/usr/lib/
+endef
+
+define Package/libcli/install
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(CP) $(PKG_INSTALL_DIR)/usr/local/lib/libcli.so* $(1)/usr/lib/
+endef
+
+$(eval $(call BuildPackage,libcli))
diff --git a/libs/libmspack/Makefile b/libs/libmspack/Makefile
new file mode 100644 (file)
index 0000000..2693d14
--- /dev/null
@@ -0,0 +1,62 @@
+#
+# Copyright (C) 2021 TDT AG <development@tdt.de>
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See https://www.gnu.org/licenses/gpl-2.0.txt for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=libmspack
+PKG_VERSION:=0.10.1alpha
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=https://www.cabextract.org.uk/$(PKG_NAME)/
+PKG_HASH:=bac862dee6e0fc10d92c70212441d9f8ad9b0222edc9a708c3ead4adb1b24a8e
+
+PKG_MAINTAINER:=Florian Eckert <fe@dev.tdt.de>
+PKG_LICENSE:=LGPL-2.1-or-later
+PKG_LICENSE_FILES:=COPYING.LIB
+
+PKG_FIXUP:=autoreconf
+PKG_INSTALL:=1
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/libmspack
+  SECTION:=libs
+  CATEGORY:=Libraries
+  TITLE:=Compressors and decompressors for Microsoft formats
+  DEPENDS:=@TARGET_x86
+  URL:=https://github.com/kyz/libmspack
+endef
+
+define Package/libmspack/description
+  The purpose of libmspack is to provide compressors and decompressors,
+  archivers and dearchivers for Microsoft compression formats: CAB, CHM, WIM,
+  LIT, HLP, KWAJ and SZDD. It is also designed to be easily embeddable,
+  stable, robust and resource-efficient.
+endef
+
+define Build/InstallDev
+       $(INSTALL_DIR) $(1)/usr/include
+       $(CP) $(PKG_INSTALL_DIR)/usr/include/mspack.h \
+               $(1)/usr/include/
+
+       $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/*.pc \
+               $(1)/usr/lib/pkgconfig
+
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so* \
+               $(1)/usr/lib
+endef
+
+define Package/libmspack/install
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so* \
+               $(1)/usr/lib
+endef
+
+$(eval $(call BuildPackage,libmspack))
index 325822ae1f71b5dbec6eb96cf911475e77e249cc..e932625094b722b82d040337c8d856a034a5f59e 100644 (file)
@@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libowfat
 PKG_VERSION:=0.32
-PKG_RELEASE:=4
+PKG_RELEASE:=5
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=https://www.fefe.de/libowfat
diff --git a/libs/libowfat/patches/030-pure.patch b/libs/libowfat/patches/030-pure.patch
new file mode 100644 (file)
index 0000000..690e422
--- /dev/null
@@ -0,0 +1,291 @@
+--- a/byte.h
++++ b/byte.h
+@@ -9,17 +9,24 @@
+ extern "C" {
+ #endif
+-#ifndef __pure__
+-#define __pure__
++#ifndef ATTR_PURE
++#  if defined __has_attribute
++#    if __has_attribute (pure)
++#      define ATTR_PURE __attribute__ ((pure))
++#    endif
++#  endif
++#endif
++#ifndef ATTR_PURE
++#  define ATTR_PURE
+ #endif
+ /* byte_chr returns the smallest integer i between 0 and len-1
+  * inclusive such that one[i] equals needle, or len if not found. */
+-size_t byte_chr(const void* haystack, size_t len, char needle) __pure__;
++size_t byte_chr(const void* haystack, size_t len, char needle) ATTR_PURE;
+ /* byte_rchr returns the largest integer i between 0 and len-1 inclusive
+  * such that one[i] equals needle, or len if not found. */
+-size_t byte_rchr(const void* haystack,size_t len,char needle) __pure__;
++size_t byte_rchr(const void* haystack,size_t len,char needle) ATTR_PURE;
+ /* byte_copy copies in[0] to out[0], in[1] to out[1], ... and in[len-1]
+  * to out[len-1]. */
+@@ -34,14 +41,14 @@ void byte_copyr(void* out, size_t len, c
+  * than, equal to, or greater than the string b[0], b[1], ...,
+  * b[len-1]. When the strings are different, byte_diff does not read
+  * bytes past the first difference. */
+-int byte_diff(const void* a, size_t len, const void* b) __pure__;
++int byte_diff(const void* a, size_t len, const void* b) ATTR_PURE;
+ /* byte_zero sets the bytes out[0], out[1], ..., out[len-1] to 0 */
+ void byte_zero(void* out, size_t len);
+ #define byte_equal(s,n,t) (!byte_diff((s),(n),(t)))
+-int byte_equal_notimingattack(const void* a, size_t len,const void* b) __pure__;
++int byte_equal_notimingattack(const void* a, size_t len,const void* b) ATTR_PURE;
+ #if defined(__i386__) || defined(__x86_64__)
+ #define UNALIGNED_ACCESS_OK
+--- a/critbit.h
++++ b/critbit.h
+@@ -5,18 +5,25 @@
+ extern "C" {
+ #endif
+-/* for __pure__ if we are compiling under dietlibc */
++/* for ATTR_PURE if we are compiling under dietlibc */
+ #include <stddef.h>
+-#ifndef __pure__
+-#define __pure__
++#ifndef ATTR_PURE
++#  if defined __has_attribute
++#    if __has_attribute (pure)
++#      define ATTR_PURE __attribute__ ((pure))
++#    endif
++#  endif
++#endif
++#ifndef ATTR_PURE
++#  define ATTR_PURE
+ #endif
+ typedef struct {
+   void *root;
+ } critbit0_tree;
+-int critbit0_contains(critbit0_tree *t, const char *u) __pure__;
++int critbit0_contains(critbit0_tree *t, const char *u) ATTR_PURE;
+ int critbit0_insert(critbit0_tree *t, const char *u);
+ int critbit0_delete(critbit0_tree *t, const char *u);
+ void critbit0_clear(critbit0_tree *t);
+--- a/scan.h
++++ b/scan.h
+@@ -15,8 +15,15 @@
+ extern "C" {
+ #endif
+-#ifndef __pure__
+-#define __pure__
++#ifndef ATTR_PURE
++#  if defined __has_attribute
++#    if __has_attribute (pure)
++#      define ATTR_PURE __attribute__ ((pure))
++#    endif
++#  endif
++#endif
++#ifndef ATTR_PURE
++#  define ATTR_PURE
+ #endif
+ /* This file declared functions used to decode / scan / unmarshal
+@@ -84,18 +91,18 @@ size_t scan_double(const char *in, doubl
+ size_t scan_plusminus(const char *src,signed int *dest);
+ /* return the highest integer n<=limit so that isspace(in[i]) for all 0<=i<=n */
+-size_t scan_whitenskip(const char *in,size_t limit) __pure__;
++size_t scan_whitenskip(const char *in,size_t limit) ATTR_PURE;
+ /* return the highest integer n<=limit so that !isspace(in[i]) for all 0<=i<=n */
+-size_t scan_nonwhitenskip(const char *in,size_t limit) __pure__;
++size_t scan_nonwhitenskip(const char *in,size_t limit) ATTR_PURE;
+ /* return the highest integer n<=limit so that in[i] is element of
+  * charset (ASCIIZ string) for all 0<=i<=n */
+-size_t scan_charsetnskip(const char *in,const char *charset,size_t limit) __pure__;
++size_t scan_charsetnskip(const char *in,const char *charset,size_t limit) ATTR_PURE;
+ /* return the highest integer n<=limit so that in[i] is not element of
+  * charset (ASCIIZ string) for all 0<=i<=n */
+-size_t scan_noncharsetnskip(const char *in,const char *charset,size_t limit) __pure__;
++size_t scan_noncharsetnskip(const char *in,const char *charset,size_t limit) ATTR_PURE;
+ /* try to parse ASCII GMT date; does not understand time zones. */
+ /* example dates:
+@@ -103,17 +110,17 @@ size_t scan_noncharsetnskip(const char *
+  *   "Sunday, 06-Nov-94 08:49:37 GMT"
+  *   "Sun Nov  6 08:49:37 1994"
+  */
+-size_t scan_httpdate(const char *in,time_t *t) __pure__;
++size_t scan_httpdate(const char *in,time_t *t) ATTR_PURE;
+ /* try to parse ASCII ISO-8601 date; does not understand time zones. */
+ /* example date: "2014-05-27T19:22:16Z" */
+-size_t scan_iso8601(const char* in,struct timespec* t) __pure__;
++size_t scan_iso8601(const char* in,struct timespec* t) ATTR_PURE;
+ /* some variable length encodings for integers */
+-size_t scan_utf8(const char* in,size_t len,uint32_t* n) __pure__;
+-size_t scan_utf8_sem(const char* in,size_t len,uint32_t* n) __pure__;
+-size_t scan_asn1derlength(const char* in,size_t len,unsigned long long* n) __pure__;
+-size_t scan_asn1dertag(const char* in,size_t len,unsigned long long* n) __pure__;
++size_t scan_utf8(const char* in,size_t len,uint32_t* n) ATTR_PURE;
++size_t scan_utf8_sem(const char* in,size_t len,uint32_t* n) ATTR_PURE;
++size_t scan_asn1derlength(const char* in,size_t len,unsigned long long* n) ATTR_PURE;
++size_t scan_asn1dertag(const char* in,size_t len,unsigned long long* n) ATTR_PURE;
+ /* Google protocol buffers */
+ /* A protocol buffer is a sequence of (tag,value).
+@@ -122,15 +129,15 @@ size_t scan_asn1dertag(const char* in,si
+  *   0, double type 1, strings type 2 and floats type 5. However, you
+  *   have to check this yourself.
+  */ 
+-size_t scan_varint(const char* in,size_t len, unsigned long long* n) __pure__;        /* internal */
+-size_t scan_pb_tag(const char* in,size_t len, size_t* fieldno,unsigned char* type) __pure__;
++size_t scan_varint(const char* in,size_t len, unsigned long long* n) ATTR_PURE;       /* internal */
++size_t scan_pb_tag(const char* in,size_t len, size_t* fieldno,unsigned char* type) ATTR_PURE;
+ /* Then, depending on the field number, validate the type and call the
+  * corresponding of these functions to parse the value */
+-size_t scan_pb_type0_int(const char* in,size_t len,unsigned long long* l) __pure__;
+-size_t scan_pb_type0_sint(const char* in,size_t len,signed long long* l) __pure__;
+-size_t scan_pb_type1_double(const char* in,size_t len,double* d) __pure__;
+-size_t scan_pb_type1_fixed64(const char* in,size_t len,uint64_t* b) __pure__;
++size_t scan_pb_type0_int(const char* in,size_t len,unsigned long long* l) ATTR_PURE;
++size_t scan_pb_type0_sint(const char* in,size_t len,signed long long* l) ATTR_PURE;
++size_t scan_pb_type1_double(const char* in,size_t len,double* d) ATTR_PURE;
++size_t scan_pb_type1_fixed64(const char* in,size_t len,uint64_t* b) ATTR_PURE;
+ /* NOTE: scan_pb_type2_stringlen only parses the length of the string,
+  * not the string itself. It will return the number of bytes parsed in
+  * the length, then set slen to the value of the length integer it just
+@@ -141,9 +148,9 @@ size_t scan_pb_type1_fixed64(const char*
+  * parsing early without having to read and allocate memory for the rest
+  * (potentially gigabytes) of the data announced by one unreasonable
+  * string length value. */
+-size_t scan_pb_type2_stringlen(const char* in,size_t len,const char** string, size_t* slen) __pure__;
+-size_t scan_pb_type5_float(const char* in,size_t len,float* f) __pure__;
+-size_t scan_pb_type5_fixed32(const char* in,size_t len,uint32_t* b) __pure__;
++size_t scan_pb_type2_stringlen(const char* in,size_t len,const char** string, size_t* slen) ATTR_PURE;
++size_t scan_pb_type5_float(const char* in,size_t len,float* f) ATTR_PURE;
++size_t scan_pb_type5_fixed32(const char* in,size_t len,uint32_t* b) ATTR_PURE;
+ /* parse a netstring, input buffer is in (len bytes).
+  * if parsing is successful:
+@@ -153,7 +160,7 @@ size_t scan_pb_type5_fixed32(const char*
+  *   return 0
+  * Note: *dest will point inside the input buffer!
+  */
+-size_t scan_netstring(const char* in,size_t len,char** dest,size_t* slen) __pure__;
++size_t scan_netstring(const char* in,size_t len,char** dest,size_t* slen) ATTR_PURE;
+ /* internal function that might be useful independently */
+ /* convert from hex ASCII, return 0 to 15 for success or -1 for failure */
+--- a/str.h
++++ b/str.h
+@@ -8,8 +8,15 @@
+ extern "C" {
+ #endif
+-#ifndef __pure__
+-#define __pure__
++#ifndef ATTR_PURE
++#  if defined __has_attribute
++#    if __has_attribute (pure)
++#      define ATTR_PURE __attribute__ ((pure))
++#    endif
++#  endif
++#endif
++#ifndef ATTR_PURE
++#  define ATTR_PURE
+ #endif
+ /* str_copy copies leading bytes from in to out until \0.
+@@ -21,7 +28,7 @@ size_t str_copy(char *out,const char *in
+  * equal to, or greater than the string b[0], b[1], ..., b[m-1]=='\0'.
+  * If the strings are different, str_diff does not read bytes past the
+  * first difference. */
+-int str_diff(const char *a,const char *b) __pure__;
++int str_diff(const char *a,const char *b) ATTR_PURE;
+ /* str_diffn returns negative, 0, or positive, depending on whether the
+  * string a[0], a[1], ..., a[n]=='\0' is lexicographically smaller than,
+@@ -29,24 +36,24 @@ int str_diff(const char *a,const char *b
+  * If the strings are different, str_diffn does not read bytes past the
+  * first difference. The strings will be considered equal if the first
+  * limit characters match. */
+-int str_diffn(const char *a,const char *b,size_t limit) __pure__;
++int str_diffn(const char *a,const char *b,size_t limit) ATTR_PURE;
+ #ifdef __dietlibc__
+ #include <string.h>
+ #define str_len(foo) strlen(foo)
+ #else
+ /* str_len returns the index of \0 in s */
+-size_t str_len(const char *s) __pure__;
++size_t str_len(const char *s) ATTR_PURE;
+ #endif
+ /* str_chr returns the index of the first occurance of needle or \0 in haystack */
+-size_t str_chr(const char *haystack,char needle) __pure__;
++size_t str_chr(const char *haystack,char needle) ATTR_PURE;
+ /* str_rchr returns the index of the last occurance of needle or \0 in haystack */
+-size_t str_rchr(const char *haystack,char needle) __pure__;
++size_t str_rchr(const char *haystack,char needle) ATTR_PURE;
+ /* str_start returns 1 if the b is a prefix of a, 0 otherwise */
+-int str_start(const char *a,const char *b) __pure__;
++int str_start(const char *a,const char *b) ATTR_PURE;
+ /* convenience shortcut to test for string equality */
+ #define str_equal(s,t) (!str_diff((s),(t)))
+--- a/stralloc.h
++++ b/stralloc.h
+@@ -8,8 +8,15 @@
+ extern "C" {
+ #endif
+-#ifndef __pure__
+-#define __pure__
++#ifndef ATTR_PURE
++#  if defined __has_attribute
++#    if __has_attribute (pure)
++#      define ATTR_PURE __attribute__ ((pure))
++#    endif
++#  endif
++#endif
++#ifndef ATTR_PURE
++#  define ATTR_PURE
+ #endif
+ /* stralloc is the internal data structure all functions are working on.
+@@ -101,17 +108,17 @@ static inline int stralloc_APPEND(strall
+ /* stralloc_starts returns 1 if the \0-terminated string in "in", without
+  * the terminating \0, is a prefix of the string stored in sa. Otherwise
+  * it returns 0. sa must already be allocated. */
+-int stralloc_starts(stralloc* sa,const char* in) __pure__;
++int stralloc_starts(stralloc* sa,const char* in) ATTR_PURE;
+ /* stralloc_diff returns negative, 0, or positive, depending on whether
+  * a is lexicographically smaller than, equal to, or greater than the
+  * string b. */
+-int stralloc_diff(const stralloc* a,const stralloc* b) __pure__;
++int stralloc_diff(const stralloc* a,const stralloc* b) ATTR_PURE;
+ /* stralloc_diffs returns negative, 0, or positive, depending on whether
+  * a is lexicographically smaller than, equal to, or greater than the
+  * string b[0], b[1], ..., b[n]=='\0'. */
+-int stralloc_diffs(const stralloc* a,const char* b) __pure__;
++int stralloc_diffs(const stralloc* a,const char* b) ATTR_PURE;
+ #define stralloc_equal(a,b) (!stralloc_diff((a),(b)))
+ #define stralloc_equals(a,b) (!stralloc_diffs((a),(b)))
diff --git a/libs/libsoup3/Makefile b/libs/libsoup3/Makefile
new file mode 100644 (file)
index 0000000..5b071fd
--- /dev/null
@@ -0,0 +1,75 @@
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=libsoup3
+PKG_VERSION:=3.0.6
+PKG_RELEASE:=$(AUTORELEASE)
+
+PKG_SOURCE:=libsoup-$(PKG_VERSION).tar.xz
+PKG_SOURCE_URL:=@GNOME/libsoup/3.0
+PKG_HASH:=b45d59f840b9acf9bb45fd45854e3ef672f57e3ab957401c3ad8d7502ac23da6
+PKG_BUILD_DIR:=$(BUILD_DIR)/libsoup-$(PKG_VERSION)
+
+PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org>
+PKG_LICENSE:=LGPL-2.1-or-later
+PKG_LICENSE_FILES:=COPYING
+PKG_CPE_ID:=cpe:/a:gnome:libsoup
+
+PKG_BUILD_DEPENDS:=glib2/host
+
+include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/nls.mk
+include $(INCLUDE_DIR)/meson.mk
+
+define Package/libsoup3
+  SECTION:=libs
+  CATEGORY:=Libraries
+  TITLE:=libsoup3
+  URL:=https://wiki.gnome.org/Projects/libsoup
+  DEPENDS:=+glib2 +libxml2 +libgnutls +libsqlite3 +libpsl +libnghttp2
+endef
+
+MESON_ARGS += \
+       -Dgssapi=disabled \
+       -Dntlm=disabled \
+       -Dbrotli=disabled \
+       -Dtls_check=false \
+       -Dintrospection=disabled \
+       -Dvapi=disabled \
+       -Dgtk_doc=false \
+       -Dtests=false \
+       -Dinstalled_tests=false \
+       -Dsysprof=disabled
+
+define package/libsoup3/decription
+Libsoup is an HTTP library implementation in C
+endef
+
+define Build/InstallDev
+       $(INSTALL_DIR) $(1)/usr/{lib/pkgconfig,include/libsoup-3.0/libsoup}
+
+       $(CP) \
+               $(PKG_INSTALL_DIR)/usr/lib/libsoup-3.0.so* \
+               $(1)/usr/lib/
+
+       $(INSTALL_DATA) \
+               $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/* \
+               $(1)/usr/lib/pkgconfig/
+
+       $(INSTALL_DATA) \
+               $(PKG_INSTALL_DIR)/usr/include/libsoup-3.0/libsoup/*.h \
+               $(1)/usr/include/libsoup-3.0/libsoup/
+endef
+
+define Package/libsoup3/install
+       $(INSTALL_DIR) $(1)/usr/lib
+       $(CP) \
+               $(PKG_INSTALL_DIR)/usr/lib/libsoup-3.0.* \
+               $(1)/usr/lib/
+endef
+
+$(eval $(call BuildPackage,libsoup3))
index 779dc175968cb94aad1a113fddc9c2d5883e54ee..bc4a9a877142cadd691566663efe7845c4a67946 100644 (file)
@@ -9,7 +9,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=bind
-PKG_VERSION:=9.18.4
+PKG_VERSION:=9.18.7
 PKG_RELEASE:=$(AUTORELEASE)
 USERID:=bind=57:bind=57
 
@@ -22,7 +22,7 @@ PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:= \
        https://www.mirrorservice.org/sites/ftp.isc.org/isc/bind9/$(PKG_VERSION) \
        https://ftp.isc.org/isc/bind9/$(PKG_VERSION)
-PKG_HASH:=f277ae50159a00c300eb926a9c5d51953038a936bd8242d6913dfb6eac42761d
+PKG_HASH:=9e2acf1698f49d70ad12ffbad39ec6716a7da524e9ebd98429c7c70ba1262981
 
 PKG_FIXUP:=autoreconf
 PKG_REMOVE_FILES:=aclocal.m4 libtool.m4
index 5d778093b3fbbfd51bb1cfce107a3edd3b26a49b..4d869cf6f5276295c4c2d186c13d7f0b1ffe21be 100644 (file)
@@ -5,12 +5,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=dnslookup
-PKG_VERSION:=1.7.3
+PKG_VERSION:=1.8.0
 PKG_RELEASE:=$(AUTORELEASE)
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/ameshkov/dnslookup/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=c63d2dc8c357045e28f29ec716e3c20e39a2c1be4dc4313c6c2ab62838e5e2db
+PKG_HASH:=8358291240a27f20f4d635f9a27a9373144b723c4d73ee01374a9ed5c02126bd
 
 PKG_MAINTAINER:=Tianling Shen <cnsztl@immortalwrt.org>
 PKG_LICENSE:=MIT
index 93115ea52b1690bdd07f7f5651120729103b7b3d..058ab7a0cc8fc6bada9afc2997607fd83e5c3765 100644 (file)
@@ -5,12 +5,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=dnsproxy
-PKG_VERSION:=0.44.0
+PKG_VERSION:=0.45.0
 PKG_RELEASE:=$(AUTORELEASE)
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/AdguardTeam/dnsproxy/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=a9617296fe668296d121baa266bd6beba5582834fce3bf9375d084de683cd664
+PKG_HASH:=58d8ba7dc5947e96ba2e0790c5b3be9e8ec2909eb4e51e7652027a8b4b4a6ad1
 
 PKG_MAINTAINER:=Tianling Shen <cnsztl@immortalwrt.org>
 PKG_LICENSE:=Apache-2.0
diff --git a/net/gatling/Makefile b/net/gatling/Makefile
new file mode 100644 (file)
index 0000000..15c38fe
--- /dev/null
@@ -0,0 +1,40 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=gatling
+PKG_VERSION:=0.16
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
+PKG_SOURCE_URL:=https://www.fefe.de/gatling/
+PKG_HASH:=5f96438ee201d7f1f6c2e0849ff273b196bdc7493f29a719ce8ed08c8be6365b
+
+PKG_BUILD_DEPENDS:=px5g-mbedtls libowfat
+
+PKG_MAINTAINER:=Martin Hübner <martin.hubner@web.de>
+PKG_LICENSE:=GPL-2.0-only
+PKG_LICENSE_FILES:=LICENSE
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/gatling
+  SECTION:=net
+  CATEGORY:=Network
+  SUBMENU:=Web Servers/Proxies
+  TITLE:=gatling - a high performance web server
+  URL:=https://www.fefe.de/gatling/
+  DEPENDS:=+zlib +libcap +libopenssl
+endef
+
+define Package/gatling/description
+  gatling - a high performance web server
+  with a a rather small binary size but a decent set of extra features
+  like ftp, basic htaccess and basic DoS-Protection.
+  Gatling is particularly good in situations with very high load.
+endef
+
+define Package/gatling/install
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/gatling $(1)/usr/bin/
+endef
+
+$(eval $(call BuildPackage,gatling))
diff --git a/net/gatling/patches/010-decrease_optimisation.patch b/net/gatling/patches/010-decrease_optimisation.patch
new file mode 100644 (file)
index 0000000..8788b07
--- /dev/null
@@ -0,0 +1,25 @@
+gatling: decrease optimisation
+
+When compiling on MIPS-architectures, in -O2 there happen some
+errors on interlinking. Linker will will fail with:
+
+```
+Unsupported jump between ISA modes; consider recompiling with interlinking enabled
+```
+
+Reducing optimisation works around these errors and looks like
+a fairly common solution to this problem.
+https://forum.openwrt.org/t/unsupported-jump-between-isa-modes-consider-recompiling-with-interlinking-enabled/55786
+
+Signed-off-by: Martin Hübner <martin.hubner@web.de>
+--- a/GNUmakefile
++++ b/GNUmakefile
+@@ -47,7 +47,7 @@ ifneq ($(DEBUG),)
+ CFLAGS+=-g -Og
+ LDFLAGS+=-g
+ else
+-CFLAGS+=-O2 -fomit-frame-pointer -I/usr/local/include
++CFLAGS+=-O1 -fomit-frame-pointer -I/usr/local/include
+ LDFLAGS+=-s
+ ifneq ($(DIET),)
+ DIET+=-Os
diff --git a/net/gatling/patches/020-configure_features.patch b/net/gatling/patches/020-configure_features.patch
new file mode 100644 (file)
index 0000000..0a296b3
--- /dev/null
@@ -0,0 +1,30 @@
+gatling: configure features
+
+Disables SMB-support, as only deprecated SMBv1 is supported,
+which most users wouldn't use anyway. Avoids potential
+vulnerabilities.
+
+Activates threaded opening: Thus gatling will open files in
+threads to open kernel I/O scheduling opportunities.
+
+Signed-off-by: Martin Hübner <martin.hubner@web.de>
+--- a/gatling_features.h
++++ b/gatling_features.h
+@@ -7,7 +7,7 @@
+ #define SUPPORT_SERVERSTATUS
+ // #define SUPPORT_DAV
+-#define SUPPORT_SMB
++// #define SUPPORT_SMB
+ #define SUPPORT_FTP
+ #define SUPPORT_PROXY
+ /* #define DEBUG to enable more verbose debug messages for tracking fd
+@@ -36,7 +36,7 @@
+ #define SUPPORT_FALLBACK_REDIR
+ /* open files in threads to open kernel I/O scheduling opportunities */
+-#undef SUPPORT_THREADED_OPEN
++#define SUPPORT_THREADED_OPEN
+ /* try to divine MIME type by looking at content */
+ #define SUPPORT_MIMEMAGIC
diff --git a/net/gatling/test.sh b/net/gatling/test.sh
new file mode 100644 (file)
index 0000000..166afe3
--- /dev/null
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+gatling -h
index 4951f2a6896b613bd048fa96cb25a8ec440f0ce2..9839b229c5ca38a7ee99c9e461159b7a46ef1236 100644 (file)
@@ -5,12 +5,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=gg
-PKG_VERSION:=0.2.9
+PKG_VERSION:=0.2.11
 PKG_RELEASE:=$(AUTORELEASE)
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/mzz2017/gg/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=a500b148c5e0404672062f7c41fe8cd78dd3dc3cc0376e1b8983bca41dd155e8
+PKG_HASH:=8e15f2419570bbe8a9dd8cd524c2641e2c8dcb469dfed1702cb335c85162e34a
 
 PKG_MAINTAINER:=Tianling Shen <cnsztl@immortalwrt.org>
 PKG_LICENSE:=AGPL-3.0-only
diff --git a/net/hping3/Makefile b/net/hping3/Makefile
new file mode 100644 (file)
index 0000000..cbafe7d
--- /dev/null
@@ -0,0 +1,55 @@
+#
+# Copyright (C) 2022 Alexander E. Patrakov
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+# Special thanks to the Debian and Fedora projects for their hping3
+# packaging, elements of which (patches, list of dependencies, etc.) are
+# reused here.
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=hping3
+PKG_SOURCE_DATE:=2014-12-26
+PKG_SOURCE_VERSION:=3547c7691742c6eaa31f8402e0ccbb81387c1b99
+PKG_RELEASE:=1
+
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_URL:=https://github.com/antirez/hping
+PKG_MIRROR_HASH:=0d65eaa8e55ab10025fb2d615eb9567255288b3b9eb66465f54d0e1718bb80ad
+
+PKG_MAINTAINER:=Alexander E. Patrakov <patrakov@gmail.com>
+PKG_LICENSE:=GPL-2.0-only
+
+PKG_INSTALL:=1
+PKG_BUILD_PARALLEL:=1
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/hping3
+       SECTION:=net
+       CATEGORY:=Network
+       TITLE:=Active Network Smashing Tool
+       URL:=https://github.com/antirez/hping
+       DEPENDS:= +libpcap
+endef
+
+define Package/hping3/description
+       hping3 is a network tool able to send custom ICMP/UDP/TCP packets
+       and to display target replies like ping does with ICMP replies. It
+       handles fragmentation and arbitrary packet body and size, and can
+       be used to transfer files under supported protocols. Using hping3,
+       you can test firewall rules, perform (spoofed) port scanning, test
+       network performance using different protocols, do path MTU
+       discovery, perform traceroute-like actions under different
+       protocols, fingerprint remote operating systems, audit TCP/IP
+       stacks, etc. Tcl support is not included.
+endef
+
+define Package/hping3/install
+       $(INSTALL_DIR) $(1)/usr/sbin
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/hping3 $(1)/usr/sbin/
+endef
+
+$(eval $(call BuildPackage,hping3))
diff --git a/net/hping3/patches/011_buildsystem.patch b/net/hping3/patches/011_buildsystem.patch
new file mode 100644 (file)
index 0000000..1be5c3c
--- /dev/null
@@ -0,0 +1,96 @@
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -9,8 +9,8 @@
+ CC= gcc
+ AR=/usr/bin/ar
+ RANLIB=/usr/bin/ranlib
+-CCOPT= -O2 -Wall @PCAP_INCLUDE@ @TCL_INC@ @USE_TCL@
+-DEBUG= -g
++CCOPT= $(CFLAGS) @PCAP_INCLUDE@ @TCL_INC@ @USE_TCL@
++DEBUG=
+ #uncomment the following if you need libpcap based build under linux
+ #(not raccomanded)
+ COMPILE_TIME=
+@@ -50,17 +50,13 @@ libars.a: $(ARSOBJ)
+       $(RANLIB) $@
+ hping3: byteorder.h $(OBJ)
+-      $(CC) -o hping3 $(CCOPT) $(DEBUG) $(OBJ) -L/usr/local/lib $(PCAP) @SOLARISLIB@ @TCL_LIB@
++      $(CC) -o hping3 $(CCOPT) $(DEBUG) $(OBJ) $(PCAP) @SOLARISLIB@ @TCL_LIB@
+       @echo
+-      ./hping3 -v
+       @echo "use \`make strip' to strip hping3 binary"
+       @echo "use \`make install' to install hping3"
+ hping3-static: byteorder.h $(OBJ)
+-      $(CC) -static -o hping3-static $(CCOPT) $(DEBUG) $(OBJ) -L/usr/local/lib $(PCAP) @SOLARISLIB@ @TCL_LIB@ -ldl
+-
+-byteorder.h:
+-      ./configure
++      $(CC) -static -o hping3-static $(CCOPT) $(DEBUG) $(OBJ) $(PCAP) @SOLARISLIB@ @TCL_LIB@ -ldl
+ .c.o:
+       $(CC) -c $(CCOPT) $(DEBUG) $(COMPILE_TIME) $<
+@@ -72,6 +68,8 @@ distclean:
+       rm -rf hping3 *.o byteorder byteorder.h systype.h Makefile libars.a .depend
+ install: hping3
++
++dont-install:
+       cp -f hping3 /usr/sbin/
+       chmod 755 /usr/sbin/hping3
+       ln -s /usr/sbin/hping3 /usr/sbin/hping
+--- /dev/null
++++ b/byteorder.h
+@@ -0,0 +1,15 @@
++
++#ifndef __BYTEORDER_H
++#define __BYTEORDER_H
++
++#if defined(__BYTE_ORDER__)
++      #if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
++              #define __BIG_ENDIAN_BITFIELD
++      #else
++              #define __LITTLE_ENDIAN_BITFIELD
++      #endif
++#else
++      #error Byte order not set
++#endif
++
++#endif /* __BYTEORDER_H */
+--- a/configure
++++ b/configure
+@@ -1,5 +1,24 @@
+ #!/bin/sh
++# This fake configure script applies hard-coded settings for OpenWRT
++
++echo creating Makefile...
++sed   -e "s^@PCAP@^PCAP=-lpcap^g" \
++      -e "s^@PCAP_INCLUDE@^^g" \
++      -e "s^@MANPATH@^/usr/share/man^g" \
++      -e "s^@SOLARISLIB@^^g" \
++      -e "s^@USE_TCL@^^g" \
++      -e "s^@TCL_INC@^^g" \
++      -e "s^@TCL_VER@^^g" \
++      -e "s^@TCL_LIB@^^g" \
++      <Makefile.in > Makefile
++
++echo now you can try \`make\'
++exit 0
++
++# Original file follows, to make the patch smaller
++#!/bin/sh
++
+ show_help()
+ {
+       echo configure help:
+--- /dev/null
++++ b/systype.h
+@@ -0,0 +1,6 @@
++#ifndef __SYSTYPE_H
++#define __SYSTYPE_H
++
++#define OSTYPE_LINUX
++
++#endif /* SYSTYPE_H */
diff --git a/net/hping3/patches/020_pcap_bpf.patch b/net/hping3/patches/020_pcap_bpf.patch
new file mode 100644 (file)
index 0000000..a5b0dec
--- /dev/null
@@ -0,0 +1,22 @@
+--- a/libpcap_stuff.c
++++ b/libpcap_stuff.c
+@@ -16,7 +16,7 @@
+ #include <string.h>
+ #include <stdlib.h>
+ #include <sys/ioctl.h>
+-#include <net/bpf.h>
++#include <pcap-bpf.h>
+ #include <pcap.h>
+ #include "globals.h"
+--- a/script.c
++++ b/script.c
+@@ -23,7 +23,7 @@
+ #include <sched.h>
+ #include <sys/ioctl.h>
+-#include <net/bpf.h>
++#include <pcap-bpf.h>
+ #include <pcap.h>
+ #include "release.h"
diff --git a/net/hping3/patches/040_spelling.patch b/net/hping3/patches/040_spelling.patch
new file mode 100644 (file)
index 0000000..8dcc97f
--- /dev/null
@@ -0,0 +1,37 @@
+Subject: Various spelling fixes.
+Author: Romain Francoise <rfrancoise@debian.org>
+Last-Updated: 2020-09-06
+
+--- a/antigetopt.c
++++ b/antigetopt.c
+@@ -142,7 +142,7 @@ chain_start:
+ #define UNK_LONG_ERRSTRING "unrecognized option `--%s'\n"
+ #define ARG_SHORT_ERRSTRING "option requires an argument -- %c\n"
+ #define ARG_LONG_ERRSTRING "option `--%s' requires an argument\n"
+-#define AMB_ERRSTRING "option `--%s' is ambiguos\n"
++#define AMB_ERRSTRING "option `--%s' is ambiguous\n"
+ #define IERR_ERRSTRING "internal error. ago_gnu_error() called with " \
+                          "a bad error code (%d)\n"
+ void ago_gnu_error(char *pname, int error)
+--- a/statistics.c
++++ b/statistics.c
+@@ -30,7 +30,7 @@ void print_statistics(int signal_id)
+                       lossrate = 100;
+       fprintf(stderr, "\n--- %s hping statistic ---\n", targetname);
+-      fprintf(stderr, "%d packets tramitted, %d packets received, "
++      fprintf(stderr, "%d packets transmitted, %d packets received, "
+                       "%d%% packet loss\n", sent_pkt, recv_pkt, lossrate);
+       if (out_of_sequence_pkt)
+               fprintf(stderr, "%d out of sequence packets received\n",
+--- a/ars.c
++++ b/ars.c
+@@ -361,7 +361,7 @@ void *ars_add_data(struct ars_packet *pk
+       static void *ptr = "zzappt"; /* we can't return NULL for size == 0 */
+       if (size < 0) {
+-              ars_set_error(pkt, "Tryed to add a DATA layer with size < 0");
++              ars_set_error(pkt, "Tried to add a DATA layer with size < 0");
+               return NULL;
+       }
+       retval = ars_add_generic(pkt, size, ARS_TYPE_DATA);
diff --git a/net/hping3/patches/080_ip_id_field.patch b/net/hping3/patches/080_ip_id_field.patch
new file mode 100644 (file)
index 0000000..4558c68
--- /dev/null
@@ -0,0 +1,69 @@
+Subject: Fix "-N" command line argument
+Author: Guillaume Delacour <gui@iroqwa.org>
+Bug-Debian: http://bugs.debian.org/482844
+Last-Update: 2009-05-13
+
+--- a/docs/hping2.8
++++ b/docs/hping2.8
+@@ -343,7 +343,7 @@ options. If in doubt try
+ .I -N --id
+ Set ip->id field. Default id is random but if fragmentation is turned on
+ and id isn't specified it will be
+-.BR "getpid() & 0xFF" ,
++.BR "getpid() & 0xFFFF" ,
+ to implement a better solution is in TODO list.
+ .TP
+ .I -H --ipproto
+@@ -714,4 +714,4 @@ On solaris hping does not work on the lo
+ a solaris problem, as stated in the tcpdump-workers mailing list,
+ so the libpcap can't do nothing to handle it properly.
+ .SH SEE ALSO
+-ping(8), traceroute(8), ifconfig(8), nmap(1)
+\ No newline at end of file
++ping(8), traceroute(8), ifconfig(8), nmap(1)
+--- a/docs/hping3.8
++++ b/docs/hping3.8
+@@ -352,7 +352,7 @@ options. If in doubt try
+ .I -N --id
+ Set ip->id field. Default id is random but if fragmentation is turned on
+ and id isn't specified it will be
+-.BR "getpid() & 0xFF" ,
++.BR "getpid() & 0xFFFF" ,
+ to implement a better solution is in TODO list.
+ .TP
+ .I -H --ipproto
+--- a/hping2.h
++++ b/hping2.h
+@@ -121,7 +121,7 @@
+ #define DEFAULT_ICMP_IP_IHL           (IPHDR_SIZE >> 2)
+ #define       DEFAULT_ICMP_IP_TOS             0
+ #define DEFAULT_ICMP_IP_TOT_LEN               0 /* computed by send_icmp_*() */
+-#define DEFAULT_ICMP_IP_ID            0 /* rand */
++#define DEFAULT_ICMP_IP_ID            -1 /* rand */
+ #define DEFAULT_ICMP_CKSUM            -1 /* -1 means compute the cksum */
+ #define DEFAULT_ICMP_IP_PROTOCOL      6 /* TCP */
+ #define DEFAULT_RAW_IP_PROTOCOL               6 /* TCP */
+--- a/parseoptions.c
++++ b/parseoptions.c
+@@ -468,6 +468,10 @@ int parse_options(int argc, char **argv)
+                       break;
+               case OPT_ICMP_IPID:
+                       icmp_ip_id = strtol(ago_optarg, NULL, 0);
++                      if (icmp_ip_id < 0 || icmp_ip_id > 0xffff) {
++                              fprintf(stderr, "Bad ICMP IP ID, resetting to random.\n");
++                              icmp_ip_id = DEFAULT_ICMP_IP_ID;
++                      }
+                       break;
+               case OPT_ICMP_IPPROTO:
+                       icmp_ip_protocol = strtol(ago_optarg, NULL, 0);
+--- a/sendicmp.c
++++ b/sendicmp.c
+@@ -83,7 +83,7 @@ void send_icmp_echo(void)
+       icmp->type = opt_icmptype;      /* echo replay or echo request */
+       icmp->code = opt_icmpcode;      /* should be indifferent */
+       icmp->checksum = 0;
+-      icmp->un.echo.id = getpid() & 0xffff;
++      icmp->un.echo.id = icmp_ip_id == DEFAULT_ICMP_IP_ID ? getpid() & 0xffff : icmp_ip_id;
+       icmp->un.echo.sequence = _icmp_seq;
+       /* data */
diff --git a/net/hping3/patches/110_dontfrag_offbyone.patch b/net/hping3/patches/110_dontfrag_offbyone.patch
new file mode 100644 (file)
index 0000000..87f2dcb
--- /dev/null
@@ -0,0 +1,16 @@
+Subject: Off-by-one error with --dontfrag
+Author: Christian Mock <cm@coretec.at>
+Bugs-Debian: http://bugs.debian.org/537704
+Last-Update: 2009-09-04
+
+--- a/sendip_handler.c
++++ b/sendip_handler.c
+@@ -19,7 +19,7 @@ void send_ip_handler(char *packet, unsig
+ {
+       ip_optlen = ip_opt_build(ip_opt);
+-      if (!opt_fragment && (size+ip_optlen+20 >= h_if_mtu))
++      if (!opt_fragment && (size+ip_optlen+20 > h_if_mtu))
+       {
+               /* auto-activate fragmentation */
+               virtual_mtu = h_if_mtu-20;
diff --git a/net/hping3/patches/120_rtt_icmp_unreachable.patch b/net/hping3/patches/120_rtt_icmp_unreachable.patch
new file mode 100644 (file)
index 0000000..b71422d
--- /dev/null
@@ -0,0 +1,34 @@
+Subject: Add RTT handling for ICMP destination unreachable packets.
+Author: Baruch Even <baruch@debian.org>
+Bug-Debian: http://bugs.debian.org/248273
+Last-Update: 2009-09-04
+
+--- a/waitpacket.c
++++ b/waitpacket.c
+@@ -229,6 +229,7 @@ int recv_icmp(void *packet, size_t size)
+ {
+       struct myicmphdr icmp;
+       struct myiphdr quoted_ip;
++      struct myudphdr quoted_udp;
+       /* Check if the packet can contain the ICMP header */
+       if (size < ICMPHDR_SIZE) {
+@@ -286,6 +287,18 @@ int recv_icmp(void *packet, size_t size)
+               case 3:
+                       if (!opt_quiet)
+                               log_icmp_unreach(inet_ntoa(src), icmp.code);
++                      if (quoted_ip.protocol == IPPROTO_UDP)
++                      {
++                              int sequence = 0, status;
++                              float ms_delay = 0.0;
++                              unsigned short port;
++
++                              /* Get RTT for UDP packet */
++                              memcpy(&quoted_udp, packet+ICMPHDR_SIZE+(quoted_ip.ihl<<2), sizeof(quoted_udp));
++                              port = ntohs(quoted_udp.uh_sport);
++                              status = rtt(&sequence, port, &ms_delay);
++                              printf("status=%d port=%d seq=%d\n", status, port, sequence);
++                      }
+                       return 1;
+               case 11:
+                       if (opt_traceroute)
diff --git a/net/hping3/patches/130_spelling_error_in_binary.patch b/net/hping3/patches/130_spelling_error_in_binary.patch
new file mode 100644 (file)
index 0000000..fadf41d
--- /dev/null
@@ -0,0 +1,154 @@
+Subject; Fix spelling error in binary (lintian -IE)
+Author: Romain Francoise <rfrancoise@debian.org>
+Last-Update: 2005-03-12
+
+--- a/parseoptions.c
++++ b/parseoptions.c
+@@ -179,7 +179,7 @@ void parse_route(unsigned char *route, u
+                         str[j++] = '/';
+                     break;
+                 }
+-                fprintf(stderr, "invalid IP adress in route\n");
++                fprintf(stderr, "invalid IP address in route\n");
+                 fail_parse_route();
+             case ':':
+                 if ((!i) && j && j < 4)
+--- a/getifname.c
++++ b/getifname.c
+@@ -206,7 +206,7 @@ int get_if_name(void)
+                                 printf("DEBUG: Output interface address: %s\n",
+                                         inet_ntoa(output_if_addr.sin_addr));
+                       /* Put something in saved_ifname in order to tell
+-                         that the output adress is known */
++                         that the output address is known */
+                       saved_ifname[0] = 'X'; saved_ifname[1] = 0;
+                 } else {
+                         fprintf(stderr, "Warning: Unable to guess the output "
+--- a/usage.c
++++ b/usage.c
+@@ -50,7 +50,7 @@ void show_usage(void)
+ "  -r  --rel        relativize id field          (to estimate host traffic)\n"
+ "  -f  --frag       split packets in more frag.  (may pass weak acl)\n"
+ "  -x  --morefrag   set more fragments flag\n"
+-"  -y  --dontfrag   set dont fragment flag\n"
++"  -y  --dontfrag   set don't fragment flag\n"
+ "  -g  --fragoff    set the fragment offset\n"
+ "  -m  --mtu        set virtual mtu, implies --frag if packet size > mtu\n"
+ "  -o  --tos        type of service (default 0x00), try --tos help\n"
+@@ -131,8 +131,8 @@ void icmp_help(void)
+ "ICMP help:\n"
+ " ICMP concerned packet options:\n"
+ "  --icmp-ipver     set ip version               ( default 4 )\n"
+-"  --icmp-iphlen    set ip header lenght         ( default IPHDR_SIZE >> 2)\n"
+-"  --icmp-iplen     set ip total lengtht         ( default real lenght )\n"
++"  --icmp-iphlen    set ip header length         ( default IPHDR_SIZE >> 2)\n"
++"  --icmp-iplen     set ip total length          ( default real length )\n"
+ "  --icmp-ipid      set ip id                    ( default random )\n"
+ "  --icmp-ipproto   set ip protocol              ( default IPPROTO_TCP )\n"
+ "  --icmp-ipsrc     set ip source                ( default 0.0.0.0 )\n"
+--- a/sendtcp.c
++++ b/sendtcp.c
+@@ -50,7 +50,7 @@ void send_tcp(void)
+       memcpy(&pseudoheader->saddr, &local.sin_addr.s_addr, 4);
+       memcpy(&pseudoheader->daddr, &remote.sin_addr.s_addr, 4);
+       pseudoheader->protocol          = 6; /* tcp */
+-      pseudoheader->lenght            = htons(TCPHDR_SIZE+tcp_opt_size+data_size);
++      pseudoheader->length            = htons(TCPHDR_SIZE+tcp_opt_size+data_size);
+       /* tcp header */
+       tcp->th_dport   = htons(dst_port);
+--- a/sendudp.c
++++ b/sendudp.c
+@@ -46,7 +46,7 @@ void send_udp(void)
+       memcpy(&pseudoheader->saddr, &local.sin_addr.s_addr, 4);
+       memcpy(&pseudoheader->daddr, &remote.sin_addr.s_addr, 4);
+       pseudoheader->protocol          = 17; /* udp */
+-      pseudoheader->lenght            = htons(packet_size);
++      pseudoheader->length            = htons(packet_size);
+       /* udp header */
+       udp->uh_dport   = htons(dst_port);
+--- a/sendicmp.c
++++ b/sendicmp.c
+@@ -243,7 +243,7 @@ void send_icmp_other(void)
+       memcpy(&pseudoheader->saddr, &icmp_ip_src.sin_addr.s_addr, 4);
+       memcpy(&pseudoheader->daddr, &icmp_ip_dst.sin_addr.s_addr, 4);
+       pseudoheader->protocol = icmp_ip.protocol;
+-      pseudoheader->lenght = icmp_ip.tot_len;
++      pseudoheader->length = icmp_ip.tot_len;
+       icmp_udp->uh_sport = htons(icmp_ip_srcport);
+       icmp_udp->uh_dport = htons(icmp_ip_dstport);
+       icmp_udp->uh_ulen  = htons(UDPHDR_SIZE + udp_data_len);
+--- a/hping2.h
++++ b/hping2.h
+@@ -138,7 +138,7 @@
+       
+ /* fragmentation defines */
+ #define MF ((unsigned short)0x2000)   /* more fragments */
+-#define DF ((unsigned short)0x4000)   /* dont fragment */
++#define DF ((unsigned short)0x4000)   /* don't fragment */
+ #define NF ((unsigned short)0x0000)   /* no more fragments */
+ /* ip options defines */
+@@ -341,7 +341,7 @@ struct pseudohdr
+       __u32 daddr;
+       __u8  zero;
+       __u8  protocol;
+-      __u16 lenght;
++      __u16 length;
+ };
+ #define PSEUDOHDR_SIZE sizeof(struct pseudohdr)
+--- a/ars.c
++++ b/ars.c
+@@ -698,7 +698,7 @@ int ars_udptcp_cksum(struct ars_packet *
+       memcpy(&pseudo.daddr, &ip->daddr, 4);
+       pseudo.protocol = (pkt->p_layer[layer].l_type == ARS_TYPE_TCP)
+               ? ARS_IPPROTO_TCP : ARS_IPPROTO_UDP;
+-      pseudo.lenght = htons(ars_relative_size(pkt, layer));
++      pseudo.length = htons(ars_relative_size(pkt, layer));
+       /* Finally do the checksum */
+       ars_multi_cksum(&mc, ARS_MC_INIT, NULL, 0);
+--- a/datahandler.c
++++ b/datahandler.c
+@@ -26,7 +26,7 @@ void data_handler(char *data, int data_s
+       }
+       if (opt_sign) {
+-              memcpy(data, sign, signlen); /* lenght pre-checked */
++              memcpy(data, sign, signlen); /* length pre-checked */
+               data+=signlen;
+               data_size-=signlen;
+       }
+--- a/ars.h
++++ b/ars.h
+@@ -67,7 +67,7 @@
+ #define ARS_MAX_IP_SIZE               65535
+ #define ARS_IP_MF ((unsigned short)0x2000)    /* more fragments */
+-#define ARS_IP_DF ((unsigned short)0x4000)    /* dont fragment */
++#define ARS_IP_DF ((unsigned short)0x4000)    /* don't fragment */
+ #define ARS_IP_RF ((unsigned short)0x8000)    /* reserved fragment flag */
+ #define ARS_IPOPT_COPY                0x80
+@@ -308,7 +308,7 @@ struct ars_pseudohdr
+       __u32 daddr;
+       __u8  zero;
+       __u8  protocol;
+-      __u16 lenght;
++      __u16 length;
+ };
+ /* The IGRP header structure */
+--- a/sendip_handler.c
++++ b/sendip_handler.c
+@@ -35,7 +35,7 @@ void send_ip_handler(char *packet, unsig
+               unsigned short fragment_flag = 0;
+               if (opt_mf) fragment_flag |= MF; /* more fragments */
+-              if (opt_df) fragment_flag |= DF; /* dont fragment */
++              if (opt_df) fragment_flag |= DF; /* don't fragment */
+               send_ip((char*)&local.sin_addr,
+                       (char*)&remote.sin_addr,
+                       packet, size, fragment_flag, ip_frag_offset,
diff --git a/net/hping3/patches/140_data_size_udp.patch b/net/hping3/patches/140_data_size_udp.patch
new file mode 100644 (file)
index 0000000..6f07b0d
--- /dev/null
@@ -0,0 +1,22 @@
+Subject: Fix incorrect data size check for UDP.
+Author: Luca Bigliardi <shammash@artha.org>
+Bug-Debian; http://bugs.debian.org/546590
+Last-Update: 2009-09-19
+
+--- a/parseoptions.c
++++ b/parseoptions.c
+@@ -606,9 +606,12 @@ int parse_options(int argc, char **argv)
+       if (opt_numeric == TRUE) opt_gethost = FALSE;
+       /* some error condition */
+-      if (data_size+IPHDR_SIZE+TCPHDR_SIZE > 65535) {
++      if (data_size+IPHDR_SIZE+
++          (opt_udpmode?UDPHDR_SIZE:TCPHDR_SIZE) > 65535) {
+               printf("Option error: sorry, data size must be <= %lu\n",
+-                      (unsigned long)(65535-IPHDR_SIZE+TCPHDR_SIZE));
++                      (unsigned long)(65535-(IPHDR_SIZE+
++                                      (opt_udpmode?UDPHDR_SIZE:TCPHDR_SIZE)))
++                                     );
+               exit(1);
+       }
+       else if (count <= 0 && count != -1) {
diff --git a/net/hping3/patches/160_tcp_mss.patch b/net/hping3/patches/160_tcp_mss.patch
new file mode 100644 (file)
index 0000000..cf0da81
--- /dev/null
@@ -0,0 +1,183 @@
+Subject: Add tcp-mss support.
+Origin: http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/net/hping/patches/
+Bug-Debian: http://bugs.debian.org/409391
+Last-Update: 2009-09-19
+
+--- a/main.c
++++ b/main.c
+@@ -44,7 +44,8 @@ unsigned int
+       signlen,
+       lsr_length = 0,
+       ssr_length = 0,
+-      tcp_ack;
++      tcp_ack,
++      tcp_mss;
+ unsigned short int
+@@ -95,6 +96,7 @@ int
+       opt_tcpexitcode = FALSE,
+       opt_badcksum    = FALSE,
+       opt_tr_keep_ttl = FALSE,
++      opt_tcp_mss     = FALSE,
+       opt_tcp_timestamp = FALSE,
+         opt_clock_skew  = FALSE,
+         cs_window       = DEFAULT_CS_WINDOW,
+--- a/globals.h
++++ b/globals.h
+@@ -32,7 +32,8 @@ extern unsigned int
+               tcp_seqnum,
+               set_ack,
+               ip_header_length,
+-              tcp_ack;
++              tcp_ack,
++              tcp_mss;
+ extern unsigned short int
+               data_size;
+@@ -77,6 +78,7 @@ extern int   opt_debug,
+               opt_tcpexitcode,
+               opt_badcksum,
+               opt_tr_keep_ttl,
++              opt_tcp_mss,
+               opt_tcp_timestamp,
+                 opt_clock_skew,
+                 cs_window,
+--- a/parseoptions.c
++++ b/parseoptions.c
+@@ -31,7 +31,7 @@ enum {       OPT_COUNT, OPT_INTERVAL, OPT_NUME
+       OPT_RROUTE, OPT_IPPROTO, OPT_ICMP_IPVER, OPT_ICMP_IPHLEN,
+       OPT_ICMP_IPLEN, OPT_ICMP_IPID, OPT_ICMP_IPPROTO, OPT_ICMP_CKSUM,
+       OPT_ICMP_TS, OPT_ICMP_ADDR, OPT_TCPEXITCODE, OPT_FAST, OPT_TR_KEEP_TTL,
+-      OPT_TCP_TIMESTAMP, OPT_TR_STOP, OPT_TR_NO_RTT, OPT_ICMP_HELP,
++      OPT_TCP_TIMESTAMP, OPT_TCP_MSS, OPT_TR_STOP, OPT_TR_NO_RTT, OPT_ICMP_HELP,
+       OPT_RAND_DEST, OPT_RAND_SOURCE, OPT_LSRR, OPT_SSRR, OPT_ROUTE_HELP,
+       OPT_ICMP_IPSRC, OPT_ICMP_IPDST, OPT_ICMP_SRCPORT, OPT_ICMP_DSTPORT,
+       OPT_ICMP_GW, OPT_FORCE_ICMP, OPT_APD_SEND, OPT_SCAN, OPT_FASTER,
+@@ -125,6 +125,7 @@ static struct ago_optlist hping_optlist[
+       { '\0', "force-icmp",   OPT_FORCE_ICMP,         AGO_NOARG },
+       { '\0', "beep",         OPT_BEEP,               AGO_NOARG },
+       { '\0', "flood",        OPT_FLOOD,              AGO_NOARG },
++      { '\0', "tcp-mss",      OPT_TCP_MSS,            AGO_NEEDARG|AGO_EXCEPT0 },
+       { '\0', "clock-skew",   OPT_CLOCK_SKEW,         AGO_NOARG },
+       { '\0', "clock-skew-win", OPT_CS_WINDOW,        AGO_NEEDARG},
+       { '\0', "clock-skew-win-shift", OPT_CS_WINDOW_SHIFT,    AGO_NEEDARG},
+@@ -561,6 +562,10 @@ int parse_options(int argc, char **argv)
+               case OPT_FLOOD:
+                       opt_flood = TRUE;
+                       break;
++              case OPT_TCP_MSS:
++                      opt_tcp_mss = TRUE;
++                      tcp_mss = strtoul(ago_optarg, NULL, 0);
++                      break;
+                 case OPT_CLOCK_SKEW:
+                       opt_tcp_timestamp = TRUE;
+                         opt_clock_skew = TRUE;
+--- a/usage.c
++++ b/usage.c
+@@ -87,6 +87,7 @@ void show_usage(void)
+ "  -X  --xmas       set X unused flag (0x40)\n"
+ "  -Y  --ymas       set Y unused flag (0x80)\n"
+ "  --tcpexitcode    use last tcp->th_flags as exit code\n"
++"  --tcp-mss        enable the TCP MSS option with the given value\n"
+ "  --tcp-timestamp  enable the TCP timestamp option to guess the HZ/uptime\n"
+ "Clock skew detection\n"
+ "  --clock-skew     enable clock skew detection. Try with -S against open port\n"
+--- a/sendtcp.c
++++ b/sendtcp.c
+@@ -28,10 +28,12 @@ void send_tcp(void)
+       char                    *packet, *data;
+       struct mytcphdr         *tcp;
+       struct pseudohdr        *pseudoheader;
+-      unsigned char           *tstamp;
++      unsigned char           *opts;
++      if (opt_tcp_mss)
++              tcp_opt_size += 4;
+       if (opt_tcp_timestamp)
+-              tcp_opt_size = 12;
++              tcp_opt_size += 12;
+       packet_size = TCPHDR_SIZE + tcp_opt_size + data_size;
+       packet = malloc(PSEUDOHDR_SIZE + packet_size);
+@@ -41,7 +43,7 @@ void send_tcp(void)
+       }
+       pseudoheader = (struct pseudohdr*) packet;
+       tcp =  (struct mytcphdr*) (packet+PSEUDOHDR_SIZE);
+-      tstamp = (unsigned char*) (packet+PSEUDOHDR_SIZE+TCPHDR_SIZE);
++      opts = (unsigned char*) (packet+PSEUDOHDR_SIZE+TCPHDR_SIZE);
+       data = (char*) (packet+PSEUDOHDR_SIZE+TCPHDR_SIZE+tcp_opt_size);
+       
+       memset(packet, 0, PSEUDOHDR_SIZE+packet_size);
+@@ -64,14 +66,24 @@ void send_tcp(void)
+       tcp->th_win     = htons(src_winsize);
+       tcp->th_flags   = tcp_th_flags;
++      /* tcp MSS option */
++      if (opt_tcp_mss) {
++              opts[0] = 2;
++              opts[1] = 4;  /* 4 bytes, kind+len+MSS */
++              opts[2] = tcp_mss >> 8;
++              opts[3] = tcp_mss & 0xff;
++              opts += 4;
++      }
++
+       /* tcp timestamp option */
+       if (opt_tcp_timestamp) {
+               __u32 randts = rand() ^ (rand() << 16);
+-              tstamp[0] = tstamp[1] = 1; /* NOOP */
+-              tstamp[2] = 8;
+-              tstamp[3] = 10; /* 10 bytes, kind+len+T1+T2 */
+-              memcpy(tstamp+4, &randts, 4); /* random */
+-              memset(tstamp+8, 0, 4); /* zero */
++              opts[0] = opts[1] = 1; /* NOOP */
++              opts[2] = 8;
++              opts[3] = 10; /* 10 bytes, kind+len+T1+T2 */
++              memcpy(opts+4, &randts, 4); /* random */
++              memset(opts+8, 0, 4); /* zero */
++              opts += 12;
+       }
+       /* data */
+--- a/docs/hping3.8
++++ b/docs/hping3.8
+@@ -98,6 +98,8 @@ hping2 \- send (almost) arbitrary TCP/IP
+ ] [
+ .B \-\-tcpexitcode
+ ] [
++.B \-\-tcp-mss
++] [
+ .B \-\-tcp-timestamp
+ ] [
+ .B \-\-tr-stop
+@@ -510,6 +512,9 @@ numbers are predictable.
+ .I -b --badcksum
+ Send packets with a bad UDP/TCP checksum.
+ .TP
++.I --tcp-mss
++Enable the TCP MSS option and set it to the given value.
++.TP
+ .I --tcp-timestamp
+ Enable the TCP timestamp option, and try to guess the timestamp update
+ frequency and the remote system uptime.
+--- a/docs/french/hping2-fr.8
++++ b/docs/french/hping2-fr.8
+@@ -99,6 +99,8 @@ hping2 \- envoie des paquets TCP/IP (pre
+ ] [
+ .B \-\-tcpexitcode
+ ] [
++.B \-\-tcp-mss
++] [
+ .B \-\-tcp-timestamp
+ ] [
+ .B \-\-tr-stop
+@@ -538,6 +540,9 @@ pouvez le voir les numéros de séquence d
+ .I -b --badcksum
+ Envoie des paquets avec une mauvaise somme de contrôle UDP/TCP
+ .TP
++.I --tcp-mss
++Active l'option TCP MSS et la fixe avec la valeur donnée.
++.TP
+ .I --tcp-timestamp
+ Active l'option TCP timestamp, et essaye de deviner la fréquence de mise Ã 
+ jour du timestamp et l'uptime du système distant.
diff --git a/net/hping3/patches/190_ip_optlen_conflicting_types.patch b/net/hping3/patches/190_ip_optlen_conflicting_types.patch
new file mode 100644 (file)
index 0000000..691858e
--- /dev/null
@@ -0,0 +1,19 @@
+Author: Michael Tautschnig <mt@debian.org>
+Subject:  Conflicting types for variable ip_optlen
+ - globals.h: extern char ip_optlen;
+ - main.c: unsigned ip_optlen;
+ Undefined behaviour if the value of ip_optlen exceeds 127 for
+ any architecture with signed char type.
+Bug-Debian: https://bugs.debian.org/688458
+
+--- a/main.c
++++ b/main.c
+@@ -156,7 +156,7 @@ unsigned char
+       lsr             [255] = {0},
+       ssr             [255] = {0};
+-unsigned
++char
+       ip_optlen       = 0;
+ struct sockaddr_in
diff --git a/net/hping3/patches/191_fix_ftbfs_with_gcc10.patch b/net/hping3/patches/191_fix_ftbfs_with_gcc10.patch
new file mode 100644 (file)
index 0000000..49b6d4a
--- /dev/null
@@ -0,0 +1,14 @@
+Description: Fixes declaration of global variable
+Author: Marcio de Souza Oliveira <marciosouza@debian.org>
+Last-Update: 2020-09-02
+--- a/hping2.h
++++ b/hping2.h
+@@ -357,7 +357,7 @@ struct delaytable_element {
+       int status;
+ };
+-volatile struct delaytable_element delaytable[TABLESIZE];
++extern volatile struct delaytable_element delaytable[TABLESIZE];
+ /* protos */
+ void  nop(void);                              /* nop */
diff --git a/net/hping3/patches/fix_icmp_ipid.patch b/net/hping3/patches/fix_icmp_ipid.patch
new file mode 100644 (file)
index 0000000..6fba71d
--- /dev/null
@@ -0,0 +1,15 @@
+Description: Fixes replies when icmp-ipid is used
+Author: David Eisner <deisner@gmail.com>
+Last-Update: 2015-12-18
+--- a/waitpacket.c
++++ b/waitpacket.c
+@@ -244,7 +244,8 @@ int recv_icmp(void *packet, size_t size)
+       if ((icmp.type == ICMP_ECHOREPLY  ||
+            icmp.type == ICMP_TIMESTAMPREPLY ||
+            icmp.type == ICMP_ADDRESSREPLY) &&
+-              icmp.un.echo.id == (getpid() & 0xffff))
++              icmp.un.echo.id == ((icmp_ip_id == DEFAULT_ICMP_IP_ID) ?
++                      getpid() & 0xffff : icmp_ip_id) )
+       {
+               int icmp_seq = icmp.un.echo.sequence;
+               int status;
diff --git a/net/hping3/patches/hping3-getifnamedebug.patch b/net/hping3/patches/hping3-getifnamedebug.patch
new file mode 100644 (file)
index 0000000..6c9e92b
--- /dev/null
@@ -0,0 +1,11 @@
+--- a/getifname.c
++++ b/getifname.c
+@@ -59,7 +59,7 @@ int get_if_name(void)
+                       known_output_if = 1;
+                       if (opt_debug)
+                               printf("DEBUG: Output interface address: %s\n",
+-                                      inet_ntoa(sa.sin_addr));
++                                      inet_ntoa(output_if_addr.sin_addr));
+               } else {
+                       fprintf(stderr, "Warning: Unable to guess the output "
+                                       "interface\n");
index cb3773762d683ab18098a17c37e466ab8108100f..31cb3654ccbd4ed0c748a6fb5419e987ff81550b 100644 (file)
@@ -10,12 +10,12 @@ PKG_RELRO_FULL:=0
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=knot-resolver
-PKG_VERSION:=5.5.1
+PKG_VERSION:=5.5.3
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=https://secure.nic.cz/files/knot-resolver
-PKG_HASH:=9bad1edfd6631446da2d2331bd869887d7fe502f6eeaf62b2e43e2c113f02b6d
+PKG_HASH:=a38f57c68b7d237d662784d8406e6098aad66a148f44dcf498d1e9664c5fed2d
 
 PKG_MAINTAINER:=Jan Pavlinec <jan.pavlinec1@gmail.com>
 PKG_LICENSE:=GPL-3.0-later
index 890c4a027590cadc2b34278a45e5a8ed7939f9a8..4168226461a131a781ca2a6568f36f0a644b726f 100644 (file)
@@ -1,5 +1,5 @@
 This is just workaround. It should be removed after proper fixing in upstream.
-Patch fixes problem with lmdb pkg config. It also adds workaround for get_option
+Patch fixes problem with lmdb pkg confing. It also adds workaround for get_option
 which is now not propagated in OpenWrt meson host package.
 --- a/meson.build
 +++ b/meson.build
index 70c6f81b064e68ba29cff47249f4dea0fb5e51eb..cbc2ce370611465cb401afdd54ad1a8f1d7d4621 100644 (file)
@@ -2,7 +2,7 @@ This patch fixes the problem with forwarding in knot-resolver v4.3.0.
 It reintroduces a fix which enables  policy related hack (knot/knot-resolver#205 (comment 94566) )
 --- a/modules/policy/policy.lua
 +++ b/modules/policy/policy.lua
-@@ -1098,7 +1098,7 @@ policy.layer = {
+@@ -1093,7 +1093,7 @@ policy.layer = {
                if bit.band(state, bit.bor(kres.FAIL, kres.DONE)) ~= 0 then return state end
                local qry = req:initial() -- same as :current() but more descriptive
                return policy.evaluate(policy.rules, req, qry, state)
index 570185d4c133312324a31c10b95e9fc15708fcdf..9943969b967f17e637df41c292684fa0848f3dd4 100644 (file)
@@ -8,14 +8,14 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=lighttpd
-PKG_VERSION:=1.4.66
+PKG_VERSION:=1.4.67
 PKG_RELEASE:=1
 # release candidate ~rcX testing; remove for release
-#PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-1.4.66
+#PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-1.4.67
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=https://download.lighttpd.net/lighttpd/releases-1.4.x
-PKG_HASH:=47ac6e60271aa0196e65472d02d019556dc7c6d09df3b65df2c1ab6866348e3b
+PKG_HASH:=7e04d767f51a8d824b32e2483ef2950982920d427d1272ef4667f49d6f89f358
 
 PKG_MAINTAINER:=W. Michael Petullo <mike@flyn.org>
 PKG_LICENSE:=BSD-3-Clause
index 683daf50231595af88096a784b7f960ce8cf83da..d941bc484dd3364a092144dd2d49ba93ac948434 100644 (file)
@@ -1,12 +1,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=mdio-tools
-PKG_RELEASE:=2
+PKG_RELEASE:=1
 
 PKG_SOURCE_URL:=https://github.com/wkz/mdio-tools
 PKG_SOURCE_PROTO:=git
-PKG_SOURCE_VERSION:=1.1.1
-PKG_MIRROR_HASH:=aec5a5d8031de166a5ff38dc5442cfbf5de002b11c0a256ea4a03ae047040d03
+PKG_SOURCE_VERSION:=1.2.0
+PKG_MIRROR_HASH:=396fd48662e0f4182b9c9db6e34d71dafd9e557d5021e8dc28edfc99d6ebc387
 
 PKG_FIXUP:=autoreconf
 
diff --git a/net/mdio-tools/patches/0001-mdio-bench-make-time_t-prints-portable.patch b/net/mdio-tools/patches/0001-mdio-bench-make-time_t-prints-portable.patch
deleted file mode 100644 (file)
index 9030a4d..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-From 7da5b168152987806e295ed3b7e97b77ffa93cb9 Mon Sep 17 00:00:00 2001
-From: Robert Marko <robert.marko@sartura.hr>
-Date: Tue, 7 Jun 2022 13:34:40 +0200
-Subject: [PATCH] mdio: bench: make time_t prints portable
-
-Using %ld to print time_t will work fine on 64 bit platforms, however
-now musl libc defines time_t to be 64 even on 32bit platforms.
-
-This will make the compilation fail with:
-mdio.c: In function 'mdio_common_bench_cb':
-mdio.c:555:27: error: format '%ld' expects argument of type 'long int', but argument 2 has type 'time_t' {aka 'long long int'} [-Werror=format=]
-  555 |                 printf("%ld.%2.2lds\n", end.tv_sec, end.tv_nsec / 10000000);
-      |                         ~~^             ~~~~~~~~~~
-      |                           |                |
-      |                           long int         time_t {aka long long int}
-      |                         %lld
-
-So, replace the %ld in prints with the PRId64 from inttypes.h and cast
-tv_sec and tv_nsec to int64_t.
-
-This makes it compile and work on 32 bit ARMv7 fine.
-
-Signed-off-by: Robert Marko <robert.marko@sartura.hr>
----
- src/mdio/mdio.c | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
---- a/src/mdio/mdio.c
-+++ b/src/mdio/mdio.c
-@@ -552,13 +552,13 @@ int mdio_common_bench_cb(uint32_t *data,
-               printf("Performed 1000 reads in ");
-       if (end.tv_sec)
--              printf("%ld.%2.2lds\n", end.tv_sec, end.tv_nsec / 10000000);
-+              printf("%"PRId64".%2.2"PRId64"s\n", (int64_t)end.tv_sec, (int64_t)end.tv_nsec / 10000000);
-       else if (end.tv_nsec > 1000000)
--              printf("%ldms\n", end.tv_nsec / 1000000);
-+              printf("%"PRId64"ms\n", (int64_t)end.tv_nsec / 1000000);
-       else if (end.tv_nsec > 1000)
--              printf("%ldus\n", end.tv_nsec / 1000);
-+              printf("%"PRId64"us\n", (int64_t)end.tv_nsec / 1000);
-       else
--              printf("%ldns\n", end.tv_nsec);
-+              printf("%"PRId64"ns\n", (int64_t)end.tv_nsec);
-       return err;
- }
index 0d34c985bd014051995b7dfa6ea36d063efc109f..396cc6c86aff95c99931344f44bf0b64adb1c4f8 100644 (file)
@@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=netsniff-ng
 PKG_VERSION:=0.6.8
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/netsniff-ng/netsniff-ng/tar.gz/v$(PKG_VERSION)?
@@ -15,22 +15,43 @@ PKG_LICENSE_FILES:=COPYING
 PKG_USE_MIPS16:=0
 PKG_BUILD_PARALLEL:=1
 
+PKG_CONFIG_DEPENDS:= \
+       CONFIG_PACKAGE_mausezahn \
+       CONFIG_PACKAGE_netsniff-ng
+
 include $(INCLUDE_DIR)/package.mk
 
-define Package/netsniff-ng
+define Package/netsniff-ng/Default
   SECTION:=net
   CATEGORY:=Network
-  DEPENDS:=+libpthread +libpcap +libncurses +zlib +liburcu +libsodium +libnetfilter-conntrack
-  TITLE:=netsniff-ng
+  DEPENDS:=+libpthread +libpcap
   URL:=https://github.com/netsniff-ng/netsniff-ng
 endef
 
+define Package/netsniff-ng
+  $(call Package/netsniff-ng/Default)
+  DEPENDS+=+libncurses +libnetfilter-conntrack +libsodium +liburcu +zlib
+  TITLE:=netsniff-ng
+endef
+
 define Package/netsniff-ng/description
        netsniff-ng is a free, performant Linux network analyzer and
        networking toolkit. If you will, the Swiss army knife for network
        packets.
 endef
 
+define Package/mausezahn
+  $(call Package/netsniff-ng/Default)
+  DEPENDS+=+libcli +libnet-1.2.x
+  TITLE:=mausezahn
+endef
+
+define Package/mausezahn/description
+       Mausezahn is a traffic generator written which allows sending
+       nearly every possible and impossible packet. It is mainly used
+       to test VoIP or multicast networks.
+endef
+
 define Build/Configure
        ( cd $(PKG_BUILD_DIR); \
          CC="$(TARGET_CC)" \
@@ -66,4 +87,10 @@ define Package/netsniff-ng/install
        $(INSTALL_BIN) $(PKG_BUILD_DIR)/curvetun/curvetun $(1)/usr/sbin/
 endef
 
+define Package/mausezahn/install
+       $(INSTALL_DIR) $(1)/usr/sbin
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/mausezahn/mausezahn $(1)/usr/sbin/
+endef
+
 $(eval $(call BuildPackage,netsniff-ng))
+$(eval $(call BuildPackage,mausezahn))
index 8cf160644749b1a6e7df16b1eb7512e29549f114..065069d01976e1d99eab1e4518dbccec7530f9fe 100644 (file)
@@ -1,12 +1,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=pdns-recursor
-PKG_VERSION:=4.7.2
+PKG_VERSION:=4.7.3
 PKG_RELEASE:=$(AUTORELEASE)
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=https://downloads.powerdns.com/releases/
-PKG_HASH:=bdb4190790fe759778d6f0515afbbcc0a28b3e7e1b83c570caaf38419d57820d
+PKG_HASH:=206d766cc8f0189f79d69af64d8d937ecc61a4d13e8ea6594d78fe30e61405f2
 
 PKG_MAINTAINER:=Peter van Dijk <peter.van.dijk@powerdns.com>
 PKG_LICENCE:=GPL-2.0-only
diff --git a/net/snowflake/Makefile b/net/snowflake/Makefile
new file mode 100644 (file)
index 0000000..8471acb
--- /dev/null
@@ -0,0 +1,144 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=snowflake
+PKG_VERSION:=2.3.0
+PKG_RELEASE:=2
+
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_URL=https://git.torproject.org/pluggable-transports/snowflake.git
+PKG_SOURCE_VERSION:=v$(PKG_VERSION)
+PKG_MIRROR_HASH:=e323598c959ea336927bf8dc4a96b02e88de73cb8cf165221465ca2b76cd2c48
+
+PKG_LICENSE:=BSD-3-Clause
+PKG_LICENSE_FILES:=LICENSE
+PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>, Nick Hainke <vincent@systemli.org>
+
+PKG_BUILD_DEPENDS:=golang/host
+PKG_BUILD_PARALLEL:=1
+PKG_USE_MIPS16:=0
+
+GO_PKG:=git.torproject.org/pluggable-transports/snowflake.git/v2
+
+include $(INCLUDE_DIR)/package.mk
+include ../../lang/golang/golang-package.mk
+
+define Package/snowflake/Default
+  TITLE:=Snowflake
+  URL:=https://snowflake.torproject.org/
+  DEPENDS:=$(GO_ARCH_DEPENDS)
+  SECTION:=net
+  CATEGORY:=Network
+  USERID:=snowflake:snowflake
+endef
+
+define Package/snowflake-broker
+$(call Package/snowflake/Default)
+  TITLE+= Broker
+endef
+
+define Package/snowflake-client
+$(call Package/snowflake/Default)
+  TITLE+= Client
+endef
+
+define Package/snowflake-distinctcounter
+$(call Package/snowflake/Default)
+  TITLE+= Distinct Counter
+endef
+
+define Package/snowflake-probetest
+$(call Package/snowflake/Default)
+  TITLE+= Probe test
+endef
+
+define Package/snowflake-proxy
+$(call Package/snowflake/Default)
+  TITLE+= Proxy
+endef
+
+define Package/snowflake-server
+$(call Package/snowflake/Default)
+  TITLE+= Server
+endef
+
+define Package/snowflake/description/Default
+Snowflake is a system that allows people from all over the world to
+access censored websites and applications. Similar to how VPNs assist
+users in getting around Internet censorship, Snowflake helps you avoid
+being noticed by Internet censors by making your Internet activity appear
+as though you're using the Internet for a regular video or voice call.
+endef
+
+define Package/snowflake-broker/description
+$(call Package/snowflake/description/Default)
+
+This package provides the Snowflake broker service.
+endef
+
+define Package/snowflake-client/description
+$(call Package/snowflake/description/Default)
+
+This package contains the Snowflake client which provides the bridge to TOR.
+endef
+
+define Package/snowflake-distinctcounter/description
+$(call Package/snowflake/description/Default)
+
+This package provides the Snowflake distinct counter service.
+endef
+
+define Package/snowflake-probetest/description
+$(call Package/snowflake/description/Default)
+
+This package provides the Snowflake probe test.
+endef
+
+define Package/snowflake-proxy/description
+$(call Package/snowflake/description/Default)
+
+This package provides the standalone Snowflake proxy.
+endef
+
+define Package/snowflake-server/description
+$(call Package/snowflake/description/Default)
+
+This package provides the Snowflake server.
+endef
+
+define Package/snowflake-broker/install
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(INSTALL_BIN) $(GO_PKG_BUILD_BIN_DIR)/broker $(1)/usr/bin/snowflake-broker
+endef
+
+define Package/snowflake-client/install
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(INSTALL_BIN) $(GO_PKG_BUILD_BIN_DIR)/client $(1)/usr/bin/snowflake-client
+endef
+
+define Package/snowflake-distinctcounter/install
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(INSTALL_BIN) $(GO_PKG_BUILD_BIN_DIR)/distinctcounter $(1)/usr/bin/snowflake-distinctcounter
+endef
+
+define Package/snowflake-probetest/install
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(INSTALL_BIN) $(GO_PKG_BUILD_BIN_DIR)/probetest $(1)/usr/bin/snowflake-probetest
+endef
+
+define Package/snowflake-proxy/install
+       $(INSTALL_DIR) $(1)/usr/bin $(1)/etc/init.d
+       $(INSTALL_BIN) $(GO_PKG_BUILD_BIN_DIR)/proxy $(1)/usr/bin/snowflake-proxy
+       $(INSTALL_BIN) ./files/snowflake-proxy.init $(1)/etc/init.d/snowflake-proxy
+endef
+
+define Package/snowflake-server/install
+       $(INSTALL_DIR) $(1)/usr/bin
+       $(INSTALL_BIN) $(GO_PKG_BUILD_BIN_DIR)/server $(1)/usr/bin/snowflake-server
+endef
+
+$(eval $(call BuildPackage,snowflake-broker))
+$(eval $(call BuildPackage,snowflake-client))
+$(eval $(call BuildPackage,snowflake-distinctcounter))
+$(eval $(call BuildPackage,snowflake-probetest))
+$(eval $(call BuildPackage,snowflake-proxy))
+$(eval $(call BuildPackage,snowflake-server))
diff --git a/net/snowflake/files/snowflake-proxy.init b/net/snowflake/files/snowflake-proxy.init
new file mode 100644 (file)
index 0000000..3d8b438
--- /dev/null
@@ -0,0 +1,23 @@
+#!/bin/sh /etc/rc.common
+
+START=99
+
+USE_PROCD=1
+NAME=snowflake-proxy
+PROG=/usr/bin/$NAME
+
+start_service() {
+       procd_open_instance
+       procd_set_param command "$PROG" -verbose
+       procd_set_param stdout 1
+       procd_set_param stderr 1
+       procd_set_param user snowflake
+       procd_set_param group snowflake
+       procd_set_param respawn
+       [ -x /sbin/ujail ] && {
+               procd_add_jail snowflake-proxy ronly
+               procd_add_jail_mount /etc/ssl/certs
+               procd_set_param no_new_privs 1
+       }
+       procd_close_instance
+}
index 79094d0aa2951dc572e76e5255d6b06068f48d6b..e820a104fb4f3a45a0679abcca96e4ab631192d9 100644 (file)
@@ -1,12 +1,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=wifi-presence
-PKG_VERSION:=0.1.2
-PKG_RELEASE:=2
+PKG_VERSION:=0.2.0
+PKG_RELEASE:=1
 
 PKG_SOURCE:=-$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/awilliams/wifi-presence/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=f5cf8bf36e3c17ad4b0486007532030760c22c5f63bd63707d911ab94bd744df
+PKG_HASH:=d3b4f2e33ba423e353ad17a000f67690c7c84b136726e683a9cb24be53889407
 
 PKG_LICENSE:=MIT
 PKG_MAINTAINER:=Adam Williams <pwnfactory@gmail.com>
index 406fe6e4b0655e805dd86c4f8797e1e1c63f1c07..0f4ccc5dba7056b8b1149702438d22e3d7d06aec 100644 (file)
@@ -35,7 +35,12 @@ endef
 
 define Package/open-vm-tools
 $(call Package/open-vm-tools/Default)
-  DEPENDS:=@TARGET_x86 +glib2 +libpthread +libtirpc
+  DEPENDS:=@TARGET_x86 \
+       +glib2 \
+       +libpthread \
+       +libtirpc \
+       +libmspack \
+       +libdnet
   TITLE:=open-vm-tools
   URL:=https://github.com/vmware/open-vm-tools
   MAINTAINER:=Yuhei OKAWA <tochiro.srchack@gmail.com>
@@ -68,10 +73,8 @@ CONFIGURE_ARGS+= \
        --without-pam \
        --disable-grabbitmqproxy \
        --disable-vgauth \
-       --disable-deploypkg \
        --without-root-privileges \
        --without-kernel-modules \
-       --without-dnet \
        --with-tirpc \
        --without-x \
        --without-gtk2 \
@@ -105,11 +108,13 @@ define Package/open-vm-tools/install
 
        $(INSTALL_DIR) $(1)/sbin/
        $(INSTALL_BIN) ./files/shutdown $(1)/sbin/
+       $(INSTALL_BIN) ./files/telinit $(1)/sbin/
 
        $(INSTALL_DIR) $(1)/lib/
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/libguestlib.so* $(1)/lib/
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/libhgfs.so* $(1)/lib/
        $(CP) $(PKG_INSTALL_DIR)/usr/lib/libvmtools.so* $(1)/lib/
+       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libDeployPkg.so* $(1)/lib/
 
        $(INSTALL_DIR) $(1)/usr/lib/open-vm-tools/plugins/common/
        $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/open-vm-tools/plugins/common/libhgfsServer.so $(1)/usr/lib/open-vm-tools/plugins/common/
@@ -120,6 +125,7 @@ define Package/open-vm-tools/install
        $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/open-vm-tools/plugins/vmsvc/libpowerOps.so $(1)/usr/lib/open-vm-tools/plugins/vmsvc/
        $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/open-vm-tools/plugins/vmsvc/libtimeSync.so $(1)/usr/lib/open-vm-tools/plugins/vmsvc/
        $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/open-vm-tools/plugins/vmsvc/libvmbackup.so $(1)/usr/lib/open-vm-tools/plugins/vmsvc/
+       $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/open-vm-tools/plugins/vmsvc/libdeployPkgPlugin.so $(1)/usr/lib/open-vm-tools/plugins/vmsvc/
 
        $(INSTALL_DIR) $(1)/etc/hotplug.d/block/
        $(INSTALL_BIN) ./files/vmware-scsi.hotplug $(1)/etc/hotplug.d/block/80-vmware-scsi
diff --git a/utils/open-vm-tools/files/telinit b/utils/open-vm-tools/files/telinit
new file mode 100644 (file)
index 0000000..3fa1c3c
--- /dev/null
@@ -0,0 +1,4 @@
+#!/bin/sh
+#compatibility script for traditional customization
+
+/sbin/reboot
index f6cae70cc5cc4cf0bb6465a0cb2cafe86364d901..6b8d21ab4900d0d49cc8ac3b0733789b5b843159 100644 (file)
@@ -1,2 +1,9 @@
 [guestinfo]
 disable-perf-mon=1
+
+[logging]
+log=true
+vmtoolsd.level=debug
+vmsvc.level=debug
+vmusr.level=debug
+toolboxcmd.level=debug
index 78f962f3b61f85089fa518e5e68073644efb9b7d..23882d521d3fe6dae86f8be3bcd411933000be69 100644 (file)
@@ -33,6 +33,8 @@ define Package/opendoas/description
  of sudo with a fraction of the codebase.
 endef
 
+CONFIGURE_ARGS += $(if $(CONFIG_BUSYBOX_CONFIG_PAM),--with,--without)-pam
+
 define Package/opendoas/install
        $(INSTALL_DIR) $(1)/usr/bin
        $(CP) $(PKG_INSTALL_DIR)/usr/bin/doas $(1)/usr/bin/
index 545cc294b18b4c15d8e261146ce271f8cad20821..4a62fa6911e39ec8e0c419193e784d32b1e2ebb0 100644 (file)
@@ -3,13 +3,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=poemgr
-PKG_SOURCE_DATE:=2022-03-19
-PKG_SOURCE_VERSION:=77395242f9b3cb6ef003c5ed74f9b5be78404450
+PKG_SOURCE_DATE:=2022-09-20
+PKG_SOURCE_VERSION:=8988247aacdf18013daa7d7931754e338e08b1bd
 PKG_RELEASE:=2
 
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL=https://github.com/blocktrron/poemgr.git
-PKG_MIRROR_HASH:=68034f886af8a4ebfd869af940510f755d660362a6069ac49c1ae6ce16cbd950
+PKG_MIRROR_HASH:=39b355954931299ba5a481d23af7144dad7349354df1b3303836b77fd1fdfbb6
 
 PKG_MAINTAINER:=David Bauer <mail@david-bauer.net>
 PKG_LICENSE:=GPL-2.0-only
index aecbb4988f6c2270e6a96119e2bd3068a095852b..fbdab7bd170174aa9998f863124884c16dd0cbb2 100644 (file)
@@ -9,8 +9,8 @@ PKG_MAINTAINER:=Martin Kennedy <hurricos@gmail.com>
 
 PKG_SOURCE_PROTO:=git
 PKG_SOURCE_URL:=https://github.com/Hurricos/realtek-poe.git
-PKG_SOURCE_VERSION:=382c60e7549948399b4244f7149cf76eaf5f0a7d
-PKG_MIRROR_HASH:=442a01521c9a056e137e010be492ed5be0a39c3b68a2fa0ca0f0dbb765d9c74c
+PKG_SOURCE_VERSION:=39c93d39dd10da77b4fe48bc1d6bdd3c5978f866
+PKG_MIRROR_HASH:=ad9652dda8d77281e4724e0104552e18e521cedd4e24f56b0483cf6c5ee5ff69
 CMAKE_SOURCE_SUBDIR:=src
 
 include $(INCLUDE_DIR)/package.mk
index 565f0f0efaae189af839b06d274be27c4faa32cc..8ca874271f83f0c7b41241ac45dc792b846e3072 100644 (file)
@@ -8,13 +8,13 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=vim
-PKG_VERSION:=8.2
-PKG_RELEASE:=5
-VIMVER:=82
+PKG_VERSION:=9.0
+PKG_RELEASE:=1
+VIMVER:=90
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=http://ftp.vim.org/pub/vim/unix
-PKG_HASH:=f087f821831b4fece16a0461d574ccd55a8279f64d635510a1e10225966ced3b
+PKG_HASH:=a6456bc154999d83d0c20d968ac7ba6e7df0d02f3cb6427fb248660bacfb336e
 PKG_MAINTAINER:=Marko Ratkaj <markoratkaj@gmail.com>
 PKG_CPE_ID:=cpe:/a:vim:vim
 
@@ -120,6 +120,7 @@ CONFIGURE_ARGS += \
        --disable-cscope \
        --disable-gpm \
        --disable-acl \
+       --disable-libsodium \
        --disable-selinux \
        --with-tlib=ncurses \
        --with-compiledby="non-existent-hostname-compiled"
diff --git a/utils/vim/patches/001-support-defining-compilation-date-in-SOURCE_DATE_EPOCH.patch b/utils/vim/patches/001-support-defining-compilation-date-in-SOURCE_DATE_EPOCH.patch
deleted file mode 100644 (file)
index 8e07aca..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-From: James McCoy <jamessan@jamessan.com>
-Date: Thu, 28 Jan 2016 10:55:11 -0500
-Subject: Support defining compilation date in $SOURCE_DATE_EPOCH
-
-There is an ongoing effort[0] to make FOSS software reproducibly
-buildable.  In order to make Vim build reproducibly, it is necessary to
-allow defining the date/time that is part of VIM_VERSION_LONG as part of
-the build process.
-
-This commit enables that by adding support for the SOURCE_DATE_EPOCH
-spec[1].  When the $SOURCE_DATE_EPOCH environment variable is defined,
-it will be used to populate the BUILD_DATE preprocessor define.
-
-If BUILD_DATE is not defined, the existing behavior of relying on the
-preprocessor's __DATE__/__TIME__ symbols will be used.
-
-[0]: https://reproducible-builds.org/
-[1]: https://reproducible-builds.org/specs/source-date-epoch/
----
- src/config.h.in  |  3 +++
- src/configure.ac | 10 ++++++++++
- src/version.c    |  8 ++++++++
- 3 files changed, 21 insertions(+)
-
---- a/src/config.h.in
-+++ b/src/config.h.in
-@@ -30,6 +30,9 @@
- /* Define when __DATE__ " " __TIME__ can be used */
- #undef HAVE_DATE_TIME
-+/* Defined as the date of last modification */
-+#undef BUILD_DATE
-+
- /* Define when __attribute__((unused)) can be used */
- #undef HAVE_ATTRIBUTE_UNUSED
---- a/src/configure.ac
-+++ b/src/configure.ac
-@@ -62,6 +62,16 @@ if test x"$ac_cv_prog_cc_c99" != xno; th
-   fi
- fi
-+dnl If $SOURCE_DATE_EPOCH is present in the environment, use that as the
-+dnl "compiled" timestamp in :version's output.  Attempt to get the formatted
-+dnl date using GNU date syntax, BSD date syntax, and finally falling back to
-+dnl just using the current time.
-+if test -n "$SOURCE_DATE_EPOCH"; then
-+  DATE_FMT="%b %d %Y %H:%M:%S"
-+  BUILD_DATE=$(LC_ALL=C date -u -d "@$SOURCE_DATE_EPOCH" "+$DATE_FMT" 2>/dev/null || LC_ALL=C date -u -r "$SOURCE_DATE_EPOCH" "+$DATE_FMT" 2>/dev/null || LC_ALL=C date -u "+$DATE_FMT")
-+  AC_DEFINE_UNQUOTED(BUILD_DATE, ["$BUILD_DATE"])
-+fi
-+
- dnl Check for the flag that fails if stuff are missing.
- AC_MSG_CHECKING(--enable-fail-if-missing argument)
---- a/src/version.c
-+++ b/src/version.c
-@@ -44,9 +44,13 @@ init_longVersion(void)
-      * VAX C can't concatenate strings in the preprocessor.
-      */
-     strcpy(longVersion, VIM_VERSION_LONG_DATE);
-+#ifdef BUILD_DATE
-+    strcat(longVersion, BUILD_DATE);
-+#else
-     strcat(longVersion, __DATE__);
-     strcat(longVersion, " ");
-     strcat(longVersion, __TIME__);
-+#endif
-     strcat(longVersion, ")");
- }
-@@ -54,7 +58,11 @@ init_longVersion(void)
-     void
- init_longVersion(void)
- {
-+#ifdef BUILD_DATE
-+    char *date_time = BUILD_DATE;
-+#else
-     char *date_time = __DATE__ " " __TIME__;
-+#endif
-     char *msg = _("%s (%s, compiled %s)");
-     size_t len = strlen(msg)
-               + strlen(VIM_VERSION_LONG_ONLY)
index 992f81e6772ae90277662d324013aa223865b8a4..83ec82e1d6f624a42c735a27f40144d6bec1e7c7 100644 (file)
@@ -1,13 +1,10 @@
 --- a/runtime/doc/Makefile
 +++ b/runtime/doc/Makefile
-@@ -323,10 +323,6 @@ all: tags vim.man evim.man vimdiff.man v
+@@ -345,7 +345,6 @@ all: tags vim.man evim.man vimdiff.man v
  # Use Vim to generate the tags file.  Can only be used when Vim has been
  # compiled and installed.  Supports multiple languages.
  vimtags: $(DOCS)
--      @if command -v $(VIMEXE); then \
--          $(VIMEXE) --clean -eX -u doctags.vim >/dev/null && \
--            echo "help tags updated"; \
--        else echo "vim executable $(VIMEXE) not found; help tags not updated"; fi
+-      @$(VIMEXE) --clean -esX -V1 -u doctags.vim
  
  # Use "doctags" to generate the tags file.  Only works for English!
  tags: doctags $(DOCS)
diff --git a/utils/vim/patches/020-macos.patch b/utils/vim/patches/020-macos.patch
deleted file mode 100644 (file)
index a9a3b3d..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-From 5289783e0b07cfc3f92ee933261ca4c4acdca007 Mon Sep 17 00:00:00 2001
-From: Bram Moolenaar <Bram@vim.org>
-Date: Thu, 2 Jul 2020 22:50:37 +0200
-Subject: [PATCH] patch 8.2.1119: configure fails with Xcode 12 beta
-
-Problem:    Configure fails with Xcode 12 beta.
-Solution:   use "return" instead of "exit()". (Nico Weber, closes #6381)
----
- src/auto/configure | 4 ++--
- src/configure.ac   | 4 ++--
- src/version.c      | 2 ++
- 3 files changed, 6 insertions(+), 4 deletions(-)
-
---- a/src/auto/configure
-+++ b/src/auto/configure
-@@ -14005,8 +14005,8 @@ else
- main() {
-   uint32_t nr1 = (uint32_t)-1;
-   uint32_t nr2 = (uint32_t)0xffffffffUL;
--  if (sizeof(uint32_t) != 4 || nr1 != 0xffffffffUL || nr2 + 1 != 0) exit(1);
--  exit(0);
-+  if (sizeof(uint32_t) != 4 || nr1 != 0xffffffffUL || nr2 + 1 != 0) return 1;
-+  return 0;
- }
- _ACEOF
- if ac_fn_c_try_run "$LINENO"; then :
---- a/src/configure.ac
-+++ b/src/configure.ac
-@@ -4129,8 +4129,8 @@ AC_TRY_RUN([
- main() {
-   uint32_t nr1 = (uint32_t)-1;
-   uint32_t nr2 = (uint32_t)0xffffffffUL;
--  if (sizeof(uint32_t) != 4 || nr1 != 0xffffffffUL || nr2 + 1 != 0) exit(1);
--  exit(0);
-+  if (sizeof(uint32_t) != 4 || nr1 != 0xffffffffUL || nr2 + 1 != 0) return 1;
-+  return 0;
- }],
- AC_MSG_RESULT(ok),
- AC_MSG_ERROR([WRONG!  uint32_t not defined correctly.]),
index 5fb7f83fca7b2533559d2ae30950dcdbef405302..28b8f0dd379249b01c204aea0c1bce62bfb643f4 100644 (file)
@@ -9,12 +9,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=xz
-PKG_VERSION:=5.2.5
-PKG_RELEASE:=3
+PKG_VERSION:=5.2.6
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=@SF/lzmautils
-PKG_HASH:=3e1e518ffc912f86608a8cb35e4bd41ad1aec210df2a47aaa1f95e7f5576ef56
+PKG_HASH:=e076ba3439cb7cfc45b908c869f51a8c89f3c9ee9ee982fde28849c015e723a7
 
 PKG_MAINTAINER:=
 PKG_LICENSE:=Public-Domain LGPL-2.1-or-later GPL-2.0-or-later GPL-3.0-or-later
index 02383e7bc422a52b3fc22ecd4e4cac08d49afc99..ed73a0ace9bd0f11d851a37be50f021ee8c7ad53 100644 (file)
@@ -1,12 +1,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=yq
-PKG_VERSION:=4.27.3
+PKG_VERSION:=4.27.5
 PKG_RELEASE:=$(AUTORELEASE)
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://codeload.github.com/mikefarah/yq/tar.gz/v$(PKG_VERSION)?
-PKG_HASH:=21865c7db6f0aa4d019106f8b7bfceb0ca746ca0265f4d61c855edb0ed41b17d
+PKG_HASH:=0b9ed8759c53534978a661786845eb3c6ec425aee15bab4742d1bead73e28150
 
 PKG_MAINTAINER:=Tianling Shen <cnsztl@immortalwrt.org>
 PKG_LICENSE:=MIT