{"id":2219843,"url":"http://patchwork.ozlabs.org/api/patches/2219843/?format=json","web_url":"http://patchwork.ozlabs.org/project/buildroot/patch/20260404193947.957281-1-bernd@kuhls.net/","project":{"id":27,"url":"http://patchwork.ozlabs.org/api/projects/27/?format=json","name":"Buildroot development","link_name":"buildroot","list_id":"buildroot.buildroot.org","list_email":"buildroot@buildroot.org","web_url":"","scm_url":"","webscm_url":"","list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<20260404193947.957281-1-bernd@kuhls.net>","list_archive_url":null,"date":"2026-04-04T19:39:47","name":"[1/1] package/shadowsocks-libev: bump version to 3.3.6","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"3f40aa262a703cdbd5cfa4ba5d5d6471d3fecd69","submitter":{"id":86624,"url":"http://patchwork.ozlabs.org/api/people/86624/?format=json","name":"Bernd Kuhls","email":"bernd@kuhls.net"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/buildroot/patch/20260404193947.957281-1-bernd@kuhls.net/mbox/","series":[{"id":498747,"url":"http://patchwork.ozlabs.org/api/series/498747/?format=json","web_url":"http://patchwork.ozlabs.org/project/buildroot/list/?series=498747","date":"2026-04-04T19:39:47","name":"[1/1] package/shadowsocks-libev: bump version to 3.3.6","version":1,"mbox":"http://patchwork.ozlabs.org/series/498747/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2219843/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2219843/checks/","tags":{},"related":[],"headers":{"Return-Path":"<buildroot-bounces@buildroot.org>","X-Original-To":["incoming-buildroot@patchwork.ozlabs.org","buildroot@buildroot.org"],"Delivered-To":["patchwork-incoming-buildroot@legolas.ozlabs.org","buildroot@buildroot.org"],"Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=buildroot.org header.i=@buildroot.org\n header.a=rsa-sha256 header.s=default header.b=o1sRbfHP;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=buildroot.org\n (client-ip=2605:bc80:3010::137; helo=smtp4.osuosl.org;\n envelope-from=buildroot-bounces@buildroot.org; receiver=patchwork.ozlabs.org)"],"Received":["from smtp4.osuosl.org (smtp4.osuosl.org [IPv6:2605:bc80:3010::137])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fp5XT1pCXz1xtJ\n\tfor <incoming-buildroot@patchwork.ozlabs.org>;\n Sun, 05 Apr 2026 05:40:07 +1000 (AEST)","from localhost (localhost [127.0.0.1])\n\tby smtp4.osuosl.org (Postfix) with ESMTP id C556A40813;\n\tSat,  4 Apr 2026 19:39:59 +0000 (UTC)","from smtp4.osuosl.org ([127.0.0.1])\n by localhost (smtp4.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id 6_tD9It2EAt1; Sat,  4 Apr 2026 19:39:57 +0000 (UTC)","from lists1.osuosl.org (lists1.osuosl.org [140.211.166.142])\n\tby smtp4.osuosl.org (Postfix) with ESMTP id 5F31E4077F;\n\tSat,  4 Apr 2026 19:39:57 +0000 (UTC)","from smtp4.osuosl.org (smtp4.osuosl.org [IPv6:2605:bc80:3010::137])\n by lists1.osuosl.org (Postfix) with ESMTP id 4ECDA1EB\n for <buildroot@buildroot.org>; Sat,  4 Apr 2026 19:39:56 +0000 (UTC)","from localhost (localhost [127.0.0.1])\n by smtp4.osuosl.org (Postfix) with ESMTP id D5E514021E\n for <buildroot@buildroot.org>; Sat,  4 Apr 2026 19:39:55 +0000 (UTC)","from smtp4.osuosl.org ([127.0.0.1])\n by localhost (smtp4.osuosl.org [127.0.0.1]) (amavis, port 10024) with ESMTP\n id HtdqWUQOsH3S for <buildroot@buildroot.org>;\n Sat,  4 Apr 2026 19:39:53 +0000 (UTC)","from dd20012.kasserver.com (dd20012.kasserver.com [85.13.140.57])\n by smtp4.osuosl.org (Postfix) with ESMTPS id 04BC940C92\n for <buildroot@buildroot.org>; Sat,  4 Apr 2026 19:39:52 +0000 (UTC)","from fli4l.lan.fli4l (p5b3a012a.dip0.t-ipconnect.de [91.58.1.42])\n by dd20012.kasserver.com (Postfix) with ESMTPSA id BE7D3A4C09F4\n for <buildroot@buildroot.org>; Sat,  4 Apr 2026 21:39:48 +0200 (CEST)","from bruckner.lan.fli4l ([192.168.1.1]:44774)\n by fli4l.lan.fli4l with esmtp (Exim 4.99.1)\n (envelope-from <bernd@kuhls.net>) id 1w96qR-000000008KI-2cfS\n for buildroot@buildroot.org; Sat, 04 Apr 2026 19:39:48 +0000"],"X-Virus-Scanned":["amavis at osuosl.org","amavis at osuosl.org"],"X-Comment":"SPF check N/A for local connections - client-ip=140.211.166.142;\n helo=lists1.osuosl.org; envelope-from=buildroot-bounces@buildroot.org;\n receiver=<UNKNOWN> ","DKIM-Filter":["OpenDKIM Filter v2.11.0 smtp4.osuosl.org 5F31E4077F","OpenDKIM Filter v2.11.0 smtp4.osuosl.org 04BC940C92"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=buildroot.org;\n\ts=default; t=1775331597;\n\tbh=pHXoSUdRxIc1NMkjlyfYmkaQ0ul1W6ZqfnPXoFKFZ6o=;\n\th=From:To:Date:Subject:List-Id:List-Unsubscribe:List-Archive:\n\t List-Post:List-Help:List-Subscribe:From;\n\tb=o1sRbfHPNVzQHFOerXtYN3XT0vGaWRnU2sYwaK/3kp21TUcxJjTIKWRrQXrD/MzqC\n\t S02gLiafg0rE0nQ93RGYYCf1igSnW9eppw3wKotdDWyup8kaot+x58moCBQ7b7AuHY\n\t 9tqvz0UOI5/sDuB/VJPbcnzB2bK52lahLe2ft3TA2Pm0YZlrno0nIpRpMFtZV+iV5q\n\t 2+NH+aId2QSMcbdlK3xiXeV4e1E6mP5dj0HCqsmamb7ALd9twRfiBFct+r0NEXJQHB\n\t zTHAUlfT7SIlyIIDDqstNqd+JduLHzhpIpx2EpaV09bWU7BZ1uWKB7Rc3wo7QAamFE\n\t j1VFk7Zhrly1g==","Received-SPF":"Pass (mailfrom) identity=mailfrom; client-ip=85.13.140.57;\n helo=dd20012.kasserver.com; envelope-from=bernd@kuhls.net;\n receiver=<UNKNOWN>","DMARC-Filter":"OpenDMARC Filter v1.4.2 smtp4.osuosl.org 04BC940C92","From":"Bernd Kuhls <bernd@kuhls.net>","To":"buildroot@buildroot.org","Date":"Sat,  4 Apr 2026 21:39:47 +0200","Message-ID":"<20260404193947.957281-1-bernd@kuhls.net>","X-Mailer":"git-send-email 2.47.3","MIME-Version":"1.0","X-Spamd-Bar":"--","X-Mailman-Original-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=kuhls.net;\n s=kas202511301023; t=1775331588;\n bh=OZXHTRV2YW43kbn/mx9vqgQApSscxktVrnLaz3Mc67g=;\n h=From:To:Subject:Date:From;\n b=dpD56I9mfbUVyA6caHGAIEb1FbRGLVA+WSGdKs8UflFQ1M4HWnH3n7y9fqANzFERi\n E1pzzQY2/EYdaMe72qy1VimB3xqhev4Z5i6JyFkZ+z1w5mOFyOdMsyxgG5m/6Z/QpT\n QQPURnYpApx9+TkFZ7JUz3HD4Sfy2y1D3+xxevPkiXvWnco64+lXflN7k5/YPHi+QN\n Ae9QllZNulYXMSjrUD8l1Dl8TwuDl45qu2ZDq11/N/343YHJQ4RTKyz/aWaU8VwiTY\n CuV/CsZTU//yYm4jtxhQuNys9Ju9qXAOuJaGneL7y3/nZW1X8gI+0HFoT1lMEkLDP7\n Fa1lAgHznCbwg==","X-Mailman-Original-Authentication-Results":["smtp4.osuosl.org;\n dmarc=pass (p=none dis=none)\n header.from=kuhls.net","smtp4.osuosl.org;\n dkim=pass (2048-bit key,\n unprotected) header.d=kuhls.net header.i=@kuhls.net header.a=rsa-sha256\n header.s=kas202511301023 header.b=dpD56I9m"],"Subject":"[Buildroot] [PATCH 1/1] package/shadowsocks-libev: bump version to\n 3.3.6","X-BeenThere":"buildroot@buildroot.org","X-Mailman-Version":"2.1.30","Precedence":"list","List-Id":"Discussion and development of buildroot <buildroot.buildroot.org>","List-Unsubscribe":"<https://lists.buildroot.org/mailman/options/buildroot>,\n <mailto:buildroot-request@buildroot.org?subject=unsubscribe>","List-Archive":"<http://lists.buildroot.org/pipermail/buildroot/>","List-Post":"<mailto:buildroot@buildroot.org>","List-Help":"<mailto:buildroot-request@buildroot.org?subject=help>","List-Subscribe":"<https://lists.buildroot.org/mailman/listinfo/buildroot>,\n <mailto:buildroot-request@buildroot.org?subject=subscribe>","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Errors-To":"buildroot-bounces@buildroot.org","Sender":"\"buildroot\" <buildroot-bounces@buildroot.org>"},"content":"https://github.com/shadowsocks/shadowsocks-libev/releases/tag/v3.3.6\n\nUpstream tarball does not contain submodules so we need to download the\ngit repo ourselves. Please note that these submodules cannot be provided\nas system libraries:\nhttps://github.com/shadowsocks/shadowsocks-libev/commit/6423c8e496fe2e8d37e02b9a2d0472f7f4d6f5c0\n\"These are vendored code built from git submodules, not system\n libraries, [...]\"\n\nRemoved all patches, they were either autoconf-related or are included\nin this release.\n\nAdded patch to fix build with toolchains without c++.\n\nSwitched build system to cmake due to upstream removal of autoconf and\nswitched to pcre2 instead of pcre:\nhttps://github.com/shadowsocks/shadowsocks-libev/commit/7bb250739ef0067c62e4ffd533ec8cee2775995a\n\nThe cmake build system always builds dynamic libraries:\nhttps://github.com/shadowsocks/shadowsocks-libev/blob/v3.3.6/src/CMakeLists.txt#L252\nso we added a dependency to !BR2_STATIC_LIBS and -DWITH_STATIC=OFF as\nconfigure option.\n\nPlease note that this bump will not fix the build errors introduced by\nthe bump of glibc to version 2.43:\nhttps://github.com/shadowsocks/shadowsocks-libev/issues/3032\n\nSigned-off-by: Bernd Kuhls <bernd@kuhls.net>\n---\n .checkpackageignore                           |   3 -\n ...dd-LANGUAGES-option-to-project-varia.patch |  29 +++\n ...-pkg-config-to-find-netfilter_conntr.patch |  62 -----\n .../0002-fix-maybe-uninitialized-errors.patch |  93 -------\n ...kefile.am-remove-static-from-LDFLAGS.patch |  61 -----\n .../0004-fix-mbedtls-3-6-compatibility.patch  | 231 ------------------\n package/shadowsocks-libev/Config.in           |   7 +-\n .../shadowsocks-libev/shadowsocks-libev.hash  |   2 +-\n .../shadowsocks-libev/shadowsocks-libev.mk    |  22 +-\n 9 files changed, 45 insertions(+), 465 deletions(-)\n create mode 100644 package/shadowsocks-libev/0001-CMakeLists.txt-Add-LANGUAGES-option-to-project-varia.patch\n delete mode 100644 package/shadowsocks-libev/0001-configure.ac-use-pkg-config-to-find-netfilter_conntr.patch\n delete mode 100644 package/shadowsocks-libev/0002-fix-maybe-uninitialized-errors.patch\n delete mode 100644 package/shadowsocks-libev/0003-lib-Makefile.am-remove-static-from-LDFLAGS.patch\n delete mode 100644 package/shadowsocks-libev/0004-fix-mbedtls-3-6-compatibility.patch","diff":"diff --git a/.checkpackageignore b/.checkpackageignore\nindex 9c7f3fd915..e034ea96bf 100644\n--- a/.checkpackageignore\n+++ b/.checkpackageignore\n@@ -860,9 +860,6 @@ package/sentry-native/0001-sentry.h-include-ucontext.h.patch lib_patch.Upstream\n package/ser2net/S50ser2net Shellcheck lib_sysv.Indent lib_sysv.Variables\n package/setools/0001-Do-not-export-use-setools.InfoFlowAnalysis-and-setoo.patch lib_patch.Upstream\n package/setserial/0001-build-system-fix.patch lib_patch.Upstream\n-package/shadowsocks-libev/0001-configure.ac-use-pkg-config-to-find-netfilter_conntr.patch lib_patch.Upstream\n-package/shadowsocks-libev/0002-fix-maybe-uninitialized-errors.patch lib_patch.Upstream\n-package/shadowsocks-libev/0003-lib-Makefile.am-remove-static-from-LDFLAGS.patch lib_patch.Upstream\n package/shairport-sync/S99shairport-sync Shellcheck lib_sysv.Indent lib_sysv.Variables\n package/shared-mime-info/0001-Remove-incorrect-dependency-from-install-data-hook.patch lib_patch.Upstream\n package/shellinabox/0001-Makefile-disable-always-building-statically.patch lib_patch.Upstream\ndiff --git a/package/shadowsocks-libev/0001-CMakeLists.txt-Add-LANGUAGES-option-to-project-varia.patch b/package/shadowsocks-libev/0001-CMakeLists.txt-Add-LANGUAGES-option-to-project-varia.patch\nnew file mode 100644\nindex 0000000000..8a47e6dded\n--- /dev/null\n+++ b/package/shadowsocks-libev/0001-CMakeLists.txt-Add-LANGUAGES-option-to-project-varia.patch\n@@ -0,0 +1,29 @@\n+From cfff08f2ebc0edc89801c6dea97ca9b47d593608 Mon Sep 17 00:00:00 2001\n+From: Bernd Kuhls <bernd@kuhls.net>\n+Date: Sat, 4 Apr 2026 09:25:07 +0200\n+Subject: [PATCH] CMakeLists.txt: Add LANGUAGES option to project variable\n+\n+Fixes build with toolchains without c++.\n+\n+Upstream: https://github.com/shadowsocks/shadowsocks-libev/pull/3033\n+\n+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>\n+---\n+ CMakeLists.txt | 2 +-\n+ 1 file changed, 1 insertion(+), 1 deletion(-)\n+\n+diff --git a/CMakeLists.txt b/CMakeLists.txt\n+index 52ff13e..0d9528f 100644\n+--- a/CMakeLists.txt\n++++ b/CMakeLists.txt\n+@@ -1,6 +1,6 @@\n+ cmake_minimum_required(VERSION 3.5)\n+ \n+-set(PROJECT_NAME shadowsocks-libev)\n++set(PROJECT_NAME shadowsocks-libev LANGUAGES C)\n+ set(RELEASE_DATE 2026-02-09)\n+ set(PROJECT_VERSION \"3.3.6\")\n+ set(PROJECT_DESC \"a lightweight secured socks5 proxy\")\n+-- \n+2.47.3\n+\ndiff --git a/package/shadowsocks-libev/0001-configure.ac-use-pkg-config-to-find-netfilter_conntr.patch b/package/shadowsocks-libev/0001-configure.ac-use-pkg-config-to-find-netfilter_conntr.patch\ndeleted file mode 100644\nindex 781d3c0e64..0000000000\n--- a/package/shadowsocks-libev/0001-configure.ac-use-pkg-config-to-find-netfilter_conntr.patch\n+++ /dev/null\n@@ -1,62 +0,0 @@\n-From b3c61360a93b7f08fc9c33526056211408301ea9 Mon Sep 17 00:00:00 2001\n-From: Fabrice Fontaine <fontaine.fabrice@gmail.com>\n-Date: Mon, 23 Nov 2020 21:16:38 +0100\n-Subject: [PATCH] configure.ac: use pkg-config to find netfilter_conntrack\n-\n-Use pkg-config to retrieve the dependencies of netfilter_conntrack\n-and avoid the following build failure when building statically:\n-\n-configure:13096: /data/buildroot-test/instance-1/output-1/host/bin/x86_64-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -Os   -static -I/data/buildroot-test/instance-1/output-1/host/x86_64-buildroot-linux-uclibc/sysroot/usr/include -DPCRE_STATIC -pthread -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -static -L/data/buildroot-test/instance-1/output-1/host/x86_64-buildroot-linux-uclibc/sysroot/usr/lib conftest.c -lnetfilter_conntrack -lnfnetlink -lev  -lcares -lsodium -lmbedcrypto -lpcre  >&5\n-/data/buildroot-test/instance-1/output-1/host/opt/ext-toolchain/bin/../lib/gcc/x86_64-buildroot-linux-uclibc/8.3.0/../../../../x86_64-buildroot-linux-uclibc/bin/ld: /data/buildroot-test/instance-1/output-1/host/x86_64-buildroot-linux-uclibc/sysroot/usr/lib/libnetfilter_conntrack.a(api.o): in function `nfct_fill_hdr.constprop.4':\n-api.c:(.text+0x3f): undefined reference to `mnl_nlmsg_put_header'\n-\n-Fixes:\n- - http://autobuild.buildroot.org/results/6cad497a7ab941a0ee3fd7007defc81e30cdcbe0\n-\n-Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>\n-[Upstream status:\n-https://github.com/shadowsocks/shadowsocks-libev/pull/2773]\n----\n- configure.ac    | 5 +++--\n- src/Makefile.am | 2 +-\n- 2 files changed, 4 insertions(+), 3 deletions(-)\n-\n-diff --git a/configure.ac b/configure.ac\n-index 9787bc2..207c041 100755\n---- a/configure.ac\n-+++ b/configure.ac\n-@@ -252,7 +252,8 @@ AC_ARG_ENABLE(connmarktos,\n- if test x\"$enable_connmarktos\" = \"xyes\" ; then\n- \tAC_MSG_NOTICE([Linux Netfilter Conntrack support requested by --enable-connmarktos: ${enable_connmarktos}])\n- \tif test \"x$enable_connmarktos\" != \"xno\"; then\n--\t    AC_SEARCH_LIBS([nfct_query], [netfilter_conntrack],,[\n-+\t    PKG_CHECK_MODULES([NETFILTER_CONNTRACK], [libnetfilter_conntrack],,\n-+\t    [AC_SEARCH_LIBS([nfct_query], [netfilter_conntrack],,[\n- \t        if test x\"$enable_connmarktos\" = \"xyes\"; then\n- \t            AC_MSG_ERROR([--enable-connmarktos specified but libnetfilter-conntrack library not found])\n- \t        fi\n-@@ -262,7 +263,7 @@ if test x\"$enable_connmarktos\" = \"xyes\" ; then\n- \t        if test x\"$enable_connmarktos\" = \"xyes\"; then\n- \t            AC_MSG_ERROR([--enable-connmarktos specified but libnetfilter-conntrack headers not found])\n- \t        fi\n--\t        with_netfilter_conntrack=no])\n-+\t        with_netfilter_conntrack=no])])\n- \t  # If nothing is broken; enable the libraries usage.\n- \t  if test \"x$with_netfilter_conntrack\" != \"xno\"; then\n- \t\twith_netfilter_conntrack=yes\n-diff --git a/src/Makefile.am b/src/Makefile.am\n-index c261ed0..b81ced7 100644\n---- a/src/Makefile.am\n-+++ b/src/Makefile.am\n-@@ -9,7 +9,7 @@ AM_CFLAGS += -I$(top_srcdir)/libcork/include\n- endif\n- AM_CFLAGS += $(LIBPCRE_CFLAGS)\n- \n--SS_COMMON_LIBS = $(INET_NTOP_LIB) $(LIBPCRE_LIBS)\n-+SS_COMMON_LIBS = $(INET_NTOP_LIB) $(LIBPCRE_LIBS) $(NETFILTER_CONNTRACK_LIBS)\n- if !USE_SYSTEM_SHARED_LIB\n- SS_COMMON_LIBS += $(top_builddir)/libbloom/libbloom.la \\\n-                   $(top_builddir)/libipset/libipset.la \\\n--- \n-2.29.2\n-\ndiff --git a/package/shadowsocks-libev/0002-fix-maybe-uninitialized-errors.patch b/package/shadowsocks-libev/0002-fix-maybe-uninitialized-errors.patch\ndeleted file mode 100644\nindex 5275323e65..0000000000\n--- a/package/shadowsocks-libev/0002-fix-maybe-uninitialized-errors.patch\n+++ /dev/null\n@@ -1,93 +0,0 @@\n-From 0c23224e926463b1097414979367655a27fa6d60 Mon Sep 17 00:00:00 2001\n-From: Fabrice Fontaine <fontaine.fabrice@gmail.com>\n-Date: Thu, 7 Apr 2022 18:27:58 +0200\n-Subject: [PATCH] fix maybe-uninitialized errors\n-\n-Set {listen,server}_sock to -1 when needed as already done in\n-src/manager.c by commit ecf1fcc84594b09ed2d61e3677cd8e62bd897ccb to\n-avoid the following build failure:\n-\n-local.c: In function 'create_and_bind':\n-local.c:218:12: error: 'listen_sock' may be used uninitialized in this function [-Werror=maybe-uninitialized]\n-  218 |     return listen_sock;\n-      |            ^~~~~~~~~~~\n-\n-Fixes:\n- - http://autobuild.buildroot.org/results/27471a878ff52a972ac087d534e44fb0c50808f6\n-\n-Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>\n-[Retrieved from:\n-https://github.com/shadowsocks/shadowsocks-libev/commit/0c23224e926463b1097414979367655a27fa6d60]\n----\n- src/local.c    | 2 +-\n- src/redir.c    | 2 +-\n- src/server.c   | 2 +-\n- src/tunnel.c   | 2 +-\n- src/udprelay.c | 2 +-\n- 5 files changed, 5 insertions(+), 5 deletions(-)\n-\n-diff --git a/src/local.c b/src/local.c\n-index b1ab040bb..47d634ce5 100644\n---- a/src/local.c\n-+++ b/src/local.c\n-@@ -168,7 +168,7 @@ create_and_bind(const char *addr, const char *port)\n- {\n-     struct addrinfo hints;\n-     struct addrinfo *result, *rp;\n--    int s, listen_sock;\n-+    int s, listen_sock = -1;\n- \n-     memset(&hints, 0, sizeof(struct addrinfo));\n-     hints.ai_family   = AF_UNSPEC;   /* Return IPv4 and IPv6 choices */\n-diff --git a/src/redir.c b/src/redir.c\n-index 4a5a489f0..e60bd4870 100644\n---- a/src/redir.c\n-+++ b/src/redir.c\n-@@ -147,7 +147,7 @@ create_and_bind(const char *addr, const char *port)\n- {\n-     struct addrinfo hints;\n-     struct addrinfo *result, *rp;\n--    int s, listen_sock;\n-+    int s, listen_sock = -1;\n- \n-     memset(&hints, 0, sizeof(struct addrinfo));\n-     hints.ai_family   = AF_UNSPEC;   /* Return IPv4 and IPv6 choices */\n-diff --git a/src/server.c b/src/server.c\n-index e9cdc2619..073e38b22 100644\n---- a/src/server.c\n-+++ b/src/server.c\n-@@ -550,7 +550,7 @@ create_and_bind(const char *host, const char *port, int mptcp)\n- {\n-     struct addrinfo hints;\n-     struct addrinfo *result, *rp, *ipv4v6bindall;\n--    int s, listen_sock;\n-+    int s, listen_sock = -1;\n- \n-     memset(&hints, 0, sizeof(struct addrinfo));\n-     hints.ai_family   = AF_UNSPEC;               /* Return IPv4 and IPv6 choices */\n-diff --git a/src/tunnel.c b/src/tunnel.c\n-index e0886bdb9..6641fe62a 100644\n---- a/src/tunnel.c\n-+++ b/src/tunnel.c\n-@@ -129,7 +129,7 @@ create_and_bind(const char *addr, const char *port)\n- {\n-     struct addrinfo hints;\n-     struct addrinfo *result, *rp;\n--    int s, listen_sock;\n-+    int s, listen_sock = -1;\n- \n-     memset(&hints, 0, sizeof(struct addrinfo));\n-     hints.ai_family   = AF_UNSPEC;   /* Return IPv4 and IPv6 choices */\n-diff --git a/src/udprelay.c b/src/udprelay.c\n-index 23a042497..580ad4bd8 100644\n---- a/src/udprelay.c\n-+++ b/src/udprelay.c\n-@@ -446,7 +446,7 @@ create_server_socket(const char *host, const char *port)\n- {\n-     struct addrinfo hints;\n-     struct addrinfo *result, *rp, *ipv4v6bindall;\n--    int s, server_sock;\n-+    int s, server_sock = -1;\n- \n-     memset(&hints, 0, sizeof(struct addrinfo));\n-     hints.ai_family   = AF_UNSPEC;               /* Return IPv4 and IPv6 choices */\ndiff --git a/package/shadowsocks-libev/0003-lib-Makefile.am-remove-static-from-LDFLAGS.patch b/package/shadowsocks-libev/0003-lib-Makefile.am-remove-static-from-LDFLAGS.patch\ndeleted file mode 100644\nindex aebdb2305b..0000000000\n--- a/package/shadowsocks-libev/0003-lib-Makefile.am-remove-static-from-LDFLAGS.patch\n+++ /dev/null\n@@ -1,61 +0,0 @@\n-From e8ba4d6fd11ce795d9ed7b7a2c0ee0f6bf50f352 Mon Sep 17 00:00:00 2001\n-From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>\n-Date: Sat, 23 Jul 2022 18:20:00 +0200\n-Subject: [PATCH] lib*/Makefile.am: remove -static from LDFLAGS\n-\n-The libbloom, libcork and libipset libraries are \"convenience\n-libraries\" in libtool speak, and their code ends up being used in a\n-shared library, so building them with -static does not work as it\n-causes the code to be built without fPIC.\n-\n-https://www.gnu.org/software/libtool/manual/html_node/Static-libraries.html\n-explains:\n-\n-\"\"\"\n-If you omit both -rpath and -static, libtool will create a convenience\n-library that can be used to create other libtool libraries, even\n-shared ones. Just like in the static case, the library behaves as an\n-alias to a set of object files and dependency libraries, but in this\n-case the object files are suitable for inclusion in shared libraries.\n-\"\"\"\n-\n-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>\n----\n- libbloom/Makefile.am | 2 --\n- libcork/Makefile.am  | 2 --\n- libipset/Makefile.am | 2 --\n- 3 files changed, 6 deletions(-)\n-\n-diff --git a/libbloom/Makefile.am b/libbloom/Makefile.am\n-index 17c0761..6b2eddd 100644\n---- a/libbloom/Makefile.am\n-+++ b/libbloom/Makefile.am\n-@@ -2,5 +2,3 @@ noinst_LTLIBRARIES = libbloom.la\n- \n- libbloom_la_SOURCES = bloom.c murmur2/MurmurHash2.c\n- libbloom_la_CFLAGS = -I$(top_srcdir)/libbloom -I$(top_srcdir)/libbloom/murmur2\n--\n--libbloom_la_LDFLAGS = -static\n-diff --git a/libcork/Makefile.am b/libcork/Makefile.am\n-index 82ce062..e466a68 100644\n---- a/libcork/Makefile.am\n-+++ b/libcork/Makefile.am\n-@@ -17,5 +17,3 @@ endif\n- \n- libcork_la_SOURCES = $(cli_src) $(core_src) $(ds_src) $(pthreads_src) $(posix_src)\n- libcork_la_CFLAGS = -I$(top_srcdir)/libcork/include -DCORK_API=CORK_LOCAL\n--\t\t\t\t\t \n--libcork_la_LDFLAGS = -static\n-diff --git a/libipset/Makefile.am b/libipset/Makefile.am\n-index 3edfde6..bee8493 100644\n---- a/libipset/Makefile.am\n-+++ b/libipset/Makefile.am\n-@@ -23,5 +23,3 @@ set_src = src/libipset/set/allocation.c \\\n- \n- libipset_la_SOURCES = src/libipset/general.c ${bdd_src} ${map_src} ${set_src}\n- libipset_la_CFLAGS = -I$(top_srcdir)/libipset/include -I$(top_srcdir)/libcork/include\n--\n--libipset_la_LDFLAGS = -static\n--- \n-2.37.1\n-\ndiff --git a/package/shadowsocks-libev/0004-fix-mbedtls-3-6-compatibility.patch b/package/shadowsocks-libev/0004-fix-mbedtls-3-6-compatibility.patch\ndeleted file mode 100644\nindex ca46425c4d..0000000000\n--- a/package/shadowsocks-libev/0004-fix-mbedtls-3-6-compatibility.patch\n+++ /dev/null\n@@ -1,231 +0,0 @@\n-From 9afa3cacf947f910be46b69fc5a7a1fdd02fd5e6 Mon Sep 17 00:00:00 2001\n-From: Lu jicong <jiconglu58@gmail.com>\n-Date: Fri, 10 Jan 2025 22:05:31 +0800\n-Subject: [PATCH] Fix in 'mbedtls 3.6.0 ver' compilation failure issue\n-\n-Fix mbedtls 3.6 compatibility\n-\n-Co-authored-by: Zxl hhyccc <zxlhhy@gmail.com>\n-Signed-off-by: Lu jicong <jiconglu58@gmail.com>\n-Upstream: https://github.com/shadowsocks/shadowsocks-libev/commit/9afa3cacf947f910be46b69fc5a7a1fdd02fd5e6\n-Signed-off-by: Thomas Perale <thomas.perale@mind.be>\n----\n- m4/mbedtls.m4 | 20 ++++++++++++++++++++\n- src/aead.c    | 23 +++++++++++------------\n- src/crypto.c  |  2 +-\n- src/crypto.h  |  1 -\n- src/stream.c  | 51 ++++++---------------------------------------------\n- 5 files changed, 38 insertions(+), 59 deletions(-)\n-\n-diff --git a/m4/mbedtls.m4 b/m4/mbedtls.m4\n-index 2c478b960..a795790ca 100644\n---- a/m4/mbedtls.m4\n-+++ b/m4/mbedtls.m4\n-@@ -31,7 +31,12 @@ AC_DEFUN([ss_MBEDTLS],\n-   AC_COMPILE_IFELSE(\n-     [AC_LANG_PROGRAM(\n-       [[\n-+#include <mbedtls/version.h>\n-+#if MBEDTLS_VERSION_NUMBER >= 0x03000000\n-+#include <mbedtls/mbedtls_config.h>\n-+#else\n- #include <mbedtls/config.h>\n-+#endif\n-       ]],\n-       [[\n- #ifndef MBEDTLS_CIPHER_MODE_CFB\n-@@ -48,7 +53,12 @@ AC_DEFUN([ss_MBEDTLS],\n-   AC_COMPILE_IFELSE(\n-     [AC_LANG_PROGRAM(\n-       [[\n-+#include <mbedtls/version.h>\n-+#if MBEDTLS_VERSION_NUMBER >= 0x03000000\n-+#include <mbedtls/mbedtls_config.h>\n-+#else\n- #include <mbedtls/config.h>\n-+#endif\n-       ]],\n-       [[\n- #ifndef MBEDTLS_ARC4_C\n-@@ -64,7 +74,12 @@ AC_DEFUN([ss_MBEDTLS],\n-   AC_COMPILE_IFELSE(\n-     [AC_LANG_PROGRAM(\n-       [[\n-+#include <mbedtls/version.h>\n-+#if MBEDTLS_VERSION_NUMBER >= 0x03000000\n-+#include <mbedtls/mbedtls_config.h>\n-+#else\n- #include <mbedtls/config.h>\n-+#endif\n-       ]],\n-       [[\n- #ifndef MBEDTLS_BLOWFISH_C\n-@@ -80,7 +95,12 @@ AC_DEFUN([ss_MBEDTLS],\n-   AC_COMPILE_IFELSE(\n-     [AC_LANG_PROGRAM(\n-       [[\n-+#include <mbedtls/version.h>\n-+#if MBEDTLS_VERSION_NUMBER >= 0x03000000\n-+#include <mbedtls/mbedtls_config.h>\n-+#else\n- #include <mbedtls/config.h>\n-+#endif\n-       ]],\n-       [[\n- #ifndef MBEDTLS_CAMELLIA_C\n-diff --git a/src/aead.c b/src/aead.c\n-index 358ec9381..73349da64 100644\n---- a/src/aead.c\n-+++ b/src/aead.c\n-@@ -177,9 +177,13 @@ aead_cipher_encrypt(cipher_ctx_t *cipher_ctx,\n-     // Otherwise, just use the mbedTLS one with crappy AES-NI.\n-     case AES192GCM:\n-     case AES128GCM:\n--\n-+#if MBEDTLS_VERSION_NUMBER < 0x03000000\n-         err = mbedtls_cipher_auth_encrypt(cipher_ctx->evp, n, nlen, ad, adlen,\n-                                           m, mlen, c, clen, c + mlen, tlen);\n-+#else\n-+        err = mbedtls_cipher_auth_encrypt_ext(cipher_ctx->evp, n, nlen, ad, adlen,\n-+                                              m, mlen, c, mlen + tlen, clen, tlen);\n-+#endif\n-         *clen += tlen;\n-         break;\n-     case CHACHA20POLY1305IETF:\n-@@ -226,8 +230,13 @@ aead_cipher_decrypt(cipher_ctx_t *cipher_ctx,\n-     // Otherwise, just use the mbedTLS one with crappy AES-NI.\n-     case AES192GCM:\n-     case AES128GCM:\n-+#if MBEDTLS_VERSION_NUMBER < 0x03000000\n-         err = mbedtls_cipher_auth_decrypt(cipher_ctx->evp, n, nlen, ad, adlen,\n-                                           m, mlen - tlen, p, plen, m + mlen - tlen, tlen);\n-+#else\n-+        err = mbedtls_cipher_auth_decrypt_ext(cipher_ctx->evp, n, nlen, ad, adlen,\n-+                                              m, mlen, p, mlen - tlen, plen, tlen);\n-+#endif\n-         break;\n-     case CHACHA20POLY1305IETF:\n-         err = crypto_aead_chacha20poly1305_ietf_decrypt(p, &long_plen, NULL, m, mlen,\n-@@ -721,17 +730,7 @@ aead_key_init(int method, const char *pass, const char *key)\n-     cipher_t *cipher = (cipher_t *)ss_malloc(sizeof(cipher_t));\n-     memset(cipher, 0, sizeof(cipher_t));\n- \n--    if (method >= CHACHA20POLY1305IETF) {\n--        cipher_kt_t *cipher_info = (cipher_kt_t *)ss_malloc(sizeof(cipher_kt_t));\n--        cipher->info             = cipher_info;\n--        cipher->info->base       = NULL;\n--        cipher->info->key_bitlen = supported_aead_ciphers_key_size[method] * 8;\n--        cipher->info->iv_size    = supported_aead_ciphers_nonce_size[method];\n--    } else {\n--        cipher->info = (cipher_kt_t *)aead_get_cipher_type(method);\n--    }\n--\n--    if (cipher->info == NULL && cipher->key_len == 0) {\n-+    if (method < CHACHA20POLY1305IETF && aead_get_cipher_type(method) == NULL) {\n-         LOGE(\"Cipher %s not found in crypto library\", supported_aead_ciphers[method]);\n-         FATAL(\"Cannot initialize cipher\");\n-     }\n-diff --git a/src/crypto.c b/src/crypto.c\n-index b44d8674c..76c426b53 100644\n---- a/src/crypto.c\n-+++ b/src/crypto.c\n-@@ -103,7 +103,7 @@ crypto_md5(const unsigned char *d, size_t n, unsigned char *md)\n-     if (md == NULL) {\n-         md = m;\n-     }\n--#if MBEDTLS_VERSION_NUMBER >= 0x02070000\n-+#if MBEDTLS_VERSION_NUMBER < 0x03000000 && MBEDTLS_VERSION_NUMBER >= 0x02070000\n-     if (mbedtls_md5_ret(d, n, md) != 0)\n-         FATAL(\"Failed to calculate MD5\");\n- #else\n-diff --git a/src/crypto.h b/src/crypto.h\n-index 1791551ff..70707932b 100644\n---- a/src/crypto.h\n-+++ b/src/crypto.h\n-@@ -97,7 +97,6 @@ typedef struct buffer {\n- typedef struct {\n-     int method;\n-     int skey;\n--    cipher_kt_t *info;\n-     size_t nonce_len;\n-     size_t key_len;\n-     size_t tag_len;\n-diff --git a/src/stream.c b/src/stream.c\n-index 35d9050b3..b2e2cea82 100644\n---- a/src/stream.c\n-+++ b/src/stream.c\n-@@ -168,33 +168,6 @@ crypto_stream_xor_ic(uint8_t *c, const uint8_t *m, uint64_t mlen,\n-     return 0;\n- }\n- \n--int\n--cipher_nonce_size(const cipher_t *cipher)\n--{\n--    if (cipher == NULL) {\n--        return 0;\n--    }\n--    return cipher->info->iv_size;\n--}\n--\n--int\n--cipher_key_size(const cipher_t *cipher)\n--{\n--    /*\n--     * Semi-API changes (technically public, morally prnonceate)\n--     * Renamed a few headers to include _internal in the name. Those headers are\n--     * not supposed to be included by users.\n--     * Changed md_info_t into an opaque structure (use md_get_xxx() accessors).\n--     * Changed pk_info_t into an opaque structure.\n--     * Changed cipher_base_t into an opaque structure.\n--     */\n--    if (cipher == NULL) {\n--        return 0;\n--    }\n--    /* From Version 1.2.7 released 2013-04-13 Default Blowfish keysize is now 128-bits */\n--    return cipher->info->key_bitlen / 8;\n--}\n--\n- const cipher_kt_t *\n- stream_get_cipher_type(int method)\n- {\n-@@ -642,34 +615,22 @@ stream_key_init(int method, const char *pass, const char *key)\n-     cipher_t *cipher = (cipher_t *)ss_malloc(sizeof(cipher_t));\n-     memset(cipher, 0, sizeof(cipher_t));\n- \n--    if (method == SALSA20 || method == CHACHA20 || method == CHACHA20IETF) {\n--        cipher_kt_t *cipher_info = (cipher_kt_t *)ss_malloc(sizeof(cipher_kt_t));\n--        cipher->info             = cipher_info;\n--        cipher->info->base       = NULL;\n--        cipher->info->key_bitlen = supported_stream_ciphers_key_size[method] * 8;\n--        cipher->info->iv_size    = supported_stream_ciphers_nonce_size[method];\n--    } else {\n--        cipher->info = (cipher_kt_t *)stream_get_cipher_type(method);\n--    }\n--\n--    if (cipher->info == NULL && cipher->key_len == 0) {\n-+    if (method < SALSA20 && stream_get_cipher_type(method) == NULL) {\n-         LOGE(\"Cipher %s not found in crypto library\", supported_stream_ciphers[method]);\n-         FATAL(\"Cannot initialize cipher\");\n-     }\n- \n-     if (key != NULL)\n--        cipher->key_len = crypto_parse_key(key, cipher->key, cipher_key_size(cipher));\n-+        cipher->key_len = crypto_parse_key(key, cipher->key,\n-+                                           supported_stream_ciphers_key_size[method]);\n-     else\n--        cipher->key_len = crypto_derive_key(pass, cipher->key, cipher_key_size(cipher));\n-+        cipher->key_len = crypto_derive_key(pass, cipher->key,\n-+                                            supported_stream_ciphers_key_size[method]);\n- \n-     if (cipher->key_len == 0) {\n-         FATAL(\"Cannot generate key and NONCE\");\n-     }\n--    if (method == RC4_MD5) {\n--        cipher->nonce_len = 16;\n--    } else {\n--        cipher->nonce_len = cipher_nonce_size(cipher);\n--    }\n-+    cipher->nonce_len = supported_stream_ciphers_nonce_size[method];\n-     cipher->method = method;\n- \n-     return cipher;\ndiff --git a/package/shadowsocks-libev/Config.in b/package/shadowsocks-libev/Config.in\nindex fefb27bcc1..b5be19f939 100644\n--- a/package/shadowsocks-libev/Config.in\n+++ b/package/shadowsocks-libev/Config.in\n@@ -4,11 +4,12 @@ config BR2_PACKAGE_SHADOWSOCKS_LIBEV\n \tdepends on BR2_TOOLCHAIN_HAS_SYNC_8 || !BR2_ARCH_IS_64 # for libcork\n \tdepends on BR2_TOOLCHAIN_HAS_THREADS\n \tdepends on BR2_USE_MMU # fork()\n+\tdepends on !BR2_STATIC_LIBS\n \tselect BR2_PACKAGE_C_ARES\n \tselect BR2_PACKAGE_LIBEV\n \tselect BR2_PACKAGE_LIBSODIUM\n \tselect BR2_PACKAGE_MBEDTLS\n-\tselect BR2_PACKAGE_PCRE\n+\tselect BR2_PACKAGE_PCRE2\n \thelp\n \t  Shadowsocks-libev is a lightweight secured SOCKS5 proxy for\n \t  embedded devices and low-end boxes.\n@@ -27,8 +28,8 @@ config BR2_PACKAGE_SHADOWSOCKS_LIBEV_CONNMARKTOS\n \n \t  If unsure, don't enable this option\n \n-comment \"shadowsocks-libev needs a toolchain w/ threads\"\n+comment \"shadowsocks-libev needs a toolchain w/ threads, dynamic library\"\n \tdepends on BR2_TOOLCHAIN_HAS_SYNC_4\n \tdepends on BR2_TOOLCHAIN_HAS_SYNC_8 || !BR2_ARCH_IS_64\n \tdepends on BR2_USE_MMU\n-\tdepends on !BR2_TOOLCHAIN_HAS_THREADS\n+\tdepends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS\ndiff --git a/package/shadowsocks-libev/shadowsocks-libev.hash b/package/shadowsocks-libev/shadowsocks-libev.hash\nindex 4f1d6d2fa5..1b6febebdd 100644\n--- a/package/shadowsocks-libev/shadowsocks-libev.hash\n+++ b/package/shadowsocks-libev/shadowsocks-libev.hash\n@@ -1,5 +1,5 @@\n # Locally computed\n-sha256  cfc8eded35360f4b67e18dc447b0c00cddb29cc57a3cec48b135e5fb87433488  shadowsocks-libev-3.3.5.tar.gz\n+sha256  2de1dbbc9b643e8655b0ed0534b5e10d7182eb2009046897f20ac5383d4c6919  shadowsocks-libev-v3.3.6-git4.tar.gz\n \n # License files, locally calculated\n sha256  736883f97d44dbec288bb82819f18f4f86d02ae3192f6a9abefa00db76bace41  COPYING\ndiff --git a/package/shadowsocks-libev/shadowsocks-libev.mk b/package/shadowsocks-libev/shadowsocks-libev.mk\nindex c76983ce5e..778daf37b9 100644\n--- a/package/shadowsocks-libev/shadowsocks-libev.mk\n+++ b/package/shadowsocks-libev/shadowsocks-libev.mk\n@@ -4,24 +4,24 @@\n #\n ################################################################################\n \n-SHADOWSOCKS_LIBEV_VERSION = 3.3.5\n-SHADOWSOCKS_LIBEV_SITE = https://github.com/shadowsocks/shadowsocks-libev/releases/download/v$(SHADOWSOCKS_LIBEV_VERSION)\n+SHADOWSOCKS_LIBEV_VERSION = v3.3.6\n+SHADOWSOCKS_LIBEV_SITE = https://github.com/shadowsocks/shadowsocks-libev.git\n+SHADOWSOCKS_LIBEV_SITE_METHOD = git\n+SHADOWSOCKS_LIBEV_GIT_SUBMODULES = YES\n SHADOWSOCKS_LIBEV_LICENSE = GPL-3.0+, BSD-2-Clause (libbloom), BSD-3-Clause (libcork, libipset)\n SHADOWSOCKS_LIBEV_LICENSE_FILES = COPYING libbloom/LICENSE libcork/COPYING\n SHADOWSOCKS_LIBEV_CPE_ID_VENDOR = shadowsocks\n-SHADOWSOCKS_LIBEV_DEPENDENCIES = host-pkgconf c-ares libev libsodium mbedtls pcre\n+SHADOWSOCKS_LIBEV_DEPENDENCIES = host-pkgconf c-ares libev libsodium mbedtls pcre2\n SHADOWSOCKS_LIBEV_INSTALL_STAGING = YES\n-# We're patching configure.ac\n-SHADOWSOCKS_LIBEV_AUTORECONF = YES\n-SHADOWSOCKS_LIBEV_CONF_OPTS = \\\n-\t--with-pcre=$(STAGING_DIR)/usr \\\n-\t--disable-ssp\n+SHADOWSOCKS_LIBEV_CONF_OPTS += \\\n+\t-DDISABLE_SSP=ON \\\n+\t-DWITH_STATIC=OFF\n \n ifeq ($(BR2_PACKAGE_SHADOWSOCKS_LIBEV_CONNMARKTOS),y)\n SHADOWSOCKS_LIBEV_DEPENDENCIES += libnetfilter_conntrack\n-SHADOWSOCKS_LIBEV_CONF_OPTS += --enable-connmarktos\n+SHADOWSOCKS_LIBEV_CONF_OPTS += -DENABLE_CONNMARKTOS=ON\n else\n-SHADOWSOCKS_LIBEV_CONF_OPTS += --disable-connmarktos\n+SHADOWSOCKS_LIBEV_CONF_OPTS += -DENABLE_CONNMARKTOS=OFF\n endif\n \n-$(eval $(autotools-package))\n+$(eval $(cmake-package))\n","prefixes":["1/1"]}