Matt Joiner
cd96dbcd9d
Tidy
2015-09-17 12:54:03 +10:00
Matt Joiner
afed0b7ce3
Add a test for dropping a torrent before it gets the Info
...
Really just to check the behaviour doesn't change, it was mentioned before but wasn't the actual cause of any problem.
2015-09-17 12:53:52 +10:00
Matt Joiner
11d703fbf1
Count failed chunk sends against a connection
2015-09-17 12:50:29 +10:00
Matt Joiner
9f324d04e2
Tweak logging
2015-09-17 12:40:35 +10:00
Matt Joiner
0113776f1d
Reduce noise about zero port peers
2015-09-17 12:39:51 +10:00
Matt Joiner
313adf1d2f
Some code missed in the last commit ಠ_ಠ
2015-09-06 12:35:56 +10:00
Matt Joiner
eebd09c0fe
Allow subscribing to torrent piece state changes
2015-09-06 12:33:22 +10:00
Matt Joiner
5ea0c26717
Some doc comments
2015-09-06 12:31:23 +10:00
Matt Joiner
e735aeeee3
fs: Update for changes in bazil.org/fuse
2015-08-23 19:25:33 +10:00
Matt Joiner
a101f9bcbd
bencode: Remove trailing bytes checks, this broke the peer protocol and should be a new API
2015-08-23 19:24:29 +10:00
Matt Joiner
577ea21793
Revert "bencode: Trailing bytes on Unmarshal is an error"
...
This reverts commit ad73a0ea89
.
2015-08-23 19:10:22 +10:00
Matt Joiner
0403d4185d
bencode: Simplify parse_int
2015-08-23 17:51:24 +10:00
Matt Joiner
ad73a0ea89
bencode: Trailing bytes on Unmarshal is an error
2015-08-23 17:47:01 +10:00
Matt Joiner
2ccbaa4e79
bencode: Don't allow extraneous trailing 'e's
2015-08-23 17:45:59 +10:00
Matt Joiner
baf389aa8c
bencode: Add tests for Unmarshalling trailing bytes, and extraneous 'e'
2015-08-23 16:13:30 +10:00
Matt Joiner
4fbbc0dd41
bencode: Fuzz
2015-08-23 15:59:49 +10:00
Matt Joiner
4472a0e27a
Add Debug flag to Config
...
I'll use this to squash the noisy logging for people who don't care.
2015-08-23 12:59:03 +10:00
Matt Joiner
2202a31b85
Add tests inspired by issue #27
2015-08-23 12:50:32 +10:00
Matt Joiner
698181e470
Code comment
2015-08-23 12:49:35 +10:00
Matt Joiner
ef098c47ac
Needlessly convoluted
2015-08-19 13:29:01 +10:00
Matt Joiner
87bd9b5d17
dht: Use new Msg.Args helper method
2015-08-18 02:12:52 +10:00
Matt Joiner
288abb1c6b
dht: Remove redundant code which caused rare crash
2015-08-18 02:12:27 +10:00
Matt Joiner
74d3598656
dht: Use passive from server config
2015-08-18 02:11:48 +10:00
Matt Joiner
3204e276f2
dht: Improve on on Msg methods
2015-08-18 02:11:09 +10:00
Matt Joiner
b536975580
dht: BEP43
2015-08-18 02:09:10 +10:00
Matt Joiner
89f024a76b
dht: Revive the UnmarshalGetPeersResponse test
2015-08-18 02:08:08 +10:00
Matt Joiner
1db00a54f0
Redo the compact peer types
2015-08-17 19:52:47 +10:00
Matt Joiner
6b27e1473d
Upload after a piece completes
2015-08-12 17:11:14 +10:00
Matt Joiner
0f606a2d24
Add TestSeedAfterDownloading
2015-08-12 16:51:12 +10:00
Matt Joiner
31acbac207
Several bad KRPC message are crying wolf
2015-08-06 09:02:50 +10:00
Matt Joiner
abdf1f049f
dht: Support IPv6 compact peers
2015-08-06 09:01:38 +10:00
Matt Joiner
a7c374cff7
dht: Short circuit non-DHT traffic
2015-08-06 08:59:30 +10:00
Matt Joiner
6c8c870b28
Log zero ports from trackers
2015-08-06 08:58:13 +10:00
Matt Joiner
cb00308157
Back off on the kicked connections log
2015-08-06 08:56:36 +10:00
Matt Joiner
59e50bd614
Log who's giving us zero ports over PEX
...
In the long run this will help determine why this happens.
2015-08-06 08:55:48 +10:00
Matt Joiner
502a7ebebd
utp.NewSocket now takes network parameter
2015-08-05 02:51:40 +10:00
Matt Joiner
5d5ee66be4
Clear piece touch flag from connection after a piece is hashed
2015-08-05 02:43:53 +10:00
Matt Joiner
497d185373
Add an option to disable IPv6
2015-08-05 02:41:50 +10:00
Matt Joiner
085be622a0
Replacing pendingWrites WaitGroup with Mutex/Cond/int
...
Apparently I've been using WaitGroups wrong all along.
2015-08-05 02:40:46 +10:00
Matt Joiner
19021f1360
Invalid test
...
The function is never exposed publicly or called without holding the client lock.
2015-08-05 02:38:36 +10:00
Matt Joiner
4fb7d8f4d4
cmd/dht-secure-id
2015-08-05 02:38:02 +10:00
Matt Joiner
a0cdda16a4
dht: Expose SecureNodeId and NodeIdSecure
2015-08-05 02:37:43 +10:00
Matt Joiner
92e1e505b4
Improve log message
2015-08-04 01:33:50 +10:00
Matt Joiner
85a0fe6b61
Drop peers for sending too many unwanted pieces
...
So the algorithm is now, drop the worst half if they get too old, and drop any connection if it's ratio is poor.
2015-08-04 01:32:45 +10:00
Matt Joiner
da8ac9fe01
Log errant unwanted piece rather than panic
...
Eventually I'll work out what causes this, but for now it's incredibly rare.
2015-08-04 01:29:40 +10:00
Matt Joiner
5a73f73d97
dht: Count announce errors, don't log them
2015-08-04 01:20:44 +10:00
Matt Joiner
bbe58bbd73
Filter out DHT peers with port 0
...
Probably not necessary now we ban the nodes that send them, but it's appropriate to check here too.
2015-08-04 01:20:10 +10:00
Matt Joiner
f3317322f8
Fix crash if peer sends out of bounds HAVE message
2015-08-04 01:17:32 +10:00
Matt Joiner
f69c51bea3
Tighten up some potential leaks
...
Based on some observations of lingering goroutines in unit tests.
2015-08-04 01:15:09 +10:00
Matt Joiner
54339a30e3
Drop connections that contributed to pieces that failed to hash
...
There are peers out there that seem to intentionally spam bad data, and the same pieces will often fail continuously. This really puts a bee in their bonnet.
2015-08-04 01:12:09 +10:00