]> Sergey Matveev's repositories - btrtrc.git/log
btrtrc.git
8 months agoRemove unnecessary use of SO_REUSEPORT
Matt Joiner [Mon, 14 Aug 2023 01:38:47 +0000 (11:38 +1000)]
Remove unnecessary use of SO_REUSEPORT

Fixes https://github.com/anacrolix/torrent/discussions/856.

8 months agoAdd cove to downstream projects
Matt Joiner [Mon, 14 Aug 2023 04:39:24 +0000 (14:39 +1000)]
Add cove to downstream projects

9 months agoRemove torrentfs-macos job from CI
Matt Joiner [Sun, 23 Jul 2023 06:09:21 +0000 (16:09 +1000)]
Remove torrentfs-macos job from CI

9 months agoIgnore torrentfs-macos CI errors
Matt Joiner [Sun, 23 Jul 2023 06:08:19 +0000 (16:08 +1000)]
Ignore torrentfs-macos CI errors

9 months agofix: torrent file real time completed bytes
liwei [Sat, 22 Jul 2023 16:30:45 +0000 (00:30 +0800)]
fix: torrent file real time completed bytes

9 months agoGet go-libutp fix for go1.21
Matt Joiner [Sun, 23 Jul 2023 06:05:51 +0000 (16:05 +1000)]
Get go-libutp fix for go1.21

10 months agofix: udp tracker panic
liwei [Tue, 4 Jul 2023 10:45:40 +0000 (18:45 +0800)]
fix: udp tracker panic

10 months agochore: remove refs to deprecated io/ioutil
guoguangwu [Sun, 9 Jul 2023 05:29:02 +0000 (13:29 +0800)]
chore: remove refs to deprecated io/ioutil

10 months agochore: unnecessary use of fmt.Sprintf
guoguangwu [Sun, 9 Jul 2023 05:33:05 +0000 (13:33 +0800)]
chore: unnecessary use of fmt.Sprintf

10 months agoAdd sqlite storage build conditions to sqlite storage closed test
Matt Joiner [Tue, 27 Jun 2023 01:36:54 +0000 (11:36 +1000)]
Add sqlite storage build conditions to sqlite storage closed test

Should fix test build failure to build when CGO is disabled.

10 months agoFix error unmarshalling bad metainfo nodes field
Matt Joiner [Mon, 26 Jun 2023 09:48:23 +0000 (19:48 +1000)]
Fix error unmarshalling bad metainfo nodes field

10 months agoTest and fix closed sqlite storage panicking during piece hashing
Matt Joiner [Mon, 26 Jun 2023 00:24:06 +0000 (10:24 +1000)]
Test and fix closed sqlite storage panicking during piece hashing

10 months agoFix UseSources panicking when sqlite storage is closed
Matt Joiner [Fri, 23 Jun 2023 12:14:38 +0000 (22:14 +1000)]
Fix UseSources panicking when sqlite storage is closed

11 months agoLog bad tracker URL error
Matt Joiner [Tue, 6 Jun 2023 00:40:15 +0000 (10:40 +1000)]
Log bad tracker URL error

11 months agoFix incorrect EOF when decoding some peer protocol message types
Matt Joiner [Mon, 29 May 2023 09:01:01 +0000 (19:01 +1000)]
Fix incorrect EOF when decoding some peer protocol message types

Hooray for pedantic fuzz tests. This was found through peer_protocol/FuzzDecoder, when I wrote a go-fuzz-all wrapper.

It probably never caused a problem in production, as EOF would be handled as stream termination anyway, but it isn't clean.

11 months agoReintroduce torrent-wide PEX throttling
Matt Joiner [Wed, 24 May 2023 02:11:10 +0000 (12:11 +1000)]
Reintroduce torrent-wide PEX throttling

https://github.com/anacrolix/torrent/discussions/836

11 months agoRun torrentfs CI on macos
Matt Joiner [Sun, 28 May 2023 03:51:16 +0000 (13:51 +1000)]
Run torrentfs CI on macos

11 months agoAttribute accepted connection to holepunching when connect message is late
Matt Joiner [Sun, 28 May 2023 03:34:58 +0000 (13:34 +1000)]
Attribute accepted connection to holepunching when connect message is late

Also perform holepunch metric adjustments sooner to reduce timing issues in tests.

11 months agofs/test.sh: Handle torrentfs failures synchronously
Matt Joiner [Sun, 28 May 2023 03:52:50 +0000 (13:52 +1000)]
fs/test.sh: Handle torrentfs failures synchronously

11 months agogorond
Matt Joiner [Sun, 28 May 2023 02:04:57 +0000 (12:04 +1000)]
gorond

11 months agoFix logging reported in #841
Matt Joiner [Sun, 28 May 2023 02:04:49 +0000 (12:04 +1000)]
Fix logging reported in #841

11 months agoFix filecache issues on Windows
Matt Joiner [Sat, 27 May 2023 12:11:56 +0000 (22:11 +1000)]
Fix filecache issues on Windows

11 months agofs: Update path to torrentfs
Matt Joiner [Sat, 27 May 2023 10:54:46 +0000 (20:54 +1000)]
fs: Update path to torrentfs

11 months agofs: go mod tidy
Matt Joiner [Sat, 27 May 2023 10:53:59 +0000 (20:53 +1000)]
fs: go mod tidy

11 months agoFix addrPortOrZero for unix sockets on Windows
Matt Joiner [Sat, 27 May 2023 10:36:17 +0000 (20:36 +1000)]
Fix addrPortOrZero for unix sockets on Windows

11 months agoTimeout torrentfs CI after 5 minutes
Matt Joiner [Sat, 27 May 2023 10:10:16 +0000 (20:10 +1000)]
Timeout torrentfs CI after 5 minutes

11 months agoMore Windows test fixes
Matt Joiner [Sat, 27 May 2023 10:13:56 +0000 (20:13 +1000)]
More Windows test fixes

11 months agogo1.19 compat
Matt Joiner [Sat, 27 May 2023 05:05:23 +0000 (15:05 +1000)]
go1.19 compat

11 months agoTest fixes for Windows
Matt Joiner [Sat, 27 May 2023 04:57:41 +0000 (14:57 +1000)]
Test fixes for Windows

11 months agoFixes for storage tests on Windows
Matt Joiner [Sat, 27 May 2023 04:47:25 +0000 (14:47 +1000)]
Fixes for storage tests on Windows

11 months agoAdd check that torrent data cleanup works in TestIssue335
Matt Joiner [Sat, 27 May 2023 02:40:15 +0000 (12:40 +1000)]
Add check that torrent data cleanup works in TestIssue335

I'm seeing a lot of leaked directories on Windows I think. This might be silently failing.

11 months agoFix test failure using missinggo filecache on Windows
Matt Joiner [Sat, 27 May 2023 02:39:28 +0000 (12:39 +1000)]
Fix test failure using missinggo filecache on Windows

11 months agoMake fs a separate module
Matt Joiner [Sat, 27 May 2023 02:10:38 +0000 (12:10 +1000)]
Make fs a separate module

11 months agoAlso run Go CI test job on 1.19
Matt Joiner [Sat, 27 May 2023 00:58:29 +0000 (10:58 +1000)]
Also run Go CI test job on 1.19

11 months agoRun Go CI test job on macos and windows
Matt Joiner [Sat, 27 May 2023 00:46:24 +0000 (10:46 +1000)]
Run Go CI test job on macos and windows

11 months agoAdd WebRTC ICE servers config (#824)
Marco Vidonis [Sat, 27 May 2023 10:27:24 +0000 (11:27 +0100)]
Add WebRTC ICE servers config (#824)

* add ICEServers config

* remove unnecessary check

11 months agoFix ClientConfig.Logger.SetHandlers being clobbered
Matt Joiner [Wed, 24 May 2023 01:58:57 +0000 (11:58 +1000)]
Fix ClientConfig.Logger.SetHandlers being clobbered

Fixes https://github.com/anacrolix/torrent/issues/837.

11 months agoRemove PEX todo
Matt Joiner [Tue, 23 May 2023 11:25:36 +0000 (21:25 +1000)]
Remove PEX todo

11 months agogo1.19 compatibility
Matt Joiner [Tue, 23 May 2023 10:55:30 +0000 (20:55 +1000)]
go1.19 compatibility

11 months agoInclude holepunch message protocol family in metrics
Matt Joiner [Mon, 22 May 2023 05:28:28 +0000 (15:28 +1000)]
Include holepunch message protocol family in metrics

11 months agoAdd holepunch message fuzzing
Matt Joiner [Mon, 22 May 2023 05:27:06 +0000 (15:27 +1000)]
Add holepunch message fuzzing

11 months agoAdd a bunch of holepunch metrics
Matt Joiner [Sun, 21 May 2023 09:33:10 +0000 (19:33 +1000)]
Add a bunch of holepunch metrics

11 months agoPrint peer ID in ASCII-only
Matt Joiner [Sun, 21 May 2023 09:30:39 +0000 (19:30 +1000)]
Print peer ID in ASCII-only

11 months agoFix panic logging unknown holepunch error code
Matt Joiner [Sun, 21 May 2023 09:29:35 +0000 (19:29 +1000)]
Fix panic logging unknown holepunch error code

11 months agoReport ltep extensions in status output
Matt Joiner [Fri, 19 May 2023 07:10:03 +0000 (17:10 +1000)]
Report ltep extensions in status output

11 months agoMove PeerClientName and PeerExtensionIDs to PeerConn
Matt Joiner [Fri, 19 May 2023 04:41:27 +0000 (14:41 +1000)]
Move PeerClientName and PeerExtensionIDs to PeerConn

11 months agofixes anacrolix/torrent#795 (#807)
Pavel Tatarskiy [Fri, 19 May 2023 04:23:34 +0000 (07:23 +0300)]
fixes anacrolix/torrent#795 (#807)

11 months agoAdd doc comment for Torrent.BytesMissing
Matt Joiner [Fri, 19 May 2023 04:18:24 +0000 (14:18 +1000)]
Add doc comment for Torrent.BytesMissing

Fixes https://github.com/anacrolix/torrent/issues/828.

11 months agoDon't panic if changing interest fills the write buffer
Matt Joiner [Fri, 19 May 2023 04:09:27 +0000 (14:09 +1000)]
Don't panic if changing interest fills the write buffer

This was the old behaviour, years ago. I don't know why it's suddenly being triggered lately.

11 months agoFix TestSeedAfterDownloading when cgo is disabled
Matt Joiner [Fri, 19 May 2023 02:27:16 +0000 (12:27 +1000)]
Fix TestSeedAfterDownloading when cgo is disabled

11 months agoSkip test failures due to Go uTP implementation
Matt Joiner [Fri, 19 May 2023 01:36:29 +0000 (11:36 +1000)]
Skip test failures due to Go uTP implementation

11 months agoRetry some utp tests on failure
Matt Joiner [Fri, 19 May 2023 01:38:11 +0000 (11:38 +1000)]
Retry some utp tests on failure

11 months agoTweak logging
Matt Joiner [Thu, 18 May 2023 11:25:44 +0000 (21:25 +1000)]
Tweak logging

11 months agoIgnore dial rate limits for holepunch connects
Matt Joiner [Thu, 18 May 2023 01:37:46 +0000 (11:37 +1000)]
Ignore dial rate limits for holepunch connects

11 months agoAdd ClientConfig.DialRateLimiter, handle dial rate limiting errors
Matt Joiner [Thu, 18 May 2023 00:41:51 +0000 (10:41 +1000)]
Add ClientConfig.DialRateLimiter, handle dial rate limiting errors

11 months agoDon't start another holepunch rendezvous if we're handling one
Matt Joiner [Thu, 18 May 2023 00:26:00 +0000 (10:26 +1000)]
Don't start another holepunch rendezvous if we're handling one

11 months agoRelax TestTcpSimultaneousOpen
Matt Joiner [Wed, 17 May 2023 23:46:08 +0000 (09:46 +1000)]
Relax TestTcpSimultaneousOpen

11 months agoImprove test assertion for Linux
Matt Joiner [Wed, 17 May 2023 02:43:20 +0000 (12:43 +1000)]
Improve test assertion for Linux

11 months agoSwitch Go CI to go1.20
Matt Joiner [Wed, 17 May 2023 02:26:34 +0000 (12:26 +1000)]
Switch Go CI to go1.20

11 months agoFix overflow in average download rate
Matt Joiner [Wed, 17 May 2023 02:13:16 +0000 (12:13 +1000)]
Fix overflow in average download rate

11 months agoUse netip.AddrPort in PEX code and filter unusable addrs much sooner
Matt Joiner [Tue, 16 May 2023 07:55:53 +0000 (17:55 +1000)]
Use netip.AddrPort in PEX code and filter unusable addrs much sooner

11 months agoInclude PeerConn prefix for log messages
Matt Joiner [Tue, 16 May 2023 06:35:26 +0000 (16:35 +1000)]
Include PeerConn prefix for log messages

11 months agoHandle more PeerRemoteAddr variants when calculating dial addr
Matt Joiner [Tue, 16 May 2023 06:35:03 +0000 (16:35 +1000)]
Handle more PeerRemoteAddr variants when calculating dial addr

This should fix https://github.com/anacrolix/torrent/issues/820.

12 months agogorond test files
Matt Joiner [Fri, 12 May 2023 03:47:47 +0000 (13:47 +1000)]
gorond test files

12 months agoAdd holepunching stats and tests
Matt Joiner [Fri, 12 May 2023 03:47:24 +0000 (13:47 +1000)]
Add holepunching stats and tests

12 months agoAttempt holepunch after initial dial fails
Matt Joiner [Thu, 11 May 2023 03:03:54 +0000 (13:03 +1000)]
Attempt holepunch after initial dial fails

12 months agoRestore using just hex in peer extension expvar
Matt Joiner [Wed, 3 May 2023 10:15:06 +0000 (20:15 +1000)]
Restore using just hex in peer extension expvar

12 months agoInclude count of peer conns in status
Matt Joiner [Wed, 3 May 2023 06:40:51 +0000 (16:40 +1000)]
Include count of peer conns in status

12 months agoDrop peer request alloc reservations when peer is closed
Matt Joiner [Wed, 3 May 2023 06:40:35 +0000 (16:40 +1000)]
Drop peer request alloc reservations when peer is closed

Might fix a goroutine leak.

12 months agoAdd many more extension bit definitions
Matt Joiner [Wed, 3 May 2023 06:40:00 +0000 (16:40 +1000)]
Add many more extension bit definitions

12 months agoAdd stats for connections that only occur due to holepunching
Matt Joiner [Tue, 2 May 2023 12:17:43 +0000 (22:17 +1000)]
Add stats for connections that only occur due to holepunching

12 months agoRemove bad half open count assertion
Matt Joiner [Tue, 2 May 2023 07:10:02 +0000 (17:10 +1000)]
Remove bad half open count assertion

12 months agoAdd Client.Stats with ActiveHalfOpenAttempts
Matt Joiner [Tue, 2 May 2023 07:09:43 +0000 (17:09 +1000)]
Add Client.Stats with ActiveHalfOpenAttempts

12 months agoFix race in TestUtpLocalPortIsReusable
Matt Joiner [Tue, 2 May 2023 07:06:36 +0000 (17:06 +1000)]
Fix race in TestUtpLocalPortIsReusable

12 months agoSupport multiple ongoing half-open attempts
Matt Joiner [Tue, 2 May 2023 03:06:54 +0000 (13:06 +1000)]
Support multiple ongoing half-open attempts

12 months agoAdd internal panicif, check and nestedmaps packages
Matt Joiner [Tue, 2 May 2023 07:47:47 +0000 (17:47 +1000)]
Add internal panicif, check and nestedmaps packages

Fuckit I'm sick of reinventing the wheel.

12 months agoLocate target peer using dial addr when receiving a holepunch rendezvous
Matt Joiner [Mon, 1 May 2023 02:30:06 +0000 (12:30 +1000)]
Locate target peer using dial addr when receiving a holepunch rendezvous

12 months agogo mod tidy
Matt Joiner [Tue, 9 May 2023 05:42:33 +0000 (15:42 +1000)]
go mod tidy

12 months agoDon't dial out TCP from the listen port
Matt Joiner [Sat, 29 Apr 2023 04:53:03 +0000 (14:53 +1000)]
Don't dial out TCP from the listen port

12 months agoAdd test showing that reusing TCP ports isn't a good idea
Matt Joiner [Fri, 28 Apr 2023 11:27:18 +0000 (21:27 +1000)]
Add test showing that reusing TCP ports isn't a good idea

12 months agoDial TCP with the listener's local addr
Matt Joiner [Mon, 1 May 2023 00:15:34 +0000 (10:15 +1000)]
Dial TCP with the listener's local addr

12 months agoPrefer outgoing connections from higher to lower peer IDs
Matt Joiner [Sat, 29 Apr 2023 11:38:41 +0000 (21:38 +1000)]
Prefer outgoing connections from higher to lower peer IDs

I think it may have been wrong all this time.

12 months agoAdd more hole punching NOTES
Matt Joiner [Fri, 28 Apr 2023 00:00:41 +0000 (10:00 +1000)]
Add more hole punching NOTES

12 months agoBreak PeerConn status into more lines and improve pex status
Matt Joiner [Tue, 25 Apr 2023 12:31:16 +0000 (22:31 +1000)]
Break PeerConn status into more lines and improve pex status

12 months agoSet torrent logger default level to debug
Matt Joiner [Tue, 25 Apr 2023 03:39:59 +0000 (13:39 +1000)]
Set torrent logger default level to debug

12 months agoSynchronize holepunch connect messages with existing rendezvous
Matt Joiner [Tue, 9 May 2023 05:45:50 +0000 (15:45 +1000)]
Synchronize holepunch connect messages with existing rendezvous

12 months agoWIP support for ut_holepunch
Matt Joiner [Sun, 23 Apr 2023 01:44:56 +0000 (11:44 +1000)]
WIP support for ut_holepunch

12 months agoOrder peer conn status by peer priority and show webseeds separately
Matt Joiner [Tue, 25 Apr 2023 12:30:45 +0000 (22:30 +1000)]
Order peer conn status by peer priority and show webseeds separately

12 months agoRate limit received PEX messages per connection
Matt Joiner [Tue, 25 Apr 2023 02:18:49 +0000 (12:18 +1000)]
Rate limit received PEX messages per connection

12 months agoMisc debug status, pex conn tracking improvements
Matt Joiner [Mon, 1 May 2023 00:19:24 +0000 (10:19 +1000)]
Misc debug status, pex conn tracking improvements

12 months agoRename prioritized_peers go files
Matt Joiner [Mon, 24 Apr 2023 05:21:57 +0000 (15:21 +1000)]
Rename prioritized_peers go files

12 months agoCamel case requestStrategy package
Matt Joiner [Sat, 22 Apr 2023 06:07:07 +0000 (16:07 +1000)]
Camel case requestStrategy package

12 months agoTry to balance incoming and outgoing conns per torrent
Matt Joiner [Sat, 22 Apr 2023 05:42:13 +0000 (15:42 +1000)]
Try to balance incoming and outgoing conns per torrent

13 months agoDon't log using torrent source as warning for context cancellation
Matt Joiner [Tue, 4 Apr 2023 09:13:14 +0000 (19:13 +1000)]
Don't log using torrent source as warning for context cancellation

This probably occurs because the info was obtained and we don't need to try the source anymore.

13 months agoImport generics as g
Matt Joiner [Tue, 4 Apr 2023 09:12:26 +0000 (19:12 +1000)]
Import generics as g

13 months agoAdd AddTorrentOpts.InfoBytes
Matt Joiner [Tue, 4 Apr 2023 09:12:01 +0000 (19:12 +1000)]
Add AddTorrentOpts.InfoBytes

13 months agoExpose StringAddr
Matt Joiner [Mon, 3 Apr 2023 05:10:54 +0000 (15:10 +1000)]
Expose StringAddr

13 months agobencode: Only use unsafe.String for go>=1.20 v1.49.1
Matt Joiner [Mon, 3 Apr 2023 05:10:38 +0000 (15:10 +1000)]
bencode: Only use unsafe.String for go>=1.20

13 months agobencode: Support parsing strings into bool v1.49.0
Matt Joiner [Sun, 19 Mar 2023 23:50:22 +0000 (10:50 +1100)]
bencode: Support parsing strings into bool

14 months agoAdd Peer.Torrent
Matt Joiner [Wed, 1 Mar 2023 03:17:29 +0000 (14:17 +1100)]
Add Peer.Torrent

This was for accessing from callback events.