Merge pull request #23463 from mhei/fix-apr
authorMichael Heimpold <mhei@heimpold.de>
Mon, 19 Feb 2024 06:31:02 +0000 (07:31 +0100)
committerGitHub <noreply@github.com>
Mon, 19 Feb 2024 06:31:02 +0000 (07:31 +0100)
apr/subversion: fix subversion build and apache-mod-php8 build regres…

31 files changed:
libs/h2o/Makefile [deleted file]
libs/h2o/patches/100-socket_disable_npn.patch [deleted file]
libs/h2o/patches/200-libh2o-evloop_wslay-link.patch [deleted file]
libs/h2o/patches/300-picotls-chacha-detect.patch [deleted file]
libs/h2o/patches/400-backtrace-detection.patch [deleted file]
libs/h2o/patches/500-openssl.patch [deleted file]
libs/h2o/patches/600-engine.patch [deleted file]
libs/h2o/patches/700-no-mime-map.patch [deleted file]
libs/h2o/patches/800-smaller-write-buffer.patch [deleted file]
libs/h2o/patches/900-cve-2023-44487.patch [deleted file]
libs/h2o/patches/901-bump-soname.patch [deleted file]
libs/libfmt/Makefile
libs/libfmt/patches/010-static.patch [new file with mode: 0644]
libs/openblas/Makefile
multimedia/yt-dlp/Makefile
net/adblock-fast/Makefile
net/adblock-fast/files/etc/init.d/adblock-fast
net/dnsdist/Config.in
net/dnsdist/Makefile
net/haproxy/Makefile
net/haproxy/get-latest-patches.sh
net/unbound/Makefile
net/unbound/patches/010-configure-uname.patch
utils/conmon/Makefile
utils/mariadb/Makefile
utils/mariadb/patches/110-fmt.patch [new file with mode: 0644]
utils/podman/Makefile
utils/podman/patches/010-do-not-build-docs.patch
utils/qemu/Makefile
utils/qemu/patches/0001-configure-allow-disable-fortify_source.patch
utils/qemu/patches/0010-no-tests.patch

diff --git a/libs/h2o/Makefile b/libs/h2o/Makefile
deleted file mode 100644 (file)
index 9ff131d..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-include $(TOPDIR)/rules.mk
-
-PKG_NAME:=h2o
-PKG_VERSION:=2.2.6
-PKG_RELEASE:=15
-
-PKG_SOURCE_URL:=https://codeload.github.com/h2o/h2o/tar.gz/v${PKG_VERSION}?
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_HASH:=f8cbc1b530d85ff098f6efc2c3fdbc5e29baffb30614caac59d5c710f7bda201
-
-PKG_MAINTAINER:=Peter van Dijk <peter.van.dijk@powerdns.com>
-PKG_LICENSE:=MIT
-PKG_LICENSE_FILES:=LICENSE
-
-include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
-
-PKG_BUILD_DEPENDS:=libwslay
-
-CMAKE_OPTIONS += \
-       -DBUILD_SHARED_LIBS=ON \
-       -DWITH_MRUBY=OFF
-
-define Package/libh2o-evloop
-  SECTION:=libs
-  CATEGORY:=Libraries
-  TITLE:=H2O Library compiled with its own event loop
-  URL:=https://h2o.examp1e.net/
-  DEPENDS:=+libopenssl +zlib
-endef
-
-define Package/libh2o
-  SECTION:=libs
-  CATEGORY:=Libraries
-  TITLE:=H2O Library compiled with libuv
-  URL:=https://h2o.examp1e.net/
-  DEPENDS:=+libuv +libopenssl +zlib +libyaml
-endef
-
-define Build/InstallDev
-       $(call Build/InstallDev/cmake,$(1))
-       $(SED) 's,/usr/include,$$$${prefix}/include,g' $(1)/usr/lib/pkgconfig/libh2o-evloop.pc
-       $(SED) 's,/usr/lib,$$$${exec_prefix}/lib,g' $(1)/usr/lib/pkgconfig/libh2o-evloop.pc
-       $(SED) 's,/usr/include,$$$${prefix}/include,g' $(1)/usr/lib/pkgconfig/libh2o.pc
-       $(SED) 's,/usr/lib,$$$${exec_prefix}/lib,g' $(1)/usr/lib/pkgconfig/libh2o.pc
-endef
-
-define Package/libh2o-evloop/install
-       $(INSTALL_DIR) $(1)/usr/lib
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libh2o-evloop.so* $(1)/usr/lib/
-endef
-
-define Package/libh2o/install
-       $(INSTALL_DIR) $(1)/usr/lib
-       $(CP) $(PKG_INSTALL_DIR)/usr/lib/libh2o.so* $(1)/usr/lib/
-endef
-
-$(eval $(call BuildPackage,libh2o-evloop))
-$(eval $(call BuildPackage,libh2o))
diff --git a/libs/h2o/patches/100-socket_disable_npn.patch b/libs/h2o/patches/100-socket_disable_npn.patch
deleted file mode 100644 (file)
index d3f9c71..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
---- a/include/h2o/socket.h
-+++ b/include/h2o/socket.h
-@@ -29,6 +29,7 @@ extern "C" {
- #include <stdint.h>
- #include <sys/socket.h>
- #include <openssl/ssl.h>
-+#include <openssl/opensslconf.h>
- #include "h2o/cache.h"
- #include "h2o/memory.h"
- #include "h2o/openssl_backport.h"
-@@ -44,7 +45,11 @@ extern "C" {
- #if OPENSSL_VERSION_NUMBER >= 0x10002000L
- #define H2O_USE_ALPN 1
-+#ifndef OPENSSL_NO_NEXTPROTONEG
- #define H2O_USE_NPN 1
-+#else
-+#define H2O_USE_NPN 0
-+#endif
- #elif OPENSSL_VERSION_NUMBER >= 0x10001000L
- #define H2O_USE_ALPN 0
- #define H2O_USE_NPN 1
diff --git a/libs/h2o/patches/200-libh2o-evloop_wslay-link.patch b/libs/h2o/patches/200-libh2o-evloop_wslay-link.patch
deleted file mode 100644 (file)
index d15a6b3..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-From f7d5cb83826c7e2b1a3dc618b434d85df130a4d5 Mon Sep 17 00:00:00 2001
-From: James Taylor <james@jtaylor.id.au>
-Date: Tue, 10 Dec 2019 21:58:45 +1100
-Subject: [PATCH] Explicitly link against WSLAY when available
-
-When other libraries attempt to link against libh2o and libh2o-evloop that was
-compiled with libwslay available, there are errors from missing symbols
-associated with code which makes use of the wslay library. To rectify this,
-explicitly link against libwslay during the build process.
-
-Fixes #2105
-
-Signed-off-by: James Taylor <james@jtaylor.id.au>
----
- CMakeLists.txt | 12 ++++++++++--
- 1 file changed, 10 insertions(+), 2 deletions(-)
-
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -386,13 +386,21 @@ SET_TARGET_PROPERTIES(libh2o PROPERTIES
-     OUTPUT_NAME h2o
-     VERSION ${LIBRARY_VERSION}
-     SOVERSION ${LIBRARY_SOVERSION})
--TARGET_LINK_LIBRARIES(libh2o ${LIBUV_LIBRARIES} ${EXTRA_LIBS})
-+IF (WSLAY_FOUND)
-+    TARGET_LINK_LIBRARIES(libh2o ${WSLAY_LIBRARIES} ${LIBUV_LIBRARIES} ${EXTRA_LIBS})
-+ELSE ()
-+    TARGET_LINK_LIBRARIES(libh2o ${LIBUV_LIBRARIES} ${EXTRA_LIBS})
-+ENDIF (WSLAY_FOUND)
- SET_TARGET_PROPERTIES(libh2o-evloop PROPERTIES
-     OUTPUT_NAME h2o-evloop
-     COMPILE_FLAGS "-DH2O_USE_LIBUV=0"
-     VERSION ${LIBRARY_VERSION}
-     SOVERSION ${LIBRARY_SOVERSION})
--TARGET_LINK_LIBRARIES(libh2o-evloop ${EXTRA_LIBS})
-+IF (WSLAY_FOUND)
-+    TARGET_LINK_LIBRARIES(libh2o-evloop ${WSLAY_LIBRARIES} ${EXTRA_LIBS})
-+ELSE ()
-+    TARGET_LINK_LIBRARIES(libh2o-evloop ${EXTRA_LIBS})
-+ENDIF (WSLAY_FOUND)
- IF (OPENSSL_FOUND)
-     TARGET_INCLUDE_DIRECTORIES(libh2o PUBLIC ${OPENSSL_INCLUDE_DIR})
diff --git a/libs/h2o/patches/300-picotls-chacha-detect.patch b/libs/h2o/patches/300-picotls-chacha-detect.patch
deleted file mode 100644 (file)
index 5fc7932..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
---- a/deps/picotls/include/picotls/openssl.h
-+++ b/deps/picotls/include/picotls/openssl.h
-@@ -26,11 +26,14 @@
- #include <openssl/evp.h>
- #include <openssl/hmac.h>
- #include <openssl/x509.h>
-+#include <openssl/opensslconf.h>
- #include "../picotls.h"
- #if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
-+#if !defined(OPENSSL_NO_CHACHA) && !defined(OPENSSL_NO_POLY1305)
- #define PTLS_OPENSSL_HAVE_CHACHA20_POLY1305
- #endif
-+#endif
- extern ptls_key_exchange_algorithm_t ptls_openssl_secp256r1;
- extern ptls_key_exchange_algorithm_t *ptls_openssl_key_exchanges[];
diff --git a/libs/h2o/patches/400-backtrace-detection.patch b/libs/h2o/patches/400-backtrace-detection.patch
deleted file mode 100644 (file)
index d74937f..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-From 03dbd6757d043581b5d250107b6f1cda6ae203a9 Mon Sep 17 00:00:00 2001
-From: Frederik Deweerdt <fdeweerdt@fastly.com>
-Date: Wed, 25 Oct 2017 13:52:28 -0700
-Subject: [PATCH] Autodetect backtrace and backtrace_symbols_fd
-
----
- CMakeLists.txt | 13 +++++++++++++
- src/main.c     | 10 ++++++----
- 2 files changed, 19 insertions(+), 4 deletions(-)
-
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -58,6 +58,19 @@ __sync_add_and_fetch(&a, 1);
- return 0;
- }" ARCH_SUPPORTS_64BIT_ATOMICS)
-+CHECK_C_SOURCE_COMPILES("
-+#include <execinfo.h>
-+int main(void) {
-+void *p[10];
-+int ret = backtrace(p, 10);
-+backtrace_symbols_fd(p, ret, 2);
-+return 0;
-+}" LIBC_HAS_BACKTRACE)
-+
-+IF (LIBC_HAS_BACKTRACE)
-+    ADD_DEFINITIONS("-DLIBC_HAS_BACKTRACE")
-+ENDIF ()
-+
- SET(WITH_BUNDLED_SSL_DEFAULT "ON")
- IF ((NOT UNIX) OR CYGWIN)
-     SET(WITH_BUNDLED_SSL_DEFAULT "OFF")
---- a/src/main.c
-+++ b/src/main.c
-@@ -48,7 +48,7 @@
- #include <openssl/crypto.h>
- #include <openssl/err.h>
- #include <openssl/ssl.h>
--#ifdef __GLIBC__
-+#ifdef LIBC_HAS_BACKTRACE
- #include <execinfo.h>
- #endif
- #if H2O_USE_PICOTLS
-@@ -1436,7 +1436,8 @@ static void on_sigterm(int signo)
-     notify_all_threads();
- }
--#ifdef __GLIBC__
-+#ifdef LIBC_HAS_BACKTRACE
-+
- static int popen_crash_handler(void)
- {
-     char *cmd_fullpath = h2o_configurator_get_cmd_path(conf.crash_handler), *argv[] = {cmd_fullpath, NULL};
-@@ -1488,13 +1489,14 @@ static void on_sigfatal(int signo)
-     raise(signo);
- }
--#endif
-+
-+#endif /* LIBC_HAS_BACKTRACE */
- static void setup_signal_handlers(void)
- {
-     h2o_set_signal_handler(SIGTERM, on_sigterm);
-     h2o_set_signal_handler(SIGPIPE, SIG_IGN);
--#ifdef __GLIBC__
-+#ifdef LIBC_HAS_BACKTRACE
-     if ((crash_handler_fd = popen_crash_handler()) == -1)
-         crash_handler_fd = 2;
-     h2o_set_signal_handler(SIGABRT, on_sigfatal);
diff --git a/libs/h2o/patches/500-openssl.patch b/libs/h2o/patches/500-openssl.patch
deleted file mode 100644 (file)
index 609077e..0000000
+++ /dev/null
@@ -1,96 +0,0 @@
---- a/deps/neverbleed/neverbleed.c
-+++ b/deps/neverbleed/neverbleed.c
-@@ -36,6 +36,7 @@
- #include <sys/types.h>
- #include <sys/uio.h>
- #include <unistd.h>
-+#include <openssl/engine.h>
- #include <openssl/rand.h>
- #include <openssl/ssl.h>
- #include <openssl/rsa.h>
---- a/deps/picotls/lib/openssl.c
-+++ b/deps/picotls/lib/openssl.c
-@@ -36,6 +36,7 @@
- #include <openssl/evp.h>
- #include <openssl/objects.h>
- #include <openssl/rand.h>
-+#include <openssl/rsa.h>
- #include <openssl/x509.h>
- #include <openssl/x509v3.h>
- #include <openssl/x509_vfy.h>
-@@ -941,7 +942,7 @@ int ptls_openssl_encrypt_ticket(ptls_buf
- Exit:
-     if (cctx != NULL)
--        EVP_CIPHER_CTX_cleanup(cctx);
-+        EVP_CIPHER_CTX_reset(cctx);
-     if (hctx != NULL)
-         HMAC_CTX_free(hctx);
-     return ret;
-@@ -1011,7 +1012,7 @@ int ptls_openssl_decrypt_ticket(ptls_buf
- Exit:
-     if (cctx != NULL)
--        EVP_CIPHER_CTX_cleanup(cctx);
-+        EVP_CIPHER_CTX_reset(cctx);
-     if (hctx != NULL)
-         HMAC_CTX_free(hctx);
-     return ret;
---- a/src/main.c
-+++ b/src/main.c
-@@ -45,6 +45,7 @@
- #include <sys/types.h>
- #include <sys/un.h>
- #include <sys/wait.h>
-+#include <openssl/dh.h>
- #include <openssl/crypto.h>
- #include <openssl/err.h>
- #include <openssl/ssl.h>
-@@ -1827,7 +1828,7 @@ static h2o_iovec_t on_extra_status(void
-                                           " \"listeners\": %zu,\n"
-                                           " \"worker-threads\": %zu,\n"
-                                           " \"num-sessions\": %lu",
--                       SSLeay_version(SSLEAY_VERSION), current_time, restart_time, (uint64_t)(now - conf.launch_time), generation,
-+                       OpenSSL_version(OPENSSL_VERSION), current_time, restart_time, (uint64_t)(now - conf.launch_time), generation,
-                        num_connections(0), conf.max_connections, conf.num_listeners, conf.num_threads, num_sessions(0));
-     assert(ret.len < BUFSIZE);
-@@ -2008,7 +2009,7 @@ int main(int argc, char **argv)
-                 break;
-             case 'v':
-                 printf("h2o version " H2O_VERSION "\n");
--                printf("OpenSSL: %s\n", SSLeay_version(SSLEAY_VERSION));
-+                printf("OpenSSL: %s\n", OpenSSL_version(OPENSSL_VERSION));
- #if H2O_USE_MRUBY
-                 printf(
-                     "mruby: YES\n"); /* TODO determine the way to obtain the version of mruby (that is being linked dynamically) */
---- a/src/ssl.c
-+++ b/src/ssl.c
-@@ -911,6 +911,7 @@ void ssl_setup_session_resumption(SSL_CT
- #endif
- }
-+#if OPENSSL_VERSION_NUMBER < 0x1010000fL && !defined(LIBRESSL_VERSION_NUMBER)
- static pthread_mutex_t *mutexes;
- static void lock_callback(int mode, int n, const char *file, int line)
-@@ -937,9 +938,11 @@ static int add_lock_callback(int *num, i
-     return __sync_add_and_fetch(num, amount);
- }
-+#endif
- void init_openssl(void)
- {
-+#if OPENSSL_VERSION_NUMBER < 0x1010000fL && !defined(LIBRESSL_VERSION_NUMBER)
-     int nlocks = CRYPTO_num_locks(), i;
-     mutexes = h2o_mem_alloc(sizeof(*mutexes) * nlocks);
-     for (i = 0; i != nlocks; ++i)
-@@ -953,6 +956,7 @@ void init_openssl(void)
-     SSL_load_error_strings();
-     SSL_library_init();
-     OpenSSL_add_all_algorithms();
-+#endif
-     cache_init_defaults();
- #if H2O_USE_SESSION_TICKETS
diff --git a/libs/h2o/patches/600-engine.patch b/libs/h2o/patches/600-engine.patch
deleted file mode 100644 (file)
index 90f677d..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
---- a/deps/neverbleed/neverbleed.c
-+++ b/deps/neverbleed/neverbleed.c
-@@ -1486,6 +1486,7 @@ int neverbleed_init(neverbleed_t *nb, ch
-     close(pipe_fds[0]);
-     pipe_fds[0] = -1;
-+#ifndef OPENSSL_NO_ENGINE
-     /* setup engine */
-     if ((nb->engine = ENGINE_new()) == NULL || !ENGINE_set_id(nb->engine, "neverbleed") ||
-         !ENGINE_set_name(nb->engine, "privilege separation software engine") || !ENGINE_set_RSA(nb->engine, rsa_method)
-@@ -1497,6 +1498,7 @@ int neverbleed_init(neverbleed_t *nb, ch
-         goto Fail;
-     }
-     ENGINE_add(nb->engine);
-+#endif
-     /* setup thread key */
-     pthread_key_create(&nb->thread_key, dispose_thread_data);
-@@ -1515,7 +1517,9 @@ Fail:
-     if (listen_fd != -1)
-         close(listen_fd);
-     if (nb->engine != NULL) {
-+#ifndef OPENSSL_NO_ENGINE
-         ENGINE_free(nb->engine);
-+#endif
-         nb->engine = NULL;
-     }
-     return -1;
diff --git a/libs/h2o/patches/700-no-mime-map.patch b/libs/h2o/patches/700-no-mime-map.patch
deleted file mode 100644 (file)
index 7fccfa6..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
---- a/lib/core/config.c
-+++ b/lib/core/config.c
-@@ -1,3 +1,4 @@
-+
- /*
-  * Copyright (c) 2014-2016 DeNA Co., Ltd.
-  *
-@@ -37,7 +38,9 @@ static h2o_hostconf_t *create_hostconf(h
-     hostconf->http2.push_preload = 1; /* enabled by default */
-     h2o_config_init_pathconf(&hostconf->fallback_path, globalconf, NULL, globalconf->mimemap);
-     hostconf->mimemap = globalconf->mimemap;
--    h2o_mem_addref_shared(hostconf->mimemap);
-+    if (hostconf->mimemap) {
-+      h2o_mem_addref_shared(hostconf->mimemap);
-+    }
-     return hostconf;
- }
-@@ -54,7 +57,9 @@ static void destroy_hostconf(h2o_hostcon
-     }
-     free(hostconf->paths.entries);
-     h2o_config_dispose_pathconf(&hostconf->fallback_path);
--    h2o_mem_release_shared(hostconf->mimemap);
-+    if (hostconf->mimemap) {
-+      h2o_mem_release_shared(hostconf->mimemap);
-+    }
-     free(hostconf);
- }
-@@ -136,8 +141,10 @@ void h2o_config_init_pathconf(h2o_pathco
-     h2o_chunked_register(pathconf);
-     if (path != NULL)
-         pathconf->path = h2o_strdup(NULL, path, SIZE_MAX);
--    h2o_mem_addref_shared(mimemap);
--    pathconf->mimemap = mimemap;
-+    if (mimemap) {
-+      h2o_mem_addref_shared(mimemap);
-+      pathconf->mimemap = mimemap;
-+    }
-     pathconf->error_log.emit_request_errors = 1;
- }
-@@ -190,7 +197,7 @@ void h2o_config_init(h2o_globalconf_t *c
-     config->http2.latency_optimization.max_additional_delay = 10;
-     config->http2.latency_optimization.max_cwnd = 65535;
-     config->http2.callbacks = H2O_HTTP2_CALLBACKS;
--    config->mimemap = h2o_mimemap_create();
-+    // config->mimemap = h2o_mimemap_create();
-     h2o_configurator__init_core(config);
- }
-@@ -279,7 +286,9 @@ void h2o_config_dispose(h2o_globalconf_t
-     }
-     free(config->hosts);
--    h2o_mem_release_shared(config->mimemap);
-+    if (config->mimemap) {
-+      h2o_mem_release_shared(config->mimemap);
-+    }
-     h2o_configurator__dispose_configurators(config);
- }
---- a/lib/core/request.c
-+++ b/lib/core/request.c
-@@ -486,7 +486,7 @@ void h2o_req_fill_mime_attributes(h2o_re
-     ssize_t content_type_index;
-     h2o_mimemap_type_t *mime;
--    if (req->res.mime_attr != NULL)
-+    if (req->res.mime_attr != NULL || req->pathconf->mimemap == NULL)
-         return;
-     if ((content_type_index = h2o_find_header(&req->res.headers, H2O_TOKEN_CONTENT_TYPE, -1)) != -1 &&
diff --git a/libs/h2o/patches/800-smaller-write-buffer.patch b/libs/h2o/patches/800-smaller-write-buffer.patch
deleted file mode 100644 (file)
index 5527ad5..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/include/h2o/http2_internal.h
-+++ b/include/h2o/http2_internal.h
-@@ -33,7 +33,7 @@
- typedef struct st_h2o_http2_conn_t h2o_http2_conn_t;
- typedef struct st_h2o_http2_stream_t h2o_http2_stream_t;
--#define H2O_HTTP2_DEFAULT_OUTBUF_SIZE 81920 /* the target size of each write call; connection flow control window + alpha */
-+#define H2O_HTTP2_DEFAULT_OUTBUF_SIZE 8192 /* the target size of each write call; connection flow control window + alpha */
- #define H2O_HTTP2_DEFAULT_OUTBUF_SOFT_MAX_SIZE 524288 /* 512KB; stops reading if size exceeds this value */
- /* hpack */
diff --git a/libs/h2o/patches/900-cve-2023-44487.patch b/libs/h2o/patches/900-cve-2023-44487.patch
deleted file mode 100644 (file)
index d5489d5..0000000
+++ /dev/null
@@ -1,203 +0,0 @@
-commit d07b601a5549798f8e500582336756e04dfd25c5
-Author: Remi Gacogne <remi.gacogne@powerdns.com>
-Date:   Tue Oct 10 15:47:57 2023 +0200
-
-    [http2] delay processing requests upon observing suspicious behavior
-    
-    Backport of 94fbc54b6c9309912fe3d53e7b63408bbe9a1b0d to v2.2.x
-
---- a/include/h2o.h
-+++ b/include/h2o.h
-@@ -378,6 +378,10 @@ struct st_h2o_globalconf_t {
-          * list of callbacks
-          */
-         h2o_protocol_callbacks_t callbacks;
-+        /**
-+         * milliseconds to delay processing requests when suspicious behavior is detected
-+         */
-+        uint64_t dos_delay;
-     } http2;
-     struct {
-@@ -590,6 +594,10 @@ struct st_h2o_context_t {
-          * timeout entry used for graceful shutdown
-          */
-         h2o_timeout_entry_t _graceful_shutdown_timeout;
-+        /*
-+         * dos timeout
-+         */
-+        h2o_timeout_t dos_delay_timeout;
-         struct {
-             /**
-              * counter for http2 errors internally emitted by h2o
---- a/include/h2o/http2_internal.h
-+++ b/include/h2o/http2_internal.h
-@@ -179,6 +179,7 @@ struct st_h2o_http2_stream_t {
-         h2o_linklist_t link;
-         h2o_http2_scheduler_openref_t scheduler;
-     } _refs;
-+    unsigned reset_by_peer : 1;
-     h2o_send_state_t send_state; /* state of the ostream, only used in push mode */
-     /* placed at last since it is large and has it's own ctor */
-     h2o_req_t req;
-@@ -232,6 +233,13 @@ struct st_h2o_http2_conn_t {
-     } _write;
-     h2o_cache_t *push_memo;
-     h2o_http2_casper_t *casper;
-+    /**
-+     * DoS mitigation; the idea here is to delay processing requests when observing suspicious behavior
-+     */
-+    struct {
-+        h2o_timeout_entry_t process_delay;
-+        size_t reset_budget; /* RST_STREAM frames are considered suspicious when this value goes down to zero */
-+    } dos_mitigation;
- };
- int h2o_http2_update_peer_settings(h2o_http2_settings_t *settings, const uint8_t *src, size_t len, const char **err_desc);
---- a/lib/core/config.c
-+++ b/lib/core/config.c
-@@ -196,6 +196,7 @@ void h2o_config_init(h2o_globalconf_t *c
-     config->http2.latency_optimization.min_rtt = 50; // milliseconds
-     config->http2.latency_optimization.max_additional_delay = 10;
-     config->http2.latency_optimization.max_cwnd = 65535;
-+    config->http2.dos_delay = 100; /* 100ms processing delay when observing suspicious behavior */
-     config->http2.callbacks = H2O_HTTP2_CALLBACKS;
-     // config->mimemap = h2o_mimemap_create();
---- a/lib/core/configurator.c
-+++ b/lib/core/configurator.c
-@@ -531,6 +531,12 @@ static int on_config_http2_casper(h2o_co
-     return 0;
- }
-+
-+static int on_config_http2_dos_delay(h2o_configurator_command_t *cmd, h2o_configurator_context_t *ctx, yoml_t *node)
-+{
-+    return config_timeout(cmd, node, &ctx->globalconf->http2.dos_delay);
-+}
-+
- static int assert_is_mimetype(h2o_configurator_command_t *cmd, yoml_t *node)
- {
-     if (node->type != YOML_TYPE_SCALAR) {
-@@ -910,6 +916,9 @@ void h2o_configurator__init_core(h2o_glo
-                                         on_config_http2_push_preload);
-         h2o_configurator_define_command(&c->super, "http2-casper", H2O_CONFIGURATOR_FLAG_GLOBAL | H2O_CONFIGURATOR_FLAG_HOST,
-                                         on_config_http2_casper);
-+        h2o_configurator_define_command(&c->super, "http2-dos-delay",
-+                                        H2O_CONFIGURATOR_FLAG_GLOBAL | H2O_CONFIGURATOR_FLAG_EXPECT_SCALAR,
-+                                        on_config_http2_dos_delay);
-         h2o_configurator_define_command(&c->super, "file.mime.settypes",
-                                         (H2O_CONFIGURATOR_FLAG_ALL_LEVELS & ~H2O_CONFIGURATOR_FLAG_EXTENSION) |
-                                             H2O_CONFIGURATOR_FLAG_EXPECT_MAPPING,
---- a/lib/core/context.c
-+++ b/lib/core/context.c
-@@ -101,6 +101,7 @@ void h2o_context_init(h2o_context_t *ctx
-     h2o_linklist_init_anchor(&ctx->http1._conns);
-     h2o_timeout_init(ctx->loop, &ctx->http2.idle_timeout, config->http2.idle_timeout);
-     h2o_timeout_init(ctx->loop, &ctx->http2.graceful_shutdown_timeout, config->http2.graceful_shutdown_timeout);
-+    h2o_timeout_init(ctx->loop, &ctx->http2.dos_delay_timeout, config->http2.dos_delay);
-     h2o_linklist_init_anchor(&ctx->http2._conns);
-     ctx->proxy.client_ctx.loop = loop;
-     h2o_timeout_init(ctx->loop, &ctx->proxy.io_timeout, config->proxy.io_timeout);
-@@ -146,6 +147,7 @@ void h2o_context_dispose(h2o_context_t *
-     h2o_timeout_dispose(ctx->loop, &ctx->http1.req_timeout);
-     h2o_timeout_dispose(ctx->loop, &ctx->http2.idle_timeout);
-     h2o_timeout_dispose(ctx->loop, &ctx->http2.graceful_shutdown_timeout);
-+    h2o_timeout_dispose(ctx->loop, &ctx->http2.dos_delay_timeout);
-     h2o_timeout_dispose(ctx->loop, &ctx->proxy.io_timeout);
-     /* what should we do here? assert(!h2o_linklist_is_empty(&ctx->http2._conns); */
---- a/lib/http2/connection.c
-+++ b/lib/http2/connection.c
-@@ -161,7 +161,6 @@ static void update_idle_timeout(h2o_http
-     h2o_timeout_unlink(&conn->_timeout_entry);
-     if (conn->num_streams.pull.half_closed + conn->num_streams.push.half_closed == 0) {
--        assert(h2o_linklist_is_empty(&conn->_pending_reqs));
-         conn->_timeout_entry.cb = on_idle_timeout;
-         h2o_timeout_link(conn->super.ctx->loop, &conn->super.ctx->http2.idle_timeout, &conn->_timeout_entry);
-     }
-@@ -175,6 +174,9 @@ static int can_run_requests(h2o_http2_co
- static void run_pending_requests(h2o_http2_conn_t *conn)
- {
-+    if (h2o_timeout_is_linked(&conn->dos_mitigation.process_delay))
-+        return;
-+
-     while (!h2o_linklist_is_empty(&conn->_pending_reqs) && can_run_requests(conn)) {
-         /* fetch and detach a pending stream */
-         h2o_http2_stream_t *stream = H2O_STRUCT_FROM_MEMBER(h2o_http2_stream_t, _refs.link, conn->_pending_reqs.next);
-@@ -226,6 +228,16 @@ void h2o_http2_conn_unregister_stream(h2
-     assert(h2o_http2_scheduler_is_open(&stream->_refs.scheduler));
-     h2o_http2_scheduler_close(&stream->_refs.scheduler);
-+    /* Decrement reset_budget if the stream was reset by peer, otherwise increment. By doing so, we penalize connections that
-+     * generate resets for >50% of requests. */
-+    if (stream->reset_by_peer) {
-+        if (conn->dos_mitigation.reset_budget > 0)
-+            --conn->dos_mitigation.reset_budget;
-+    } else {
-+        if (conn->dos_mitigation.reset_budget < conn->super.ctx->globalconf->http2.max_concurrent_requests_per_connection)
-+            ++conn->dos_mitigation.reset_budget;
-+    }
-+
-     switch (stream->state) {
-     case H2O_HTTP2_STREAM_STATE_IDLE:
-     case H2O_HTTP2_STREAM_STATE_RECV_HEADERS:
-@@ -272,6 +284,8 @@ void close_connection_now(h2o_http2_conn
-     h2o_hpack_dispose_header_table(&conn->_output_header_table);
-     assert(h2o_linklist_is_empty(&conn->_pending_reqs));
-     h2o_timeout_unlink(&conn->_timeout_entry);
-+    if (h2o_timeout_is_linked(&conn->dos_mitigation.process_delay))
-+        h2o_timeout_unlink(&conn->dos_mitigation.process_delay);
-     h2o_buffer_dispose(&conn->_write.buf);
-     if (conn->_write.buf_in_flight != NULL)
-         h2o_buffer_dispose(&conn->_write.buf_in_flight);
-@@ -797,11 +811,19 @@ static int handle_rst_stream_frame(h2o_h
-         return H2O_HTTP2_ERROR_PROTOCOL;
-     }
--    stream = h2o_http2_conn_get_stream(conn, frame->stream_id);
--    if (stream != NULL) {
-+    if ((stream = h2o_http2_conn_get_stream(conn, frame->stream_id)) == NULL)
-+        return 0;
-+
-         /* reset the stream */
-+    stream->reset_by_peer = 1;
-         h2o_http2_stream_reset(conn, stream);
--    }
-+
-+    /* setup process delay if we've just ran out of reset budget */
-+    if (conn->dos_mitigation.reset_budget == 0 && conn->super.ctx->globalconf->http2.dos_delay != 0 &&
-+        !h2o_timeout_is_linked(&conn->dos_mitigation.process_delay))
-+        h2o_timeout_link(conn->super.ctx->loop, &conn->super.ctx->http2.dos_delay_timeout,
-+                       &conn->dos_mitigation.process_delay);
-+
-     /* TODO log */
-     return 0;
-@@ -1204,6 +1226,14 @@ static h2o_iovec_t log_priority_actual_w
-     return h2o_iovec_init(s, len);
- }
-+static void on_dos_process_delay(h2o_timeout_entry_t *timer)
-+{
-+    h2o_http2_conn_t *conn = H2O_STRUCT_FROM_MEMBER(h2o_http2_conn_t, dos_mitigation.process_delay, timer);
-+
-+    assert(!h2o_timeout_is_linked(&conn->dos_mitigation.process_delay));
-+    run_pending_requests(conn);
-+}
-+
- static h2o_http2_conn_t *create_conn(h2o_context_t *ctx, h2o_hostconf_t **hosts, h2o_socket_t *sock, struct timeval connected_at)
- {
-     static const h2o_conn_callbacks_t callbacks = {
-@@ -1240,6 +1270,9 @@ static h2o_http2_conn_t *create_conn(h2o
-     conn->_write.timeout_entry.cb = emit_writereq;
-     h2o_http2_window_init(&conn->_write.window, &conn->peer_settings);
-+    conn->dos_mitigation.process_delay.cb = on_dos_process_delay;
-+    conn->dos_mitigation.reset_budget = conn->super.ctx->globalconf->http2.max_concurrent_requests_per_connection;
-+
-     return conn;
- }
diff --git a/libs/h2o/patches/901-bump-soname.patch b/libs/h2o/patches/901-bump-soname.patch
deleted file mode 100644 (file)
index 6ae3c22..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-commit e47cd15ff1fec9211088c809cb92593800dd4da2
-Author: Peter van Dijk <peter.van.dijk@powerdns.com>
-Date:   Wed Oct 11 11:39:48 2023 +0200
-
-    bump soname
-
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -29,9 +29,9 @@ SET(VERSION_MINOR "2")
- SET(VERSION_PATCH "6")
- SET(VERSION_PRERELEASE "")
- SET(VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}${VERSION_PRERELEASE}")
--SET(LIBRARY_VERSION_MAJOR "0")
--SET(LIBRARY_VERSION_MINOR "13")
--SET(LIBRARY_VERSION_PATCH "6")
-+SET(LIBRARY_VERSION_MAJOR "1")
-+SET(LIBRARY_VERSION_MINOR "0")
-+SET(LIBRARY_VERSION_PATCH "0")
- SET(LIBRARY_VERSION "${LIBRARY_VERSION_MAJOR}.${LIBRARY_VERSION_MINOR}.${LIBRARY_VERSION_PATCH}${VERSION_PRERELEASE}")
- SET(LIBRARY_SOVERSION "${LIBRARY_VERSION_MAJOR}.${LIBRARY_VERSION_MINOR}")
---- a/include/h2o/version.h
-+++ b/include/h2o/version.h
-@@ -28,8 +28,8 @@
- #define H2O_VERSION_MINOR 2
- #define H2O_VERSION_PATCH 6
--#define H2O_LIBRARY_VERSION_MAJOR 0
--#define H2O_LIBRARY_VERSION_MINOR 13
--#define H2O_LIBRARY_VERSION_PATCH 6
-+#define H2O_LIBRARY_VERSION_MAJOR 1
-+#define H2O_LIBRARY_VERSION_MINOR 0
-+#define H2O_LIBRARY_VERSION_PATCH 0
- #endif
index 76d7c1ffa0068d1ac67d384f519fb0ec7eec2b25..73d3c4329690a288356a5c56b632168d0f80c5af 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libfmt
 PKG_VERSION:=10.2.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE_NAME:=fmt
 PKG_SOURCE:=$(PKG_SOURCE_NAME)-$(PKG_VERSION).tar.gz
diff --git a/libs/libfmt/patches/010-static.patch b/libs/libfmt/patches/010-static.patch
new file mode 100644 (file)
index 0000000..27bfda2
--- /dev/null
@@ -0,0 +1,32 @@
+From 44c3fe1ebb466ab5c296e1a1a6991c7c7b51b72e Mon Sep 17 00:00:00 2001
+From: Victor Zverovich <viz@meta.com>
+Date: Fri, 9 Feb 2024 15:58:56 -0800
+Subject: [PATCH] Fix handling of static separator
+
+---
+ include/fmt/format-inl.h | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+--- a/include/fmt/format-inl.h
++++ b/include/fmt/format-inl.h
+@@ -114,7 +114,11 @@ template <typename Char> FMT_FUNC Char d
+ FMT_FUNC auto write_loc(appender out, loc_value value,
+                         const format_specs<>& specs, locale_ref loc) -> bool {
+-#ifndef FMT_STATIC_THOUSANDS_SEPARATOR
++#ifdef FMT_STATIC_THOUSANDS_SEPARATOR
++  value.visit(loc_writer<>{
++      out, specs, std::string(1, FMT_STATIC_THOUSANDS_SEPARATOR), "\3", "."});
++  return true;
++#else
+   auto locale = loc.get<std::locale>();
+   // We cannot use the num_put<char> facet because it may produce output in
+   // a wrong encoding.
+@@ -123,7 +127,6 @@ FMT_FUNC auto write_loc(appender out, lo
+     return std::use_facet<facet>(locale).put(out, value, specs);
+   return facet(locale).put(out, value, specs);
+ #endif
+-  return false;
+ }
+ }  // namespace detail
index 3a44db40df3167559bca4b6e51611482e6cc7683..715d35e1303b04e3aaecee3548aa51989db9a342 100644 (file)
@@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=OpenBLAS
 PKG_VERSION:=0.3.26
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=OpenBLAS-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://github.com/xianyi/OpenBLAS/releases/download/v$(PKG_VERSION)/
@@ -49,13 +49,26 @@ endmenu
 endef
 
 OPENBLAS_TARGET=$(call qstrip,$(CONFIG_OPENBLAS_TARGET_OVERRIDE))
-CPU_TYPE=$(call qstrip,$(CONFIG_CPU_TYPE))
 
 ifeq ($(OPENBLAS_TARGET),)
 # initialize to GENERIC as default
 OPENBLAS_TARGET:=GENERIC
 
-ifeq ($(ARCH),aarch64)
+ifneq ($(findstring cortex-a9,$(CONFIG_CPU_TYPE)),)
+       ifneq ($(findstring neon,$(CONFIG_CPU_TYPE)),)
+               # CORTEXA9 relies on NEON
+               OPENBLAS_TARGET:=CORTEXA9
+       else
+               # Fallback for CPUs without NEON
+               OPENBLAS_TARGET:=ARMV7
+       endif
+else ifneq ($(findstring cortex-a15,$(CONFIG_CPU_TYPE)),)
+       OPENBLAS_TARGET:=CORTEXA15
+else ifneq ($(findstring cortex-a53,$(CONFIG_CPU_TYPE)),)
+       OPENBLAS_TARGET:=CORTEXA53
+else ifneq ($(findstring cortex-a72,$(CONFIG_CPU_TYPE)),)
+       OPENBLAS_TARGET:=CORTEXA72
+else ifeq ($(ARCH),aarch64)
   OPENBLAS_TARGET:=ARMV8
 else ifeq ($(ARCH),arm)
   OPENBLAS_TARGET:=ARMV5
index 145a0d37eb4c4674cf1d8cc3494b3926ec3cddac..9b786282a9210481549e47121dba3e4e3c5b5812 100644 (file)
@@ -1,11 +1,11 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=yt-dlp
-PKG_VERSION:=2023.11.16
+PKG_VERSION:=2023.12.30
 PKG_RELEASE:=1
 
 PYPI_NAME:=yt-dlp
-PKG_HASH:=f0ccdaf12e08b15902601a4671c7ab12906d7b11de3ae75fa6506811c24ec5da
+PKG_HASH:=a11862e57721b0a0f0883dfeb5a4d79ba213a2d4c45e1880e9fd70f8e6570c38
 
 PKG_MAINTAINER:=Michal Vasilek <michal.vasilek@nic.cz>
 PKG_LICENSE:=Unlicense
index c6b574c3abf5ab996fc9e67847cce015e267d274..0ea2c1888d46c1e7c02c5b7424f031a42ad8a44f 100644 (file)
@@ -6,7 +6,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=adblock-fast
 PKG_VERSION:=1.1.1
-PKG_RELEASE:=3
+PKG_RELEASE:=5
 PKG_MAINTAINER:=Stan Grishin <stangri@melmac.ca>
 PKG_LICENSE:=GPL-3.0-or-later
 
index a95f4997701c400a76442e68653170b4c1ed43f6..ee0d654ff663ea0efee49f67901820d8b65dac79 100755 (executable)
@@ -1716,7 +1716,7 @@ adb_sizes() {
 
 # shellcheck disable=SC2120
 adb_start() {
-       local action status error message stats c
+       local action status error message stats c iface
        local param="$1" validation_result="$3"
 
        load_environment "$validation_result" "$param" || return 1
@@ -1852,25 +1852,29 @@ adb_start() {
 # shellcheck disable=SC3060
                for c in ${force_dns_port/,/ }; do
                        if netstat -tuln | grep LISTEN | grep ":${c}" >/dev/null 2>&1; then
-                               json_add_object ""
-                               json_add_string type redirect
-                               json_add_string target DNAT
-                               json_add_string src lan
-                               json_add_string proto "tcp udp"
-                               json_add_string src_dport "$c"
-                               json_add_string dest_port "$c"
-                               json_add_string family any
-                               json_add_boolean reflection 0
-                               json_close_object
+                               for iface in $force_dns_interface; do
+                                       json_add_object ""
+                                       json_add_string type redirect
+                                       json_add_string target DNAT
+                                       json_add_string src "$iface"
+                                       json_add_string proto "tcp udp"
+                                       json_add_string src_dport "$c"
+                                       json_add_string dest_port "$c"
+                                       json_add_string family any
+                                       json_add_boolean reflection 0
+                                       json_close_object
+                               done
                        else
-                               json_add_object ""
-                               json_add_string type rule
-                               json_add_string src lan
-                               json_add_string dest "*"
-                               json_add_string proto "tcp udp"
-                               json_add_string dest_port "$c"
-                               json_add_string target REJECT
-                               json_close_object
+                               for iface in $force_dns_interface; do
+                                       json_add_object ""
+                                       json_add_string type rule
+                                       json_add_string src "$iface"
+                                       json_add_string dest "*"
+                                       json_add_string proto "tcp udp"
+                                       json_add_string dest_port "$c"
+                                       json_add_string target REJECT
+                                       json_close_object
+                               done
                        fi
                done
        fi
@@ -1882,14 +1886,16 @@ adb_start() {
                        json_add_string match dest_net
                        json_add_string storage hash
                        json_close_object
-                       json_add_object ""
-                       json_add_string type rule
-                       json_add_string ipset adb
-                       json_add_string src lan
-                       json_add_string dest "*"
-                       json_add_string proto "tcp udp"
-                       json_add_string target REJECT
-                       json_close_object
+                       for iface in $force_dns_interface; do
+                               json_add_object ""
+                               json_add_string type rule
+                               json_add_string ipset adb
+                               json_add_string src "$iface"
+                               json_add_string dest "*"
+                               json_add_string proto "tcp udp"
+                               json_add_string target REJECT
+                               json_close_object
+                       done
                ;;
                dnsmasq.nftset|smartdns.nftset)
                        json_add_object ""
@@ -1898,14 +1904,16 @@ adb_start() {
                        json_add_string family 4
                        json_add_string match dest_net
                        json_close_object
-                       json_add_object ""
-                       json_add_string type rule
-                       json_add_string ipset adb4
-                       json_add_string src lan
-                       json_add_string dest "*"
-                       json_add_string proto "tcp udp"
-                       json_add_string target REJECT
-                       json_close_object
+                       for iface in $force_dns_interface; do
+                               json_add_object ""
+                               json_add_string type rule
+                               json_add_string ipset adb4
+                               json_add_string src "$iface"
+                               json_add_string dest "*"
+                               json_add_string proto "tcp udp"
+                               json_add_string target REJECT
+                               json_close_object
+                       done
                        if [ "$ipv6_enabled" -ne '0' ]; then
                                json_add_object ""
                                json_add_string type ipset
@@ -1913,14 +1921,16 @@ adb_start() {
                                json_add_string family 6
                                json_add_string match dest_net
                                json_close_object
-                               json_add_object ""
-                               json_add_string type rule
-                               json_add_string ipset adb6
-                               json_add_string src lan
-                               json_add_string dest "*"
-                               json_add_string proto "tcp udp"
-                               json_add_string target REJECT
-                               json_close_object
+                               for iface in $force_dns_interface; do
+                                       json_add_object ""
+                                       json_add_string type rule
+                                       json_add_string ipset adb6
+                                       json_add_string src "$iface"
+                                       json_add_string dest "*"
+                                       json_add_string proto "tcp udp"
+                                       json_add_string target REJECT
+                                       json_close_object
+                               done
                        fi
                ;;
        esac
@@ -2081,6 +2091,7 @@ load_validate_file_url_section() {
 load_validate_config() {
        local enabled
        local force_dns
+       local force_dns_interface
        local force_dns_port
        local parallel_downloads
        local debug
@@ -2100,6 +2111,7 @@ load_validate_config() {
        local verbosity
        local procd_trigger_wan6
        local procd_boot_wan_timeout
+       local procd_lan_interface_name
        local led
        local dns
        local dnsmasq_instance
@@ -2109,6 +2121,7 @@ load_validate_config() {
        uci_load_validate "$packageName" "$packageName" "$1" "${2}${3:+ $3}" \
                'enabled:bool:0' \
                'force_dns:bool:1' \
+               'force_dns_interface:list(network):lan' \
                'force_dns_port:list(integer):53,853' \
                'parallel_downloads:bool:1' \
                'debug:bool:0' \
index 7eaec7ae9abacd6733fb56395e6b87746d1a08c7..7a2aaf6daccb6733e818f829f6b5f6662680e204 100644 (file)
@@ -28,14 +28,6 @@ menu "Configuration"
                        "Enables DNS over HTTPS Support for dnsdist"
                default y
 
-       config DNSDIST_DNS_OVER_HTTPS_OUTGOING
-       depends on DNSDIST_OPENSSL
-       depends on !DNSDIST_NOSSL
-               bool "Outgoing DNS over HTTPS Support"
-               help
-                       "Enables Outgoing DNS over HTTPS Support for dnsdist"
-               default y
-
        config DNSDIST_DNS_OVER_TLS
        depends on !DNSDIST_NOSSL
                bool "DNS over TLS Support"
index 31bae41306e8d42af67745c08941f37d49e1a74f..a669f14dfe97b43d2f5a756d48e1d961fb6e9bb6 100644 (file)
@@ -1,12 +1,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=dnsdist
-PKG_VERSION:=1.8.3
-PKG_RELEASE:=2
+PKG_VERSION:=1.9.0
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
 PKG_SOURCE_URL:=https://downloads.powerdns.com/releases/
-PKG_HASH:=858323f2ed5181488bb7558fbf4f84ec7198600b070b2c5375d15d40695727f4
+PKG_HASH:=16bab15cad9245571806398a8e4a5dc32a92b6bb60e617c12fe958c945889c7c
 
 PKG_MAINTAINER:=Peter van Dijk <peter.van.dijk@powerdns.com>
 PKG_LICENSE:=GPL-2.0-only
@@ -75,9 +75,8 @@ define Package/dnsdist
          +DNSDIST_LIBEDIT:libedit \
          +DNSDIST_DNSTAP:libfstrm \
          +DNSDIST_GNUTLS:libgnutls \
-         +DNSDIST_DNS_OVER_HTTPS:libh2o-evloop \
+         +DNSDIST_DNS_OVER_HTTPS:libnghttp2 \
          +DNSDIST_NET_SNMP:libnetsnmp \
-         +DNSDIST_DNS_OVER_HTTPS_OUTGOING:libnghttp2 \
          +DNSDIST_OPENSSL:libopenssl \
          +DNSDIST_SODIUM:libsodium \
          +DNSDIST_LMDB:lmdb \
@@ -95,7 +94,6 @@ define Package/dnsdist-full
          +libedit \
          +libfstrm \
          +libgnutls \
-         +libh2o-evloop \
          +libnetsnmp \
          +libnghttp2 \
          +libopenssl \
@@ -165,7 +163,6 @@ CONFIGURE_ARGS+= \
        $(if $(call IsEnabled,DNSDIST_IPCIPHER),--enable,--disable)-ipcipher \
        $(if $(call IsEnabled,DNSDIST_EBPF),--with,--without)-ebpf \
        $(if $(call IsEnabled,DNSDIST_DNS_OVER_HTTPS),--enable-dns-over-https,) \
-       $(if $(call IsEnabled,DNSDIST_DNS_OVER_HTTPS_OUTGOING),--with,--without)-nghttp2
 
 $(eval $(call BuildPackage,dnsdist))
 $(eval $(call BuildPackage,dnsdist-full))
index 215c6411f6e92deedb42ebc814d0414592528418..8b4a5e879bc0c2207495eaaa3c4d6b4e3dde78c5 100644 (file)
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=haproxy
-PKG_VERSION:=2.8.5
+PKG_VERSION:=2.8.6
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://www.haproxy.org/download/2.8/src
-PKG_HASH:=3f5459c5a58e0b343a32eaef7ed5bed9d3fc29d8aa9e14b36c92c969fc2a60d9
+PKG_HASH:=9fd034368be66880bd86a300c13dc03bc13521ee2654880dddf192785aa28d51
 
 PKG_MAINTAINER:=Thomas Heil <heil@terminal-consulting.de>, \
                Christian Lachner <gladiac@gmail.com>
index a7d52bb9189903daace120cf5e1a6ef109983c9a..1ee4f1e5ec2e1c8e20bd5f1251aa04cfd8811789 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 CLONEURL=https://git.haproxy.org/git/haproxy-2.8.git
-BASE_TAG=v2.8.5
+BASE_TAG=v2.8.6
 TMP_REPODIR=tmprepo
 PATCHESDIR=patches
 
index 3a7a27cbf7b681bdefe1bc1cad6d5c79a0a07bb9..54a8da1e4d9c33ad8be914b30093600c0f91cd8f 100644 (file)
@@ -8,12 +8,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=unbound
-PKG_VERSION:=1.19.0
-PKG_RELEASE:=2
+PKG_VERSION:=1.19.1
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://nlnetlabs.nl/downloads/unbound
-PKG_HASH:=a97532468854c61c2de48ca4170de854fd3bc95c8043bb0cfb0fe26605966624
+PKG_HASH:=bc1d576f3dd846a0739adc41ffaa702404c6767d2b6082deb9f2f97cbb24a3a9
 
 PKG_MAINTAINER:=Eric Luehrsen <ericluehrsen@gmail.com>
 PKG_LICENSE:=BSD-3-Clause
index 098f2785c40bb148624b4c777feb993f3c552af4..a8cd2ec852aecdd0c5b9c54c91663a72029ba9bc 100644 (file)
@@ -3,7 +3,7 @@ Fix cross compile errors by inserting an environment variable for the
 target. Use "uname" on host only if "UNAME" variable is empty.
 --- a/configure.ac
 +++ b/configure.ac
-@@ -842,7 +842,7 @@ if test x_$ub_test_python != x_no; then
+@@ -843,7 +843,7 @@ if test x_$ub_test_python != x_no; then
     fi
  fi
  
index 1694843ee9073634e392ef1735380f3581d854d4..11afc5ef65f480c80a1ecf85fe8823627d098972 100644 (file)
@@ -1,12 +1,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=conmon
-PKG_VERSION:=2.1.8
+PKG_VERSION:=2.1.10
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://github.com/containers/$(PKG_NAME)/archive/v$(PKG_VERSION)
-PKG_HASH:=e72c090210a03ca3b43a0fad53f15bca90bbee65105c412468009cf3a5988325
+PKG_HASH:=455fabcbd4a5a5dc5e05374a71b62dc0b08ee865c2ba398e9dc9acac1ea1836a
 
 PKG_MAINTAINER:=Oskari Rauta <oskari.rauta@gmail.com>
 PKG_LICENSE:=Apache-2.0
index f3aa65fec54ea473722e05b1b9cbe905932c7066..77c088a01f77ba33cfd1249b83d7729acce810fd 100644 (file)
@@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=mariadb
 PKG_VERSION:=10.9.8
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL := https://archive.mariadb.org/$(PKG_NAME)-$(PKG_VERSION)/source
diff --git a/utils/mariadb/patches/110-fmt.patch b/utils/mariadb/patches/110-fmt.patch
new file mode 100644 (file)
index 0000000..edde15d
--- /dev/null
@@ -0,0 +1,116 @@
+From c657a1973e274b16db0631dc3862e276ab354564 Mon Sep 17 00:00:00 2001
+From: Ruoyu Zhong <zhongruoyu@outlook.com>
+Date: Sat, 19 Aug 2023 22:48:16 +0800
+Subject: [PATCH 1/2] MDEV-31963 cmake: fix libfmt usage
+
+`fmt::detail::make_arg` does not accept temporaries, so the code snippet
+checking system libfmt needs to be adjusted.
+
+Signed-off-by: Ruoyu Zhong <zhongruoyu@outlook.com>
+---
+ cmake/libfmt.cmake | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+--- a/cmake/libfmt.cmake
++++ b/cmake/libfmt.cmake
+@@ -33,8 +33,9 @@ MACRO (CHECK_LIBFMT)
+      #include <fmt/format-inl.h>
+      #include <iostream>
+      int main() {
++       int answer= 42;
+        fmt::format_args::format_arg arg=
+-         fmt::detail::make_arg<fmt::format_context>(42);
++         fmt::detail::make_arg<fmt::format_context>(answer);
+          std::cout << fmt::vformat(\"The answer is {}.\",
+                                    fmt::format_args(&arg, 1));
+      }" HAVE_SYSTEM_LIBFMT)
+--- a/sql/item_strfunc.cc
++++ b/sql/item_strfunc.cc
+@@ -1382,11 +1382,24 @@ namespace fmt {
+ */
+ String *Item_func_sformat::val_str(String *res)
+ {
++  /*
++    A union that stores a numeric format arg value.
++    fmt::detail::make_arg does not accept temporaries, so all of its numeric
++    args are temporarily stored in the fmt_args array.
++    See: https://github.com/fmtlib/fmt/issues/3596
++  */
++  union Format_arg_store {
++    longlong val_int;
++    float    val_float;
++    double   val_double;
++  };
++
+   DBUG_ASSERT(fixed());
+-  using                         ctx=     fmt::format_context;
+-  String                       *fmt_arg= NULL;
+-  String                       *parg=    NULL;
+-  fmt::format_args::format_arg *vargs=   NULL;
++  using                         ctx=      fmt::format_context;
++  String                       *fmt_arg=  NULL;
++  String                       *parg=     NULL;
++  fmt::format_args::format_arg *vargs=    NULL;
++  Format_arg_store             *fmt_args= NULL;
+   null_value= true;
+   if (!(fmt_arg= args[0]->val_str(res)))
+@@ -1395,25 +1408,39 @@ String *Item_func_sformat::val_str(Strin
+   if (!(vargs= new fmt::format_args::format_arg[arg_count - 1]))
+     return NULL;
++  if (!(fmt_args= new Format_arg_store[arg_count - 1]))
++  {
++    delete [] vargs;
++    return NULL;
++  }
++
+   /* Creates the array of arguments for vformat */
+   for (uint carg= 1; carg < arg_count; carg++)
+   {
+     switch (args[carg]->result_type())
+     {
+     case INT_RESULT:
+-      vargs[carg-1]= fmt::detail::make_arg<ctx>(args[carg]->val_int());
++      fmt_args[carg-1].val_int= args[carg]->val_int();
++      vargs[carg-1]= fmt::detail::make_arg<ctx>(fmt_args[carg-1].val_int);
+       break;
+     case DECIMAL_RESULT: // TODO
+     case REAL_RESULT:
+       if (args[carg]->field_type() == MYSQL_TYPE_FLOAT)
+-        vargs[carg-1]= fmt::detail::make_arg<ctx>((float)args[carg]->val_real());
++      {
++        fmt_args[carg-1].val_float= (float)args[carg]->val_real();
++        vargs[carg-1]= fmt::detail::make_arg<ctx>(fmt_args[carg-1].val_float);
++      }
+       else
+-        vargs[carg-1]= fmt::detail::make_arg<ctx>(args[carg]->val_real());
++      {
++        fmt_args[carg-1].val_double= args[carg]->val_real();
++        vargs[carg-1]= fmt::detail::make_arg<ctx>(fmt_args[carg-1].val_double);
++      }
+       break;
+     case STRING_RESULT:
+       if (!(parg= args[carg]->val_str(&val_arg[carg-1])))
+       {
+         delete [] vargs;
++        delete [] fmt_args;
+         return NULL;
+       }
+       vargs[carg-1]= fmt::detail::make_arg<ctx>(*parg);
+@@ -1423,6 +1450,7 @@ String *Item_func_sformat::val_str(Strin
+     default:
+       DBUG_ASSERT(0);
+       delete [] vargs;
++      delete [] fmt_args;
+       return NULL;
+     }
+   }
+@@ -1446,6 +1474,7 @@ String *Item_func_sformat::val_str(Strin
+     null_value= true;
+   }
+   delete [] vargs;
++  delete [] fmt_args;
+   return null_value ? NULL : res;
+ }
index cdcc2be54eda65f1ef9b7beff2a6dec0965bfcf0..dfa5cebb5d573125be065fb4c2b23168257e63b9 100644 (file)
@@ -1,12 +1,12 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=podman
-PKG_VERSION:=4.8.0
+PKG_VERSION:=4.9.3
 PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=https://github.com/containers/podman/archive/v$(PKG_VERSION)
-PKG_HASH:=cd0afd1fb493b0c099fd8634525f318f35e4e84c1d7735d8426a722a4d5c8409
+PKG_HASH:=37afc5bba2738c68dc24400893b99226c658cc9a2b22309f4d7abe7225d8c437
 
 PKG_LICENSE:=Apache-2.0
 PKG_LICENSE_FILES:=LICENSE
index b2f1efd496f32f030063012d6e1a7100d900b444..4ff46a3fd412cd0737c5b6482765a655a0853a05 100644 (file)
@@ -1,6 +1,6 @@
 --- a/Makefile
 +++ b/Makefile
-@@ -224,7 +224,7 @@ GV_VERSION=v0.7.1
+@@ -224,7 +224,7 @@ GV_VERSION=v0.7.2
  default: all
  
  .PHONY: all
index 5e9851b06d748f244bca7d715b2d1bb665380b74..38b7dc093798185ce8269bfd58e0322bef12c58e 100644 (file)
@@ -9,10 +9,10 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=qemu
-PKG_VERSION:=8.1.2
+PKG_VERSION:=8.2.0
 PKG_RELEASE:=1
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
-PKG_HASH:=541526a764576eb494d2ff5ec46aeb253e62ea29035d1c23c0a8af4e6cd4f087
+PKG_HASH:=bf00d2fa12010df8b0ade93371def58e632cb32a6bfdc5f5a0ff8e6a1fb1bf32
 PKG_SOURCE_URL:=http://download.qemu.org/
 PKG_LICENSE:=GPL-2.0-only
 PKG_LICENSE_FILES:=LICENSE tcg/LICENSE
@@ -336,7 +336,6 @@ CONFIGURE_ARGS +=                   \
 
 # accel
 CONFIGURE_ARGS +=                      \
-       --disable-hax                   \
        --disable-hvf                   \
        --disable-whpx                  \
        --disable-xen                   \
@@ -378,6 +377,7 @@ CONFIGURE_ARGS +=                   \
 #
 CONFIGURE_ARGS +=                      \
        --audio-drv-list=''             \
+       --disable-af-xdp                \
        --disable-attr                  \
        --disable-auth-pam              \
        --disable-brlapi                \
@@ -401,6 +401,7 @@ CONFIGURE_ARGS +=                   \
        --disable-libpmem               \
        --disable-libssh                \
        --$(if $(CONFIG_QEMU_DEV_USB),enable,disable)-libusb            \
+       --disable-libkeyutils           \
        --disable-linux-aio             \
        --disable-linux-io-uring        \
        --disable-lzfse                 \
@@ -417,6 +418,7 @@ CONFIGURE_ARGS +=                   \
        --disable-qom-cast-debug        \
        --disable-rbd                   \
        --disable-rdma                  \
+       --disable-rutabaga-gfx          \
        --disable-sanitizers            \
        --$(if $(CONFIG_QEMU_SECCOMP),enable,disable)-seccomp           \
        --disable-smartcard             \
index e893c1788f47b30f944accf49bcb8539ebc97832..1843df22a21619311c5d0371fd2ba6dd483780da 100644 (file)
@@ -11,7 +11,7 @@ OpenWrt base build system decide flavor of fortify_source to use
 
 --- a/configure
 +++ b/configure
-@@ -823,6 +823,8 @@ for opt do
+@@ -757,6 +757,8 @@ for opt do
    ;;
    --gdb=*) gdb_bin="$optarg"
    ;;
index 3df92e30ddedc0e815d11a052cbe2bcc068f3755..460f0fab2abda0f950ce4c5cdd7164ebdf048be6 100644 (file)
@@ -1,6 +1,6 @@
 --- a/meson.build
 +++ b/meson.build
-@@ -3451,10 +3451,6 @@ subdir('common-user')
+@@ -3513,10 +3513,6 @@ subdir('common-user')
  subdir('bsd-user')
  subdir('linux-user')
  
@@ -11,7 +11,7 @@
  # accel modules
  tcg_real_module_ss = ss.source_set()
  tcg_real_module_ss.add_all(when: 'CONFIG_TCG_MODULAR', if_true: tcg_module_ss)
-@@ -3945,10 +3941,6 @@ subdir('scripts')
+@@ -4012,10 +4008,6 @@ subdir('scripts')
  subdir('tools')
  subdir('pc-bios')
  subdir('docs')