]>
Sergey Matveev's repositories - btrtrc.git/log
dependabot[bot] [Sat, 18 Feb 2023 05:06:17 +0000 (16:06 +1100)]
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>
Matt Joiner [Tue, 14 Feb 2023 01:46:23 +0000 (12:46 +1100)]
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.
dependabot[bot] [Mon, 13 Feb 2023 21:15:15 +0000 (08:15 +1100)]
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>
Matt Joiner [Mon, 13 Feb 2023 12:27:15 +0000 (23:27 +1100)]
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.
Colin Marc [Mon, 13 Feb 2023 03:26:03 +0000 (04:26 +0100)]
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.
Spencer Comfort [Mon, 30 Jan 2023 21:41:06 +0000 (16:41 -0500)]
Update codeql analysis to v2 (#806)
Updates the outdated codeql analysis actions to v2
Matt Joiner [Mon, 23 Jan 2023 21:52:49 +0000 (08:52 +1100)]
Roaring bitmap tests now pass when run from downstream
Matt Joiner [Tue, 3 Jan 2023 14:26:31 +0000 (01:26 +1100)]
gorond
Matt Joiner [Tue, 3 Jan 2023 14:25:57 +0000 (01:25 +1100)]
Add a check that piece request order items are scanned in order
It's not clear from btree documentation that scan should be ordered.
Matt Joiner [Tue, 3 Jan 2023 14:25:26 +0000 (01:25 +1100)]
Fix an issue parsing negative bencode string lengths
See the fuzz test in dht/krpc.
Matt Joiner [Sat, 31 Dec 2022 02:25:00 +0000 (13:25 +1100)]
Update tidwall/btree
Matt Joiner [Sat, 31 Dec 2022 00:27:47 +0000 (11:27 +1100)]
Sleep webseed peers after unhandled errors
Matt Joiner [Sat, 17 Dec 2022 00:08:46 +0000 (11:08 +1100)]
Default to announcing as leecher
(cherry picked from commit
16da3c0c46a71d6f270600c63acb674226c1c9ae )
Matt Joiner [Fri, 16 Dec 2022 04:38:30 +0000 (15:38 +1100)]
Add --port flag to announce
(cherry picked from commit
e554aa19a691615f349bf6dae0601706ea47dc03 )
Matt Joiner [Sun, 25 Dec 2022 08:26:01 +0000 (19:26 +1100)]
Merge branch 'universal-webseed-escaping'
Matt Joiner [Sun, 25 Dec 2022 08:23:07 +0000 (19:23 +1100)]
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.
Matt Joiner [Sun, 25 Dec 2022 07:20:42 +0000 (18:20 +1100)]
Don't use path.Join in default webseed path escaper
Thanks fuzzing!
Matt Joiner [Sun, 25 Dec 2022 07:20:23 +0000 (18:20 +1100)]
Add fuzzing for webseed path escaping
Matt Joiner [Fri, 23 Dec 2022 00:18:36 +0000 (11:18 +1100)]
Change default webseed path escaping to work for all S3-compatible providers
a [Thu, 22 Dec 2022 00:07:40 +0000 (18:07 -0600)]
update deps (#794)
Matt Joiner [Sun, 11 Dec 2022 04:21:23 +0000 (15:21 +1100)]
Validate received chunks before conversion to indexes
https://github.com/anacrolix/torrent/issues/791
Marco Vidonis [Wed, 7 Dec 2022 22:17:33 +0000 (22:17 +0000)]
Add customer headers when dialling WS connection to tracker (#789)
* expose WebtorrentTrackerHttpHeader field
Matt Joiner [Tue, 6 Dec 2022 23:42:29 +0000 (10:42 +1100)]
Group Client DHT and tracker config
Matt Joiner [Mon, 5 Dec 2022 06:53:36 +0000 (17:53 +1100)]
Support marshalling http tracker response peers
Matt Joiner [Mon, 5 Dec 2022 06:50:39 +0000 (17:50 +1100)]
Rename tracker/http package
Matt Joiner [Mon, 5 Dec 2022 06:49:27 +0000 (17:49 +1100)]
New go fmt on doc comments
Matt Joiner [Mon, 5 Dec 2022 01:51:29 +0000 (12:51 +1100)]
Some tidying in tracker/udp
Matt Joiner [Mon, 5 Dec 2022 01:50:40 +0000 (12:50 +1100)]
Add announce --event flag
Matt Joiner [Mon, 28 Nov 2022 23:42:32 +0000 (10:42 +1100)]
Wrap error returned from tracker HTTP request director
Matt Joiner [Mon, 28 Nov 2022 23:44:46 +0000 (10:44 +1100)]
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.
Marco Vidonis [Mon, 28 Nov 2022 23:35:36 +0000 (23:35 +0000)]
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
Matt Joiner [Mon, 28 Nov 2022 23:29:50 +0000 (10:29 +1100)]
Fix godo use in torrentfs CI
Matt Joiner [Wed, 23 Nov 2022 23:33:06 +0000 (10:33 +1100)]
Metadata size handling and DHT logging noise
Matt Joiner [Tue, 15 Nov 2022 12:22:10 +0000 (23:22 +1100)]
gorond ./...
Matt Joiner [Wed, 2 Nov 2022 12:03:25 +0000 (23:03 +1100)]
Move a bunch of stuff into subpackages
The core package is very large now, and often only parts of it are needed.
Raphaël Thériault [Mon, 14 Nov 2022 08:20:08 +0000 (00:20 -0800)]
pass TrackerDialContext to webtorrent trackers (#785)
Raphaël Thériault [Mon, 14 Nov 2022 08:19:02 +0000 (00:19 -0800)]
support providing a DialContext for the http client (#786)
pk [Mon, 26 Sep 2022 00:01:51 +0000 (19:01 -0500)]
Retrive file via HTTP URL in `metainfo.go` (#778)
Matt Joiner [Fri, 23 Sep 2022 13:29:19 +0000 (23:29 +1000)]
Run default DHT with table maintainer
Matt Joiner [Sun, 18 Sep 2022 01:26:58 +0000 (11:26 +1000)]
Update github.com/anacrolix/dht/v2
Matt Joiner [Wed, 31 Aug 2022 01:09:47 +0000 (11:09 +1000)]
Merge branch 'webrtc-conn-leak'
Matt Joiner [Wed, 31 Aug 2022 01:06:00 +0000 (11:06 +1000)]
Merge branch 'bargle'
Alex Sharov [Mon, 8 Aug 2022 05:38:19 +0000 (12:38 +0700)]
Win limit amount of peers per udp packet (#771)
Alex Sharov [Wed, 13 Jul 2022 10:04:03 +0000 (17:04 +0700)]
use rLock where can, part2 (#767)
Alex Sharov [Wed, 13 Jul 2022 10:03:42 +0000 (17:03 +0700)]
use RLock where can (#766)
Matt Joiner [Wed, 13 Jul 2022 01:34:02 +0000 (11:34 +1000)]
cmd/torrent: Restore the announce and bencode subcommands
Matt Joiner [Tue, 12 Jul 2022 01:46:03 +0000 (11:46 +1000)]
Close data channel on offer init errors
Matt Joiner [Tue, 12 Jul 2022 00:42:35 +0000 (10:42 +1000)]
Also close created data channels when cleaning up webrtc conns
Matt Joiner [Mon, 11 Jul 2022 05:01:30 +0000 (15:01 +1000)]
Support announcing to webtorrent trackers without offers
Matt Joiner [Mon, 11 Jul 2022 01:39:54 +0000 (11:39 +1000)]
webtorrent: Create data channel earlier per webrtc examples
Matt Joiner [Mon, 11 Jul 2022 01:38:06 +0000 (11:38 +1000)]
Trace some webrtcNetConn use
Matt Joiner [Mon, 11 Jul 2022 01:37:14 +0000 (11:37 +1000)]
cmd/torrent: Time and log TracerProvider.Shutdown
Matt Joiner [Sat, 9 Jul 2022 07:54:08 +0000 (17:54 +1000)]
Close detached data channel and end span on webrtc conn close
Matt Joiner [Sat, 9 Jul 2022 04:03:34 +0000 (14:03 +1000)]
cmd/torrent: Use tracing SDK
Matt Joiner [Tue, 12 Jul 2022 06:05:19 +0000 (16:05 +1000)]
Add tracing to webtorrent webrtc resources
Matt Joiner [Sun, 3 Jul 2022 11:46:28 +0000 (21:46 +1000)]
cmd/torrent serve: Support multiple file paths
Matt Joiner [Sat, 9 Jul 2022 04:06:27 +0000 (14:06 +1000)]
cmd/torrent create: Add piece length and private options
Matt Joiner [Mon, 27 Jun 2022 09:24:43 +0000 (19:24 +1000)]
Restore torrent metainfo pprint
Matt Joiner [Tue, 12 Jul 2022 06:12:01 +0000 (16:12 +1000)]
Move cmd/torrent-create into torrent create
Matt Joiner [Mon, 27 Jun 2022 08:36:27 +0000 (18:36 +1000)]
Update anacrolix/bargle
Matt Joiner [Tue, 21 Jun 2022 06:38:19 +0000 (16:38 +1000)]
Update bargle use
Matt Joiner [Mon, 20 Jun 2022 08:40:53 +0000 (18:40 +1000)]
Track latest bargle
Matt Joiner [Tue, 12 Jul 2022 00:41:56 +0000 (10:41 +1000)]
Fix webrtcNetAddr.String for IPv6
(cherry picked from commit
d37354e6743e905d42689e88068058dd45e5be43 )
Matt Joiner [Mon, 11 Jul 2022 08:22:23 +0000 (18:22 +1000)]
Use webrtc local addr for webrtc conn peer priority
WebRTC conns are providing the correct IP for peer priority calculations, so use that instead of trying to guess (which doesn't work if there are no regular conn listeners attached to the Client.
(cherry picked from commit
e86bb5fee3958dc90a3d012469b1352005d6c9ad )
Matt Joiner [Mon, 11 Jul 2022 05:02:24 +0000 (15:02 +1000)]
Remove relevant webtorrent offers when closing Torrent
(cherry picked from commit
73a0b5e4d2fe679aac31d87171537c70f91f46ee )
Craig Campbell [Thu, 7 Jul 2022 05:51:58 +0000 (01:51 -0400)]
Add ability to set DialContext/ListenPacket for tracker announcements (#760)
This is useful if you want to use a custom dialer to proxy requests via
an external server since the HTTPProxy can only be used with tcp
trackers and not udp.
Alex Sharov [Thu, 7 Jul 2022 05:46:27 +0000 (11:46 +0600)]
Do torrent storage flush on piece completion (#755)
Matt Joiner [Sun, 3 Jul 2022 11:56:42 +0000 (21:56 +1000)]
go get -u ./... && go mod tidy
Matt Joiner [Mon, 27 Jun 2022 09:25:38 +0000 (19:25 +1000)]
Use metainfo.ChoosePieceLength from more locations
Matt Joiner [Sat, 25 Jun 2022 13:16:58 +0000 (23:16 +1000)]
Check that incoming peer request chunk lengths don't exceed the upload rate limiter burst size
Should fix #759.
Matt Joiner [Sat, 25 Jun 2022 07:28:23 +0000 (17:28 +1000)]
Add exatorrent and finish tidying downstream projects
Marco Vidonis [Thu, 23 Jun 2022 12:44:06 +0000 (13:44 +0100)]
optimise torrent piece length (#758)
Matt Joiner [Wed, 22 Jun 2022 13:59:18 +0000 (23:59 +1000)]
Add Client.PublicIPs
Matt Joiner [Wed, 22 Jun 2022 03:52:48 +0000 (13:52 +1000)]
Fix typo
FIGBERT [Wed, 22 Jun 2022 04:16:20 +0000 (21:16 -0700)]
Update tidwall/btree (0.7.2 -> 1.3.1) (#757)
Matt Joiner [Mon, 20 Jun 2022 01:37:25 +0000 (11:37 +1000)]
Update anacrolix/generics
Matt Joiner [Mon, 20 Jun 2022 22:34:38 +0000 (08:34 +1000)]
Update downstream projects
Matt Joiner [Wed, 15 Jun 2022 04:23:18 +0000 (14:23 +1000)]
torrent serve: Add some reasonable tracker defaults
Matt Joiner [Wed, 15 Jun 2022 04:22:17 +0000 (14:22 +1000)]
Bump up the local client reqq
This seems to boost upload speeds to Transmission to 16MB/s. It may require a corresponding amount of buffering in memory, that could require work later.
Matt Joiner [Tue, 14 Jun 2022 08:23:00 +0000 (18:23 +1000)]
torrent serve: Print magnet link
Matt Joiner [Tue, 14 Jun 2022 00:07:09 +0000 (10:07 +1000)]
Add comments for #752 and #753
Matt Joiner [Tue, 14 Jun 2022 00:05:12 +0000 (10:05 +1000)]
Update github.com/frankban/quicktest
Matt Joiner [Tue, 14 Jun 2022 04:07:45 +0000 (14:07 +1000)]
Rework peer connection writer to keep individual writes smaller
This fixes an issue with WebRTC when the write buffers get too big.
Matt Joiner [Tue, 14 Jun 2022 00:06:36 +0000 (10:06 +1000)]
internal/testutil.Info: Support multi-file Torrents
Matt Joiner [Tue, 14 Jun 2022 04:06:36 +0000 (14:06 +1000)]
ExportStatusWriter: take testing.TB instead of *testing.T
Alex Sharov [Tue, 14 Jun 2022 05:57:08 +0000 (12:57 +0700)]
github.com/edsrzf/mmap-go v1.1.0
Matt Joiner [Wed, 1 Jun 2022 08:24:50 +0000 (18:24 +1000)]
Revert "Switch requestState to be a slice"
This reverts commit
9eb80abc29498ecc8ba2b174457b46ca75296dec .
Via email I received a report of excessive memory use: Memory use with a slice is proportional to the total size of all torrents loaded into the Client, which can be very large.
Matt Joiner [Wed, 1 Jun 2022 08:18:37 +0000 (18:18 +1000)]
Demote webrtc conn error logging level to debug
Fixes #716.
Nathanael Demacon [Mon, 23 May 2022 00:42:51 +0000 (02:42 +0200)]
Implement a public `Peer.DownloadRate` (#750)
Matt Joiner [Thu, 12 May 2022 03:47:12 +0000 (13:47 +1000)]
Use Option for cached Torrent length
Fixes https://github.com/anacrolix/torrent/issues/630.
Matt Joiner [Thu, 12 May 2022 03:33:57 +0000 (13:33 +1000)]
Set debug log level for outgoing connection error
Contributed by @tsynik in https://github.com/anacrolix/torrent/issues/702#issuecomment-
1010523079 .
Matt Joiner [Wed, 11 May 2022 01:20:52 +0000 (11:20 +1000)]
Use reusable roaring iterators
Matt Joiner [Wed, 11 May 2022 10:40:58 +0000 (20:40 +1000)]
Add fallback piece ordering for non-readahead priorities
Matt Joiner [Wed, 11 May 2022 10:23:14 +0000 (20:23 +1000)]
cmd/torrent: Respect default client max unverified bytes
Matt Joiner [Wed, 11 May 2022 06:08:19 +0000 (16:08 +1000)]
Disable update requests timer
Matt Joiner [Wed, 11 May 2022 04:15:33 +0000 (14:15 +1000)]
Make piece states a slice and reuse it and request indexes between runs
Matt Joiner [Wed, 11 May 2022 04:14:25 +0000 (14:14 +1000)]
Use intermediate t in Peer.getDesiredRequestState
Matt Joiner [Wed, 11 May 2022 02:24:27 +0000 (12:24 +1000)]
Switch requestState to be a slice
Matt Joiner [Mon, 9 May 2022 09:37:35 +0000 (19:37 +1000)]
Reuse piece order state for request ordering
Matt Joiner [Mon, 9 May 2022 09:37:08 +0000 (19:37 +1000)]
Default 64 MiB max unverified bytes