Matt Joiner
538efd12bd
Restore the default duplicate request timeout strategy
2020-01-24 17:34:07 +11:00
Matt Joiner
48eb7ff3f2
Expose request strategies
2020-01-24 17:30:57 +11:00
Matt Joiner
2044457959
Fix unimplemented hooks in request strategies one and two
2020-01-24 15:09:39 +11:00
Matt Joiner
737596d3df
go get -u && go mod tidy
2020-01-23 14:16:46 +11:00
Matt Joiner
913f6df80d
Use CopyN to ensure early io.EOF isn't ignored when hashing pieces
2020-01-23 13:56:39 +11:00
Matt Joiner
2c1afff8b3
Skip 1 frame in reader.log
2020-01-23 13:55:40 +11:00
Matt Joiner
cf0d0118ea
Finish fixing IP banning on storage errors
2020-01-23 13:54:37 +11:00
Matt Joiner
4fae1f81df
Record connection dirtied piece before queuing for hash
...
Not a bug, but probably more robust.
2020-01-23 13:52:17 +11:00
Matt Joiner
dc643d2ed3
Update code comments
2020-01-23 13:51:14 +11:00
Matt Joiner
1d5b8f7451
Reflow some comments
2020-01-22 15:56:16 +11:00
Matt Joiner
dc39e98cfb
Fix race in requestStrategyThree request timeout callback
2020-01-20 11:51:24 +11:00
Matt Joiner
ff8ce944e9
Upgrade github.com/pkg/errors@v0.9.0
2020-01-14 15:42:27 +11:00
Matt Joiner
cfc68d3ae6
Fix bad init of Torrent.requestStrategy
2020-01-14 10:51:09 +11:00
Matt Joiner
35cdebdc3b
Fix panic in benchmark due to requestStrategy changes
2020-01-14 10:51:09 +11:00
Matt Joiner
2559af0f9c
Extract the request timeout stuff into requestStrategyThree
2020-01-14 10:51:09 +11:00
Matt Joiner
4c989da21e
Extract the request strategy logic
...
Bit messy. Now it'll be easier to clean-up what it depends on, and test.
2020-01-14 10:51:09 +11:00
Matt Joiner
5a1af60e96
Formatting
2020-01-14 10:51:09 +11:00
Matt Joiner
381fb293a5
Fix typos and spellos in comments
2020-01-14 10:51:09 +11:00
Matt Joiner
31fdcb3463
Update missinggo
2020-01-14 10:51:09 +11:00
Matt Joiner
72e54fb353
Resource per piece storage: Store incomplete chunks separately
2020-01-14 10:51:09 +11:00
Matt Joiner
1039e00955
When piece checks fail only ban untrusted peers and only when the entire piece is dirty
...
This should help with addressing https://github.com/anacrolix/torrent/issues/364 .
2020-01-14 10:51:09 +11:00
Matt Joiner
bf0498ed5a
Improve hash piece error logging
2020-01-14 10:51:09 +11:00
Matt Joiner
b9fb0bf2a2
Don't create piece hashers for closed Torrents
2020-01-14 10:51:09 +11:00
Matt Joiner
4911b29903
Use subtests in TestClientTransferVarious
2020-01-14 10:51:09 +11:00
Matt Joiner
814a714459
Propagate back piece hashing errors
...
Attempting to solve https://github.com/anacrolix/torrent/issues/364 .
2020-01-14 10:51:09 +11:00
James Lawrence
ad73cf8611
fixes various vet errors
2020-01-14 09:09:09 +10:00
Matt Joiner
98bd488466
Fix a log level
2020-01-07 10:50:18 +11:00
Matt Joiner
c9f9235117
Fix panic in logging
...
Found by @ccampbell.
2020-01-07 10:44:58 +11:00
Matt Joiner
e80834b899
Update FUNDING.yml
2020-01-06 09:02:11 +11:00
Matt Joiner
baefdfd9ea
Disable accept rate limiting by default
...
It messes with any non-standard usage, like localhost etc. It might even just be a bad idea when interacting with clients that behave like ourselves: opening connections with varying encryption and protocols simultaneously to each peer.
2020-01-04 17:17:56 +11:00
Matt Joiner
bd4176f5ea
cmd/torrent: Disable accept rate limiting
2020-01-04 17:16:48 +11:00
Matt Joiner
3a733e530c
Improve logging and errors for accept rate limiting
2020-01-04 17:14:18 +11:00
Matt Joiner
6cc65683e5
Revert to log v0.4.0
2020-01-04 16:43:15 +11:00
Matt Joiner
8323dd9a14
cmd/torrent: Move log setup earlier to avoid race
2020-01-04 16:41:18 +11:00
Matt Joiner
5746877e1d
cmd/torrent: Synchronize stopping
2020-01-04 16:41:02 +11:00
Matt Joiner
01f9fdb921
Upgrade to log v0.5.0
2020-01-03 15:37:08 +11:00
Matt Joiner
bfbed8ab6d
cmd/torrent: Make the addr flag a string
...
This avoids tagflag trying to resolve it, and then passing a bad IP for different listen networks. There's also a patch to tagflag so it doesn't do this anymore.
2020-01-03 14:51:26 +11:00
Matt Joiner
e24a9b343f
cmd/torrent: Add dht flag
2020-01-03 14:51:26 +11:00
Steve Yoon
d34dfa6575
propagate proxy url parsing err
2020-01-02 09:18:14 +10:00
Sick Yoon
32579e72c7
disable listeners if proxy is configured
2020-01-02 09:18:14 +10:00
Matt Joiner
76f1516d3a
Update dht to v2.3.1
...
Fixes a race in bootstrap stats.
2019-12-29 13:00:20 +11:00
Matt Joiner
d4e90519e6
Use new anacrolix/multiless, and incorporate Peer.Trusted into peer prioritization
2019-12-23 14:04:07 +11:00
Matt Joiner
cf85d70a5c
bencode: Rename string_values->stringValues
2019-12-23 13:39:34 +11:00
Matt Joiner
4104880a66
Remove unnecessary locking in Torrent.Piece
2019-12-18 16:49:15 +11:00
Matt Joiner
5f1d937b62
Add connection trust flag, and more tests with small caches
...
Thanks to observations and feedback from @ccampbell.
2019-12-18 13:52:00 +11:00
Matt Joiner
9e1804f52e
Switch back to anacrolix/sync for the Client lock
2019-12-17 20:49:40 +11:00
davtoro
82e1c81a9a
Possibility to change UPnP ID ( #354 )
2019-12-16 13:22:24 +11:00
Matt Joiner
f448f55e88
Coalesce piece state change notifications on client unlock
...
Reported by Craig Campbell <iamcraigcampbell@gmail.com>.
2019-12-13 15:55:56 +11:00
Yates
790ba6af3c
use path.utf8 first for some torrent ( #350 )
2019-12-08 20:35:40 +11:00
D. HT. Yu
6e95274413
fix if statement in `cmd/torrent/main.go` ( #349 )
2019-12-08 20:34:24 +11:00