Compare commits
15 Commits
| Author | SHA256 | Date | |
|---|---|---|---|
| e281dd16fe | |||
| add7b22dfb | |||
| 1bc309f14d | |||
| c3b4ff35df | |||
| 982a6470ea | |||
| c5162844c4 | |||
| df244f80e8 | |||
| 6f7f570534 | |||
| cc7eb3f9b4 | |||
| c9041c8a54 | |||
| e3fc352f2f | |||
| 50edb8b6bb | |||
| 5857fe05c1 | |||
| d0e1d6d00a | |||
| fd8cb232fe |
@@ -1,28 +0,0 @@
|
||||
From 954bfb70f24578ef33b1f77cf1a3d64fc2f2f595 Mon Sep 17 00:00:00 2001
|
||||
From: Aleksa Sarai <cyphar@cyphar.com>
|
||||
Date: Mon, 20 Jun 2022 19:09:57 +1000
|
||||
Subject: [PATCH] utils: lockfile: avoid stack overflow for lockfile buffer
|
||||
References: https://github.com/rakshasa/rtorrent/pull/1169
|
||||
|
||||
Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>
|
||||
---
|
||||
src/utils/lockfile.cc | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/utils/lockfile.cc b/src/utils/lockfile.cc
|
||||
index 7d11d8c9970f..fac5cb23e26f 100644
|
||||
--- a/src/utils/lockfile.cc
|
||||
+++ b/src/utils/lockfile.cc
|
||||
@@ -98,7 +98,8 @@ Lockfile::try_lock() {
|
||||
int pos = ::gethostname(buf, 255);
|
||||
|
||||
if (pos == 0) {
|
||||
- ::snprintf(buf + std::strlen(buf), 255, ":+%i\n", ::getpid());
|
||||
+ ssize_t len = std::strlen(buf);
|
||||
+ ::snprintf(buf + len, 255 - len, ":+%i\n", ::getpid());
|
||||
int __UNUSED result = ::write(fd, buf, std::strlen(buf));
|
||||
}
|
||||
|
||||
--
|
||||
2.36.1
|
||||
|
||||
BIN
rtorrent-0.16.6.tar.gz
LFS
Normal file
BIN
rtorrent-0.16.6.tar.gz
LFS
Normal file
Binary file not shown.
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:9edf0304bf142215d3bc85a0771446b6a72d0ad8218efbe184b41e4c9c7542af
|
||||
size 647523
|
||||
123
rtorrent.changes
123
rtorrent.changes
@@ -1,3 +1,126 @@
|
||||
-------------------------------------------------------------------
|
||||
Sat Jan 3 18:10:37 UTC 2026 - Jan Engelhardt <jengelh@inai.de>
|
||||
|
||||
- Update to release 0.16.6
|
||||
* Session saves are now handled in a separate thread.
|
||||
* Downloading of magnet links now save the metadata file to
|
||||
session directory by default.
|
||||
* New Timestamp Helper Commands: Added ``.or_zero`` and
|
||||
``.elapsed`` commands for ``d.timestamp.started`` and
|
||||
``d.timestamp.finished``.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Dec 3 08:54:32 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
|
||||
|
||||
- Update to release 0.16.5
|
||||
* Fixes 100% CPU usage bug in *BSD kqueue event handler and UDNS
|
||||
resolver.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Nov 25 13:23:08 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
|
||||
|
||||
- Update to release 0.16.4
|
||||
* This release contains several bug fixes and minor improvements.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Nov 4 21:51:50 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
|
||||
|
||||
- Update to release 0.16.2
|
||||
* Added dual listening ports when both IPv4 and IPv6 are bound.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Oct 17 12:09:10 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
|
||||
|
||||
- Update to release 0.16.1
|
||||
* DHT now tries to open the same port as the listen port by
|
||||
default.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Sep 5 11:36:00 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
|
||||
|
||||
- Update to release 0.16.0
|
||||
* Added ``network.block.ipv4in6.set`` command.
|
||||
* Inverted color of focus ui element.
|
||||
* Block ipv4/6 now sets the resolve type.
|
||||
* Fix file descriptor leak in session file saving with
|
||||
``system.files.session.fdatasync`` set to no.
|
||||
* Fixed DHT bind address and converted to using sockaddr.
|
||||
* Fixed uninitialized rpc slots when SCGI is not used.
|
||||
* Fixed closing of external fd's and potential race-conditions in
|
||||
CurlStack::close_get().
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Aug 23 09:22:37 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
|
||||
|
||||
- Update to release 0.15.6
|
||||
* Use getaddrinfo for numeric hostname lookups in UdnsResolver.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Jun 22 20:26:01 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
|
||||
|
||||
- Update to release 0.15.5
|
||||
* Fixed corrupted stack in curl stack due to wrong argument type.
|
||||
* Fix file descriptor leak in session file saving.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jun 2 08:38:29 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
|
||||
|
||||
- Update to release 0.15.4
|
||||
* Refactoring of threads, polling and scheduler code.
|
||||
* Added `system.files.advise_random.hashing.set` for speeding
|
||||
up initial hashing of files in a torrent. This can be used in
|
||||
conjunction with `system.files.advise_random.set` to reduce
|
||||
disk I/O on SSDs.
|
||||
* Enabling `system.files.advise_random.set` will reduce
|
||||
unnecessary disk I/O on SSDs, while disabling
|
||||
`system.files.advise_random.hashing.set` ensures that the
|
||||
initial hashing retains the benefits of sequential disk
|
||||
read-ahead.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri May 2 10:02:18 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
|
||||
|
||||
- Update to release 0.15.3
|
||||
* Fixed slow SCGI replies
|
||||
* Cleaned up thread/scheduler code
|
||||
- Delete 0001-Added-default-switch-cases-to-RpcManager.patch
|
||||
(merged)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Mar 28 21:24:20 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
|
||||
|
||||
- Update to release 0.15.2
|
||||
* Colors, LUA and json-rpc are now supported in the client
|
||||
- Add 0001-Added-default-switch-cases-to-RpcManager.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jan 2 10:36:44 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
|
||||
|
||||
- Update to release 0.15.1
|
||||
* Resolved scgi software crash with SIGPIPE exception.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Dec 26 19:14:37 UTC 2024 - Jan Engelhardt <jengelh@inai.de>
|
||||
|
||||
- Update to release 0.15
|
||||
* Resolved scgi software crash with SIGPIPE exception.
|
||||
* Resolved a crash with the curl stack during shutdown.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Sep 29 12:10:54 UTC 2024 - Jan Engelhardt <jengelh@inai.de>
|
||||
|
||||
- Update to release 0.10.0
|
||||
* A fix for a torrent client stack overflow crash with the lockfile
|
||||
buffer.
|
||||
* New trackers.delay_scrape command for .rtorrent.rc to avoid
|
||||
crashes with thousands of torrents and allow instant startups.
|
||||
* A fix for a critical memory leak with RPC commands which may
|
||||
waste an alarming amount of memory.
|
||||
* A fix for critical torrent client breakage if a power
|
||||
outage/failure occurs during a session saving interval
|
||||
- Delete 0001-utils-lockfile-avoid-stack-overflow-for-lockfile-buf.patch
|
||||
(merged)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jun 21 00:28:35 UTC 2022 - Aleksa Sarai <asarai@suse.com>
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package rtorrent
|
||||
#
|
||||
# Copyright (c) 2022 SUSE LLC
|
||||
# Copyright (c) 2026 SUSE LLC and contributors
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -12,53 +12,55 @@
|
||||
# license that conforms to the Open Source Definition (Version 1.9)
|
||||
# published by the Open Source Initiative.
|
||||
|
||||
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
||||
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||
#
|
||||
|
||||
|
||||
Name: rtorrent
|
||||
Version: 0.9.8
|
||||
Version: 0.16.6
|
||||
Release: 0
|
||||
Summary: Console-based BitTorrent Client
|
||||
Summary: Console-based BitTorrent client
|
||||
License: SUSE-GPL-2.0+-with-openssl-exception
|
||||
Group: Productivity/Networking/File-Sharing
|
||||
URL: https://github.com/rakshasa/rtorrent
|
||||
|
||||
Source: https://github.com/rakshasa/rtorrent/releases/download/v%version/%name-%version.tar.gz
|
||||
Source2: rtorrent.desktop
|
||||
# This manpage copied from the 0.9.2 tarball as it was missing in later versions
|
||||
Source3: rtorrent.1
|
||||
Source4: rtorrent.service
|
||||
Patch1: 0001-utils-lockfile-avoid-stack-overflow-for-lockfile-buf.patch
|
||||
BuildRequires: autoconf-archive
|
||||
BuildRequires: automake
|
||||
%if 0%{?suse_version} && 0%{?suse_version} < 1600
|
||||
BuildRequires: gcc13-c++
|
||||
%else
|
||||
BuildRequires: gcc-c++
|
||||
%endif
|
||||
BuildRequires: libtool
|
||||
BuildRequires: ncurses-devel
|
||||
BuildRequires: sysuser-tools
|
||||
BuildRequires: update-desktop-files
|
||||
BuildRequires: pkgconfig(cppunit) >= 1.9.6
|
||||
BuildRequires: pkgconfig(libcurl) >= 7.15.4
|
||||
BuildRequires: pkgconfig(libtorrent) >= 0.13.8
|
||||
BuildRequires: pkgconfig(xmlrpc)
|
||||
Requires(pre): shadow
|
||||
BuildRequires: pkgconfig(libtorrent) >= %version
|
||||
Provides: bundled(tinyxml2) = 10.0.0
|
||||
%sysusers_requires
|
||||
|
||||
%description
|
||||
rTorrent is a console-based BitTorrent client. It aims to be a
|
||||
fully-featured and efficient client with the ability to run in the
|
||||
background using screen. It supports fast-resume and session
|
||||
management.
|
||||
rTorrent is a text-based BitTorrent client written in C++ and with
|
||||
ncurses. It supports fast resume and session management, and can be
|
||||
run in the background with the help of e.g. GNU screen.
|
||||
|
||||
%prep
|
||||
%autosetup -p1
|
||||
|
||||
%build
|
||||
%if 0%{?suse_version} && 0%{?suse_version} < 1600
|
||||
export CXX=g++-13
|
||||
%endif
|
||||
# It's full of type pun violations
|
||||
export CFLAGS="%optflags -fno-strict-aliasing"
|
||||
export CXXFLAGS="$CFLAGS"
|
||||
export CXXFLAGS="$CXXFLAGS -std=gnu++11"
|
||||
autoreconf -fiv
|
||||
%configure \
|
||||
--with-xmlrpc-c="%_bindir/xmlrpc-c-config" \
|
||||
--enable-ipv6
|
||||
%configure --with-xmlrpc-tinyxml2 --enable-ipv6
|
||||
%make_build
|
||||
|
||||
%install
|
||||
@@ -70,8 +72,12 @@ install -pm0644 "%{S:3}" "$b/%_mandir/man1/"
|
||||
%suse_update_desktop_file -r "%name" Network P2P
|
||||
install -Dm0644 "%{S:4}" "$b/%_unitdir/rtorrent.service"
|
||||
|
||||
%pre
|
||||
getent passwd rtorrent >/dev/null || useradd -r rtorrent
|
||||
echo 'u rtorrent - "rtorrent daemon"' >system-user-rtorrent.conf
|
||||
mkdir -p "$b/%_sysusersdir"
|
||||
cp -a system-user-rtorrent.conf "$b/%_sysusersdir/"
|
||||
%sysusers_generate_pre system-user-rtorrent.conf random system-user-rtorrent.conf
|
||||
|
||||
%pre -f random.pre
|
||||
%service_add_pre rtorrent.service
|
||||
|
||||
%post
|
||||
@@ -88,7 +94,9 @@ getent passwd rtorrent >/dev/null || useradd -r rtorrent
|
||||
%license COPYING
|
||||
%_bindir/rtorrent
|
||||
%_datadir/applications/%name.desktop
|
||||
%_datadir/%name/
|
||||
%_mandir/man1/rtorrent.1*
|
||||
%_unitdir/rtorrent.service
|
||||
%_sysusersdir/*
|
||||
|
||||
%changelog
|
||||
|
||||
Reference in New Issue
Block a user