simonc56
8355870586
Mark 'd.timestamp.started' as safe in command download initialization
2026-07-20 08:21:32 +02:00
Jari Sundell
23921cc97c
Added new ProxyManager and support for socks5 for peer connections.
2026-06-30 19:55:45 +09:00
simonc56
9431dd5acc
mark d.complete & d.timestamp.finished as safe in command download
2026-06-28 10:11:06 +02:00
trim21
8598873627
Replace rak::regex with fnmatch from POSIX <fnmatch.h>
...
rak::regex was a hand-rolled glob matcher supporting only '*'
wildcards. Replace it with the standard POSIX fnmatch() which supports
the same glob patterns plus '?' and '[...]' character classes.
- src/core/manager.cc: use fnmatch for directory entry filtering
- src/command_download.cc: use fnmatch for file path pattern matching
- Makefile.am: remove rak/regex.h from EXTRA_DIST
- rak/regex.h: deleted, no longer needed
2026-06-25 09:47:11 +02:00
Jari Sundell
acb02379b8
Use a cache for free diskspace when sync'ing all downloads.
2026-06-18 23:45:55 +09:00
Jari Sundell
08828045f5
Added min/max alloc for SocketManager categories.
2026-06-16 22:39:39 +09:00
Jari Sundell
29edda2f15
Removed address based throttling.
2026-06-13 22:53:42 +09:00
trim21
c63db9cf97
refactor: use torrent::heuristics_enum instead of choke_queue::heuristics_enum
...
Update to use the new top-level torrent::heuristics_enum from
torrent/download/types.h, removing the dependency on choke_queue.h
for enum values.
2026-06-10 13:02:06 +02:00
Jari Sundell
f1cfe8ad72
Added hex to Object and string_utf8.
2026-06-04 04:22:16 +09:00
Jari Sundell
add305f90c
Added support base64 support for non-UTF8 strings.
2026-05-30 00:25:16 +09:00
Jari Sundell
e41b066555
Converted callbacks to new interface.
2026-05-25 20:13:45 +09:00
Jari Sundell
1adcf230d2
Fix core subsystem logic and safety bugs @Sirus20x6
2026-04-18 01:54:46 +09:00
Jari Sundell
5a4ba8bc32
Removed deprecated rak header files.
2026-04-10 22:04:02 +09:00
Jari Sundell
e64ec358fa
Removed deprecated rak headers.
2026-04-10 03:49:38 +09:00
Xirvik
08a907b547
Whitelist additional read-only getters for untrusted connections
...
ruTorrent queries these commands for its settings and status pages.
They are all read-only getters with no side effects, safe to expose
for untrusted SCGI connections.
Tested against ruTorrent with both httprpc and multirpc plugins on
servers with active torrents — all modes (list, settings, totals,
open connections) work with zero blocked commands.
2026-03-30 11:55:24 +02:00
Xirvik
9f6731b4e2
Address review: tighten untrusted safelist and remove set_trusted
2026-03-23 15:11:07 +01:00
Xirvik
d935e0ffe9
Address review feedback: explicit mark_safe whitelist and rpc trust flow
2026-03-23 15:11:07 +01:00
Xirvik
f767053297
Mark safe commands with flag_untrusted_safe for whitelist enforcement
...
Annotate all commands that web UIs (ruTorrent) need for normal torrent
management with _U macro variants, which set flag_untrusted_safe.
Commands not marked are blocked by default for untrusted connections.
Safe commands include:
- d.* download getters, state, priorities, custom fields, start/stop
- f.* file getters, priority control
- p.* peer getters, disconnect, ban/snub
- t.* tracker getters, enable/disable
- throttle.* rate getters/setters, peer limits
- network.* read-only queries (getters safe, setters blocked)
- view.list, view.size, view.filter_all, ui.current_view
- load.*, download_list, d.multicall2, d.multicall.filtered
- convert.*, branch/if/and/or/not/cat/value/print
- system.* version/time/status queries (read-only)
- choke_group.* read-only queries
- method.has_key, method.const, method.list_keys, method.get, strings.*
- group.*.view, group.*.ratio.min/max/upload (dynamic, via flag propagation)
Blocked by default (not marked):
- execute*, method.insert/set/redirect, schedule*, import
- log.*, file.append, network.scgi.open_*, view.filter/sort/event_*
- system.shutdown, system.env, group.insert, choke_group.insert
- All user-defined commands (via method.insert)
2026-03-23 15:11:07 +01:00
Jari Sundell
b233e24465
Deprecated rak::path_expand.
2026-01-08 23:27:53 +09:00
Jari Sundell
a8b6a47054
Removed deprecated rak errno and file headers.
2026-01-04 03:22:02 +09:00
Jari Sundell
4bdeb58eb6
Run multiple session save requests in parallel.
2025-12-22 06:26:35 +09:00
Jari Sundell
8f644e65dd
Use separate thread for saving session data.
2025-12-18 06:42:44 +09:00
Jari Sundell
8806c06f9f
Added timestamp helper commands.
2025-12-10 22:29:42 +09:00
rakshasa
b05ecb5c5a
Push back views explicitly takes a string.
2025-11-17 09:36:32 +01:00
Jari Sundell
e7a80c7b18
Remove deprecated rak::socket_address.
2025-09-17 21:44:54 +09:00
rakshasa
788442de6a
Added test for xmlrpc string reflection.
2025-08-02 15:02:25 +02:00
rakshasa
4492715737
Strict checking of d.views push_back arguments.
2025-08-02 15:02:25 +02:00
Rosen Penev
0948b5f86a
clang-tidy: convert loops to range based
...
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2025-06-19 09:57:21 +02:00
Rosen Penev
f0517e2748
replace various find_if calls
...
C++11 has shorter equivalents.
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2025-06-18 14:39:42 +02:00
Rosen Penev
47089bce70
remove some transform calls
...
for range loop is more readable.
Signed-off-by: Rosen Penev <rosenp@gmail.com >
2025-06-17 17:13:05 +02:00
Jari Sundell
f0809ec29d
Various pool_event_* and thread API cleanups.
2025-06-01 01:22:14 +09:00
Jari Sundell
de6c48ca3f
Moved TrackerList and TrackerController out of the public API.
2025-05-28 17:11:29 +09:00
rakshasa
3d9c083032
Fix scheduler access.
2025-04-21 11:09:26 +02:00
Jari Sundell
3a227c190f
Added system.files.advise_random.set command.
2025-03-28 19:21:25 +09:00
Jari Sundell
9a2ce2b231
Changes to support UDNS.
2025-03-27 21:36:10 +09:00
rakshasa
5797ed9e7a
Added new tracker list commands.
2025-03-11 13:45:18 +01:00
Jari Sundell
0adfc17335
Compatibility fixes with thread-safe list tracker changes.
2025-03-11 20:38:04 +09:00
rakshasa
37a5b7bccb
Moved torrent::Tracker to torrent::tracker::Tracker.
2025-02-27 19:24:35 +01:00
rakshasa
89b35af7a6
Fixed threaded tracker feature compatibility.
2025-02-11 09:01:52 +01:00
rakshasa
b8cb828d96
Replaced depreacted rak/functional calls.
2024-12-15 00:54:20 +09:00
trim21
5a200f5d8f
fix: d.group.name should return group name instead of group index
2024-12-06 01:09:18 +09:00
Jari Sundell
7659cd0ec0
Backport changes from feature-bind.
2019-08-23 23:25:24 +09:00
rakshasa
863de44c18
Added d.tracker_announce.force.
2019-07-11 17:46:35 +02:00
pyroscope
d9b39f5ac6
d.custom.if_z: return default also for existing but empty value
2018-06-18 19:41:53 +02:00
pyroscope
ca4c3bee8d
add d.custom.if_z + d.custom.keys + d.custom.items
2018-06-14 20:32:28 +02:00
rakshasa
e1afe25413
Merge branch 'master' into ipv6
2016-08-29 18:19:45 +09:00
chros
8140c3fe07
Expose meta property of downloads (See #5 )
2016-07-21 18:55:21 +01:00
rakshasa
0df0a6650d
Removed ifdef for ipv6.
2014-09-23 18:56:29 +09:00
rakshasa
7007973c76
Added ipv6 patch.
2014-08-14 20:56:20 +09:00
rakshasa
3b39f37f49
C++11 compatibility fixes.
2014-05-13 23:36:37 +09:00