Commit Graph

127 Commits

Author SHA1 Message Date
davtoro f40140283a check if peer id exists 2019-04-15 17:58:23 +10:00
Matt Joiner cd06ab16ac tracker: Fix network error handling in unit test 2019-01-08 19:21:15 +11:00
Matt Joiner 2789a4ff39 tracker: Fix some comments 2018-11-28 12:02:25 +11:00
Matt Joiner 3e3f2e4128 tracker: Add Announce.Context
Use it to rewrite a test that fails with recent go versions due to logging after test completion.
2018-11-28 12:02:12 +11:00
Matt Joiner fc4fab91f5 Switch to goimports import sorting
Used to use sortimports, but it's old, and goimports seems to have an opinion now.
2018-11-02 23:12:01 +11:00
Denis Kuzmenok 9dc89ab6dc reverting usage of proxy for http requests 2018-10-31 10:54:10 +11:00
Matt Joiner d953ebf3ca Remove unused tracker.defaultClient 2018-10-18 11:11:17 +11:00
Matt Joiner ad0c33a50c Fix TLS handshake failures with https trackers
Fixes #276
2018-10-18 11:09:56 +11:00
Matt Joiner 4431464fd6 Improve tracker failure reason error 2018-08-13 20:28:02 +10:00
Matt Joiner 3ae66f3693 cmd/tracker-announce: Add a port flag 2018-08-13 20:27:42 +10:00
Matt Joiner 066809403a Ignore unused trailing bytes in HTTP tracker responses 2018-08-13 20:24:15 +10:00
Matt Joiner d950677f67 Expose public IPv4 and IPv6 config options and use them with trackers 2018-03-29 14:29:15 +11:00
Matt Joiner 41b66adad7 tracker: Set UDP IPAddress field in announces 2018-02-21 13:33:12 +11:00
Matt Joiner 8f7408b1f9 IPv6 tracker support 2018-02-19 16:19:18 +11:00
Matt Joiner 0af2aaf85f Add a bunch of TODOs 2018-02-13 11:18:23 +11:00
Matt Joiner eeaf9f67a9 tracker: Support peers6 key in http responses 2018-02-13 00:23:07 +11:00
Matt Joiner 8e3aa89286 tracker: Export vars 2018-02-13 00:19:37 +11:00
Matt Joiner b33ce1e01b tracker: Move Peer into the correct file 2018-02-12 23:49:33 +11:00
Matt Joiner ce78248ba1 Update test trackers 2018-02-12 23:49:05 +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 2f616b9d8b megacheck and staticcheck fixes 2018-01-06 16:53:40 +11:00
Denis Kuzmenok 455a414204 adding http user-agent setters and usage 2017-12-28 10:47:51 +02:00
themihai 6ab65a49a8 feat(config): Allows the torrent client to customise the client identity and connection config 2017-11-07 20:14:13 +02:00
Matt Joiner 53ee52e26a Fix copypasta PR ಠ_ಠ 2017-10-29 12:49:58 +11:00
dz0ny caa58d0f69 Provide trackers specific http client
Mainly follows https://medium.com/@nate510/don-t-use-go-s-default-http-client-4804cb19f779
but also disables HTTPS certificate verification.
2017-10-28 16:30:10 +02:00
Matt Joiner 054ff25f7c Add CircleCI 2.0 turd
Adds tests for https://github.com/anacrolix/utp/issues/24, and mobile on the master branch. The UDP tracker test uses udp4 because of some bad behaviour on CircleCI.
2017-08-27 02:10:17 +10:00
Matt Joiner 389898bb84 tracker: Support the original http response peers format
Fixes #130
2016-11-22 15:40:46 +11:00
Matt Joiner 3602d90b65 gofmt simplify 2016-11-22 14:01:09 +11:00
Matt Joiner c5e0c806ea tracker: Skip any net errors to third party trackers 2016-05-23 09:29:14 +10:00
Matt Joiner 7f6f921aa9 Comment on tracker.AnnounceRequest.Event 2016-05-22 22:42:37 +10:00
Matt Joiner 2c5eb2ae43 tracker: Allow resolving announce URL host in advance, and passing the desired Host field for HTTP requests
Also did some clean-up of the announce code, the concept of a client is going away.
2016-05-20 00:48:46 +10:00
Matt Joiner b8e1edef27 Remove the vestiges of the expose tracker Client interface 2016-05-09 12:20:35 +10:00
Matt Joiner d5d3d9f623 tracker: Skip DNS error in UDP test 2016-05-07 18:17:40 +10:00
Seth Hoenig 9f4bf70e17 refactor struct identifiers to follow conventional go names 2016-04-18 23:11:11 -05:00
Matt Joiner b6cd456779 Use new missinggo.SplitHostMaybePort implementation 2016-03-15 21:32:47 +11:00
Robert Kästel 82b7abb877 Retain query parameters from announce URL. 2016-02-14 21:15:51 +01:00
Matt Joiner f04af72757 tracker: Shoehorn old client implementations into new tracker Announce interface 2016-02-07 18:06:13 +11:00
Matt Joiner 4587f61074 tracker: Rename response->httpResponse 2016-02-07 17:45:46 +11:00
Matt Joiner 077ffaaf40 Prefix the Action constants
In preparation to rework the client interface
2016-02-07 17:16:01 +11:00
Matt Joiner 1ea9beb802 tracker: Rename the http client type to httpClient 2016-02-05 15:42:23 +11:00
Matt Joiner 9824041e5a Begin tracking use of file descriptors in UDP tracker 2016-01-31 19:04:15 +11:00
Matt Joiner b10c992171 Test announcing to third party servers shouldn't fail if none respond 2015-11-13 23:36:38 +11:00
Matt Joiner 12722754e6 Some slow tracker tests can be Parallel 2015-10-04 19:58:23 +11:00
Matt Joiner d8a43e1b03 Reduce UDP tracker response buffer size from 64KiB to 2KiB 2015-10-01 00:36:41 +10:00
Matt Joiner 1db00a54f0 Redo the compact peer types 2015-08-17 19:52:47 +10:00
Matt Joiner abdf1f049f dht: Support IPv6 compact peers 2015-08-06 09:01:38 +10:00
Matt Joiner c735370f9b tracker_test: Check for the error string instead of the type
The type changes from Go 1.4->1.5, and it's not worth tearing it apart.
2015-08-02 14:57:28 +10:00
Matt Joiner c5208569ca Apply sortimports 2015-04-30 00:31:34 +10:00
Matt Joiner 526d9d738e Rewrite imports to local bencode and metainfo 2015-04-27 14:55:01 +10:00
Matt Joiner 1c6045bbf8 Fix peer parsing error introduced during tracker package merges 2015-03-30 23:05:39 +11:00
Matt Joiner d4875c0bfa Send supportcrypto=1 to HTTP trackers 2015-03-27 17:22:42 +11:00
Matt Joiner 90b27618ac The signedness on several tracker.AnnounceRequest fields now matters
Sending negative ports and lefts through to HTTP trackers was making them mad.
2015-03-27 17:22:00 +11:00
Matt Joiner 176f6e6aa4 Tidy up error handling on HTTP tracker client 2015-03-27 17:18:45 +11:00
Matt Joiner 5f7ad4c769 Merge all the tracker packages, why would anyone want them separately? 2015-03-27 15:12:15 +11:00
Matt Joiner 9869f8f5a9 Almost completed http tracker support 2015-03-26 17:20:31 +11:00
Matt Joiner 842a32ae0c Rewrite import paths for migration from Bitbucket 2015-03-20 16:37:44 +11:00
Matt Joiner b3c4afbe25 Add BEP 41 support 2015-03-12 20:07:10 +11:00
Matt Joiner ba1367536c tracker/udp: Tidy up tests 2014-12-03 12:51:49 -06:00
Matt Joiner c75f79b097 Speed up tests, allow -short for some UDP tracker stuff 2014-12-02 14:23:01 -06:00
Matt Joiner aff0999ddf Skip on errors testing UDP tracker, need to implement a fake server 2014-12-01 14:29:08 -06:00
Matt Joiner 285ecb8418 tracker: Add an explicit URL() method
Needed for merging tracker lists.
2014-11-20 23:39:56 -06:00
Matt Joiner ae28507f30 tracker/udp: Triage errors in tests to real hosts 2014-11-20 16:24:49 -06:00
Matt Joiner cb68c984fa Move some tracker.CompactPeer into util 2014-08-21 21:07:44 +10:00
Matt Joiner e947ce2ee4 Run go vet on everything 2014-07-10 02:59:37 +10:00
Matt Joiner 3b29043861 Add peers sent over PEX 2014-06-29 19:07:43 +10:00
Matt Joiner f45d397e41 udp_tracker: If a read deadline occurs, writes were failing with i/o timeout 2014-06-23 20:30:31 +10:00
Matt Joiner 0f3c4cb3ec Add some String methods and contextual information in log messages 2014-05-21 00:52:49 +10:00
Matt Joiner 1415c0d824 goimports decided to reorganise imports 2014-04-08 19:39:34 +10:00
Matt Joiner 9e7caacbe3 Tidy up 2014-03-20 22:02:15 +11:00
Matt Joiner cbc65ac4c8 Add tracker_test 2014-03-17 02:31:06 +11:00
Matt Joiner 31530899e4 Make use of trackers 2014-03-17 02:30:10 +11:00
Matt Joiner e68d5fec1f Simplify the tracker.New interface, just take a string 2013-12-16 18:47:23 +11:00
Matt Joiner 99d2ced31c Tracker doc 2013-12-16 18:46:55 +11:00
Matt Joiner 5f093c3803 Fixes and tests for UDP tracker protocol 2013-12-14 22:21:45 +11:00
Matt Joiner 8baadf0af3 Fix parsing of UDP announce response peers 2013-12-14 22:20:13 +11:00
Matt Joiner 843c954c09 Implementing UDP tracker in its own module 2013-11-07 01:55:29 +11:00
Matt Joiner b499ab3619 Begin on UDP trackers 2013-11-05 00:04:14 +11:00