Summary
This release includes various bugfixes and minor improvements as part of a stable series of releases.
New Commands
Various string.* commands for text manipulation, see #1916 for more.
Variants of path related commands that return the realpath, see #1918 for more.
Added system.sockets.<category>.max_alloc_limit and system.sockets.<category>.min_alloc_limit commands.
Development Funding
Current development relies on donations, and as such is highly appreciated.
Donations make futher development possible, and as such are highly appreciated:
- Paypal
- Patreon
- SubscribeStar
- Bitcoin: 1MpmXm5AHtdBoDaLZstJw8nupJJaeKu8V8
- Ethereum: 0x9AB1e3C3d8a875e870f161b3e9287Db0E6DAfF78
- Litecoin: LdyaVR67LBnTf6mAT4QJnjSG2Zk67qxmfQ
- Cardano: addr1qytaslmqmk6dspltw06sp0zf83dh09u79j49ceh5y26zdcccgq4ph7nmx6kgmzeldauj43254ey97f3x4xw49d86aguqwfhlte
What's Changed
Cleanup / Improvements
- Add string.* commands for text manipulation by @kunalkakade
- Add realpath variants of the commands that return paths by @kunalkakade
- Add system.sockets..max_alloc_limit. by @xirvik
- Add system.sockets..min_alloc.limit. by @xirvik
Bug Fixes
- rpc: do not dereference a null result from the xmlrpc-c registry. by @xirvik
- Fix garbage throttle values
- Update config files
- ui: bound the input history size. by @xirvik
- Do not fail startup on unreadable session files. by @xirvik
- Link against libatomic when 64-bit atomics require it by @kunalkakade
- Close the connection when an SCGI header does not fit the buffer. by @xirvik
- Catch every json exception when processing a JSONRPC request. by @xirvik
- Check the focus iterator before dereferencing it on erase. by @xirvik
- Let the choke group list own its groups. by @xirvik
- Limit the padding string.rpad and string.lpad will build. by @xirvik
- Do not dereference missing text nodes
- Update rtorrent.rc.lua-example to use
network.listen.port.xcommands by @jereynolds - Add schedule.if_absent for clients that re-register periodic tasks. by @xirvik
- Fixed '-i ' command line argument. by @rakshasa
- Let the download list own its downloads through a shared pointer. by @xirvik
- Add network.local_port commands for tracker port reporting by @Auska
- Add a depth limit to json_to_object. by @xirvik
- Add a depth limit to the command parser. by @xirvik
- Reject division overflow
- Range check the socket allocation and size values. by @xirvik
- Guard the unit multiplication
- Add a timeout to scgi tasks. by @xirvik
- Check flag_public_rpc when dispatching jsonrpc calls. by @xirvik
- Mark view.list and system.time as untrusted safe. by @xirvik
- Clamp the elapsed time conversion instead of overflowing. by @xirvik
- Guard the value suffixes against negative overflow. by @xirvik
- data: check for an empty path before dereferencing it
- tracker: do not abort on a zero-length or failed datagram read. by @xirvik
- runtime: fix the argument count
- Refuse a category allocation above its limit instead of aborting. by @xirvik
- net: throw the udns submit failure by value. by @xirvik
- dht: restrict the length of tokens we echo back. by @xirvik
- Refuse a files allocation outside what the file manager accepts. by @xirvik
- dht: skip a node with an any address instead of throwing. by @xirvik
- Do not abort on values and state an RPC caller controls. by @xirvik
- Do not allocate a bencode string before reading it by @xirvik by @rakshasa
- Bound the piece skip read to the null buffer size. by @xirvik
- Do not dereference the end iterator when updating group iterators. by @xirvik
- Reject a meta-download that also carries file entries. by @xirvik
- Bound the range passed to update_range by the bitfield size. by @xirvik
- Encode a negative bencode value without negating the minimum. by @xirvik
- Check the file length sum before it overflows. by @xirvik
- Reject a torrent with an empty name instead of aborting. by @xirvik
- Reject a torrent with duplicate or nested file paths. by @xirvik
- network: add local port override for tracker announces by @Auska
- Fix outgoing handshake rejecting a plaintext stream. by @xirvik
- Reject a negative length
- Validate the piece length before narrowing it. by @xirvik
- Pad the Diffie-Hellman shared secret to the full key width. by @xirvik
- Load the dht hash key without assuming alignment. by @xirvik
- Don't dereference an empty peer list when building a ut_pex message. by @xirvik
- Restore the SIGBUS handler on every path out of Chunk::from_buffer. by @xirvik
- Refresh the thread cached time after polling, before dispatching events. by @xirvik
- Reject a bencode string length that does not fit
- Detect overflow when reading a bencode integer