2
0
mirror of synced 2025-02-23 22:28:11 +00:00

3392 Commits

Author SHA1 Message Date
dependabot[bot]
81201050bc
Bump golang.org/x/net from 0.5.0 to 0.7.0 (#819)
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.5.0 to 0.7.0.
- [Release notes](https://github.com/golang/net/releases)
- [Commits](https://github.com/golang/net/compare/v0.5.0...v0.7.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-18 16:06:17 +11:00
Matt Joiner
2cb7121a93
Limit peer request data allocation
This follows up from abb5cbc96e301a4ca1f5df698b105ae8553ce1e9. We currently limit how many requests peers can send us, but didn't really check that peers didn't make us allocate huge amounts of space to buffer their requests. I'm sure there's some rough edges here.
2023-02-14 12:46:49 +11:00
dependabot[bot]
ceb7b2443a
Bump github.com/pion/dtls/v2 from 2.1.5 to 2.2.4 (#814)
Bumps [github.com/pion/dtls/v2](https://github.com/pion/dtls) from 2.1.5 to 2.2.4.
- [Release notes](https://github.com/pion/dtls/releases)
- [Commits](https://github.com/pion/dtls/compare/v2.1.5...v2.2.4)

---
updated-dependencies:
- dependency-name: github.com/pion/dtls/v2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-02-14 08:15:15 +11:00
Matt Joiner
abb5cbc96e
Check for chunks overflowing piece bounds on request read
Test for integer overflow in when checking read requests are within the bounds of the associated piece. Another fix is required to limit the amount of memory that can be allocated for such requests.
2023-02-13 23:27:15 +11:00
Colin Marc
60fd7581e7
Remove unecessary completion "set" (#812)
If the file has never been downloaded, complete will naturally be false. It's
not necessary to then set it false again unless it was actually claimed to be
true in the first place.

In my tests, using the boltdb completion thingy with fsync turned *on*, this
reduced the cold start for big buck bunny from multiple seconds to just a few
ms.
2023-02-13 14:26:03 +11:00
Spencer Comfort
5a185c45c0
Update codeql analysis to v2 (#806)
Updates the outdated codeql analysis actions to v2
2023-01-31 08:41:06 +11:00
Matt Joiner
d47739db0c
Roaring bitmap tests now pass when run from downstream 2023-01-24 08:52:49 +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
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
61a303cbf7
Default to announcing as leecher
(cherry picked from commit 16da3c0c46a71d6f270600c63acb674226c1c9ae)
2022-12-25 19:57:16 +11:00
Matt Joiner
e235776204
Add --port flag to announce
(cherry picked from commit e554aa19a691615f349bf6dae0601706ea47dc03)
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
f75989863c
Validate received chunks before conversion to indexes
https://github.com/anacrolix/torrent/issues/791
2022-12-11 15:21:23 +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
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
Matt Joiner
bf5a22f345
Add announce --event flag 2022-12-05 12:50:55 +11:00
Matt Joiner
17058f76f7
Wrap error returned from tracker HTTP request director 2022-11-29 10:45:38 +11:00
Matt Joiner
3d49eec03a
Rename some HTTP identifiers to Http
I believe the Go convention on this is bad, and this names them inline with the style used elsewhere in anacrolix/torrent with Ip for example.

Unfortunately it's pretty widespread, so I've only changed the recent additions.
2022-11-29 10:45:38 +11:00
Marco Vidonis
916af6e38a
Modify HTTP request before sending (#787)
* set up custom request headers

* apply headers defined in torrent client config

* add error handling

* provide better name for method

* update error message

* only apply HTTPRequestDirector if not nil
2022-11-29 10:35:36 +11:00
Matt Joiner
436af2580f
Fix godo use in torrentfs CI 2022-11-29 10:29:50 +11:00
Matt Joiner
93f911ed01
Metadata size handling and DHT logging noise 2022-11-24 10:33:06 +11:00
Matt Joiner
3e0f34934d
gorond ./... 2022-11-15 23:31:27 +11:00
Matt Joiner
5501f994ca
Move a bunch of stuff into subpackages
The core package is very large now, and often only parts of it are needed.
2022-11-15 23:31:26 +11:00
Raphaël Thériault
455913c752
pass TrackerDialContext to webtorrent trackers (#785) 2022-11-14 19:20:08 +11:00
Raphaël Thériault
8e53dbaeb8
support providing a DialContext for the http client (#786) 2022-11-14 19:19:02 +11:00
pk
de4c16bbe9
Retrive file via HTTP URL in metainfo.go (#778) 2022-09-26 10:01:51 +10:00
Matt Joiner
e81c6569af
Run default DHT with table maintainer 2022-09-23 23:29:19 +10:00
Matt Joiner
c8ccd1c1b0
Update github.com/anacrolix/dht/v2 2022-09-18 11:26:58 +10:00
Matt Joiner
648acc0120
Merge branch 'webrtc-conn-leak' 2022-08-31 11:09:47 +10:00
Matt Joiner
e931f0c113
Merge branch 'bargle' 2022-08-31 11:06:00 +10:00
Alex Sharov
61302332cf
Win limit amount of peers per udp packet (#771) 2022-08-08 15:38:19 +10:00
Alex Sharov
caa9400c52
use rLock where can, part2 (#767) 2022-07-13 20:04:03 +10:00
Alex Sharov
67b55c222b
use RLock where can (#766) 2022-07-13 20:03:42 +10:00
Matt Joiner
35834100cc
cmd/torrent: Restore the announce and bencode subcommands 2022-07-13 11:34:02 +10:00
Matt Joiner
309a900b9a
Close data channel on offer init errors 2022-07-12 16:15:51 +10:00
Matt Joiner
3aa2320442
Also close created data channels when cleaning up webrtc conns 2022-07-12 16:15:50 +10:00
Matt Joiner
cf58c53ad4
Support announcing to webtorrent trackers without offers 2022-07-12 16:15:50 +10:00
Matt Joiner
9694c66b36
webtorrent: Create data channel earlier per webrtc examples 2022-07-12 16:15:50 +10:00