Changelog 2.0.14
- fix issue in merkle tree
- fix use of a stack buffer past its lifetime when sending i2p SAM commands
- fix issues with active_time, seeding_time and finished_time
- fix torrent updates for idle torrents
- improve dont-count-slow-torrents
- fix external_ip_alert not being posted under some conditions when UPnP/NAT-PMP is enabled
- fix issue with stuck trackers on session pause
- fix windows disk read, possibly causing short-read errors
- fix blocking UDP socket in LSD and NAT-PMP
- fix web seed requests for single-file torrents in multi-file mode
- fix duplicate filenames in magnet links
- fix blocking UDP socket in UPnP
- fix corruption bug in mmap_storage
- fix bug where torrent_status::total was not set for seeds
What's Changed
- harden merkle_tree proof validation by @arvidn in #8466
- Fix web seed Host header ports by @hussainarslan in #8460
- use the new host_header functions in more places by @arvidn in #8471
- Add Linux CA certificate probing in start_session() by @trim21 in #8488
- torrent_status::total by @arvidn in #8524
- fix use-after-free in uTP failure socket shutdown path by @arvidn in #8528
- fix incorrect hint in mmap_storage::write that could cause corruption by @arvidn in #8542
- disk_write_mode setting by @arvidn in #8546
- fix blocking UDP socket in UPnP by @arvidn in #8555
- backport: fix duplicate filenames in magnet links by @arvidn in #8556
- fix web seed requests for single-file torrents in multi-file mode by @arvidn in #8559
- fix integer overflow in download_queue_time() by @arvidn in #8560
- non-blocking UDP socket in LSD and NAT-PMP by @arvidn in #8566
- persist BEP-21 upload_only on peer_list entry (RC_2_0) by @reardonia in #8557
- Optimize CPU usage in the DH key exchange hot path by @anthonyryan1 in #8565
- back-port want_peers_finished() invariant check failure by @arvidn in #8575
- fix mistake in workflows syntax by @arvidn in #8577
- handle ReadFile() returning a short read, by retrying by @arvidn in #8597
- fix undefined std::toupper on signed char in base32decode by @isl-Ramzi in #8600
- Abort trackers 2.0 by @arvidn in #8604
- fix out of bounds read in from_hex on odd number of digits by @isl-Ramzi in #8611
- fix external_ip_alert not being posted when UPnP/NAT-PMP succeeds by @rts-kotori in #8607
- inactive torrent fix, back-port by @arvidn in #8617
- don't report a utf8 sequence length longer than the input by @isl-Ramzi in #8618
- fix torrent updates for idle torrents by @arvidn in #8620
- Fix empty tracker tiers are incorrectly saved by @arvidn in #8625
- factor out fragile logic to track active, seeding and finished time by @arvidn in #8623
- fix out of bounds write in hashes_rejected on block hash requests by @isl-Ramzi in #8630
- reject all-zero node hashes in merkle_validate_and_insert_proofs by @isl-Ramzi in #8635
- back-port: don't hand a stack buffer to async_write in i2p_stream by @arvidn in #8641
- back-port Fix wrapped packet buffer range checks by @arvidn in #8661
- back-port web seed chunk size check by @arvidn in #8672
- bump 2.0.14 version by @arvidn in #8684
- back port of merkle tree fix by @arvidn in #8711
New Contributors
- @anthonyryan1 made their first contribution in #8565
- @rts-kotori made their first contribution in #8607
Full Changelog: v2.0.13...v2.0.14