]> Sergey Matveev's repositories - btrtrc.git/log
btrtrc.git
4 years agoCoalesce piece state change notifications on client unlock v1.10.0
Matt Joiner [Fri, 13 Dec 2019 04:55:56 +0000 (15:55 +1100)]
Coalesce piece state change notifications on client unlock

Reported by Craig Campbell <iamcraigcampbell@gmail.com>.

4 years agouse path.utf8 first for some torrent (#350)
Yates [Sun, 8 Dec 2019 09:35:40 +0000 (17:35 +0800)]
use path.utf8 first for some torrent (#350)

4 years agofix if statement in `cmd/torrent/main.go` (#349)
D. HT. Yu [Sun, 8 Dec 2019 09:34:24 +0000 (17:34 +0800)]
fix if statement in `cmd/torrent/main.go` (#349)

4 years agoFix bytesLeft for files (#348)
i96751414 [Sat, 30 Nov 2019 08:53:35 +0000 (08:53 +0000)]
Fix bytesLeft for files (#348)

* Refactor (*File).bytesLeft

* Always use the same piece size

4 years agoUpdate deps
Matt Joiner [Thu, 28 Nov 2019 01:44:34 +0000 (12:44 +1100)]
Update deps

4 years agoAdd comments on File.{first,end}PieceIndex
Matt Joiner [Tue, 26 Nov 2019 05:22:41 +0000 (16:22 +1100)]
Add comments on File.{first,end}PieceIndex

4 years agoChange File.endPieceIndex calculation
Matt Joiner [Tue, 26 Nov 2019 05:22:24 +0000 (16:22 +1100)]
Change File.endPieceIndex calculation

I think previously it would round-up when it shouldn't.

4 years agoAdd BytesCompleted method for files (#347)
i96751414 [Tue, 26 Nov 2019 00:54:26 +0000 (00:54 +0000)]
Add BytesCompleted method for files (#347)

* Add BytesCompleted method for files

* Make sure we check limit pieces correctly

* Remove unnecessary info check

4 years agoInclude piece index in log message
Matt Joiner [Wed, 20 Nov 2019 09:04:47 +0000 (20:04 +1100)]
Include piece index in log message

4 years agoAnthonyraymond export well known (#346)
Anthony Raymond [Wed, 20 Nov 2019 05:31:54 +0000 (06:31 +0100)]
Anthonyraymond export well known (#346)

* Export HttpResponse from tracker/http.go

* Update http_test.go

4 years agoExport Peer function (#343)
Anthony Raymond [Thu, 14 Nov 2019 23:22:59 +0000 (00:22 +0100)]
Export Peer function (#343)

* Export function to be use-able in library

* Update method call

4 years agoUse latest golang.org/x/time v1.9.0
Matt Joiner [Wed, 6 Nov 2019 21:56:56 +0000 (08:56 +1100)]
Use latest golang.org/x/time

Includes rate.Limiter.SetBurst{,At}.

4 years agoInclude traversal stats in completed bootstrap log message
Matt Joiner [Wed, 6 Nov 2019 21:51:14 +0000 (08:51 +1100)]
Include traversal stats in completed bootstrap log message

4 years agoUse default connection tracking values
Matt Joiner [Mon, 4 Nov 2019 01:11:26 +0000 (12:11 +1100)]
Use default connection tracking values

4 years agoMove entirely to etcd-io/bbolt
Matt Joiner [Sun, 3 Nov 2019 22:19:07 +0000 (09:19 +1100)]
Move entirely to etcd-io/bbolt

4 years agoMoved to anacrolix/stm
Matt Joiner [Sun, 3 Nov 2019 02:04:46 +0000 (13:04 +1100)]
Moved to anacrolix/stm

4 years agoUse stm versions of dht and missinggo, and use anacrolix/stm
Matt Joiner [Sat, 2 Nov 2019 11:41:53 +0000 (22:41 +1100)]
Use stm versions of dht and missinggo, and use anacrolix/stm

4 years agoUse missinggo/v2/conntrack
Matt Joiner [Sat, 2 Nov 2019 11:35:57 +0000 (22:35 +1100)]
Use missinggo/v2/conntrack

4 years agoRename peer source constants
Matt Joiner [Thu, 17 Oct 2019 06:46:35 +0000 (17:46 +1100)]
Rename peer source constants

4 years agoUpdate dht to include interface change to OnAnnouncePeer
Matt Joiner [Thu, 17 Oct 2019 06:46:09 +0000 (17:46 +1100)]
Update dht to include interface change to OnAnnouncePeer

4 years agoIn the torrent status, sort trackers by the scheme last
Matt Joiner [Tue, 15 Oct 2019 03:59:23 +0000 (14:59 +1100)]
In the torrent status, sort trackers by the scheme last

4 years agoReplace github.com/boltdb/bolt with github.com/etcd-io/bbolt
Matt Joiner [Sat, 12 Oct 2019 00:07:49 +0000 (11:07 +1100)]
Replace github.com/boltdb/bolt with github.com/etcd-io/bbolt

4 years agoDon't close shared client piece completion in mmap storage v1.8.2
Matt Joiner [Fri, 11 Oct 2019 06:37:22 +0000 (17:37 +1100)]
Don't close shared client piece completion in mmap storage

Fixes #335.

4 years agoDon't ignore error getting mmap piece completion
Matt Joiner [Fri, 11 Oct 2019 06:36:46 +0000 (17:36 +1100)]
Don't ignore error getting mmap piece completion

4 years agoAdd a test for issue #335
Matt Joiner [Fri, 11 Oct 2019 06:34:07 +0000 (17:34 +1100)]
Add a test for issue #335

4 years agoAdd release badge
Matt Joiner [Fri, 11 Oct 2019 04:07:22 +0000 (15:07 +1100)]
Add release badge

4 years agoFix logging panic in BenchmarkConnectionMainReadLoop v1.8.1
Matt Joiner [Fri, 4 Oct 2019 02:38:46 +0000 (12:38 +1000)]
Fix logging panic in BenchmarkConnectionMainReadLoop

4 years agoUpdate dht to include the logging fixes
Matt Joiner [Fri, 4 Oct 2019 02:32:12 +0000 (12:32 +1000)]
Update dht to include the logging fixes

4 years agoAdd code for dumping log Msg values to TestingConfig v1.8.0
Matt Joiner [Thu, 3 Oct 2019 09:12:33 +0000 (19:12 +1000)]
Add code for dumping log Msg values to TestingConfig

4 years agoAdd Client.String
Matt Joiner [Thu, 3 Oct 2019 09:11:45 +0000 (19:11 +1000)]
Add Client.String

4 years agoAdd some logging for connections and metadata requests
Matt Joiner [Thu, 3 Oct 2019 09:09:55 +0000 (19:09 +1000)]
Add some logging for connections and metadata requests

4 years agoAdd connection.String
Matt Joiner [Tue, 1 Oct 2019 11:16:18 +0000 (21:16 +1000)]
Add connection.String

4 years agoPrefix torrent logger message text
Matt Joiner [Tue, 1 Oct 2019 11:16:02 +0000 (21:16 +1000)]
Prefix torrent logger message text

4 years agoRemove unnecessary extra check for metadata extension support
Matt Joiner [Tue, 1 Oct 2019 08:46:10 +0000 (18:46 +1000)]
Remove unnecessary extra check for metadata extension support

4 years agoCall rand.Shuffle instead of rand.Perm
Matt Joiner [Tue, 1 Oct 2019 08:45:36 +0000 (18:45 +1000)]
Call rand.Shuffle instead of rand.Perm

4 years agoAdd comments
Matt Joiner [Tue, 1 Oct 2019 08:13:55 +0000 (18:13 +1000)]
Add comments

4 years agoSort inbound messages cases by wire value
Matt Joiner [Tue, 1 Oct 2019 08:13:16 +0000 (18:13 +1000)]
Sort inbound messages cases by wire value

4 years agomse: Fix race in BenchmarkStreamRC4
Matt Joiner [Tue, 1 Oct 2019 08:11:44 +0000 (18:11 +1000)]
mse: Fix race in BenchmarkStreamRC4

4 years agoCI: Run bench tests with race detector
Matt Joiner [Tue, 1 Oct 2019 08:10:00 +0000 (18:10 +1000)]
CI: Run bench tests with race detector

4 years agoSwitch CI to go1.13
Matt Joiner [Tue, 24 Sep 2019 06:50:17 +0000 (16:50 +1000)]
Switch CI to go1.13

4 years agoAdd comments to metainfo.Magnet fields
Matt Joiner [Tue, 24 Sep 2019 06:29:29 +0000 (16:29 +1000)]
Add comments to metainfo.Magnet fields

4 years agometainfo.Magnet.String: Always put xt first again, and with specific encoding
Matt Joiner [Tue, 24 Sep 2019 06:29:17 +0000 (16:29 +1000)]
metainfo.Magnet.String: Always put xt first again, and with specific encoding

4 years agometainfo: Add Magnet.Params for more open handling
Matt Joiner [Tue, 24 Sep 2019 05:52:18 +0000 (15:52 +1000)]
metainfo: Add Magnet.Params for more open handling

Addresses #310.

4 years agoUpdate the magnet tests
Matt Joiner [Tue, 24 Sep 2019 05:51:08 +0000 (15:51 +1000)]
Update the magnet tests

These must have been very old, the style is appalling.

4 years agoTidy up UPnP logging
Matt Joiner [Fri, 13 Sep 2019 01:55:02 +0000 (11:55 +1000)]
Tidy up UPnP logging

4 years agogo mod tidy
Matt Joiner [Fri, 13 Sep 2019 00:48:55 +0000 (10:48 +1000)]
go mod tidy

4 years agoPass logger to DHTs
Matt Joiner [Thu, 12 Sep 2019 22:46:30 +0000 (08:46 +1000)]
Pass logger to DHTs

4 years agoFix a crash when receiving a request when we don't yet have the torrent info v1.7.1
Matt Joiner [Fri, 23 Aug 2019 02:19:28 +0000 (12:19 +1000)]
Fix a crash when receiving a request when we don't yet have the torrent info

4 years agoReduce tracker retry for failed announces to 1 minute v1.7.0
Matt Joiner [Wed, 21 Aug 2019 03:16:55 +0000 (13:16 +1000)]
Reduce tracker retry for failed announces to 1 minute

4 years agoLots of improvements to logging
Matt Joiner [Thu, 22 Aug 2019 03:59:04 +0000 (13:59 +1000)]
Lots of improvements to logging

4 years agoAdd missing debug level to log statement
Matt Joiner [Thu, 22 Aug 2019 00:20:13 +0000 (10:20 +1000)]
Add missing debug level to log statement

4 years agoRestrict the number of concurrent piece hashes
Matt Joiner [Wed, 21 Aug 2019 03:31:33 +0000 (13:31 +1000)]
Restrict the number of concurrent piece hashes

This fixes bad behaviour where running out of file descriptors, and overloading the system with goroutines and concurrent I/O may cause newly started torrents to fail to hash data.

4 years agoTidy up piece completion change handling
Matt Joiner [Wed, 21 Aug 2019 00:43:06 +0000 (10:43 +1000)]
Tidy up piece completion change handling

4 years agoInclude the piece number when logging piece hash errors
Matt Joiner [Wed, 21 Aug 2019 11:00:47 +0000 (21:00 +1000)]
Include the piece number when logging piece hash errors

4 years agogoimports -local
Matt Joiner [Wed, 21 Aug 2019 10:58:40 +0000 (20:58 +1000)]
goimports -local

4 years agoMake Reader log through its parent
Matt Joiner [Wed, 21 Aug 2019 10:55:43 +0000 (20:55 +1000)]
Make Reader log through its parent

4 years agoUpgrade to simplified logger
Matt Joiner [Wed, 21 Aug 2019 10:44:12 +0000 (20:44 +1000)]
Upgrade to simplified logger

4 years agogofmt simplify
Matt Joiner [Mon, 19 Aug 2019 02:15:54 +0000 (12:15 +1000)]
gofmt simplify

4 years agoAdd mse/cmd/mse
Matt Joiner [Sun, 18 Aug 2019 06:52:00 +0000 (16:52 +1000)]
Add mse/cmd/mse

4 years agometainfo: Add fuzzing func
Matt Joiner [Sun, 18 Aug 2019 06:51:20 +0000 (16:51 +1000)]
metainfo: Add fuzzing func

4 years agogo mod tidy v1.6.0
Matt Joiner [Thu, 15 Aug 2019 00:21:00 +0000 (10:21 +1000)]
go mod tidy

4 years agoAdd some timing code to Client.dialFirst
Matt Joiner [Thu, 15 Aug 2019 00:17:39 +0000 (10:17 +1000)]
Add some timing code to Client.dialFirst

4 years agoDon't include the handshake in the dial timeout for outgoing connections
Matt Joiner [Sun, 11 Aug 2019 03:17:47 +0000 (13:17 +1000)]
Don't include the handshake in the dial timeout for outgoing connections

4 years agoUpdate all imports of dht to v2
Matt Joiner [Sat, 10 Aug 2019 08:46:07 +0000 (18:46 +1000)]
Update all imports of dht to v2

4 years agoInclude remote address when logging failure to establish outbound connection v1.5.2
Matt Joiner [Tue, 30 Jul 2019 07:26:12 +0000 (17:26 +1000)]
Include remote address when logging failure to establish outbound connection

4 years agofs: Fix test failure when default client port is unavailable
Matt Joiner [Tue, 30 Jul 2019 07:25:10 +0000 (17:25 +1000)]
fs: Fix test failure when default client port is unavailable

4 years agoNewClient nil ClientConfig should use dynamic port
Matt Joiner [Tue, 30 Jul 2019 07:19:14 +0000 (17:19 +1000)]
NewClient nil ClientConfig should use dynamic port

It's pretty hard to test otherwise, if something's already on the default port.

4 years agoFix race spewing Client stats
Matt Joiner [Tue, 30 Jul 2019 07:18:09 +0000 (17:18 +1000)]
Fix race spewing Client stats

4 years agoDon't test with -race or -v for 32-bit v1.5.1
Matt Joiner [Fri, 26 Jul 2019 01:00:28 +0000 (11:00 +1000)]
Don't test with -race or -v for 32-bit

We just want to know that it builds and works for normal use.

4 years agoFix tests on 32-bit
Matt Joiner [Fri, 26 Jul 2019 00:56:13 +0000 (10:56 +1000)]
Fix tests on 32-bit

4 years agoTest 32-bit arch on CircleCI
Matt Joiner [Fri, 26 Jul 2019 00:49:36 +0000 (10:49 +1000)]
Test 32-bit arch on CircleCI

See https://github.com/anacrolix/missinggo/issues/16

4 years agoRe-order the logic in Piece.VerifyData for better logging v1.5.0
Matt Joiner [Thu, 25 Jul 2019 04:15:36 +0000 (14:15 +1000)]
Re-order the logic in Piece.VerifyData for better logging

4 years agoComments on the VerifyData methods
Matt Joiner [Thu, 25 Jul 2019 04:13:42 +0000 (14:13 +1000)]
Comments on the VerifyData methods

4 years agoIgnore cached piece completion state when verifying data
Matt Joiner [Thu, 25 Jul 2019 04:10:21 +0000 (14:10 +1000)]
Ignore cached piece completion state when verifying data

Forcing data to be checked via VerifyData, and probably other places where piece checks are queued were being short-circuited due to cached piece completion. If a piece check is queued, or verifyData called, the cached completion state should be ignored.

4 years agoImprove comments on some config fields
Matt Joiner [Tue, 23 Jul 2019 01:30:05 +0000 (11:30 +1000)]
Improve comments on some config fields

4 years agoAdd astronomer rating badge
Matt Joiner [Mon, 22 Jul 2019 12:42:05 +0000 (22:42 +1000)]
Add astronomer rating badge

4 years agoChange the default client port
Matt Joiner [Fri, 19 Jul 2019 06:19:21 +0000 (16:19 +1000)]
Change the default client port

4 years agoAdd some commented out logging
Matt Joiner [Fri, 19 Jul 2019 06:17:38 +0000 (16:17 +1000)]
Add some commented out logging

4 years agoAdd an error check in a test
Matt Joiner [Fri, 19 Jul 2019 06:17:10 +0000 (16:17 +1000)]
Add an error check in a test

Managed to get this to fail, and it just panicked.

4 years agoAlways return errors when handshakes or dialing fails
Matt Joiner [Fri, 19 Jul 2019 06:15:46 +0000 (16:15 +1000)]
Always return errors when handshakes or dialing fails

I intend to use xerrors-style error handling for special cases.

4 years agoTidy up function signature
Matt Joiner [Fri, 19 Jul 2019 04:56:29 +0000 (14:56 +1000)]
Tidy up function signature

4 years agoRestart dial timeout for fallback header obfuscation attempt
Matt Joiner [Fri, 19 Jul 2019 04:46:48 +0000 (14:46 +1000)]
Restart dial timeout for fallback header obfuscation attempt

4 years agoTry with the non-preferred header obfuscation if there's an error
Matt Joiner [Fri, 19 Jul 2019 04:13:42 +0000 (14:13 +1000)]
Try with the non-preferred header obfuscation if there's an error

The function called was more selective about what it returned as an error, but that style is outdated (should use xerrors), and no longer returns as expected.

4 years agoRework header obfuscation and add tests for fallbacks
Matt Joiner [Fri, 19 Jul 2019 03:23:36 +0000 (13:23 +1000)]
Rework header obfuscation and add tests for fallbacks

4 years agoAdd dummy code for emulating the bug in #114
Matt Joiner [Fri, 19 Jul 2019 03:07:40 +0000 (13:07 +1000)]
Add dummy code for emulating the bug in #114

Useful for ensuring that the test can still reproduce the issue with changes to encryption handling.

4 years agoComments
Matt Joiner [Fri, 19 Jul 2019 03:04:10 +0000 (13:04 +1000)]
Comments

4 years agocmd/torrent: Add flag for progress bar
Matt Joiner [Fri, 19 Jul 2019 03:01:36 +0000 (13:01 +1000)]
cmd/torrent: Add flag for progress bar

4 years agocmd/torrent: Don't log the public IP flag value
Matt Joiner [Fri, 19 Jul 2019 03:00:31 +0000 (13:00 +1000)]
cmd/torrent: Don't log the public IP flag value

4 years agogo mod tidy v1.4.0
Matt Joiner [Wed, 17 Jul 2019 08:17:05 +0000 (18:17 +1000)]
go mod tidy

4 years agocmd/torrent-magnet: Add a description to command help output
Matt Joiner [Wed, 17 Jul 2019 08:12:54 +0000 (18:12 +1000)]
cmd/torrent-magnet: Add a description to command help output

4 years agoFix announcing to S3 HTTP trackers
Matt Joiner [Wed, 17 Jul 2019 08:12:11 +0000 (18:12 +1000)]
Fix announcing to S3 HTTP trackers

4 years agoUse fork of elgatito/upnp that contains go module files
Matt Joiner [Wed, 17 Jul 2019 08:03:56 +0000 (18:03 +1000)]
Use fork of elgatito/upnp that contains go module files

Avoids persistent `go: finding github.com/op/go-logging latest` when using vgo.

4 years agoUse tagged github.com/gosuri/uiprogress, and update uilive indirect dep
Matt Joiner [Wed, 17 Jul 2019 08:00:40 +0000 (18:00 +1000)]
Use tagged github.com/gosuri/uiprogress, and update uilive indirect dep

Messing with the combined progress bar and logging output in cmd/torrent and hoping it is improved.

4 years agocmd/torrent-metainfo-pprint: Fix -files for single-file torrents
Matt Joiner [Wed, 17 Jul 2019 05:28:49 +0000 (15:28 +1000)]
cmd/torrent-metainfo-pprint: Fix -files for single-file torrents

4 years agoSend tracker stopped event from the tracker scraper routine v1.3.1
Matt Joiner [Wed, 17 Jul 2019 01:56:25 +0000 (11:56 +1000)]
Send tracker stopped event from the tracker scraper routine

Fixes potential blocking on the announce while the client lock is held, as well as differing arguments to the other announces introduced by #321.

4 years agovgo get -u && go mod tidy v1.3.0
Matt Joiner [Tue, 16 Jul 2019 01:08:17 +0000 (11:08 +1000)]
vgo get -u && go mod tidy

4 years agoCreate FUNDING.yml
Matt Joiner [Mon, 24 Jun 2019 04:12:14 +0000 (14:12 +1000)]
Create FUNDING.yml

4 years agoIgnore ".torrent.bolt.db" which is generated by unit tests
Matt Joiner [Fri, 21 Jun 2019 04:53:57 +0000 (14:53 +1000)]
Ignore ".torrent.bolt.db" which is generated by unit tests

4 years agoRefactor Client.dialFirst
Matt Joiner [Fri, 21 Jun 2019 04:50:49 +0000 (14:50 +1000)]
Refactor Client.dialFirst

4 years agoRemove unnecessary import alias
Matt Joiner [Fri, 21 Jun 2019 04:49:43 +0000 (14:49 +1000)]
Remove unnecessary import alias