]> Sergey Matveev's repositories - btrtrc.git/log
btrtrc.git
5 years agoRename Config->ClientConfig and change how defaults work
Matt Joiner [Sat, 16 Jun 2018 06:30:04 +0000 (16:30 +1000)]
Rename Config->ClientConfig and change how defaults work

This is a very breaking change.

5 years agoAdd lots of new expvars and perf timers
Matt Joiner [Fri, 15 Jun 2018 12:42:05 +0000 (22:42 +1000)]
Add lots of new expvars and perf timers

5 years agoRemove old Client.dialTCP
Matt Joiner [Fri, 15 Jun 2018 12:39:37 +0000 (22:39 +1000)]
Remove old Client.dialTCP

5 years agoRate limit incoming IP prefixes
Matt Joiner [Fri, 15 Jun 2018 12:38:11 +0000 (22:38 +1000)]
Rate limit incoming IP prefixes

Lots of bad or dishonest incoming handshakes for unwanted torrents.

5 years agoUse DialContext for tcp again
Matt Joiner [Fri, 15 Jun 2018 04:34:58 +0000 (14:34 +1000)]
Use DialContext for tcp again

It got lost somewhere along the way.

5 years agoUpdate dial expvars
Matt Joiner [Fri, 15 Jun 2018 04:30:31 +0000 (14:30 +1000)]
Update dial expvars

5 years agoUpdate some tests now that adding connections is more reliable
Matt Joiner [Wed, 13 Jun 2018 12:02:30 +0000 (22:02 +1000)]
Update some tests now that adding connections is more reliable

5 years agoRemove excess newline from log call
Matt Joiner [Wed, 13 Jun 2018 00:56:09 +0000 (10:56 +1000)]
Remove excess newline from log call

5 years agoFix race condition in Client.ListenAddrs
Matt Joiner [Wed, 13 Jun 2018 00:53:38 +0000 (10:53 +1000)]
Fix race condition in Client.ListenAddrs

5 years agoAllow adding duplicate connections
Matt Joiner [Wed, 13 Jun 2018 00:53:11 +0000 (10:53 +1000)]
Allow adding duplicate connections

I believe this fixes a long-standing race condition when dropping connections to the same peer ID where Clients assume the peer has added connections in the same order. Further commits may address duplicate connections further.

5 years agoFix Count usage in benchmark
Matt Joiner [Tue, 12 Jun 2018 12:47:46 +0000 (22:47 +1000)]
Fix Count usage in benchmark

5 years agoEnsure ConnStats spew nicely
Matt Joiner [Tue, 12 Jun 2018 12:40:04 +0000 (22:40 +1000)]
Ensure ConnStats spew nicely

5 years agoFix build error with recent go version
Matt Joiner [Tue, 12 Jun 2018 11:51:34 +0000 (21:51 +1000)]
Fix build error with recent go version

5 years agoRemove unused log import
Matt Joiner [Tue, 12 Jun 2018 10:25:32 +0000 (20:25 +1000)]
Remove unused log import

5 years agoRemove duplicateClientConns expvar
Matt Joiner [Tue, 12 Jun 2018 10:23:26 +0000 (20:23 +1000)]
Remove duplicateClientConns expvar

5 years agoUpdate log call
Matt Joiner [Tue, 12 Jun 2018 10:22:54 +0000 (20:22 +1000)]
Update log call

5 years agoTrack ConnStats with atomics
Matt Joiner [Tue, 12 Jun 2018 10:21:53 +0000 (20:21 +1000)]
Track ConnStats with atomics

5 years agoMake download cancellable tests more reliable
Matt Joiner [Tue, 12 Jun 2018 10:19:53 +0000 (20:19 +1000)]
Make download cancellable tests more reliable

5 years agoFix crash adding peers when Torrent is closed
Matt Joiner [Tue, 12 Jun 2018 10:17:15 +0000 (20:17 +1000)]
Fix crash adding peers when Torrent is closed

5 years agoRemove unnecessary use of go keyword
Matt Joiner [Tue, 12 Jun 2018 10:16:17 +0000 (20:16 +1000)]
Remove unnecessary use of go keyword

5 years agoTrack outgoing through a new field on connection, and rework duplicate connection...
Matt Joiner [Tue, 12 Jun 2018 10:14:00 +0000 (20:14 +1000)]
Track outgoing through a new field on connection, and rework duplicate connection preferencing

5 years agoFix failure in CI on non-critical test due to set -e
Matt Joiner [Mon, 11 Jun 2018 02:44:12 +0000 (12:44 +1000)]
Fix failure in CI on non-critical test due to set -e

5 years agoInclude rate limiting and stats in BenchmarkConnectionMainReadLoop
Matt Joiner [Mon, 11 Jun 2018 02:20:51 +0000 (12:20 +1000)]
Include rate limiting and stats in BenchmarkConnectionMainReadLoop

5 years agoMerge commit 'cadbacb956fa38a61f3656dc08d71bd68fc966ec' into dev
Matt Joiner [Mon, 11 Jun 2018 01:34:38 +0000 (11:34 +1000)]
Merge commit 'cadbacb956fa38a61f3656dc08d71bd68fc966ec' into dev

5 years agoMerge pull request #258 from porjo/master
Matt Joiner [Sun, 10 Jun 2018 14:00:25 +0000 (00:00 +1000)]
Merge pull request #258 from porjo/master

Fix file permissions

5 years agoMinimize lock time in Client.acceptConnections
Matt Joiner [Sun, 10 Jun 2018 00:29:19 +0000 (10:29 +1000)]
Minimize lock time in Client.acceptConnections

5 years agoAdd ConnStats at Client level
Matt Joiner [Sat, 9 Jun 2018 23:18:52 +0000 (09:18 +1000)]
Add ConnStats at Client level

ConnStats management is refactored to make this less tedious.

5 years agoIncrement conn read/write stats asynchronously
Matt Joiner [Sat, 9 Jun 2018 12:11:19 +0000 (22:11 +1000)]
Increment conn read/write stats asynchronously

Acquiring the lock appears to be quite intensive.

5 years agoFix timing failures in download cancel tests
Matt Joiner [Sat, 9 Jun 2018 12:10:08 +0000 (22:10 +1000)]
Fix timing failures in download cancel tests

5 years agoUpdate a link
Matt Joiner [Sat, 9 Jun 2018 12:08:24 +0000 (22:08 +1000)]
Update a link

5 years agoFix file permissions
Ian Bishop [Sat, 9 Jun 2018 13:11:28 +0000 (15:11 +0200)]
Fix file permissions

5 years agoadded proxy support to the library, using ProxyURL parameter. (#256)
Denis [Fri, 8 Jun 2018 10:52:36 +0000 (13:52 +0300)]
added proxy support to the library, using ProxyURL parameter. (#256)

5 years agocmd/torrent: Add -stats flag
Matt Joiner [Tue, 5 Jun 2018 14:40:03 +0000 (00:40 +1000)]
cmd/torrent: Add -stats flag

Requires updated tagflag package.

5 years agoIgnore CI test failures with CGO_ENABLED=0
Matt Joiner [Tue, 5 Jun 2018 14:39:30 +0000 (00:39 +1000)]
Ignore CI test failures with CGO_ENABLED=0

It uses anacrolix/utp which isn't stable or recommended. Timeouts and retrying are needed to work around bugs in that package better.

6 years agogo.mod additions for CGO_ENABLED=0
Matt Joiner [Fri, 25 May 2018 08:53:14 +0000 (18:53 +1000)]
go.mod additions for CGO_ENABLED=0

6 years agoMove internal bloom cmds to dht repo
Matt Joiner [Fri, 25 May 2018 08:36:59 +0000 (18:36 +1000)]
Move internal bloom cmds to dht repo

6 years agoAdd go.mod file for vgo
Matt Joiner [Fri, 25 May 2018 06:22:54 +0000 (16:22 +1000)]
Add go.mod file for vgo

6 years agoImprove Torrent.DownloadPieces documentation
Matt Joiner [Fri, 18 May 2018 04:06:28 +0000 (14:06 +1000)]
Improve Torrent.DownloadPieces documentation

Was mentioned in Gitter.

6 years agoDon't listen on IPv6 if DisableIPv6 is set
Matt Joiner [Wed, 2 May 2018 09:24:46 +0000 (19:24 +1000)]
Don't listen on IPv6 if DisableIPv6 is set

Fixes #250

6 years agoRemove vestigial comment
Matt Joiner [Wed, 2 May 2018 09:23:05 +0000 (19:23 +1000)]
Remove vestigial comment

6 years agoUpdate TODO file
Matt Joiner [Sat, 14 Apr 2018 11:44:50 +0000 (21:44 +1000)]
Update TODO file

6 years agoA few adjustments to prioritized peers usage
Matt Joiner [Sat, 14 Apr 2018 11:44:41 +0000 (21:44 +1000)]
A few adjustments to prioritized peers usage

6 years agoAdd tests for prioritizedPeers
Matt Joiner [Sat, 14 Apr 2018 11:44:03 +0000 (21:44 +1000)]
Add tests for prioritizedPeers

6 years agoFix #244
Matt Joiner [Sat, 14 Apr 2018 11:43:08 +0000 (21:43 +1000)]
Fix #244

6 years agoInclude connection network in log message
Matt Joiner [Sat, 14 Apr 2018 01:24:06 +0000 (11:24 +1000)]
Include connection network in log message

6 years agoTry to make test more reliable
Matt Joiner [Sat, 14 Apr 2018 01:23:26 +0000 (11:23 +1000)]
Try to make test more reliable

6 years agoFix #247
Matt Joiner [Fri, 13 Apr 2018 07:07:19 +0000 (17:07 +1000)]
Fix #247

6 years agoFix #246
Matt Joiner [Thu, 12 Apr 2018 13:34:31 +0000 (23:34 +1000)]
Fix #246

6 years agoMerge branch 'circleci'
Matt Joiner [Thu, 12 Apr 2018 07:28:13 +0000 (17:28 +1000)]
Merge branch 'circleci'

# Conflicts:
# client.go

6 years agoAdd comment
Matt Joiner [Thu, 12 Apr 2018 06:12:27 +0000 (16:12 +1000)]
Add comment

6 years agoReinstate Uploaded and Downloaded values in tracker announces
Matt Joiner [Thu, 12 Apr 2018 06:12:14 +0000 (16:12 +1000)]
Reinstate Uploaded and Downloaded values in tracker announces

Fixes followup comment in #71.

6 years agoUse new DHT stats fields
Matt Joiner [Thu, 12 Apr 2018 06:11:22 +0000 (16:11 +1000)]
Use new DHT stats fields

6 years agoAnother use of LoopbackListenhost
Matt Joiner [Thu, 12 Apr 2018 06:10:46 +0000 (16:10 +1000)]
Another use of LoopbackListenhost

6 years agoAdd LoopbackListenHost
Matt Joiner [Thu, 12 Apr 2018 05:21:31 +0000 (15:21 +1000)]
Add LoopbackListenHost

6 years agoAdd some peer source comments
Matt Joiner [Thu, 12 Apr 2018 05:12:29 +0000 (15:12 +1000)]
Add some peer source comments

6 years agoImprove DHT status output
Matt Joiner [Thu, 12 Apr 2018 05:12:15 +0000 (15:12 +1000)]
Improve DHT status output

6 years agoSupport different hosts for each network
Matt Joiner [Thu, 12 Apr 2018 05:06:53 +0000 (15:06 +1000)]
Support different hosts for each network

CircleCI's localhost hostname doesn't resolve for IPv6.

6 years agoRework conns to/and allow multiple DHT servers
Matt Joiner [Thu, 12 Apr 2018 01:41:07 +0000 (11:41 +1000)]
Rework conns to/and allow multiple DHT servers

This will help with #229, and IPv6 support.

6 years agopackage assert->expect
Matt Joiner [Thu, 12 Apr 2018 01:34:24 +0000 (11:34 +1000)]
package assert->expect

6 years agoPrioritize pending nodes with BEP 40
Matt Joiner [Wed, 4 Apr 2018 07:59:28 +0000 (17:59 +1000)]
Prioritize pending nodes with BEP 40

6 years agoExpose public IPv4 and IPv6 config options and use them with trackers
Matt Joiner [Thu, 29 Mar 2018 03:29:15 +0000 (14:29 +1100)]
Expose public IPv4 and IPv6 config options and use them with trackers

6 years agoStart implementing BEP 40
Matt Joiner [Thu, 29 Mar 2018 03:27:48 +0000 (14:27 +1100)]
Start implementing BEP 40

6 years agogithub.com/go-fsnotify/fsnotify -> github.com/fsnotify/fsnotify
Matt Joiner [Tue, 27 Mar 2018 06:31:52 +0000 (17:31 +1100)]
github.com/go-fsnotify/fsnotify -> github.com/fsnotify/fsnotify

6 years agotracker: Set UDP IPAddress field in announces
Matt Joiner [Wed, 21 Feb 2018 02:33:12 +0000 (13:33 +1100)]
tracker: Set UDP IPAddress field in announces

6 years agocmd/torrent: Add packed-blocklist flag
Matt Joiner [Mon, 19 Feb 2018 05:20:31 +0000 (16:20 +1100)]
cmd/torrent: Add packed-blocklist flag

6 years agocmd/tracker-announce: Rework to be faster and support UDP IPv6
Matt Joiner [Mon, 19 Feb 2018 05:20:08 +0000 (16:20 +1100)]
cmd/tracker-announce: Rework to be faster and support UDP IPv6

6 years agoIPv6 tracker support
Matt Joiner [Mon, 19 Feb 2018 05:19:18 +0000 (16:19 +1100)]
IPv6 tracker support

6 years agoTrackers shown are just the enabled ones
Matt Joiner [Sat, 17 Feb 2018 00:13:48 +0000 (11:13 +1100)]
Trackers shown are just the enabled ones

6 years agoAdjust some config defaults
Matt Joiner [Fri, 16 Feb 2018 01:15:56 +0000 (12:15 +1100)]
Adjust some config defaults

6 years agoMake half-open connection limit more dynamic
Matt Joiner [Fri, 16 Feb 2018 01:15:07 +0000 (12:15 +1100)]
Make half-open connection limit more dynamic

6 years agoMove clamp and max, and add min to misc.go
Matt Joiner [Fri, 16 Feb 2018 01:14:15 +0000 (12:14 +1100)]
Move clamp and max, and add min to misc.go

6 years agoTODO
Matt Joiner [Fri, 16 Feb 2018 00:03:21 +0000 (11:03 +1100)]
TODO

6 years agoSet the connection.cryptoMethod
Matt Joiner [Thu, 15 Feb 2018 23:59:56 +0000 (10:59 +1100)]
Set the connection.cryptoMethod

It was unwittingly dropped from received connections, and may never have been set for initiated connections.

6 years agoAdd support for disabling IPv4 and IPv4 peers
Matt Joiner [Thu, 15 Feb 2018 23:46:11 +0000 (10:46 +1100)]
Add support for disabling IPv4 and IPv4 peers

6 years agoAdd mse.CryptoMethod type
Matt Joiner [Thu, 15 Feb 2018 23:36:29 +0000 (10:36 +1100)]
Add mse.CryptoMethod type

6 years agoChange some connection flag strings to avoid collision
Matt Joiner [Thu, 15 Feb 2018 05:04:42 +0000 (16:04 +1100)]
Change some connection flag strings to avoid collision

6 years agoAdd a check for a strange panic in production
Matt Joiner [Thu, 15 Feb 2018 05:03:44 +0000 (16:03 +1100)]
Add a check for a strange panic in production

6 years agoAdd extra pedantic checks to requesting to try and flush out @deranjer's panics
Matt Joiner [Thu, 15 Feb 2018 04:21:51 +0000 (15:21 +1100)]
Add extra pedantic checks to requesting to try and flush out @deranjer's panics

6 years agoTrack IPv6 peers received over PEX and simplify the adding code
Matt Joiner [Thu, 15 Feb 2018 03:43:57 +0000 (14:43 +1100)]
Track IPv6 peers received over PEX and simplify the adding code

6 years agoRemove errant log message
Matt Joiner [Tue, 13 Feb 2018 14:14:05 +0000 (01:14 +1100)]
Remove errant log message

6 years agoAdd a bunch of TODOs
Matt Joiner [Tue, 13 Feb 2018 00:18:23 +0000 (11:18 +1100)]
Add a bunch of TODOs

6 years agoCount errors returned from connection.mainReadLoop
Matt Joiner [Mon, 12 Feb 2018 13:56:21 +0000 (00:56 +1100)]
Count errors returned from connection.mainReadLoop

6 years agobencode.Decoder.Decode: Don't assume panic values are type error
Matt Joiner [Mon, 12 Feb 2018 13:55:15 +0000 (00:55 +1100)]
bencode.Decoder.Decode: Don't assume panic values are type error

6 years agoSupport IPv6 peers over PEX
Matt Joiner [Mon, 12 Feb 2018 13:50:32 +0000 (00:50 +1100)]
Support IPv6 peers over PEX

6 years agoTry to count IPv6 connections
Matt Joiner [Mon, 12 Feb 2018 13:48:21 +0000 (00:48 +1100)]
Try to count IPv6 connections

6 years agobencode: Support unmarshalling strings into slices of kind Uint8
Matt Joiner [Mon, 12 Feb 2018 13:44:05 +0000 (00:44 +1100)]
bencode: Support unmarshalling strings into slices of kind Uint8

6 years agotracker: Support peers6 key in http responses
Matt Joiner [Mon, 12 Feb 2018 13:23:07 +0000 (00:23 +1100)]
tracker: Support peers6 key in http responses

6 years agobencode: Unmarshal now returns an error on unused trailing bytes
Matt Joiner [Mon, 12 Feb 2018 13:21:28 +0000 (00:21 +1100)]
bencode: Unmarshal now returns an error on unused trailing bytes

6 years agotracker: Export vars
Matt Joiner [Mon, 12 Feb 2018 13:19:37 +0000 (00:19 +1100)]
tracker: Export vars

6 years agotracker: Move Peer into the correct file
Matt Joiner [Mon, 12 Feb 2018 12:49:33 +0000 (23:49 +1100)]
tracker: Move Peer into the correct file

6 years agoUpdate test trackers
Matt Joiner [Mon, 12 Feb 2018 12:49:05 +0000 (23:49 +1100)]
Update test trackers

6 years agoFix TestSetMaxEstablishedConn and allow it to be run with -count > 1
Matt Joiner [Sun, 11 Feb 2018 04:14:31 +0000 (15:14 +1100)]
Fix TestSetMaxEstablishedConn and allow it to be run with -count > 1

Similar changes should occur to other tests exporting StatusWriters.

6 years agoStandardize on krpc types, and extend PEX message type for IPv6
Matt Joiner [Sun, 11 Feb 2018 04:13:00 +0000 (15:13 +1100)]
Standardize on krpc types, and extend PEX message type for IPv6

6 years agoSupport IPv6 blocklists
Matt Joiner [Sun, 11 Feb 2018 04:11:26 +0000 (15:11 +1100)]
Support IPv6 blocklists

Existing packed blocklists need to be regenerated.

6 years agoExpose Client.Closed
Matt Joiner [Thu, 8 Feb 2018 12:57:53 +0000 (23:57 +1100)]
Expose Client.Closed

6 years agoThere was no error for missing file, and no way to close the mmap returned from iplis...
Matt Joiner [Thu, 8 Feb 2018 12:57:35 +0000 (23:57 +1100)]
There was no error for missing file, and no way to close the mmap returned from iplist.MmapPacked

The function is also renamed due to the changed behaviour.

6 years agoCount peers not added because of bad addresses and rearrange method
Matt Joiner [Thu, 8 Feb 2018 12:55:28 +0000 (23:55 +1100)]
Count peers not added because of bad addresses and rearrange method

6 years agoRaise default torrent peers highwater to 500
Matt Joiner [Thu, 8 Feb 2018 12:52:54 +0000 (23:52 +1100)]
Raise default torrent peers highwater to 500

6 years agoSimplify crypto select func
Matt Joiner [Thu, 8 Feb 2018 12:52:31 +0000 (23:52 +1100)]
Simplify crypto select func

6 years agoFixes for non-pointer Bitmap corrupting state
Matt Joiner [Thu, 8 Feb 2018 04:08:33 +0000 (15:08 +1100)]
Fixes for non-pointer Bitmap corrupting state