From: Nam Nguyen Subject: update net/rtorrent 0.16.24 net/libtorrent 0.16.24 To: ports@openbsd.org Cc: tj@openbsd.org, Stuart Henderson , Christian Weisgerber Date: Wed, 30 Sep 2026 01:04:40 -0700 Here is an update to net/rtorrent 0.16.24 and net/libtorrent 0.16.24 released on Sep 22, 2026. changelog: https://github.com/rakshasa/rtorrent/releases#release-v0.16.24 changelog has some security changes: Fix one-byte overflow of the domain name buffer in udns dns_getdn Fix heap overflow writing the question name of a compressed DNS reply Fix use-after-free when p.multicall commands disconnect peers portwise rtorrent does the following: - regens test/Makefile.in patch to remove a new, third instance of -ldl portwise libtorrent does the following: - major bump due to removed symbols - unbreaks tests by linking using static archive Tests were already broken, due to undefined symbols when using libtool's .la files. I tried putting manager.o into archive files. Alternatively, I also tried patching test/Makefile.am with manager.{cc,h} and introducing autoreconf / automake. Both alternatives let tests run but they would double free during test cleanup. ld: error: undefined symbol: torrent::manager >>> referenced by runtime.cc:17 (runtime/runtime.cc:17) >>> runtime.o:(torrent::runtime::total_handshakes()) in archive /usr/obj/pobj/libtorrent-0.16.24/libtorrent-0.16.24/src/torrent/.libs/libtorrent_torrent.a >>> referenced by file.cc:85 (data/file.cc:85) >>> file.o:(torrent::File::prepare(bool, int, int)) in archive /usr/obj/pobj/libtorrent-0.16.24/libtorrent-0.16.24/src/torrent/.libs/libtorrent_torrent.a >>> referenced by file_list.cc:497 (data/file_list.cc:497) >>> file_list. tj@ asked AI and proposed linking tests using the static archive .libs/libtorrent.a. This makes sense since it has all of the objects (plus a few more) found in torrent/.libs/libtorrent_torrent.a and .libs/libtorrent_other.a This unbreaks tests and downloading a debian torrent works. OK to commit during ports slowdown? Index: libtorrent/Makefile =================================================================== RCS file: /cvs/ports/net/libtorrent/Makefile,v diff -u -p -u -p -r1.74 Makefile --- libtorrent/Makefile 20 Aug 2026 12:20:51 -0000 1.74 +++ libtorrent/Makefile 30 Sep 2026 07:55:07 -0000 @@ -3,11 +3,10 @@ COMMENT= BitTorrent library written in BROKEN-hppa = undefined references to __sync atomic ops BROKEN-sh = undefined references to __sync atomic ops -V = 0.16.20 +V = 0.16.24 DISTNAME= libtorrent-$V EPOCH= 0 -REVISION= 0 -SHARED_LIBS += torrent 25.0 # .18.0 +SHARED_LIBS += torrent 26.0 # 52.0.0 CATEGORIES= net devel HOMEPAGE= https://rakshasa.github.io/rtorrent/ Index: libtorrent/distinfo =================================================================== RCS file: /cvs/ports/net/libtorrent/distinfo,v diff -u -p -u -p -r1.24 distinfo --- libtorrent/distinfo 15 Aug 2026 09:55:48 -0000 1.24 +++ libtorrent/distinfo 30 Sep 2026 07:55:07 -0000 @@ -1,2 +1,2 @@ -SHA256 (libtorrent-0.16.20.tar.gz) = xncQjJg57UytL1l8dFOexyYlwUSZZOmwG6DpSoZ84yY= -SIZE (libtorrent-0.16.20.tar.gz) = 927423 +SHA256 (libtorrent-0.16.24.tar.gz) = JKLE6EQpCtqxIIlW/EBDQ2YqxclSQfPRWscKkXL9Uls= +SIZE (libtorrent-0.16.24.tar.gz) = 943301 Index: libtorrent/patches/patch-test_Makefile_in =================================================================== RCS file: libtorrent/patches/patch-test_Makefile_in diff -N libtorrent/patches/patch-test_Makefile_in --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ libtorrent/patches/patch-test_Makefile_in 30 Sep 2026 07:55:07 -0000 @@ -0,0 +1,27 @@ +link tests with static archive due to undefined symbol + +Index: test/Makefile.in +--- test/Makefile.in.orig ++++ test/Makefile.in +@@ -140,9 +140,7 @@ am_LibTorrent_Test_OBJECTS = $(am__objects_1) \ + protocol/LibTorrent_Test-test_protocol_buffer.$(OBJEXT) \ + protocol/LibTorrent_Test-test_request_list.$(OBJEXT) + LibTorrent_Test_OBJECTS = $(am_LibTorrent_Test_OBJECTS) +-LibTorrent_Test_DEPENDENCIES = ../src/libtorrent.la \ +- ../src/libtorrent_other.la \ +- ../src/torrent/libtorrent_torrent.la ++LibTorrent_Test_DEPENDENCIES = ../src/.libs/libtorrent.a + AM_V_lt = $(am__v_lt_@AM_V@) + am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) + am__v_lt_0 = --silent +@@ -683,9 +681,7 @@ top_srcdir = @top_srcdir@ + + # LibTorrent_Test_LDADD = ../src/libtorrent.la + LibTorrent_Test_LDADD = \ +- ../src/libtorrent.la \ +- ../src/libtorrent_other.la \ +- ../src/torrent/libtorrent_torrent.la ++ ../src/.libs/libtorrent.a + + LibTorrent_Test_Torrent_Net_LDADD = $(LibTorrent_Test_LDADD) + LibTorrent_Test_Torrent_Runtime_LDADD = $(LibTorrent_Test_LDADD) Index: rtorrent/Makefile =================================================================== RCS file: /cvs/ports/net/rtorrent/Makefile,v diff -u -p -u -p -r1.80 Makefile --- rtorrent/Makefile 20 Aug 2026 12:20:51 -0000 1.80 +++ rtorrent/Makefile 30 Sep 2026 07:55:08 -0000 @@ -1,8 +1,7 @@ COMMENT = ncurses BitTorrent client based on libTorrent -V = 0.16.20 +V = 0.16.24 EPOCH = 0 -REVISION = 0 DISTNAME = rtorrent-$V CATEGORIES = net Index: rtorrent/distinfo =================================================================== RCS file: /cvs/ports/net/rtorrent/distinfo,v diff -u -p -u -p -r1.24 distinfo --- rtorrent/distinfo 15 Aug 2026 09:56:00 -0000 1.24 +++ rtorrent/distinfo 30 Sep 2026 07:55:08 -0000 @@ -1,2 +1,2 @@ -SHA256 (rtorrent-0.16.20.tar.gz) = jtMBmX8XWcXs//IFYWujYSfLpHqytbWs7U20ihH6anQ= -SIZE (rtorrent-0.16.20.tar.gz) = 869617 +SHA256 (rtorrent-0.16.24.tar.gz) = Jp2CBUvfOGIZRyLF4nvdwSq7UdRQRb9t8b1+46KDe6s= +SIZE (rtorrent-0.16.24.tar.gz) = 886723 Index: rtorrent/patches/patch-test_Makefile_in =================================================================== RCS file: /cvs/ports/net/rtorrent/patches/patch-test_Makefile_in,v diff -u -p -u -p -r1.10 patch-test_Makefile_in --- rtorrent/patches/patch-test_Makefile_in 2 Sep 2026 18:06:10 -0000 1.10 +++ rtorrent/patches/patch-test_Makefile_in 30 Sep 2026 07:55:08 -0000 @@ -1,9 +1,12 @@ Index: test/Makefile.in --- test/Makefile.in.orig +++ test/Makefile.in -@@ -683,9 +683,9 @@ rtorrent_Test_Src_SOURCES = $(rtorrent_Test_Common) \ +@@ -743,11 +743,11 @@ rtorrent_Test_Src_SOURCES = $(rtorrent_Test_Common) \ src/test_watch_ready_queue.h + rtorrent_Test_Core_CXXFLAGS = $(CPPUNIT_CFLAGS) +-rtorrent_Test_Core_LDFLAGS = $(CPPUNIT_LIBS) -ldl ++rtorrent_Test_Core_LDFLAGS = $(CPPUNIT_LIBS) rtorrent_Test_Rpc_CXXFLAGS = $(CPPUNIT_CFLAGS) -rtorrent_Test_Rpc_LDFLAGS = $(CPPUNIT_LIBS) -ldl +rtorrent_Test_Rpc_LDFLAGS = $(CPPUNIT_LIBS)