2
0
mirror of synced 2025-02-24 14:48:27 +00:00

797 Commits

Author SHA1 Message Date
Matt Joiner
3c0588d661 Add some commented out logging 2019-07-19 16:17:38 +10:00
Matt Joiner
338287486f Always return errors when handshakes or dialing fails
I intend to use xerrors-style error handling for special cases.
2019-07-19 16:15:46 +10:00
Matt Joiner
76513bfe0b Restart dial timeout for fallback header obfuscation attempt 2019-07-19 14:46:48 +10:00
Matt Joiner
5774859701 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.
2019-07-19 14:13:42 +10:00
Matt Joiner
1d8873552a Rework header obfuscation and add tests for fallbacks 2019-07-19 13:23:36 +10:00
Matt Joiner
90355b3dc7 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.
2019-07-19 13:07:40 +10:00
Matt Joiner
12958ad384 Refactor Client.dialFirst 2019-06-21 14:50:49 +10:00
Matt Joiner
06ada2ef0f Remove unnecessary import alias 2019-06-21 14:49:43 +10:00
Matt Joiner
30c705f2f8 Count client listener accepts 2019-06-21 14:49:21 +10:00
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 60dd0eed538361490cbf29a1734e6cd8d21f794f.
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