BruceWang
|
60e215aa81
|
Add OnQuery Hook
|
2019-05-29 15:08:46 +10:00 |
Matt Joiner
|
bc249730aa
|
Fix segfault on nil conntrack.EntryHandle instance when dialing
Fixes https://github.com/anacrolix/torrent/issues/314. Comments were added to the the conntrack package master, but have no functional change required here.
|
2019-04-10 18:27:54 +10:00 |
Matt Joiner
|
485d6bb6e7
|
Fix leaked conntrack.EntryHandle
|
2019-03-29 08:48:56 +11:00 |
Matt Joiner
|
5829c30146
|
Make use of the new context parameter in conntrack Wait
|
2019-03-11 10:46:06 +11:00 |
Matt Joiner
|
ee5a941203
|
Switch entirely to anacrolix/log
|
2019-01-15 18:18:30 +00:00 |
Matt Joiner
|
cc531b8c4a
|
Improve bootstrap result log message
|
2018-11-29 18:33:33 +11:00 |
Matt Joiner
|
d9fe3f50d3
|
Discount dial errors that won't affect connection tracking
This will reduce pressure on the conntrack instance.
|
2018-11-28 10:32:08 +11:00 |
Matt Joiner
|
d9e1ebde70
|
Improve network handling and only listen networks we will use
Fixes #290.
|
2018-11-28 10:30:21 +11:00 |
Matt Joiner
|
70f63b2991
|
Remove unused type
|
2018-11-28 10:26:13 +11:00 |
Matt Joiner
|
3ba991e38a
|
Remove unused code
|
2018-11-27 23:57:17 +11:00 |
Matt Joiner
|
33006eeb20
|
Use new conntrack priorities
Fixes #295
|
2018-11-27 23:22:24 +11:00 |
Matt Joiner
|
40d7a709ee
|
Log initial DHT bootstrap results
|
2018-11-21 17:05:56 +11:00 |
Matt Joiner
|
f4e30656d6
|
Add initial connection tracking
|
2018-11-21 17:02:22 +11:00 |
Matt Joiner
|
1dc406c81c
|
Move IpPort to missinggo
|
2018-11-16 10:35:30 +11:00 |
Matt Joiner
|
0032b45a02
|
Store remoteAddr with each connection
It would appear net.Conns returned from proxies don't have a RemoteAddr the client expects.
|
2018-11-04 21:15:51 +11:00 |
Matt Joiner
|
1a4950ad4a
|
Add default DHT servers when UTP disabled
Also ensures that UDP and TCP sockets are reserved, even if not used, and fixes tests. Fixes #289.
|
2018-11-04 17:43:47 +11:00 |
Matt Joiner
|
9a49f4b37e
|
Add establish outgoing connection expvar
|
2018-11-04 16:12:16 +11:00 |
Matt Joiner
|
c50e59166d
|
Add dial rate limiting
Fixes #273.
|
2018-11-02 23:09:52 +11:00 |
Denis Kuzmenok
|
9dc89ab6dc
|
reverting usage of proxy for http requests
|
2018-10-31 10:54:10 +11:00 |
Matt Joiner
|
a8787e6632
|
Revert "Make requestStrategy 3 the default"
This reverts commit 60dd0eed53 .
|
2018-08-25 16:43:28 +10:00 |
Matt Joiner
|
81e6061a53
|
When Accept gives an error, don't use the Conn
|
2018-07-27 10:18:56 +10:00 |
Matt Joiner
|
2f14e5dbc0
|
Track received handshake encryption activity
|
2018-07-25 17:11:56 +10:00 |
Matt Joiner
|
2940f27f9f
|
Use the new firewall callback support in go-libutp
|
2018-07-25 17:11:09 +10:00 |
Matt Joiner
|
6dd3b9c12c
|
Law of Demeter Client.mu
|
2018-07-25 13:42:28 +10:00 |
Matt Joiner
|
8479f215e0
|
Don't return if there's an error accepting
This happens if there's too many file descriptors, and left the client unresponsive.
|
2018-07-22 12:58:41 +10:00 |
Matt Joiner
|
d4d3e24c6f
|
Track metadata chunks read with its own Count
|
2018-07-15 10:09:58 +10:00 |
Matt Joiner
|
d4d8f78906
|
Send extended message before fast/bitfield
This is how Transmission does it.
|
2018-07-14 11:28:54 +10:00 |
Matt Joiner
|
f5bd377941
|
Change pieceIndex to peer_protocol.Integer
|
2018-07-12 09:15:15 +10:00 |
Matt Joiner
|
ba8ec1a787
|
Move back to net.IP for extended handshake message IPs
|
2018-07-12 00:00:07 +10:00 |
Matt Joiner
|
2685ef6aa9
|
Use half open limit directly from Config
|
2018-07-10 12:23:00 +10:00 |
Matt Joiner
|
1f6ba94882
|
Make extended handshake a struct, and move a bunch of extended stuff into peer_protocol
|
2018-07-10 12:20:36 +10:00 |
Matt Joiner
|
e3cb94006c
|
Reinstate the reduce dial timeout and update some values
Fixes #263
|
2018-07-10 11:19:14 +10:00 |
Matt Joiner
|
fad06c7ddf
|
sortimports
|
2018-07-07 11:36:58 +10:00 |
Matt Joiner
|
e1d6fc2341
|
Add torrent.InfoHash type alias
|
2018-07-07 11:32:52 +10:00 |
Matt Joiner
|
76a3c0891a
|
Expose handshake stuff in peer_protocol
|
2018-07-07 11:31:29 +10:00 |
Matt Joiner
|
5f20a21c9d
|
Change the duplicateRequestTimeout to 1s
|
2018-06-30 21:10:48 +10:00 |
Matt Joiner
|
60dd0eed53
|
Make requestStrategy 3 the default
Fixes #253.
|
2018-06-28 12:06:21 +10:00 |
Matt Joiner
|
7619994ef5
|
Remove premature initialization of Torrent.lastRequested
|
2018-06-25 14:03:22 +10:00 |
Matt Joiner
|
195695042d
|
Add requestStrategy 3, which duplicates requests only after a timeout
Possible solution for #253.
|
2018-06-24 20:04:31 +10:00 |
Matt Joiner
|
159c4a0e28
|
Ensure 64-bit alignment of ConnStats fields
Fixes #262.
|
2018-06-23 18:33:56 +10:00 |
Matt Joiner
|
70093a4db3
|
Update accept limit parameters
|
2018-06-22 17:43:02 +10:00 |
Matt Joiner
|
f137bfdd61
|
Use RLock for Client.WriteStatus
|
2018-06-17 16:11:50 +10:00 |
Matt Joiner
|
70dfc1f518
|
Allow disabling accept limiting and modify some constants
|
2018-06-16 16:37:13 +10:00 |
Matt Joiner
|
0854161e99
|
Clear accept limits when adding a new torrent
|
2018-06-16 16:34:35 +10:00 |
Matt Joiner
|
e97f487d2e
|
Rename Config->ClientConfig and change how defaults work
This is a very breaking change.
|
2018-06-16 16:30:04 +10:00 |
Matt Joiner
|
ad5e44eaf5
|
Add lots of new expvars and perf timers
|
2018-06-15 22:42:05 +10:00 |
Matt Joiner
|
81dcb9b779
|
Remove old Client.dialTCP
|
2018-06-15 22:39:37 +10:00 |
Matt Joiner
|
8acfc5149b
|
Rate limit incoming IP prefixes
Lots of bad or dishonest incoming handshakes for unwanted torrents.
|
2018-06-15 22:38:11 +10:00 |
Matt Joiner
|
fd0fb0051b
|
Update dial expvars
|
2018-06-15 14:30:31 +10:00 |
Matt Joiner
|
da4a6503c2
|
Fix race condition in Client.ListenAddrs
|
2018-06-13 10:53:38 +10:00 |
Matt Joiner
|
856d5083b5
|
Update log call
|
2018-06-12 20:22:54 +10:00 |
Matt Joiner
|
360e1dbdd1
|
Track ConnStats with atomics
|
2018-06-12 20:21:53 +10:00 |
Matt Joiner
|
b024e1cff6
|
Remove unnecessary use of go keyword
|
2018-06-12 20:16:17 +10:00 |
Matt Joiner
|
cea5584d6b
|
Track outgoing through a new field on connection, and rework duplicate connection preferencing
|
2018-06-12 20:14:00 +10:00 |
Matt Joiner
|
ab48d4731c
|
Include rate limiting and stats in BenchmarkConnectionMainReadLoop
|
2018-06-11 12:20:51 +10:00 |
Matt Joiner
|
5a53d29c75
|
Minimize lock time in Client.acceptConnections
|
2018-06-10 10:29:19 +10:00 |
Matt Joiner
|
ac6ba9f021
|
Add ConnStats at Client level
ConnStats management is refactored to make this less tedious.
|
2018-06-10 09:20:33 +10:00 |
Denis
|
f6ed514c3b
|
added proxy support to the library, using ProxyURL parameter. (#256)
|
2018-06-08 20:52:36 +10:00 |
Matt Joiner
|
15b828515e
|
Don't listen on IPv6 if DisableIPv6 is set
Fixes #250
|
2018-05-02 19:24:46 +10:00 |
Matt Joiner
|
df38775630
|
A few adjustments to prioritized peers usage
|
2018-04-14 21:44:41 +10:00 |
Matt Joiner
|
610dbd17ba
|
Fix #244
|
2018-04-14 21:43:08 +10:00 |
Matt Joiner
|
5c81c6c70a
|
Include connection network in log message
|
2018-04-14 11:24:06 +10:00 |
Matt Joiner
|
0290a1610a
|
Merge branch 'circleci'
# Conflicts:
# client.go
|
2018-04-12 17:28:13 +10:00 |
Matt Joiner
|
e38216a472
|
Add comment
|
2018-04-12 16:12:27 +10:00 |
Matt Joiner
|
485d8cdf61
|
Use new DHT stats fields
|
2018-04-12 16:11:22 +10:00 |
Matt Joiner
|
8a8fe378d4
|
Improve DHT status output
|
2018-04-12 15:12:15 +10:00 |
Matt Joiner
|
b5df073217
|
Support different hosts for each network
CircleCI's localhost hostname doesn't resolve for IPv6.
|
2018-04-12 15:06:53 +10:00 |
Matt Joiner
|
319e57d1c6
|
Rework conns to/and allow multiple DHT servers
This will help with #229, and IPv6 support.
|
2018-04-12 11:41:07 +10:00 |
Matt Joiner
|
92f6209c5f
|
Prioritize pending nodes with BEP 40
|
2018-04-04 17:59:28 +10:00 |
Matt Joiner
|
8f7408b1f9
|
IPv6 tracker support
|
2018-02-19 16:19:18 +11:00 |
Matt Joiner
|
fc03dcb859
|
Set the connection.cryptoMethod
It was unwittingly dropped from received connections, and may never have been set for initiated connections.
|
2018-02-16 10:59:56 +11:00 |
Matt Joiner
|
b92e8b7814
|
Add support for disabling IPv4 and IPv4 peers
|
2018-02-16 10:46:11 +11:00 |
Matt Joiner
|
066cdd520b
|
Add mse.CryptoMethod type
|
2018-02-16 10:36:29 +11:00 |
Matt Joiner
|
0aad14afd1
|
Add a check for a strange panic in production
|
2018-02-15 16:03:44 +11:00 |
Matt Joiner
|
39bde7237e
|
Try to count IPv6 connections
|
2018-02-13 00:48:21 +11:00 |
Matt Joiner
|
dd9244c01d
|
bencode: Unmarshal now returns an error on unused trailing bytes
|
2018-02-13 00:21:28 +11:00 |
Matt Joiner
|
57216bd299
|
Standardize on krpc types, and extend PEX message type for IPv6
|
2018-02-11 15:13:00 +11:00 |
Matt Joiner
|
8d1995c4d4
|
Support IPv6 blocklists
Existing packed blocklists need to be regenerated.
|
2018-02-11 15:11:26 +11:00 |
Matt Joiner
|
924b916b2a
|
Expose Client.Closed
|
2018-02-08 23:57:53 +11:00 |
Matt Joiner
|
f57437201e
|
Send bitfield messages before other initial messages
|
2018-02-05 17:41:53 +11:00 |
Matt Joiner
|
e0c2265cb0
|
Support sending HaveAll
|
2018-02-04 19:10:25 +11:00 |
Matt Joiner
|
ea8659c951
|
Move initiateConn and openNewConns onto Torrent
|
2018-02-04 12:59:23 +11:00 |
Matt Joiner
|
efecf88d3c
|
Use flip buffering for connection writing
|
2018-02-03 15:09:38 +11:00 |
Matt Joiner
|
085e676ef0
|
Generate default peerExtensionBytes using helpers
|
2018-02-03 13:36:17 +11:00 |
Matt Joiner
|
9567aa901c
|
Add missing increments to some stats
|
2018-02-03 11:53:11 +11:00 |
Matt Joiner
|
fe991128ed
|
Rework connection stat reconciliation with Torrent and refactor doppleganger handling
|
2018-02-02 19:07:20 +11:00 |
Matt Joiner
|
b0c1f99509
|
Merge a bunch of stuff into ConnStats and refactor connection.upload
|
2018-02-02 19:04:56 +11:00 |
Matt Joiner
|
97ffe39561
|
Move sendChunk onto connection
|
2018-02-02 13:26:04 +11:00 |
Matt Joiner
|
1a7708b484
|
sortimports
|
2018-01-31 16:42:40 +11:00 |
Matt Joiner
|
77806c1f49
|
More development of the new logging interface
|
2018-01-29 18:22:21 +11:00 |
Matt Joiner
|
53e32ca9dd
|
Start using new log package
|
2018-01-28 16:07:11 +11:00 |
Matt Joiner
|
e08d11a4b9
|
Update Client.newConnection with changed rateLimitedReader interface
|
2018-01-28 15:42:37 +11:00 |
Matt Joiner
|
51b3374015
|
Add very tentative UPnP NAT traversal
Relates to #230
|
2018-01-25 13:14:20 +11:00 |
Matt Joiner
|
9285470cc6
|
Improve some log messages
|
2018-01-25 13:10:52 +11:00 |
Matt Joiner
|
56109b387d
|
Formatting and comments
|
2018-01-06 16:37:40 +11:00 |
Matt Joiner
|
e13b0eccbf
|
Make peerID a public type
Wanted it applied to Client Status output
|
2018-01-06 15:50:45 +11:00 |
Matt Joiner
|
c44ee5fec4
|
Use peerID type more, and make its Stringer output nicer
|
2018-01-06 12:34:31 +11:00 |
Matt Joiner
|
8f7720edb2
|
Merge commit '6ab65a49a8a72dea1a28968b2ab42a85fd4566ec'
# Conflicts:
# config.go
|
2017-11-08 20:23:15 +11:00 |
Matt Joiner
|
3aa1e8f3ef
|
Add a test for behaviour after getting metadata_size and before GotInfo
#208
|
2017-11-08 19:31:10 +11:00 |
Matt Joiner
|
8712cc25d0
|
Make Client.PeerID return [20]byte
|
2017-11-08 19:28:37 +11:00 |