Merge pull request #92 from greatest-ape/work-2022-09-20

Add CHANGELOG, update dependencies
This commit is contained in:
Joakim Frostegård 2022-09-21 08:05:40 +02:00 committed by GitHub
commit 132b355e1b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 56 additions and 16 deletions

38
CHANGELOG.md Normal file
View file

@ -0,0 +1,38 @@
# Changelog
## Unreleased
### Added
* Add cli flag for printing parsed config
* Add `aquatic_http_private`, an experiment for integrating with private trackers
* _aquatic_udp_: implement optional response resend buffer
* _aquatic_udp_: add optional extended statistics
* _aquatic_udp_: add Dockerfile to make it easier to get started
* _aquatic_ws_: add HTTP health check route when running without TLS
### Changed
* Rename request workers to swarm workers
* Switch to thin LTO
* Use proper workspace path declarations and remove workspace patch section
* Reduce space taken by ValidUntil struct from 128 to 32 bits
* Use regular (non-amortized) IndexMap for peer and pending scrape response maps (but not for torrent maps)
* Improve privilege dropping
* Quit whole program if any thread panics
* Update dependencies
* _aquatic_udp_: replace ConnectionMap with BLAKE3-based connection validator
* _aquatic_udp_: ignore requests with source port value of zero
* _aquatic_ws_: reduce size of various structs
* _aquatic_ws_: make TLS optional
* _aquatic_ws_: support reverse proxies
### Fixed
* Fail on unrecognized config keys
* _aquatic_http_protocol_: explicity check for /scrape path
* _aquatic_http_protocol_: return NeedMoreData until headers are fully parsed
* _aquatic_http_protocol_: fix issues with ScrapeRequest::write and AnnounceRequest::write
* _aquatic_http_protocol_: expose write and parse methods for subtypes
* _aquatic_http_load_test_: exclusively use TLS 1.3
* _aquatic_ws_: remove peer from swarms immediately when connection is closed

28
Cargo.lock generated
View file

@ -924,9 +924,9 @@ checksum = "77c90badedccf4105eca100756a0b1289e191f6fcbdadd3cee1d2f614f97da8f"
[[package]] [[package]]
name = "dotenvy" name = "dotenvy"
version = "0.15.3" version = "0.15.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "da3db6fcad7c1fc4abdd99bf5276a4db30d6a819127903a709ed41e5ff016e84" checksum = "ed9155c8f4dc55c7470ae9da3f63c6785245093b3f6aeb0f5bf2e968efbba314"
dependencies = [ dependencies = [
"dirs", "dirs",
] ]
@ -1340,9 +1340,9 @@ dependencies = [
[[package]] [[package]]
name = "hdrhistogram" name = "hdrhistogram"
version = "7.5.1" version = "7.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6ea9fe3952d32674a14e0975009a3547af9ea364995b5ec1add2e23c2ae523ab" checksum = "7f19b9f54f7c7f55e31401bb647626ce0cf0f67b0004982ce815b3ee72a02aa8"
dependencies = [ dependencies = [
"base64", "base64",
"byteorder", "byteorder",
@ -1542,9 +1542,9 @@ dependencies = [
[[package]] [[package]]
name = "itertools" name = "itertools"
version = "0.10.4" version = "0.10.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d8bf247779e67a9082a4790b45e71ac7cfd1321331a5c856a74a9faebdab78d0" checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473"
dependencies = [ dependencies = [
"either", "either",
] ]
@ -1591,9 +1591,9 @@ dependencies = [
[[package]] [[package]]
name = "libc" name = "libc"
version = "0.2.132" version = "0.2.133"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8371e4e5341c3a96db127eb2465ac681ced4c433e01dd0e938adbef26ba93ba5" checksum = "c0f80d65747a3e43d1596c7c5492d95d5edddaabd45a7fcdb02b95f644164966"
[[package]] [[package]]
name = "libm" name = "libm"
@ -1612,9 +1612,9 @@ dependencies = [
[[package]] [[package]]
name = "lock_api" name = "lock_api"
version = "0.4.8" version = "0.4.9"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9f80bf5aacaf25cbfc8210d1cfb718f2bf3b11c4c54e5afe36c236853a8ec390" checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df"
dependencies = [ dependencies = [
"autocfg", "autocfg",
"scopeguard", "scopeguard",
@ -2713,9 +2713,9 @@ checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601"
[[package]] [[package]]
name = "syn" name = "syn"
version = "1.0.99" version = "1.0.100"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "58dbef6ec655055e20b86b15a8cc6d439cca19b667537ac6a1369572d151ab13" checksum = "52205623b1b0f064a4e71182c3b18ae902267282930c6d5462c91b859668426e"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@ -2867,9 +2867,9 @@ dependencies = [
[[package]] [[package]]
name = "tokio-stream" name = "tokio-stream"
version = "0.1.9" version = "0.1.10"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "df54d54117d6fdc4e4fea40fe1e4e566b3505700e148a6827e59b34b0d2600d9" checksum = "f6edf2d6bc038a43d31353570e27270603f4648d18f5ed10c0e179abe43255af"
dependencies = [ dependencies = [
"futures-core", "futures-core",
"pin-project-lite", "pin-project-lite",

View file

@ -2,11 +2,13 @@
## High priority ## High priority
* Only return peers when AnnounceEvent != Stopped
* Do new udp load test round
* Release new version
## Medium priority ## Medium priority
* Consider replacing unmaintained indexmap-amortized with plain indexmap * Consider replacing unmaintained indexmap-amortized with plain indexmap
* udp: use regular indexmap for peers and possibly inline variant with few peers
* Run cargo-fuzz on protocol crates * Run cargo-fuzz on protocol crates
* quit whole program if any thread panics * quit whole program if any thread panics