Commit Graph

3465 Commits

Author SHA1 Message Date
Matt Joiner 2dfb57f3f7
Handle left param for http tracker server announces 2023-01-05 00:04:42 +11:00
Matt Joiner c20f73d53e
gorond 2023-01-04 01:26:31 +11:00
Matt Joiner a512c0df61
Add a check that piece request order items are scanned in order
It's not clear from btree documentation that scan should be ordered.
2023-01-04 01:25:57 +11:00
Matt Joiner 8e0e36887f
Fix an issue parsing negative bencode string lengths
See the fuzz test in dht/krpc.
2023-01-04 01:25:26 +11:00
Matt Joiner 6baf8dcb99
Limit udp tracker server request concurrency 2023-01-03 00:14:21 +11:00
Matt Joiner 8c267645bf
Update tidwall/btree 2022-12-31 13:25:00 +11:00
Matt Joiner 14cf045b6a
Sleep webseed peers after unhandled errors 2022-12-31 11:27:47 +11:00
Matt Joiner f38629d354
Assume upstream peers are leechers 2022-12-29 19:42:19 +11:00
Matt Joiner 4f8826483e
Resize packet buffer to avoid wasting memory 2022-12-29 19:41:36 +11:00
Matt Joiner f61085c785
Avoid panic in AnnounceEvent.String 2022-12-29 19:41:09 +11:00
Matt Joiner 5f127343b0
Fix race when final peers are available early 2022-12-29 19:40:20 +11:00
Matt Joiner 7d3d4bc088
Add Context parameter to SendResponse 2022-12-29 10:22:03 +11:00
Matt Joiner 7f3655a14b
Track request payload len 2022-12-29 10:21:34 +11:00
Matt Joiner 61a303cbf7
Default to announcing as leecher
(cherry picked from commit 16da3c0c46)
2022-12-25 19:57:16 +11:00
Matt Joiner e235776204
Add --port flag to announce
(cherry picked from commit e554aa19a6)
2022-12-25 19:56:55 +11:00
Matt Joiner 87105005e3
Merge branch 'universal-webseed-escaping' 2022-12-25 19:26:01 +11:00
Matt Joiner fed765b2a0
Fix write error handling
Fixes https://github.com/anacrolix/torrent/issues/798.

Prior to this fix, it looks like the writer would just keep writing chunks of the front buffer (incorrectly if there was an error), until presumably the writer would be killed by read hangup elsewhere.
2022-12-25 19:24:16 +11:00
Matt Joiner 079599b91b
Don't use path.Join in default webseed path escaper
Thanks fuzzing!
2022-12-25 18:20:42 +11:00
Matt Joiner df126fcace
Add fuzzing for webseed path escaping 2022-12-25 18:20:23 +11:00
Matt Joiner 291c428016
Change default webseed path escaping to work for all S3-compatible providers 2022-12-23 11:18:36 +11:00
a 48ad1a8aca
update deps (#794) 2022-12-22 11:07:40 +11:00
Matt Joiner b06b614845
Make trackerServer package 2022-12-18 10:56:25 +11:00
Matt Joiner 16da3c0c46
Default to announcing as leecher 2022-12-17 11:08:46 +11:00
Matt Joiner 6731a31839
Pass seeders and leechers back in UDP announce 2022-12-17 11:08:35 +11:00
Matt Joiner 3371522119
Use port from announce request, not packet source 2022-12-16 15:39:02 +11:00
Matt Joiner e554aa19a6
Add --port flag to announce 2022-12-16 15:38:30 +11:00
Matt Joiner 16c7621d9e
Set span errors 2022-12-16 13:22:44 +11:00
Matt Joiner 87e64b3088
Propagate announce interval, particularly for UDP 2022-12-15 23:21:08 +11:00
Matt Joiner cbea87aaf3
Add upstream announce gating 2022-12-13 16:41:08 +11:00
Matt Joiner ab4599b6b8
Add some tracing 2022-12-13 15:28:34 +11:00
Matt Joiner cfe166c745
Don't use AnnounceHandler by value
It needs to share mutex for upstream tracker single flight handling.
2022-12-12 11:23:33 +11:00
Matt Joiner f75989863c
Validate received chunks before conversion to indexes
https://github.com/anacrolix/torrent/issues/791
2022-12-11 15:21:23 +11:00
Matt Joiner 0a4de1821e
Fix error message for connection ID mismatch 2022-12-08 15:07:14 +11:00
Matt Joiner 5cedf602f2
Make UDP tracker connection ID unsigned
This is more appropriate for logging and its use as a byte blob elsewhere.
2022-12-08 15:06:59 +11:00
Matt Joiner 91bde5fdf0
Use ConnectionId type alias 2022-12-08 15:06:05 +11:00
Matt Joiner acb09fcf79
Add get peers limits 2022-12-08 14:04:43 +11:00
Matt Joiner 1028161833
Use smaller parameter type 2022-12-08 14:04:42 +11:00
Matt Joiner e5f00e9a82
Fix goroutine leak when augmenting peers from upstream 2022-12-08 13:39:58 +11:00
Marco Vidonis 3909c6c125
Add customer headers when dialling WS connection to tracker (#789)
* expose WebtorrentTrackerHttpHeader field
2022-12-08 09:17:33 +11:00
Matt Joiner 26c226f88f
Fix missing log argument 2022-12-07 10:45:13 +11:00
Matt Joiner 68dc90a7f7
Rework logging 2022-12-07 10:45:12 +11:00
Matt Joiner c23269d1cc
Support upstream trackers 2022-12-07 10:45:12 +11:00
Matt Joiner 425a91c921
Support alternate remote host resolution 2022-12-07 10:45:12 +11:00
Matt Joiner 6b5c2fa1b0
Support HTTP tracker server 2022-12-07 10:45:12 +11:00
Matt Joiner eb9c032f2b
Start a UDP server implementation 2022-12-07 10:45:12 +11:00
Matt Joiner 682c77fcb9
Group Client DHT and tracker config 2022-12-07 10:44:38 +11:00
Matt Joiner 98d5a19d50
Support marshalling http tracker response peers 2022-12-07 10:44:26 +11:00
Matt Joiner b81423c101
Rename tracker/http package 2022-12-07 10:44:12 +11:00
Matt Joiner 50a665f278
New go fmt on doc comments 2022-12-07 10:44:05 +11:00
Matt Joiner 330d23be22
Some tidying in tracker/udp 2022-12-05 12:51:29 +11:00