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)

Reply via email to