]> Sergey Matveev's repositories - btrtrc.git/log
btrtrc.git
2 months agoTorrent.AddPieceLayers: Fix data race
Matt Joiner [Fri, 22 Mar 2024 04:22:56 +0000 (15:22 +1100)]
Torrent.AddPieceLayers: Fix data race

2 months agoFix deadlocking panic when checking for v2 upgrade when receiving handshake
Matt Joiner [Fri, 22 Mar 2024 04:22:30 +0000 (15:22 +1100)]
Fix deadlocking panic when checking for v2 upgrade when receiving handshake

2 months agoSome logging improvements
Matt Joiner [Thu, 21 Mar 2024 23:51:35 +0000 (10:51 +1100)]
Some logging improvements

2 months agoSeparate some long lines
Matt Joiner [Thu, 21 Mar 2024 23:41:22 +0000 (10:41 +1100)]
Separate some long lines

2 months agoDocument use of the ExtensionBitV2Upgrade reserved bit
Matt Joiner [Thu, 21 Mar 2024 21:15:37 +0000 (08:15 +1100)]
Document use of the ExtensionBitV2Upgrade reserved bit

2 months agoUpdate PiecePriority
Matt Joiner [Thu, 21 Mar 2024 21:15:10 +0000 (08:15 +1100)]
Update PiecePriority

2 months agoImprove some internal piece priority naming
Matt Joiner [Wed, 20 Mar 2024 03:39:06 +0000 (14:39 +1100)]
Improve some internal piece priority naming

2 months agoExport PiecePriority
Matt Joiner [Wed, 20 Mar 2024 03:37:48 +0000 (14:37 +1100)]
Export PiecePriority

It's used in some public methods already anyway, so it was a mistake.

2 months agoFix downloading occurring without piece priority
Matt Joiner [Wed, 20 Mar 2024 03:26:34 +0000 (14:26 +1100)]
Fix downloading occurring without piece priority

2 months agoUpdate piece completion after setting v2 hash
Matt Joiner [Wed, 20 Mar 2024 03:03:33 +0000 (14:03 +1100)]
Update piece completion after setting v2 hash

2 months agoVerify piece layers while adding
Matt Joiner [Wed, 20 Mar 2024 03:03:22 +0000 (14:03 +1100)]
Verify piece layers while adding

2 months agoInclude piece layers in dynamically generated metainfo
Matt Joiner [Wed, 20 Mar 2024 03:02:41 +0000 (14:02 +1100)]
Include piece layers in dynamically generated metainfo

2 months agoImprove handling of v2 hashes
Matt Joiner [Wed, 20 Mar 2024 01:34:35 +0000 (12:34 +1100)]
Improve handling of v2 hashes

2 months agoFix up some logging
Matt Joiner [Wed, 20 Mar 2024 01:06:12 +0000 (12:06 +1100)]
Fix up some logging

2 months agoTrack v2 state in peer conn
Matt Joiner [Tue, 19 Mar 2024 04:21:48 +0000 (15:21 +1100)]
Track v2 state in peer conn

2 months agoSend v2 upgrade bit
Matt Joiner [Tue, 19 Mar 2024 04:20:54 +0000 (15:20 +1100)]
Send v2 upgrade bit

2 months agoDocument preference for metainfo.FileInfo.PathUtf8
Matt Joiner [Mon, 18 Mar 2024 05:09:01 +0000 (16:09 +1100)]
Document preference for metainfo.FileInfo.PathUtf8

2 months agofix: can not download invalid utf8 name with BestName and BestPath (#915)
Evrins Hu [Mon, 18 Mar 2024 05:15:40 +0000 (13:15 +0800)]
fix: can not download invalid utf8 name with BestName and BestPath (#915)

2 months agoDon't reinit gotMetainfoC when invalidating metadata
Matt Joiner [Mon, 18 Mar 2024 04:48:48 +0000 (15:48 +1100)]
Don't reinit gotMetainfoC when invalidating metadata

Fixes a data race.

2 months agoUpgrade anacrolix/squirrel away from bad version
Matt Joiner [Sat, 9 Mar 2024 23:41:04 +0000 (10:41 +1100)]
Upgrade anacrolix/squirrel away from bad version

2 months agoFix benchmark failures
Matt Joiner [Sat, 9 Mar 2024 23:39:27 +0000 (10:39 +1100)]
Fix benchmark failures

2 months agoAdd PrefixDeleter support to ResourcePieces storage
Matt Joiner [Sat, 9 Mar 2024 23:29:05 +0000 (10:29 +1100)]
Add PrefixDeleter support to ResourcePieces storage

2 months agoNote about speeding possum storage up
Matt Joiner [Fri, 8 Mar 2024 05:59:16 +0000 (16:59 +1100)]
Note about speeding possum storage up

2 months agoSome tweaks for v1 and v2 short infohash handling
Matt Joiner [Wed, 6 Mar 2024 12:04:31 +0000 (23:04 +1100)]
Some tweaks for v1 and v2 short infohash handling

2 months agoTidy up
Matt Joiner [Wed, 6 Mar 2024 11:50:03 +0000 (22:50 +1100)]
Tidy up

2 months agoStorages that use piece hashes would panic with pure v2 torrents
Matt Joiner [Wed, 6 Mar 2024 11:49:48 +0000 (22:49 +1100)]
Storages that use piece hashes would panic with pure v2 torrents

2 months agoDon't close connection if they send unhandled BitTorrent v2 message
Matt Joiner [Wed, 6 Mar 2024 11:43:25 +0000 (22:43 +1100)]
Don't close connection if they send unhandled BitTorrent v2 message

2 months agoHandle v2 Torrents added by short infohash only
Matt Joiner [Wed, 6 Mar 2024 07:12:49 +0000 (18:12 +1100)]
Handle v2 Torrents added by short infohash only

2 months agoMerge branch 'bittorrent-v2'
Matt Joiner [Tue, 5 Mar 2024 07:13:45 +0000 (18:13 +1100)]
Merge branch 'bittorrent-v2'

2 months agoAdd seeder and files for issue #908
Matt Joiner [Thu, 29 Feb 2024 05:08:05 +0000 (16:08 +1100)]
Add seeder and files for issue #908

2 months agoUse UpvertedFiles instead of raw Info.Files in a few places
Matt Joiner [Mon, 4 Mar 2024 05:01:22 +0000 (16:01 +1100)]
Use UpvertedFiles instead of raw Info.Files in a few places

2 months agoAdd a timeout to fs tests in CI
Matt Joiner [Mon, 4 Mar 2024 05:00:47 +0000 (16:00 +1100)]
Add a timeout to fs tests in CI

3 months agoImprove segment handling for discontiguous extents
Matt Joiner [Sat, 2 Mar 2024 02:00:28 +0000 (13:00 +1100)]
Improve segment handling for discontiguous extents

3 months agoFix file storage segments for v2 torrents
Matt Joiner [Fri, 1 Mar 2024 12:54:56 +0000 (23:54 +1100)]
Fix file storage segments for v2 torrents

3 months agoMisc improvements
Matt Joiner [Fri, 1 Mar 2024 12:40:05 +0000 (23:40 +1100)]
Misc improvements

3 months agoImplement reading piece hashes from peers
Matt Joiner [Fri, 1 Mar 2024 03:42:22 +0000 (14:42 +1100)]
Implement reading piece hashes from peers

3 months agoImplement decoding hash request, reject and hashes
Matt Joiner [Fri, 1 Mar 2024 03:22:41 +0000 (14:22 +1100)]
Implement decoding hash request, reject and hashes

3 months agoSend hash requests for missing v2 hashes
Matt Joiner [Thu, 29 Feb 2024 13:11:13 +0000 (00:11 +1100)]
Send hash requests for missing v2 hashes

3 months agoAnnounce to both v1 and v2 swarms
Matt Joiner [Wed, 28 Feb 2024 08:19:16 +0000 (19:19 +1100)]
Announce to both v1 and v2 swarms

3 months agoFix metainfo.Piece.Length for v2 torrents
Matt Joiner [Tue, 27 Feb 2024 13:15:40 +0000 (00:15 +1100)]
Fix metainfo.Piece.Length for v2 torrents

3 months agoWarn on unhandled v2 protocol messages
Matt Joiner [Tue, 27 Feb 2024 12:31:43 +0000 (23:31 +1100)]
Warn on unhandled v2 protocol messages

3 months agov2 torrent piece hashing
Matt Joiner [Tue, 27 Feb 2024 12:31:29 +0000 (23:31 +1100)]
v2 torrent piece hashing

3 months agoGet infohash selection working when adding v2 torrents
Matt Joiner [Tue, 27 Feb 2024 12:30:53 +0000 (23:30 +1100)]
Get infohash selection working when adding v2 torrents

3 months agoMerkle hashing and v2 file handling
Matt Joiner [Mon, 26 Feb 2024 06:35:14 +0000 (17:35 +1100)]
Merkle hashing and v2 file handling

3 months agoAdd BEP 47 extended file attributes fields
Matt Joiner [Sun, 25 Feb 2024 22:28:58 +0000 (09:28 +1100)]
Add BEP 47 extended file attributes fields

3 months agoAdd MagnetV2 and infohash_v2
Matt Joiner [Tue, 27 Feb 2024 00:06:17 +0000 (11:06 +1100)]
Add MagnetV2 and infohash_v2

3 months agoCI: Just build on 386
Matt Joiner [Wed, 28 Feb 2024 04:53:03 +0000 (15:53 +1100)]
CI: Just build on 386

3 months agocmd/torrent download: Handle interrupt when linear discarding
Matt Joiner [Tue, 27 Feb 2024 12:22:07 +0000 (23:22 +1100)]
cmd/torrent download: Handle interrupt when linear discarding

3 months agocmd/torrent download: Propagate write errors
Matt Joiner [Wed, 28 Feb 2024 04:47:31 +0000 (15:47 +1100)]
cmd/torrent download: Propagate write errors

3 months agocmd/torrent: Remove stutter in error message
Matt Joiner [Wed, 28 Feb 2024 04:46:41 +0000 (15:46 +1100)]
cmd/torrent: Remove stutter in error message

3 months agoRemove unused Torrent.fileIndex
Matt Joiner [Tue, 27 Feb 2024 13:15:14 +0000 (00:15 +1100)]
Remove unused Torrent.fileIndex

3 months agoCache sqlite storage capacity for a short while
Matt Joiner [Tue, 27 Feb 2024 06:28:13 +0000 (17:28 +1100)]
Cache sqlite storage capacity for a short while

3 months agoAdd timeout to Go CI test
Matt Joiner [Tue, 27 Feb 2024 06:47:11 +0000 (17:47 +1100)]
Add timeout to Go CI test

3 months agogorond
Matt Joiner [Tue, 27 Feb 2024 06:29:17 +0000 (17:29 +1100)]
gorond

3 months agoFilter out possum without making it a separate module
Matt Joiner [Tue, 27 Feb 2024 00:16:51 +0000 (11:16 +1100)]
Filter out possum without making it a separate module

3 months agoBump google.golang.org/grpc from 1.46.2 to 1.56.3
dependabot[bot] [Tue, 27 Feb 2024 02:15:52 +0000 (02:15 +0000)]
Bump google.golang.org/grpc from 1.46.2 to 1.56.3

Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.46.2 to 1.56.3.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.46.2...v1.56.3)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
3 months agoUse Go 1.22 in CI
Matt Joiner [Mon, 26 Feb 2024 11:36:44 +0000 (22:36 +1100)]
Use Go 1.22 in CI

3 months agoCI adjustments
Matt Joiner [Tue, 27 Feb 2024 03:49:39 +0000 (14:49 +1100)]
CI adjustments

3 months agoCI: Ensure godo v1 and run mount after FS test
Matt Joiner [Mon, 26 Feb 2024 11:42:00 +0000 (22:42 +1100)]
CI: Ensure godo v1 and run mount after FS test

3 months agoRemove mutex in MSE cipher reader
Matt Joiner [Sun, 25 Feb 2024 22:28:05 +0000 (09:28 +1100)]
Remove mutex in MSE cipher reader

It has a very noticeable overhead when the race detector is running. It probably has some unattributed performance impact otherwise.

3 months agoAdd BitTorrent v2 fields, consts and reference torrents
Matt Joiner [Sun, 25 Feb 2024 06:00:16 +0000 (17:00 +1100)]
Add BitTorrent v2 fields, consts and reference torrents

3 months agoLower use source and webseeding log levels
Matt Joiner [Thu, 22 Feb 2024 10:54:39 +0000 (21:54 +1100)]
Lower use source and webseeding log levels

3 months agoBuild possum inside test Dockerfile
Matt Joiner [Thu, 22 Feb 2024 07:57:38 +0000 (18:57 +1100)]
Build possum inside test Dockerfile

3 months agoAdd test case from issue #906
Matt Joiner [Thu, 22 Feb 2024 06:27:18 +0000 (17:27 +1100)]
Add test case from issue #906

3 months agoAdd possum storage
Matt Joiner [Thu, 22 Feb 2024 03:49:03 +0000 (14:49 +1100)]
Add possum storage

3 months agoAdd low level support for BEP 10 user protocols
Matt Joiner [Thu, 22 Feb 2024 03:36:47 +0000 (14:36 +1100)]
Add low level support for BEP 10 user protocols

3 months agoSupport operating when IPv6 isn't available
Matt Joiner [Thu, 22 Feb 2024 03:30:21 +0000 (14:30 +1100)]
Support operating when IPv6 isn't available

3 months agoshellcheck
Matt Joiner [Sun, 18 Feb 2024 04:20:26 +0000 (15:20 +1100)]
shellcheck

3 months agoMerge branch 'issue-905': Smart ban hash performance improvements
Matt Joiner [Tue, 20 Feb 2024 11:07:59 +0000 (22:07 +1100)]
Merge branch 'issue-905': Smart ban hash performance improvements

Fixes #905.

3 months agoTry to do smart ban block hashing without client lock
Matt Joiner [Sun, 18 Feb 2024 03:50:02 +0000 (14:50 +1100)]
Try to do smart ban block hashing without client lock

3 months agoWrite whole piece in BenchmarkConnectionMainReadLoop
Matt Joiner [Sun, 18 Feb 2024 02:39:48 +0000 (13:39 +1100)]
Write whole piece in BenchmarkConnectionMainReadLoop

This should reduce the scheduling overhead

3 months agoDisable writeChunk perf timer
Matt Joiner [Sun, 18 Feb 2024 01:59:59 +0000 (12:59 +1100)]
Disable writeChunk perf timer

3 months agoSwitch to xxHash for smartban cache
Matt Joiner [Sun, 18 Feb 2024 01:59:42 +0000 (12:59 +1100)]
Switch to xxHash for smartban cache

3 months agoInclude smart ban block recording in BenchmarkConnectionMainReadLoop
Matt Joiner [Sun, 18 Feb 2024 01:18:54 +0000 (12:18 +1100)]
Include smart ban block recording in BenchmarkConnectionMainReadLoop

3 months agoAdd smart ban hash benchmarks and reduce allocations
Matt Joiner [Sun, 18 Feb 2024 01:21:11 +0000 (12:21 +1100)]
Add smart ban hash benchmarks and reduce allocations

3 months agoOptimize request strategy for torrent storage with unlimited capacity
Matt Joiner [Thu, 8 Feb 2024 13:15:18 +0000 (00:15 +1100)]
Optimize request strategy for torrent storage with unlimited capacity

3 months agoGetRequestablePieces: remove runtime correctness check (#902)
Oleg Guba [Fri, 9 Feb 2024 04:44:09 +0000 (20:44 -0800)]
GetRequestablePieces: remove runtime correctness check (#902)

3 months agoMisc tidying
Matt Joiner [Thu, 8 Feb 2024 13:11:33 +0000 (00:11 +1100)]
Misc tidying

3 months agoRemove unused request strategy chunk iter types
Matt Joiner [Thu, 8 Feb 2024 08:51:57 +0000 (19:51 +1100)]
Remove unused request strategy chunk iter types

3 months agoStay interested when the peer has pieces we don't have
Matt Joiner [Thu, 8 Feb 2024 07:07:32 +0000 (18:07 +1100)]
Stay interested when the peer has pieces we don't have

3 months agoRestore request strategy Torrent.Piece use, without a heap allocation
Matt Joiner [Thu, 8 Feb 2024 06:58:12 +0000 (17:58 +1100)]
Restore request strategy Torrent.Piece use, without a heap allocation

3 months agoSave extra http Request alloc in webseed request
Matt Joiner [Wed, 7 Feb 2024 02:56:49 +0000 (13:56 +1100)]
Save extra http Request alloc in webseed request

4 months agoRename exported Peer and PeerConn receivers
Matt Joiner [Tue, 16 Jan 2024 09:15:14 +0000 (20:15 +1100)]
Rename exported Peer and PeerConn receivers

4 months agoFix race in ExportStatusWriter
Matt Joiner [Fri, 19 Jan 2024 05:35:36 +0000 (16:35 +1100)]
Fix race in ExportStatusWriter

4 months agotorrent.KnownSwarm: keep client lock when iterating over connections (#893)
Oleg Guba [Wed, 17 Jan 2024 11:06:31 +0000 (03:06 -0800)]
torrent.KnownSwarm: keep client lock when iterating over connections (#893)

4 months agoRetract versions affected by indefinite outgoing requests bug
Matt Joiner [Mon, 15 Jan 2024 06:03:05 +0000 (17:03 +1100)]
Retract versions affected by indefinite outgoing requests bug

4 months agoFix anacrolix/torrent version detection
Matt Joiner [Mon, 15 Jan 2024 03:51:13 +0000 (14:51 +1100)]
Fix anacrolix/torrent version detection

Still doesn't work for devel builds of main however.

https://github.com/anacrolix/torrent/issues/889#issuecomment-1891242553

4 months agoAdd missing return to avoiding filling slow write buffer
Matt Joiner [Mon, 15 Jan 2024 02:26:07 +0000 (13:26 +1100)]
Add missing return to avoiding filling slow write buffer

4 months agoBreak up long condition expression
Matt Joiner [Mon, 15 Jan 2024 01:44:33 +0000 (12:44 +1100)]
Break up long condition expression

4 months agoExpect cancel acknowledgement from Transmission v4 clients
Matt Joiner [Mon, 15 Jan 2024 01:43:55 +0000 (12:43 +1100)]
Expect cancel acknowledgement from Transmission v4 clients

4 months agoFix requests still being made when downloading is disallowed
Matt Joiner [Mon, 15 Jan 2024 01:55:04 +0000 (12:55 +1100)]
Fix requests still being made when downloading is disallowed

https://github.com/anacrolix/torrent/issues/889

4 months agoUpdate anacrolix/log
Matt Joiner [Mon, 15 Jan 2024 01:23:04 +0000 (12:23 +1100)]
Update anacrolix/log

4 months agoRearrange a few methods on the correct receivers
Matt Joiner [Tue, 9 Jan 2024 04:51:23 +0000 (15:51 +1100)]
Rearrange a few methods on the correct receivers

5 months agoBump golang.org/x/crypto from 0.5.0 to 0.17.0 (#885)
dependabot[bot] [Sat, 23 Dec 2023 11:25:13 +0000 (22:25 +1100)]
Bump golang.org/x/crypto from 0.5.0 to 0.17.0 (#885)

Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.5.0 to 0.17.0.
- [Commits](https://github.com/golang/crypto/compare/v0.5.0...v0.17.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
5 months agoUse fixed width for example commands
Matt Joiner [Sun, 10 Dec 2023 12:32:25 +0000 (23:32 +1100)]
Use fixed width for example commands

5 months agoAdd more downstream projects
Matt Joiner [Sun, 10 Dec 2023 12:32:03 +0000 (23:32 +1100)]
Add more downstream projects

5 months agoTorrent.WebseedPeerConns() method (#883)
Alex Sharov [Mon, 4 Dec 2023 11:31:34 +0000 (18:31 +0700)]
Torrent.WebseedPeerConns() method (#883)

7 months agoDrop support for go 1.20 master
Matt Joiner [Tue, 10 Oct 2023 08:49:39 +0000 (19:49 +1100)]
Drop support for go 1.20

7 months agoDon't run fs tests on Windows
Matt Joiner [Tue, 10 Oct 2023 08:28:50 +0000 (19:28 +1100)]
Don't run fs tests on Windows

7 months agogo mod tidy
Matt Joiner [Mon, 9 Oct 2023 11:53:34 +0000 (22:53 +1100)]
go mod tidy