Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/2219843/?format=api
{ "id": 2219843, "url": "http://patchwork.ozlabs.org/api/patches/2219843/?format=api", "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=api", "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=api", "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=api", "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" ] }